From 5bd94b8fa0515cd2ba0e601959bf8eea452aea3a Mon Sep 17 00:00:00 2001 From: William Cheng Date: Thu, 26 May 2022 12:58:25 +0800 Subject: [PATCH 001/212] prepare 6.1.x --- modules/openapi-generator-cli/pom.xml | 2 +- modules/openapi-generator-core/pom.xml | 2 +- modules/openapi-generator-gradle-plugin/gradle.properties | 2 +- modules/openapi-generator-gradle-plugin/pom.xml | 2 +- .../samples/local-spec/gradle.properties | 2 +- modules/openapi-generator-maven-plugin/examples/java-client.xml | 2 +- modules/openapi-generator-maven-plugin/examples/kotlin.xml | 2 +- .../examples/multi-module/java-client/pom.xml | 2 +- .../examples/non-java-invalid-spec.xml | 2 +- modules/openapi-generator-maven-plugin/examples/non-java.xml | 2 +- modules/openapi-generator-maven-plugin/examples/spring.xml | 2 +- modules/openapi-generator-maven-plugin/pom.xml | 2 +- modules/openapi-generator-online/pom.xml | 2 +- modules/openapi-generator/pom.xml | 2 +- pom.xml | 2 +- .../csharp-netcore-complex-files/.openapi-generator/VERSION | 2 +- .../java/okhttp-gson-streaming/.openapi-generator/VERSION | 2 +- .../builds/with-unique-items/.openapi-generator/VERSION | 2 +- samples/client/petstore/R/.openapi-generator/VERSION | 2 +- samples/client/petstore/apex/.openapi-generator/VERSION | 2 +- samples/client/petstore/bash/.openapi-generator/VERSION | 2 +- samples/client/petstore/c/.openapi-generator/VERSION | 2 +- samples/client/petstore/cpp-qt/.openapi-generator/VERSION | 2 +- .../petstore/cpp-restsdk/client/.openapi-generator/VERSION | 2 +- .../client/include/CppRestPetstoreClient/ApiClient.h | 2 +- .../client/include/CppRestPetstoreClient/ApiConfiguration.h | 2 +- .../client/include/CppRestPetstoreClient/ApiException.h | 2 +- .../client/include/CppRestPetstoreClient/HttpContent.h | 2 +- .../client/include/CppRestPetstoreClient/IHttpBody.h | 2 +- .../cpp-restsdk/client/include/CppRestPetstoreClient/JsonBody.h | 2 +- .../client/include/CppRestPetstoreClient/ModelBase.h | 2 +- .../client/include/CppRestPetstoreClient/MultipartFormData.h | 2 +- .../cpp-restsdk/client/include/CppRestPetstoreClient/Object.h | 2 +- .../client/include/CppRestPetstoreClient/api/PetApi.h | 2 +- .../client/include/CppRestPetstoreClient/api/StoreApi.h | 2 +- .../client/include/CppRestPetstoreClient/api/UserApi.h | 2 +- .../client/include/CppRestPetstoreClient/model/ApiResponse.h | 2 +- .../client/include/CppRestPetstoreClient/model/Category.h | 2 +- .../client/include/CppRestPetstoreClient/model/Order.h | 2 +- .../client/include/CppRestPetstoreClient/model/Pet.h | 2 +- .../client/include/CppRestPetstoreClient/model/Tag.h | 2 +- .../client/include/CppRestPetstoreClient/model/User.h | 2 +- samples/client/petstore/cpp-restsdk/client/src/ApiClient.cpp | 2 +- .../client/petstore/cpp-restsdk/client/src/ApiConfiguration.cpp | 2 +- samples/client/petstore/cpp-restsdk/client/src/ApiException.cpp | 2 +- samples/client/petstore/cpp-restsdk/client/src/HttpContent.cpp | 2 +- samples/client/petstore/cpp-restsdk/client/src/JsonBody.cpp | 2 +- samples/client/petstore/cpp-restsdk/client/src/ModelBase.cpp | 2 +- .../petstore/cpp-restsdk/client/src/MultipartFormData.cpp | 2 +- samples/client/petstore/cpp-restsdk/client/src/Object.cpp | 2 +- samples/client/petstore/cpp-restsdk/client/src/api/PetApi.cpp | 2 +- samples/client/petstore/cpp-restsdk/client/src/api/StoreApi.cpp | 2 +- samples/client/petstore/cpp-restsdk/client/src/api/UserApi.cpp | 2 +- .../petstore/cpp-restsdk/client/src/model/ApiResponse.cpp | 2 +- .../client/petstore/cpp-restsdk/client/src/model/Category.cpp | 2 +- samples/client/petstore/cpp-restsdk/client/src/model/Order.cpp | 2 +- samples/client/petstore/cpp-restsdk/client/src/model/Pet.cpp | 2 +- samples/client/petstore/cpp-restsdk/client/src/model/Tag.cpp | 2 +- samples/client/petstore/cpp-restsdk/client/src/model/User.cpp | 2 +- samples/client/petstore/cpp-tiny/.openapi-generator/VERSION | 2 +- samples/client/petstore/cpp-ue4/.openapi-generator/VERSION | 2 +- samples/client/petstore/crystal/.openapi-generator/VERSION | 2 +- samples/client/petstore/crystal/.travis.yml | 2 +- samples/client/petstore/crystal/spec/spec_helper.cr | 2 +- samples/client/petstore/crystal/src/petstore.cr | 2 +- samples/client/petstore/crystal/src/petstore/api/pet_api.cr | 2 +- samples/client/petstore/crystal/src/petstore/api/store_api.cr | 2 +- samples/client/petstore/crystal/src/petstore/api/user_api.cr | 2 +- samples/client/petstore/crystal/src/petstore/api_client.cr | 2 +- samples/client/petstore/crystal/src/petstore/api_error.cr | 2 +- samples/client/petstore/crystal/src/petstore/configuration.cr | 2 +- .../client/petstore/crystal/src/petstore/models/api_response.cr | 2 +- samples/client/petstore/crystal/src/petstore/models/category.cr | 2 +- samples/client/petstore/crystal/src/petstore/models/order.cr | 2 +- samples/client/petstore/crystal/src/petstore/models/pet.cr | 2 +- samples/client/petstore/crystal/src/petstore/models/tag.cr | 2 +- samples/client/petstore/crystal/src/petstore/models/user.cr | 2 +- .../csharp-netcore-functions/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../OpenAPIClient-generichost-net6.0/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../OpenAPIClient-httpclient/.openapi-generator/VERSION | 2 +- .../OpenAPIClient-net47/.openapi-generator/VERSION | 2 +- .../OpenAPIClient-net5.0/.openapi-generator/VERSION | 2 +- .../csharp-netcore/OpenAPIClient/.openapi-generator/VERSION | 2 +- .../csharp-netcore/OpenAPIClientCore/.openapi-generator/VERSION | 2 +- .../OpenAPIClientCoreAndNet47/.openapi-generator/VERSION | 2 +- .../petstore/csharp/OpenAPIClient/.openapi-generator/VERSION | 2 +- samples/client/petstore/elixir/.openapi-generator/VERSION | 2 +- .../client/petstore/go/go-petstore/.openapi-generator/VERSION | 2 +- samples/client/petstore/groovy/.openapi-generator/VERSION | 2 +- .../petstore/haskell-http-client/.openapi-generator/VERSION | 2 +- .../petstore/java-micronaut-client/.openapi-generator/VERSION | 2 +- .../petstore/java/apache-httpclient/.openapi-generator/VERSION | 2 +- .../petstore/java/feign-no-nullable/.openapi-generator/VERSION | 2 +- samples/client/petstore/java/feign/.openapi-generator/VERSION | 2 +- .../petstore/java/google-api-client/.openapi-generator/VERSION | 2 +- samples/client/petstore/java/jersey1/.openapi-generator/VERSION | 2 +- .../java/jersey2-java8-localdatetime/.openapi-generator/VERSION | 2 +- .../petstore/java/jersey2-java8/.openapi-generator/VERSION | 2 +- samples/client/petstore/java/jersey3/.openapi-generator/VERSION | 2 +- .../microprofile-rest-client-3.0/.openapi-generator/VERSION | 2 +- .../java/microprofile-rest-client/.openapi-generator/VERSION | 2 +- .../petstore/java/native-async/.openapi-generator/VERSION | 2 +- samples/client/petstore/java/native/.openapi-generator/VERSION | 2 +- .../okhttp-gson-dynamicOperations/.openapi-generator/VERSION | 2 +- .../java/okhttp-gson-parcelableModel/.openapi-generator/VERSION | 2 +- .../client/petstore/java/okhttp-gson/.openapi-generator/VERSION | 2 +- .../java/rest-assured-jackson/.openapi-generator/VERSION | 2 +- .../petstore/java/rest-assured/.openapi-generator/VERSION | 2 +- .../client/petstore/java/resteasy/.openapi-generator/VERSION | 2 +- .../java/resttemplate-withXml/.openapi-generator/VERSION | 2 +- .../petstore/java/resttemplate/.openapi-generator/VERSION | 2 +- .../petstore/java/retrofit2-play26/.openapi-generator/VERSION | 2 +- .../client/petstore/java/retrofit2/.openapi-generator/VERSION | 2 +- .../petstore/java/retrofit2rx2/.openapi-generator/VERSION | 2 +- .../petstore/java/retrofit2rx3/.openapi-generator/VERSION | 2 +- .../petstore/java/vertx-no-nullable/.openapi-generator/VERSION | 2 +- samples/client/petstore/java/vertx/.openapi-generator/VERSION | 2 +- .../java/webclient-nulable-arrays/.openapi-generator/VERSION | 2 +- .../client/petstore/java/webclient/.openapi-generator/VERSION | 2 +- .../client/petstore/javascript-es6/.openapi-generator/VERSION | 2 +- .../petstore/javascript-promise-es6/.openapi-generator/VERSION | 2 +- samples/client/petstore/k6/.openapi-generator/VERSION | 2 +- samples/client/petstore/k6/script.js | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../kotlin-default-values-jvm-volley/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../kotlin-enum-default-value/.openapi-generator/VERSION | 2 +- samples/client/petstore/kotlin-gson/.openapi-generator/VERSION | 2 +- .../client/petstore/kotlin-jackson/.openapi-generator/VERSION | 2 +- .../kotlin-json-request-string/.openapi-generator/VERSION | 2 +- .../petstore/kotlin-jvm-ktor-gson/.openapi-generator/VERSION | 2 +- .../petstore/kotlin-jvm-ktor-jackson/.openapi-generator/VERSION | 2 +- .../kotlin-jvm-okhttp4-coroutines/.openapi-generator/VERSION | 2 +- .../petstore/kotlin-jvm-volley/.openapi-generator/VERSION | 2 +- .../petstore/kotlin-modelMutable/.openapi-generator/VERSION | 2 +- .../petstore/kotlin-moshi-codegen/.openapi-generator/VERSION | 2 +- .../petstore/kotlin-multiplatform/.openapi-generator/VERSION | 2 +- .../client/petstore/kotlin-nonpublic/.openapi-generator/VERSION | 2 +- .../client/petstore/kotlin-nullable/.openapi-generator/VERSION | 2 +- .../client/petstore/kotlin-okhttp3/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../petstore/kotlin-retrofit2-rx3/.openapi-generator/VERSION | 2 +- .../client/petstore/kotlin-retrofit2/.openapi-generator/VERSION | 2 +- .../client/petstore/kotlin-string/.openapi-generator/VERSION | 2 +- .../petstore/kotlin-threetenbp/.openapi-generator/VERSION | 2 +- .../petstore/kotlin-uppercase-enum/.openapi-generator/VERSION | 2 +- samples/client/petstore/kotlin/.openapi-generator/VERSION | 2 +- samples/client/petstore/lua/.openapi-generator/VERSION | 2 +- samples/client/petstore/nim/.openapi-generator/VERSION | 2 +- .../client/petstore/objc/core-data/.openapi-generator/VERSION | 2 +- samples/client/petstore/objc/default/.openapi-generator/VERSION | 2 +- samples/client/petstore/perl/.openapi-generator/VERSION | 2 +- .../client/petstore/php-dt-modern/.openapi-generator/VERSION | 2 +- samples/client/petstore/php-dt/.openapi-generator/VERSION | 2 +- .../petstore/php/OpenAPIClient-php/.openapi-generator/VERSION | 2 +- .../petstore/php/OpenAPIClient-php/lib/Api/AnotherFakeApi.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Api/DefaultApi.php | 2 +- .../client/petstore/php/OpenAPIClient-php/lib/Api/FakeApi.php | 2 +- .../php/OpenAPIClient-php/lib/Api/FakeClassnameTags123Api.php | 2 +- .../client/petstore/php/OpenAPIClient-php/lib/Api/PetApi.php | 2 +- .../client/petstore/php/OpenAPIClient-php/lib/Api/StoreApi.php | 2 +- .../client/petstore/php/OpenAPIClient-php/lib/Api/UserApi.php | 2 +- .../client/petstore/php/OpenAPIClient-php/lib/ApiException.php | 2 +- .../client/petstore/php/OpenAPIClient-php/lib/Configuration.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/HeaderSelector.php | 2 +- .../OpenAPIClient-php/lib/Model/AdditionalPropertiesClass.php | 2 +- .../php/OpenAPIClient-php/lib/Model/AllOfWithSingleRef.php | 2 +- .../client/petstore/php/OpenAPIClient-php/lib/Model/Animal.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/ApiResponse.php | 2 +- .../OpenAPIClient-php/lib/Model/ArrayOfArrayOfNumberOnly.php | 2 +- .../php/OpenAPIClient-php/lib/Model/ArrayOfNumberOnly.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/ArrayTest.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/Capitalization.php | 2 +- samples/client/petstore/php/OpenAPIClient-php/lib/Model/Cat.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/CatAllOf.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/Category.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/ClassModel.php | 2 +- .../client/petstore/php/OpenAPIClient-php/lib/Model/Client.php | 2 +- .../php/OpenAPIClient-php/lib/Model/DeprecatedObject.php | 2 +- samples/client/petstore/php/OpenAPIClient-php/lib/Model/Dog.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/DogAllOf.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/EnumArrays.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/EnumClass.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/EnumTest.php | 2 +- .../client/petstore/php/OpenAPIClient-php/lib/Model/File.php | 2 +- .../php/OpenAPIClient-php/lib/Model/FileSchemaTestClass.php | 2 +- samples/client/petstore/php/OpenAPIClient-php/lib/Model/Foo.php | 2 +- .../php/OpenAPIClient-php/lib/Model/FooGetDefaultResponse.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php | 2 +- .../php/OpenAPIClient-php/lib/Model/HasOnlyReadOnly.php | 2 +- .../php/OpenAPIClient-php/lib/Model/HealthCheckResult.php | 2 +- .../client/petstore/php/OpenAPIClient-php/lib/Model/MapTest.php | 2 +- .../lib/Model/MixedPropertiesAndAdditionalPropertiesClass.php | 2 +- .../php/OpenAPIClient-php/lib/Model/Model200Response.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/ModelInterface.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/ModelList.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/ModelReturn.php | 2 +- .../client/petstore/php/OpenAPIClient-php/lib/Model/Name.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/NullableClass.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/NumberOnly.php | 2 +- .../OpenAPIClient-php/lib/Model/ObjectWithDeprecatedFields.php | 2 +- .../client/petstore/php/OpenAPIClient-php/lib/Model/Order.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/OuterComposite.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/OuterEnum.php | 2 +- .../php/OpenAPIClient-php/lib/Model/OuterEnumDefaultValue.php | 2 +- .../php/OpenAPIClient-php/lib/Model/OuterEnumInteger.php | 2 +- .../lib/Model/OuterEnumIntegerDefaultValue.php | 2 +- .../OpenAPIClient-php/lib/Model/OuterObjectWithEnumProperty.php | 2 +- samples/client/petstore/php/OpenAPIClient-php/lib/Model/Pet.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/ReadOnlyFirst.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/SingleRefType.php | 2 +- .../php/OpenAPIClient-php/lib/Model/SpecialModelName.php | 2 +- samples/client/petstore/php/OpenAPIClient-php/lib/Model/Tag.php | 2 +- .../client/petstore/php/OpenAPIClient-php/lib/Model/User.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/ObjectSerializer.php | 2 +- samples/client/petstore/powershell/.openapi-generator/VERSION | 2 +- .../client/petstore/python-asyncio/.openapi-generator/VERSION | 2 +- .../client/petstore/python-legacy/.openapi-generator/VERSION | 2 +- .../client/petstore/python-tornado/.openapi-generator/VERSION | 2 +- samples/client/petstore/python/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- samples/client/petstore/ruby-faraday/.openapi-generator/VERSION | 2 +- samples/client/petstore/ruby-faraday/lib/petstore.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/api/another_fake_api.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/api/default_api.rb | 2 +- .../client/petstore/ruby-faraday/lib/petstore/api/fake_api.rb | 2 +- .../ruby-faraday/lib/petstore/api/fake_classname_tags123_api.rb | 2 +- .../client/petstore/ruby-faraday/lib/petstore/api/pet_api.rb | 2 +- .../client/petstore/ruby-faraday/lib/petstore/api/store_api.rb | 2 +- .../client/petstore/ruby-faraday/lib/petstore/api/user_api.rb | 2 +- samples/client/petstore/ruby-faraday/lib/petstore/api_client.rb | 2 +- samples/client/petstore/ruby-faraday/lib/petstore/api_error.rb | 2 +- .../client/petstore/ruby-faraday/lib/petstore/configuration.rb | 2 +- .../lib/petstore/models/additional_properties_class.rb | 2 +- .../ruby-faraday/lib/petstore/models/all_of_with_single_ref.rb | 2 +- .../client/petstore/ruby-faraday/lib/petstore/models/animal.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/api_response.rb | 2 +- .../lib/petstore/models/array_of_array_of_number_only.rb | 2 +- .../ruby-faraday/lib/petstore/models/array_of_number_only.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/array_test.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/capitalization.rb | 2 +- samples/client/petstore/ruby-faraday/lib/petstore/models/cat.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/cat_all_of.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/category.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/class_model.rb | 2 +- .../client/petstore/ruby-faraday/lib/petstore/models/client.rb | 2 +- .../ruby-faraday/lib/petstore/models/deprecated_object.rb | 2 +- samples/client/petstore/ruby-faraday/lib/petstore/models/dog.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/dog_all_of.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/enum_arrays.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/enum_class.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/enum_test.rb | 2 +- .../client/petstore/ruby-faraday/lib/petstore/models/file.rb | 2 +- .../ruby-faraday/lib/petstore/models/file_schema_test_class.rb | 2 +- samples/client/petstore/ruby-faraday/lib/petstore/models/foo.rb | 2 +- .../lib/petstore/models/foo_get_default_response.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/format_test.rb | 2 +- .../ruby-faraday/lib/petstore/models/has_only_read_only.rb | 2 +- .../ruby-faraday/lib/petstore/models/health_check_result.rb | 2 +- .../client/petstore/ruby-faraday/lib/petstore/models/list.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/map_test.rb | 2 +- .../models/mixed_properties_and_additional_properties_class.rb | 2 +- .../ruby-faraday/lib/petstore/models/model200_response.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/model_return.rb | 2 +- .../client/petstore/ruby-faraday/lib/petstore/models/name.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/nullable_class.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/number_only.rb | 2 +- .../lib/petstore/models/object_with_deprecated_fields.rb | 2 +- .../client/petstore/ruby-faraday/lib/petstore/models/order.rb | 2 +- .../ruby-faraday/lib/petstore/models/outer_composite.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/outer_enum.rb | 2 +- .../lib/petstore/models/outer_enum_default_value.rb | 2 +- .../ruby-faraday/lib/petstore/models/outer_enum_integer.rb | 2 +- .../lib/petstore/models/outer_enum_integer_default_value.rb | 2 +- .../lib/petstore/models/outer_object_with_enum_property.rb | 2 +- samples/client/petstore/ruby-faraday/lib/petstore/models/pet.rb | 2 +- .../ruby-faraday/lib/petstore/models/read_only_first.rb | 2 +- .../ruby-faraday/lib/petstore/models/single_ref_type.rb | 2 +- .../ruby-faraday/lib/petstore/models/special_model_name.rb | 2 +- samples/client/petstore/ruby-faraday/lib/petstore/models/tag.rb | 2 +- .../client/petstore/ruby-faraday/lib/petstore/models/user.rb | 2 +- samples/client/petstore/ruby-faraday/lib/petstore/version.rb | 2 +- samples/client/petstore/ruby-faraday/petstore.gemspec | 2 +- samples/client/petstore/ruby-faraday/spec/api_client_spec.rb | 2 +- samples/client/petstore/ruby-faraday/spec/configuration_spec.rb | 2 +- samples/client/petstore/ruby-faraday/spec/spec_helper.rb | 2 +- samples/client/petstore/ruby/.openapi-generator/VERSION | 2 +- samples/client/petstore/ruby/lib/petstore.rb | 2 +- .../client/petstore/ruby/lib/petstore/api/another_fake_api.rb | 2 +- samples/client/petstore/ruby/lib/petstore/api/default_api.rb | 2 +- samples/client/petstore/ruby/lib/petstore/api/fake_api.rb | 2 +- .../ruby/lib/petstore/api/fake_classname_tags123_api.rb | 2 +- samples/client/petstore/ruby/lib/petstore/api/pet_api.rb | 2 +- samples/client/petstore/ruby/lib/petstore/api/store_api.rb | 2 +- samples/client/petstore/ruby/lib/petstore/api/user_api.rb | 2 +- samples/client/petstore/ruby/lib/petstore/api_client.rb | 2 +- samples/client/petstore/ruby/lib/petstore/api_error.rb | 2 +- samples/client/petstore/ruby/lib/petstore/configuration.rb | 2 +- .../ruby/lib/petstore/models/additional_properties_class.rb | 2 +- .../petstore/ruby/lib/petstore/models/all_of_with_single_ref.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/animal.rb | 2 +- .../client/petstore/ruby/lib/petstore/models/api_response.rb | 2 +- .../ruby/lib/petstore/models/array_of_array_of_number_only.rb | 2 +- .../petstore/ruby/lib/petstore/models/array_of_number_only.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/array_test.rb | 2 +- .../client/petstore/ruby/lib/petstore/models/capitalization.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/cat.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/cat_all_of.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/category.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/class_model.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/client.rb | 2 +- .../petstore/ruby/lib/petstore/models/deprecated_object.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/dog.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/dog_all_of.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/enum_arrays.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/enum_class.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/enum_test.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/file.rb | 2 +- .../petstore/ruby/lib/petstore/models/file_schema_test_class.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/foo.rb | 2 +- .../ruby/lib/petstore/models/foo_get_default_response.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/format_test.rb | 2 +- .../petstore/ruby/lib/petstore/models/has_only_read_only.rb | 2 +- .../petstore/ruby/lib/petstore/models/health_check_result.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/list.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/map_test.rb | 2 +- .../models/mixed_properties_and_additional_properties_class.rb | 2 +- .../petstore/ruby/lib/petstore/models/model200_response.rb | 2 +- .../client/petstore/ruby/lib/petstore/models/model_return.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/name.rb | 2 +- .../client/petstore/ruby/lib/petstore/models/nullable_class.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/number_only.rb | 2 +- .../ruby/lib/petstore/models/object_with_deprecated_fields.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/order.rb | 2 +- .../client/petstore/ruby/lib/petstore/models/outer_composite.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/outer_enum.rb | 2 +- .../ruby/lib/petstore/models/outer_enum_default_value.rb | 2 +- .../petstore/ruby/lib/petstore/models/outer_enum_integer.rb | 2 +- .../lib/petstore/models/outer_enum_integer_default_value.rb | 2 +- .../ruby/lib/petstore/models/outer_object_with_enum_property.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/pet.rb | 2 +- .../client/petstore/ruby/lib/petstore/models/read_only_first.rb | 2 +- .../client/petstore/ruby/lib/petstore/models/single_ref_type.rb | 2 +- .../petstore/ruby/lib/petstore/models/special_model_name.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/tag.rb | 2 +- samples/client/petstore/ruby/lib/petstore/models/user.rb | 2 +- samples/client/petstore/ruby/lib/petstore/version.rb | 2 +- samples/client/petstore/ruby/petstore.gemspec | 2 +- samples/client/petstore/ruby/spec/api_client_spec.rb | 2 +- samples/client/petstore/ruby/spec/configuration_spec.rb | 2 +- samples/client/petstore/ruby/spec/spec_helper.rb | 2 +- .../petstore/rust/hyper/petstore/.openapi-generator/VERSION | 2 +- .../rust/reqwest/petstore-async/.openapi-generator/VERSION | 2 +- .../reqwest/petstore-awsv4signature/.openapi-generator/VERSION | 2 +- .../petstore/rust/reqwest/petstore/.openapi-generator/VERSION | 2 +- samples/client/petstore/scala-akka/.openapi-generator/VERSION | 2 +- .../scala-httpclient-deprecated/.openapi-generator/VERSION | 2 +- samples/client/petstore/scala-sttp/.openapi-generator/VERSION | 2 +- .../petstore/spring-cloud-async/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../petstore/spring-cloud-date-time/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/DefaultApi.java | 2 +- .../spring-cloud-feign-without-url/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../spring-cloud-spring-pageable/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- samples/client/petstore/spring-cloud/.openapi-generator/VERSION | 2 +- .../spring-cloud/src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- samples/client/petstore/spring-stubs/.openapi-generator/VERSION | 2 +- .../spring-stubs/src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../petstore/swift5/alamofireLibrary/.openapi-generator/VERSION | 2 +- .../swift5/asyncAwaitLibrary/.openapi-generator/VERSION | 2 +- .../petstore/swift5/combineLibrary/.openapi-generator/VERSION | 2 +- .../client/petstore/swift5/default/.openapi-generator/VERSION | 2 +- .../petstore/swift5/deprecated/.openapi-generator/VERSION | 2 +- .../petstore/swift5/frozenEnums/.openapi-generator/VERSION | 2 +- .../petstore/swift5/nonPublicApi/.openapi-generator/VERSION | 2 +- .../petstore/swift5/objcCompatible/.openapi-generator/VERSION | 2 +- samples/client/petstore/swift5/oneOf/.openapi-generator/VERSION | 2 +- .../swift5/promisekitLibrary/.openapi-generator/VERSION | 2 +- .../swift5/readonlyProperties/.openapi-generator/VERSION | 2 +- .../petstore/swift5/resultLibrary/.openapi-generator/VERSION | 2 +- .../petstore/swift5/rxswiftLibrary/.openapi-generator/VERSION | 2 +- .../swift5/urlsessionLibrary/.openapi-generator/VERSION | 2 +- .../petstore/swift5/vaporLibrary/.openapi-generator/VERSION | 2 +- .../petstore/swift5/x-swift-hashable/.openapi-generator/VERSION | 2 +- .../builds/default/.openapi-generator/VERSION | 2 +- .../builds/with-npm/.openapi-generator/VERSION | 2 +- .../builds/default/.openapi-generator/VERSION | 2 +- .../builds/default/.openapi-generator/VERSION | 2 +- .../builds/with-npm/.openapi-generator/VERSION | 2 +- .../builds/default/.openapi-generator/VERSION | 2 +- .../builds/with-npm/.openapi-generator/VERSION | 2 +- .../builds/default/.openapi-generator/VERSION | 2 +- .../builds/with-npm/.openapi-generator/VERSION | 2 +- .../builds/default/.openapi-generator/VERSION | 2 +- .../builds/default/.openapi-generator/VERSION | 2 +- .../builds/with-npm/.openapi-generator/VERSION | 2 +- .../typescript-aurelia/default/.openapi-generator/VERSION | 2 +- .../builds/composed-schemas/.openapi-generator/VERSION | 2 +- .../typescript-axios/builds/default/.openapi-generator/VERSION | 2 +- .../builds/es6-target/.openapi-generator/VERSION | 2 +- .../builds/test-petstore/.openapi-generator/VERSION | 2 +- .../builds/with-complex-headers/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../builds/with-interfaces/.openapi-generator/VERSION | 2 +- .../builds/with-node-imports/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../builds/with-npm-version/.openapi-generator/VERSION | 2 +- .../with-single-request-parameters/.openapi-generator/VERSION | 2 +- .../builds/with-string-enums/.openapi-generator/VERSION | 2 +- .../builds/default-v3.0/.openapi-generator/VERSION | 2 +- .../typescript-fetch/builds/default/.openapi-generator/VERSION | 2 +- .../typescript-fetch/builds/enum/.openapi-generator/VERSION | 2 +- .../builds/es6-target/.openapi-generator/VERSION | 2 +- .../builds/multiple-parameters/.openapi-generator/VERSION | 2 +- .../prefix-parameter-interfaces/.openapi-generator/VERSION | 2 +- .../builds/sagas-and-records/.openapi-generator/VERSION | 2 +- .../builds/with-interfaces/.openapi-generator/VERSION | 2 +- .../builds/with-npm-version/.openapi-generator/VERSION | 2 +- .../builds/with-string-enums/.openapi-generator/VERSION | 2 +- .../builds/without-runtime-checks/.openapi-generator/VERSION | 2 +- .../petstore/typescript-inversify/.openapi-generator/VERSION | 2 +- .../typescript-jquery/default/.openapi-generator/VERSION | 2 +- .../petstore/typescript-jquery/npm/.openapi-generator/VERSION | 2 +- .../builds/default/.openapi-generator/VERSION | 2 +- .../petstore/typescript-node/default/.openapi-generator/VERSION | 2 +- .../petstore/typescript-node/npm/.openapi-generator/VERSION | 2 +- .../builds/with-npm-version/.openapi-generator/VERSION | 2 +- .../typescript-rxjs/builds/default/.openapi-generator/VERSION | 2 +- .../builds/es6-target/.openapi-generator/VERSION | 2 +- .../builds/with-npm-version/.openapi-generator/VERSION | 2 +- .../builds/with-progress-subscriber/.openapi-generator/VERSION | 2 +- .../config/petstore/protobuf-schema/.openapi-generator/VERSION | 2 +- samples/meta-codegen/lib/pom.xml | 2 +- samples/meta-codegen/usage/.openapi-generator/VERSION | 2 +- samples/openapi3/client/elm/.openapi-generator/VERSION | 2 +- .../x-auth-id-alias/go-experimental/.openapi-generator/VERSION | 2 +- .../java/jersey2-java8/.openapi-generator/VERSION | 2 +- .../x-auth-id-alias/python/.openapi-generator/VERSION | 2 +- .../x-auth-id-alias/ruby-client/.openapi-generator/VERSION | 2 +- .../x-auth-id-alias/ruby-client/lib/x_auth_id_alias.rb | 2 +- .../ruby-client/lib/x_auth_id_alias/api/usage_api.rb | 2 +- .../ruby-client/lib/x_auth_id_alias/api_client.rb | 2 +- .../ruby-client/lib/x_auth_id_alias/api_error.rb | 2 +- .../ruby-client/lib/x_auth_id_alias/configuration.rb | 2 +- .../x-auth-id-alias/ruby-client/lib/x_auth_id_alias/version.rb | 2 +- .../x-auth-id-alias/ruby-client/spec/api_client_spec.rb | 2 +- .../x-auth-id-alias/ruby-client/spec/configuration_spec.rb | 2 +- .../extensions/x-auth-id-alias/ruby-client/spec/spec_helper.rb | 2 +- .../x-auth-id-alias/ruby-client/x_auth_id_alias.gemspec | 2 +- .../features/dynamic-servers/python/.openapi-generator/VERSION | 2 +- .../features/dynamic-servers/ruby/.openapi-generator/VERSION | 2 +- .../features/dynamic-servers/ruby/dynamic_servers.gemspec | 2 +- .../client/features/dynamic-servers/ruby/lib/dynamic_servers.rb | 2 +- .../dynamic-servers/ruby/lib/dynamic_servers/api/usage_api.rb | 2 +- .../dynamic-servers/ruby/lib/dynamic_servers/api_client.rb | 2 +- .../dynamic-servers/ruby/lib/dynamic_servers/api_error.rb | 2 +- .../dynamic-servers/ruby/lib/dynamic_servers/configuration.rb | 2 +- .../dynamic-servers/ruby/lib/dynamic_servers/version.rb | 2 +- .../features/dynamic-servers/ruby/spec/api_client_spec.rb | 2 +- .../features/dynamic-servers/ruby/spec/configuration_spec.rb | 2 +- .../client/features/dynamic-servers/ruby/spec/spec_helper.rb | 2 +- .../ruby-client/.openapi-generator/VERSION | 2 +- .../generate-alias-as-model/ruby-client/lib/petstore.rb | 2 +- .../ruby-client/lib/petstore/api/usage_api.rb | 2 +- .../ruby-client/lib/petstore/api_client.rb | 2 +- .../ruby-client/lib/petstore/api_error.rb | 2 +- .../ruby-client/lib/petstore/configuration.rb | 2 +- .../ruby-client/lib/petstore/models/array_alias.rb | 2 +- .../ruby-client/lib/petstore/models/map_alias.rb | 2 +- .../generate-alias-as-model/ruby-client/lib/petstore/version.rb | 2 +- .../generate-alias-as-model/ruby-client/petstore.gemspec | 2 +- .../generate-alias-as-model/ruby-client/spec/api_client_spec.rb | 2 +- .../ruby-client/spec/configuration_spec.rb | 2 +- .../generate-alias-as-model/ruby-client/spec/spec_helper.rb | 2 +- .../.openapi-generator/VERSION | 2 +- .../petstore_client_lib_fake/.openapi-generator/VERSION | 2 +- .../dart2/petstore_client_lib/.openapi-generator/VERSION | 2 +- .../dart2/petstore_client_lib_fake/.openapi-generator/VERSION | 2 +- .../client/petstore/go/go-petstore/.openapi-generator/VERSION | 2 +- .../jersey2-java8-special-characters/.openapi-generator/VERSION | 2 +- .../petstore/java/jersey2-java8/.openapi-generator/VERSION | 2 +- .../petstore/python-experimental/.openapi-generator/VERSION | 2 +- .../client/petstore/python-legacy/.openapi-generator/VERSION | 2 +- .../openapi3/client/petstore/python/.openapi-generator/VERSION | 2 +- .../petstore/spring-cloud-async/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../petstore/spring-cloud-date-time/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/DefaultApi.java | 2 +- .../spring-cloud-oas3-fakeapi/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../main/java/org/openapitools/api/FakeClassnameTags123Api.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../spring-cloud-spring-pageable/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../client/petstore/spring-cloud/.openapi-generator/VERSION | 2 +- .../spring-cloud/src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../client/petstore/spring-stubs/.openapi-generator/VERSION | 2 +- .../spring-stubs/src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../typescript/builds/browser/.openapi-generator/VERSION | 2 +- .../builds/composed-schemas/.openapi-generator/VERSION | 2 +- .../typescript/builds/default/.openapi-generator/VERSION | 2 +- .../petstore/typescript/builds/deno/.openapi-generator/VERSION | 2 +- .../typescript/builds/inversify/.openapi-generator/VERSION | 2 +- .../typescript/builds/jquery/.openapi-generator/VERSION | 2 +- .../typescript/builds/object_params/.openapi-generator/VERSION | 2 +- .../schema/petstore/avro-schema/.openapi-generator/VERSION | 2 +- .../petstore/spring-boot-oneof/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/BarApi.java | 2 +- .../src/main/java/org/openapitools/api/FooApi.java | 2 +- .../petstore/spring-boot-springdoc/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../main/java/org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../petstore/springboot-delegate/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../main/java/org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../springboot-implicitHeaders/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../main/java/org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../petstore/springboot-reactive/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../main/java/org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../petstore/springboot-source/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../petstore/springboot-useoptional/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../main/java/org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../server/petstore/springboot/.openapi-generator/VERSION | 2 +- .../springboot/src/main/java/org/openapitools/api/PetApi.java | 2 +- .../springboot/src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../springboot/src/main/java/org/openapitools/api/UserApi.java | 2 +- .../petstore/ktorm-modelMutable/.openapi-generator/VERSION | 2 +- samples/schema/petstore/ktorm/.openapi-generator/VERSION | 2 +- samples/schema/petstore/mysql/.openapi-generator/VERSION | 2 +- samples/schema/petstore/wsdl-schema/.openapi-generator/VERSION | 2 +- .../server/petstore/aspnetcore-3.0/.openapi-generator/VERSION | 2 +- .../server/petstore/aspnetcore-3.1/.openapi-generator/VERSION | 2 +- .../server/petstore/aspnetcore-5.0/.openapi-generator/VERSION | 2 +- .../server/petstore/aspnetcore-6.0/.openapi-generator/VERSION | 2 +- samples/server/petstore/aspnetcore/.openapi-generator/VERSION | 2 +- samples/server/petstore/cpp-pistache/.openapi-generator/VERSION | 2 +- .../cpp-qt-qhttpengine-server/.openapi-generator/VERSION | 2 +- .../server/petstore/erlang-server/.openapi-generator/VERSION | 2 +- .../server/petstore/go-api-server/.openapi-generator/VERSION | 2 +- .../server/petstore/go-chi-server/.openapi-generator/VERSION | 2 +- .../server/petstore/go-echo-server/.openapi-generator/VERSION | 2 +- .../petstore/go-gin-api-server/.openapi-generator/VERSION | 2 +- .../petstore/go-server-required/.openapi-generator/VERSION | 2 +- .../server/petstore/haskell-servant/.openapi-generator/VERSION | 2 +- .../server/petstore/haskell-yesod/.openapi-generator/VERSION | 2 +- samples/server/petstore/java-camel/.openapi-generator/VERSION | 2 +- samples/server/petstore/java-camel/pom.xml | 2 +- .../src/main/java/org/openapitools/RestConfiguration.java | 2 +- .../main/java/org/openapitools/ValidationErrorProcessor.java | 2 +- .../java-camel/src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApiRoutesImpl.java | 2 +- .../src/main/java/org/openapitools/api/PetApiValidator.java | 2 +- .../java-camel/src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApiRoutesImpl.java | 2 +- .../src/main/java/org/openapitools/api/StoreApiValidator.java | 2 +- .../java-camel/src/main/java/org/openapitools/api/UserApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApiRoutesImpl.java | 2 +- .../src/main/java/org/openapitools/api/UserApiValidator.java | 2 +- .../java-camel/src/main/resources/application.properties | 2 +- .../petstore/java-micronaut-server/.openapi-generator/VERSION | 2 +- samples/server/petstore/java-msf4j/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../java-play-framework-async/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../java-play-framework-no-interface/.openapi-generator/VERSION | 2 +- .../java-play-framework-no-nullable/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../petstore/java-play-framework/.openapi-generator/VERSION | 2 +- .../server/petstore/java-undertow/.openapi-generator/VERSION | 2 +- .../server/petstore/java-vertx-web/.openapi-generator/VERSION | 2 +- .../jaxrs-cxf-annotated-base-path/.openapi-generator/VERSION | 2 +- .../server/petstore/jaxrs-cxf-cdi/.openapi-generator/VERSION | 2 +- .../jaxrs-cxf-non-spring-app/.openapi-generator/VERSION | 2 +- samples/server/petstore/jaxrs-cxf/.openapi-generator/VERSION | 2 +- .../server/petstore/jaxrs-datelib-j8/.openapi-generator/VERSION | 2 +- samples/server/petstore/jaxrs-jersey/.openapi-generator/VERSION | 2 +- .../petstore/jaxrs-resteasy/default/.openapi-generator/VERSION | 2 +- .../jaxrs-resteasy/eap-java8/.openapi-generator/VERSION | 2 +- .../petstore/jaxrs-resteasy/eap-joda/.openapi-generator/VERSION | 2 +- .../petstore/jaxrs-resteasy/eap/.openapi-generator/VERSION | 2 +- .../petstore/jaxrs-resteasy/java8/.openapi-generator/VERSION | 2 +- .../petstore/jaxrs-resteasy/joda/.openapi-generator/VERSION | 2 +- .../petstore/jaxrs-spec-interface/.openapi-generator/VERSION | 2 +- samples/server/petstore/jaxrs-spec/.openapi-generator/VERSION | 2 +- .../petstore/jaxrs/jersey1-useTags/.openapi-generator/VERSION | 2 +- .../server/petstore/jaxrs/jersey1/.openapi-generator/VERSION | 2 +- .../petstore/jaxrs/jersey2-useTags/.openapi-generator/VERSION | 2 +- .../server/petstore/jaxrs/jersey2/.openapi-generator/VERSION | 2 +- .../kotlin-server-modelMutable/.openapi-generator/VERSION | 2 +- samples/server/petstore/kotlin-server-modelMutable/README.md | 2 +- .../kotlin-server/jaxrs-spec/.openapi-generator/VERSION | 2 +- .../petstore/kotlin-server/ktor/.openapi-generator/VERSION | 2 +- samples/server/petstore/kotlin-server/ktor/README.md | 2 +- .../kotlin-springboot-delegate/.openapi-generator/VERSION | 2 +- .../src/main/kotlin/org/openapitools/api/PetApi.kt | 2 +- .../src/main/kotlin/org/openapitools/api/StoreApi.kt | 2 +- .../src/main/kotlin/org/openapitools/api/UserApi.kt | 2 +- .../kotlin-springboot-modelMutable/.openapi-generator/VERSION | 2 +- .../kotlin-springboot-reactive/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../kotlin-springboot-springfox/.openapi-generator/VERSION | 2 +- .../petstore/kotlin-springboot/.openapi-generator/VERSION | 2 +- .../kotlin-vertx-modelMutable/.openapi-generator/VERSION | 2 +- samples/server/petstore/kotlin/vertx/.openapi-generator/VERSION | 2 +- samples/server/petstore/php-laravel/.openapi-generator/VERSION | 2 +- samples/server/petstore/php-lumen/.openapi-generator/VERSION | 2 +- .../petstore/php-mezzio-ph-modern/.openapi-generator/VERSION | 2 +- .../server/petstore/php-mezzio-ph/.openapi-generator/VERSION | 2 +- samples/server/petstore/php-slim4/.openapi-generator/VERSION | 2 +- .../php-symfony/SymfonyBundle-php/.openapi-generator/VERSION | 2 +- .../python-aiohttp-srclayout/.openapi-generator/VERSION | 2 +- .../server/petstore/python-aiohttp/.openapi-generator/VERSION | 2 +- .../petstore/python-blueplanet/.openapi-generator/VERSION | 2 +- .../server/petstore/python-fastapi/.openapi-generator/VERSION | 2 +- samples/server/petstore/python-flask/.openapi-generator/VERSION | 2 +- .../rust-server/output/multipart-v3/.openapi-generator/VERSION | 2 +- .../rust-server/output/no-example-v3/.openapi-generator/VERSION | 2 +- .../rust-server/output/openapi-v3/.openapi-generator/VERSION | 2 +- .../rust-server/output/ops-v3/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../output/ping-bearer-auth/.openapi-generator/VERSION | 2 +- .../output/rust-server-test/.openapi-generator/VERSION | 2 +- .../petstore/scala-akka-http-server/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../main/java/org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../spring-boot-nullable-set/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/NullableApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../main/java/org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../springboot-beanvalidation/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../main/java/org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../petstore/springboot-delegate-j8/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../main/java/org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../petstore/springboot-delegate/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../main/java/org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../springboot-implicitHeaders/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../main/java/org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../petstore/springboot-reactive/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../main/java/org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../main/java/org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../main/java/org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../main/java/org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../springboot-spring-pageable/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../main/java/org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../petstore/springboot-useoptional/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../main/java/org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../petstore/springboot-virtualan/.openapi-generator/VERSION | 2 +- .../java/org/openapitools/virtualan/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/virtualan/api/FakeApi.java | 2 +- .../org/openapitools/virtualan/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/virtualan/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/virtualan/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/virtualan/api/UserApi.java | 2 +- samples/server/petstore/springboot/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../springboot/src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../main/java/org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../springboot/src/main/java/org/openapitools/api/PetApi.java | 2 +- .../springboot/src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../springboot/src/main/java/org/openapitools/api/UserApi.java | 2 +- 797 files changed, 797 insertions(+), 797 deletions(-) diff --git a/modules/openapi-generator-cli/pom.xml b/modules/openapi-generator-cli/pom.xml index a64e865eaa..219c84f73e 100644 --- a/modules/openapi-generator-cli/pom.xml +++ b/modules/openapi-generator-cli/pom.xml @@ -4,7 +4,7 @@ org.openapitools openapi-generator-project - 6.0.1-SNAPSHOT + 6.1.0-SNAPSHOT ../.. diff --git a/modules/openapi-generator-core/pom.xml b/modules/openapi-generator-core/pom.xml index 73107d4e21..41eb4f1461 100644 --- a/modules/openapi-generator-core/pom.xml +++ b/modules/openapi-generator-core/pom.xml @@ -6,7 +6,7 @@ openapi-generator-project org.openapitools - 6.0.1-SNAPSHOT + 6.1.0-SNAPSHOT ../.. diff --git a/modules/openapi-generator-gradle-plugin/gradle.properties b/modules/openapi-generator-gradle-plugin/gradle.properties index 99633efa93..0c9dd78d29 100644 --- a/modules/openapi-generator-gradle-plugin/gradle.properties +++ b/modules/openapi-generator-gradle-plugin/gradle.properties @@ -1,5 +1,5 @@ # RELEASE_VERSION -openApiGeneratorVersion=6.0.1-SNAPSHOT +openApiGeneratorVersion=6.1.0-SNAPSHOT # /RELEASE_VERSION # BEGIN placeholders diff --git a/modules/openapi-generator-gradle-plugin/pom.xml b/modules/openapi-generator-gradle-plugin/pom.xml index fc5395f03c..abdd7dcf53 100644 --- a/modules/openapi-generator-gradle-plugin/pom.xml +++ b/modules/openapi-generator-gradle-plugin/pom.xml @@ -4,7 +4,7 @@ org.openapitools openapi-generator-project - 6.0.1-SNAPSHOT + 6.1.0-SNAPSHOT ../.. diff --git a/modules/openapi-generator-gradle-plugin/samples/local-spec/gradle.properties b/modules/openapi-generator-gradle-plugin/samples/local-spec/gradle.properties index 42427749f1..1558d2b2fc 100644 --- a/modules/openapi-generator-gradle-plugin/samples/local-spec/gradle.properties +++ b/modules/openapi-generator-gradle-plugin/samples/local-spec/gradle.properties @@ -1,3 +1,3 @@ # RELEASE_VERSION -openApiGeneratorVersion=6.0.1-SNAPSHOT +openApiGeneratorVersion=6.1.0-SNAPSHOT # /RELEASE_VERSION diff --git a/modules/openapi-generator-maven-plugin/examples/java-client.xml b/modules/openapi-generator-maven-plugin/examples/java-client.xml index 9c6426f7cd..05ab7a804c 100644 --- a/modules/openapi-generator-maven-plugin/examples/java-client.xml +++ b/modules/openapi-generator-maven-plugin/examples/java-client.xml @@ -13,7 +13,7 @@ org.openapitools openapi-generator-maven-plugin - 6.0.1-SNAPSHOT + 6.1.0-SNAPSHOT diff --git a/modules/openapi-generator-maven-plugin/examples/kotlin.xml b/modules/openapi-generator-maven-plugin/examples/kotlin.xml index 2686d13ac1..7acc69369c 100644 --- a/modules/openapi-generator-maven-plugin/examples/kotlin.xml +++ b/modules/openapi-generator-maven-plugin/examples/kotlin.xml @@ -15,7 +15,7 @@ org.openapitools openapi-generator-maven-plugin - 6.0.1-SNAPSHOT + 6.1.0-SNAPSHOT diff --git a/modules/openapi-generator-maven-plugin/examples/multi-module/java-client/pom.xml b/modules/openapi-generator-maven-plugin/examples/multi-module/java-client/pom.xml index 6d342388a4..218a41c7cf 100644 --- a/modules/openapi-generator-maven-plugin/examples/multi-module/java-client/pom.xml +++ b/modules/openapi-generator-maven-plugin/examples/multi-module/java-client/pom.xml @@ -19,7 +19,7 @@ org.openapitools openapi-generator-maven-plugin - 6.0.1-SNAPSHOT + 6.1.0-SNAPSHOT diff --git a/modules/openapi-generator-maven-plugin/examples/non-java-invalid-spec.xml b/modules/openapi-generator-maven-plugin/examples/non-java-invalid-spec.xml index dafebe3e16..c6a7e4edb7 100644 --- a/modules/openapi-generator-maven-plugin/examples/non-java-invalid-spec.xml +++ b/modules/openapi-generator-maven-plugin/examples/non-java-invalid-spec.xml @@ -13,7 +13,7 @@ org.openapitools openapi-generator-maven-plugin - 6.0.1-SNAPSHOT + 6.1.0-SNAPSHOT diff --git a/modules/openapi-generator-maven-plugin/examples/non-java.xml b/modules/openapi-generator-maven-plugin/examples/non-java.xml index f043ceb2e3..871788fdc8 100644 --- a/modules/openapi-generator-maven-plugin/examples/non-java.xml +++ b/modules/openapi-generator-maven-plugin/examples/non-java.xml @@ -13,7 +13,7 @@ org.openapitools openapi-generator-maven-plugin - 6.0.1-SNAPSHOT + 6.1.0-SNAPSHOT diff --git a/modules/openapi-generator-maven-plugin/examples/spring.xml b/modules/openapi-generator-maven-plugin/examples/spring.xml index e62ac7431d..5c888dc78e 100644 --- a/modules/openapi-generator-maven-plugin/examples/spring.xml +++ b/modules/openapi-generator-maven-plugin/examples/spring.xml @@ -20,7 +20,7 @@ org.openapitools openapi-generator-maven-plugin - 6.0.1-SNAPSHOT + 6.1.0-SNAPSHOT diff --git a/modules/openapi-generator-maven-plugin/pom.xml b/modules/openapi-generator-maven-plugin/pom.xml index 255c644d32..00a737fbb8 100644 --- a/modules/openapi-generator-maven-plugin/pom.xml +++ b/modules/openapi-generator-maven-plugin/pom.xml @@ -5,7 +5,7 @@ org.openapitools openapi-generator-project - 6.0.1-SNAPSHOT + 6.1.0-SNAPSHOT ../.. diff --git a/modules/openapi-generator-online/pom.xml b/modules/openapi-generator-online/pom.xml index c5bfaf49f4..1dd75aa2c7 100644 --- a/modules/openapi-generator-online/pom.xml +++ b/modules/openapi-generator-online/pom.xml @@ -4,7 +4,7 @@ org.openapitools openapi-generator-project - 6.0.1-SNAPSHOT + 6.1.0-SNAPSHOT ../.. diff --git a/modules/openapi-generator/pom.xml b/modules/openapi-generator/pom.xml index 79502ccb81..e293065912 100644 --- a/modules/openapi-generator/pom.xml +++ b/modules/openapi-generator/pom.xml @@ -4,7 +4,7 @@ org.openapitools openapi-generator-project - 6.0.1-SNAPSHOT + 6.1.0-SNAPSHOT ../.. diff --git a/pom.xml b/pom.xml index f62d968ab6..e0fed513fe 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ pom openapi-generator-project - 6.0.1-SNAPSHOT + 6.1.0-SNAPSHOT https://github.com/openapitools/openapi-generator diff --git a/samples/client/others/csharp-netcore-complex-files/.openapi-generator/VERSION b/samples/client/others/csharp-netcore-complex-files/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/others/csharp-netcore-complex-files/.openapi-generator/VERSION +++ b/samples/client/others/csharp-netcore-complex-files/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/others/java/okhttp-gson-streaming/.openapi-generator/VERSION b/samples/client/others/java/okhttp-gson-streaming/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/others/java/okhttp-gson-streaming/.openapi-generator/VERSION +++ b/samples/client/others/java/okhttp-gson-streaming/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/others/typescript/builds/with-unique-items/.openapi-generator/VERSION b/samples/client/others/typescript/builds/with-unique-items/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/others/typescript/builds/with-unique-items/.openapi-generator/VERSION +++ b/samples/client/others/typescript/builds/with-unique-items/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/R/.openapi-generator/VERSION b/samples/client/petstore/R/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/R/.openapi-generator/VERSION +++ b/samples/client/petstore/R/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/apex/.openapi-generator/VERSION b/samples/client/petstore/apex/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/apex/.openapi-generator/VERSION +++ b/samples/client/petstore/apex/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/bash/.openapi-generator/VERSION b/samples/client/petstore/bash/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/bash/.openapi-generator/VERSION +++ b/samples/client/petstore/bash/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/c/.openapi-generator/VERSION b/samples/client/petstore/c/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/c/.openapi-generator/VERSION +++ b/samples/client/petstore/c/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/cpp-qt/.openapi-generator/VERSION b/samples/client/petstore/cpp-qt/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/cpp-qt/.openapi-generator/VERSION +++ b/samples/client/petstore/cpp-qt/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/cpp-restsdk/client/.openapi-generator/VERSION b/samples/client/petstore/cpp-restsdk/client/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/cpp-restsdk/client/.openapi-generator/VERSION +++ b/samples/client/petstore/cpp-restsdk/client/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiClient.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiClient.h index 892399ceee..5ac9452639 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiClient.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiClient.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiConfiguration.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiConfiguration.h index 2fb88e9677..79af1ce97b 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiConfiguration.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiConfiguration.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiException.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiException.h index 687a7fa3e8..7dcbf93076 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiException.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiException.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/HttpContent.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/HttpContent.h index fe4e44b008..217ae58a98 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/HttpContent.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/HttpContent.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/IHttpBody.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/IHttpBody.h index 13c813cbd7..e047ffd662 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/IHttpBody.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/IHttpBody.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/JsonBody.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/JsonBody.h index 62776ccfef..3a5524bd02 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/JsonBody.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/JsonBody.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ModelBase.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ModelBase.h index 807d2512ef..972a8dbdbf 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ModelBase.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ModelBase.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/MultipartFormData.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/MultipartFormData.h index 7b581a79b9..492c5b1cea 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/MultipartFormData.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/MultipartFormData.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/Object.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/Object.h index fed90b9ffa..dae065603b 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/Object.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/Object.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/PetApi.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/PetApi.h index 781437f222..cd23c63a12 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/PetApi.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/PetApi.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/StoreApi.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/StoreApi.h index 27d448071c..384b0165b1 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/StoreApi.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/StoreApi.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/UserApi.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/UserApi.h index a6e636d3ad..798ae72a8b 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/UserApi.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/UserApi.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/ApiResponse.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/ApiResponse.h index d52696c7e9..7a25c93e04 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/ApiResponse.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/ApiResponse.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Category.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Category.h index 8ef65ef4b0..d1e25bc7fb 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Category.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Category.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Order.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Order.h index c6d4162cf0..b551fac992 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Order.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Order.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Pet.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Pet.h index ebb4d75b4b..3feb62e29b 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Pet.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Pet.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Tag.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Tag.h index 09a36ebd91..72a3b044e0 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Tag.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Tag.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/User.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/User.h index 23d113836e..467130f4bb 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/User.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/User.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/ApiClient.cpp b/samples/client/petstore/cpp-restsdk/client/src/ApiClient.cpp index a855db1584..7399f036e4 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/ApiClient.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/ApiClient.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/ApiConfiguration.cpp b/samples/client/petstore/cpp-restsdk/client/src/ApiConfiguration.cpp index 6b49660323..626d698de4 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/ApiConfiguration.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/ApiConfiguration.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/ApiException.cpp b/samples/client/petstore/cpp-restsdk/client/src/ApiException.cpp index c87917ef80..474932c599 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/ApiException.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/ApiException.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/HttpContent.cpp b/samples/client/petstore/cpp-restsdk/client/src/HttpContent.cpp index eb21ad1108..9321b5ad2c 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/HttpContent.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/HttpContent.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/JsonBody.cpp b/samples/client/petstore/cpp-restsdk/client/src/JsonBody.cpp index c2fde277ea..935f05be18 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/JsonBody.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/JsonBody.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/ModelBase.cpp b/samples/client/petstore/cpp-restsdk/client/src/ModelBase.cpp index 94c2d0bf59..2b5f6bfe9c 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/ModelBase.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/ModelBase.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/MultipartFormData.cpp b/samples/client/petstore/cpp-restsdk/client/src/MultipartFormData.cpp index 2e1b3212d8..67a189f76c 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/MultipartFormData.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/MultipartFormData.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/Object.cpp b/samples/client/petstore/cpp-restsdk/client/src/Object.cpp index 5a3e676308..13b6864adc 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/Object.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/Object.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/api/PetApi.cpp b/samples/client/petstore/cpp-restsdk/client/src/api/PetApi.cpp index 4f71e9f197..8b3814384e 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/api/PetApi.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/api/PetApi.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/api/StoreApi.cpp b/samples/client/petstore/cpp-restsdk/client/src/api/StoreApi.cpp index 421c87fc66..6d9160af3d 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/api/StoreApi.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/api/StoreApi.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/api/UserApi.cpp b/samples/client/petstore/cpp-restsdk/client/src/api/UserApi.cpp index 91797aca52..25f25cf1f5 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/api/UserApi.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/api/UserApi.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/model/ApiResponse.cpp b/samples/client/petstore/cpp-restsdk/client/src/model/ApiResponse.cpp index 69c94fa342..5ec8f79cc5 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/model/ApiResponse.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/model/ApiResponse.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/model/Category.cpp b/samples/client/petstore/cpp-restsdk/client/src/model/Category.cpp index c38ba407ef..e6afc2925e 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/model/Category.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/model/Category.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/model/Order.cpp b/samples/client/petstore/cpp-restsdk/client/src/model/Order.cpp index 958465faab..34186e7eb0 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/model/Order.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/model/Order.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/model/Pet.cpp b/samples/client/petstore/cpp-restsdk/client/src/model/Pet.cpp index 68a01b8a66..60e76340cf 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/model/Pet.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/model/Pet.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/model/Tag.cpp b/samples/client/petstore/cpp-restsdk/client/src/model/Tag.cpp index db089acdae..0df1ad4258 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/model/Tag.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/model/Tag.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/model/User.cpp b/samples/client/petstore/cpp-restsdk/client/src/model/User.cpp index c99c184fe4..d16cbb14fd 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/model/User.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/model/User.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.1.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-tiny/.openapi-generator/VERSION b/samples/client/petstore/cpp-tiny/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/cpp-tiny/.openapi-generator/VERSION +++ b/samples/client/petstore/cpp-tiny/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/cpp-ue4/.openapi-generator/VERSION b/samples/client/petstore/cpp-ue4/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/cpp-ue4/.openapi-generator/VERSION +++ b/samples/client/petstore/cpp-ue4/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/crystal/.openapi-generator/VERSION b/samples/client/petstore/crystal/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/crystal/.openapi-generator/VERSION +++ b/samples/client/petstore/crystal/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/crystal/.travis.yml b/samples/client/petstore/crystal/.travis.yml index 358cf610e6..c4b2037fea 100644 --- a/samples/client/petstore/crystal/.travis.yml +++ b/samples/client/petstore/crystal/.travis.yml @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.1.0-SNAPSHOT # language: crystal diff --git a/samples/client/petstore/crystal/spec/spec_helper.cr b/samples/client/petstore/crystal/spec/spec_helper.cr index 46a407a4e2..b505857339 100644 --- a/samples/client/petstore/crystal/spec/spec_helper.cr +++ b/samples/client/petstore/crystal/spec/spec_helper.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.1.0-SNAPSHOT # # load modules diff --git a/samples/client/petstore/crystal/src/petstore.cr b/samples/client/petstore/crystal/src/petstore.cr index a601e8513d..ee327dd09d 100644 --- a/samples/client/petstore/crystal/src/petstore.cr +++ b/samples/client/petstore/crystal/src/petstore.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.1.0-SNAPSHOT # # Dependencies diff --git a/samples/client/petstore/crystal/src/petstore/api/pet_api.cr b/samples/client/petstore/crystal/src/petstore/api/pet_api.cr index b069ffac9a..20ca5a8a14 100644 --- a/samples/client/petstore/crystal/src/petstore/api/pet_api.cr +++ b/samples/client/petstore/crystal/src/petstore/api/pet_api.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.1.0-SNAPSHOT # require "uri" diff --git a/samples/client/petstore/crystal/src/petstore/api/store_api.cr b/samples/client/petstore/crystal/src/petstore/api/store_api.cr index 811ebf88c2..25f39dd3fb 100644 --- a/samples/client/petstore/crystal/src/petstore/api/store_api.cr +++ b/samples/client/petstore/crystal/src/petstore/api/store_api.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.1.0-SNAPSHOT # require "uri" diff --git a/samples/client/petstore/crystal/src/petstore/api/user_api.cr b/samples/client/petstore/crystal/src/petstore/api/user_api.cr index 0b322f5f77..6b13779d58 100644 --- a/samples/client/petstore/crystal/src/petstore/api/user_api.cr +++ b/samples/client/petstore/crystal/src/petstore/api/user_api.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.1.0-SNAPSHOT # require "uri" diff --git a/samples/client/petstore/crystal/src/petstore/api_client.cr b/samples/client/petstore/crystal/src/petstore/api_client.cr index a0bc234d56..f2e82059ee 100644 --- a/samples/client/petstore/crystal/src/petstore/api_client.cr +++ b/samples/client/petstore/crystal/src/petstore/api_client.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.1.0-SNAPSHOT # require "json" diff --git a/samples/client/petstore/crystal/src/petstore/api_error.cr b/samples/client/petstore/crystal/src/petstore/api_error.cr index 8ec41a6310..fd65f90b13 100644 --- a/samples/client/petstore/crystal/src/petstore/api_error.cr +++ b/samples/client/petstore/crystal/src/petstore/api_error.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.1.0-SNAPSHOT # module Petstore diff --git a/samples/client/petstore/crystal/src/petstore/configuration.cr b/samples/client/petstore/crystal/src/petstore/configuration.cr index 5112138d60..6327ed4cce 100644 --- a/samples/client/petstore/crystal/src/petstore/configuration.cr +++ b/samples/client/petstore/crystal/src/petstore/configuration.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.1.0-SNAPSHOT # require "log" diff --git a/samples/client/petstore/crystal/src/petstore/models/api_response.cr b/samples/client/petstore/crystal/src/petstore/models/api_response.cr index 30aee8634c..03e26d3334 100644 --- a/samples/client/petstore/crystal/src/petstore/models/api_response.cr +++ b/samples/client/petstore/crystal/src/petstore/models/api_response.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.1.0-SNAPSHOT # require "json" diff --git a/samples/client/petstore/crystal/src/petstore/models/category.cr b/samples/client/petstore/crystal/src/petstore/models/category.cr index fc2711f9a6..31daf785bf 100644 --- a/samples/client/petstore/crystal/src/petstore/models/category.cr +++ b/samples/client/petstore/crystal/src/petstore/models/category.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.1.0-SNAPSHOT # require "json" diff --git a/samples/client/petstore/crystal/src/petstore/models/order.cr b/samples/client/petstore/crystal/src/petstore/models/order.cr index 59263477cd..0d23c047c6 100644 --- a/samples/client/petstore/crystal/src/petstore/models/order.cr +++ b/samples/client/petstore/crystal/src/petstore/models/order.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.1.0-SNAPSHOT # require "json" diff --git a/samples/client/petstore/crystal/src/petstore/models/pet.cr b/samples/client/petstore/crystal/src/petstore/models/pet.cr index f8da4f9f60..edac7dfc10 100644 --- a/samples/client/petstore/crystal/src/petstore/models/pet.cr +++ b/samples/client/petstore/crystal/src/petstore/models/pet.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.1.0-SNAPSHOT # require "json" diff --git a/samples/client/petstore/crystal/src/petstore/models/tag.cr b/samples/client/petstore/crystal/src/petstore/models/tag.cr index d2ca78ee0b..073e3ef936 100644 --- a/samples/client/petstore/crystal/src/petstore/models/tag.cr +++ b/samples/client/petstore/crystal/src/petstore/models/tag.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.1.0-SNAPSHOT # require "json" diff --git a/samples/client/petstore/crystal/src/petstore/models/user.cr b/samples/client/petstore/crystal/src/petstore/models/user.cr index a4d4f53082..8ff85ab29d 100644 --- a/samples/client/petstore/crystal/src/petstore/models/user.cr +++ b/samples/client/petstore/crystal/src/petstore/models/user.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.1.0-SNAPSHOT # require "json" diff --git a/samples/client/petstore/csharp-netcore-functions/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore-functions/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/csharp-netcore-functions/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore-functions/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClient/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/csharp/OpenAPIClient/.openapi-generator/VERSION b/samples/client/petstore/csharp/OpenAPIClient/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/csharp/OpenAPIClient/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp/OpenAPIClient/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/elixir/.openapi-generator/VERSION b/samples/client/petstore/elixir/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/elixir/.openapi-generator/VERSION +++ b/samples/client/petstore/elixir/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/go/go-petstore/.openapi-generator/VERSION b/samples/client/petstore/go/go-petstore/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/go/go-petstore/.openapi-generator/VERSION +++ b/samples/client/petstore/go/go-petstore/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/groovy/.openapi-generator/VERSION b/samples/client/petstore/groovy/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/groovy/.openapi-generator/VERSION +++ b/samples/client/petstore/groovy/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/haskell-http-client/.openapi-generator/VERSION b/samples/client/petstore/haskell-http-client/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/haskell-http-client/.openapi-generator/VERSION +++ b/samples/client/petstore/haskell-http-client/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java-micronaut-client/.openapi-generator/VERSION b/samples/client/petstore/java-micronaut-client/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java-micronaut-client/.openapi-generator/VERSION +++ b/samples/client/petstore/java-micronaut-client/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/apache-httpclient/.openapi-generator/VERSION b/samples/client/petstore/java/apache-httpclient/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/apache-httpclient/.openapi-generator/VERSION +++ b/samples/client/petstore/java/apache-httpclient/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/feign-no-nullable/.openapi-generator/VERSION b/samples/client/petstore/java/feign-no-nullable/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/feign-no-nullable/.openapi-generator/VERSION +++ b/samples/client/petstore/java/feign-no-nullable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/feign/.openapi-generator/VERSION b/samples/client/petstore/java/feign/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/feign/.openapi-generator/VERSION +++ b/samples/client/petstore/java/feign/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/google-api-client/.openapi-generator/VERSION b/samples/client/petstore/java/google-api-client/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/google-api-client/.openapi-generator/VERSION +++ b/samples/client/petstore/java/google-api-client/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/jersey1/.openapi-generator/VERSION b/samples/client/petstore/java/jersey1/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/jersey1/.openapi-generator/VERSION +++ b/samples/client/petstore/java/jersey1/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/jersey2-java8-localdatetime/.openapi-generator/VERSION b/samples/client/petstore/java/jersey2-java8-localdatetime/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/jersey2-java8-localdatetime/.openapi-generator/VERSION +++ b/samples/client/petstore/java/jersey2-java8-localdatetime/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/jersey2-java8/.openapi-generator/VERSION b/samples/client/petstore/java/jersey2-java8/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/jersey2-java8/.openapi-generator/VERSION +++ b/samples/client/petstore/java/jersey2-java8/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/jersey3/.openapi-generator/VERSION b/samples/client/petstore/java/jersey3/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/jersey3/.openapi-generator/VERSION +++ b/samples/client/petstore/java/jersey3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/microprofile-rest-client-3.0/.openapi-generator/VERSION b/samples/client/petstore/java/microprofile-rest-client-3.0/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/microprofile-rest-client-3.0/.openapi-generator/VERSION +++ b/samples/client/petstore/java/microprofile-rest-client-3.0/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/microprofile-rest-client/.openapi-generator/VERSION b/samples/client/petstore/java/microprofile-rest-client/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/microprofile-rest-client/.openapi-generator/VERSION +++ b/samples/client/petstore/java/microprofile-rest-client/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/native-async/.openapi-generator/VERSION b/samples/client/petstore/java/native-async/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/native-async/.openapi-generator/VERSION +++ b/samples/client/petstore/java/native-async/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/native/.openapi-generator/VERSION b/samples/client/petstore/java/native/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/native/.openapi-generator/VERSION +++ b/samples/client/petstore/java/native/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/okhttp-gson-dynamicOperations/.openapi-generator/VERSION b/samples/client/petstore/java/okhttp-gson-dynamicOperations/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/okhttp-gson-dynamicOperations/.openapi-generator/VERSION +++ b/samples/client/petstore/java/okhttp-gson-dynamicOperations/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/okhttp-gson-parcelableModel/.openapi-generator/VERSION b/samples/client/petstore/java/okhttp-gson-parcelableModel/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/okhttp-gson-parcelableModel/.openapi-generator/VERSION +++ b/samples/client/petstore/java/okhttp-gson-parcelableModel/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/okhttp-gson/.openapi-generator/VERSION b/samples/client/petstore/java/okhttp-gson/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/okhttp-gson/.openapi-generator/VERSION +++ b/samples/client/petstore/java/okhttp-gson/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/rest-assured-jackson/.openapi-generator/VERSION b/samples/client/petstore/java/rest-assured-jackson/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/rest-assured-jackson/.openapi-generator/VERSION +++ b/samples/client/petstore/java/rest-assured-jackson/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/rest-assured/.openapi-generator/VERSION b/samples/client/petstore/java/rest-assured/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/rest-assured/.openapi-generator/VERSION +++ b/samples/client/petstore/java/rest-assured/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/resteasy/.openapi-generator/VERSION b/samples/client/petstore/java/resteasy/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/resteasy/.openapi-generator/VERSION +++ b/samples/client/petstore/java/resteasy/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/resttemplate-withXml/.openapi-generator/VERSION b/samples/client/petstore/java/resttemplate-withXml/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/resttemplate-withXml/.openapi-generator/VERSION +++ b/samples/client/petstore/java/resttemplate-withXml/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/resttemplate/.openapi-generator/VERSION b/samples/client/petstore/java/resttemplate/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/resttemplate/.openapi-generator/VERSION +++ b/samples/client/petstore/java/resttemplate/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/retrofit2-play26/.openapi-generator/VERSION b/samples/client/petstore/java/retrofit2-play26/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/retrofit2-play26/.openapi-generator/VERSION +++ b/samples/client/petstore/java/retrofit2-play26/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/retrofit2/.openapi-generator/VERSION b/samples/client/petstore/java/retrofit2/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/retrofit2/.openapi-generator/VERSION +++ b/samples/client/petstore/java/retrofit2/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/retrofit2rx2/.openapi-generator/VERSION b/samples/client/petstore/java/retrofit2rx2/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/retrofit2rx2/.openapi-generator/VERSION +++ b/samples/client/petstore/java/retrofit2rx2/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/retrofit2rx3/.openapi-generator/VERSION b/samples/client/petstore/java/retrofit2rx3/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/retrofit2rx3/.openapi-generator/VERSION +++ b/samples/client/petstore/java/retrofit2rx3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/vertx-no-nullable/.openapi-generator/VERSION b/samples/client/petstore/java/vertx-no-nullable/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/vertx-no-nullable/.openapi-generator/VERSION +++ b/samples/client/petstore/java/vertx-no-nullable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/vertx/.openapi-generator/VERSION b/samples/client/petstore/java/vertx/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/vertx/.openapi-generator/VERSION +++ b/samples/client/petstore/java/vertx/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/webclient-nulable-arrays/.openapi-generator/VERSION b/samples/client/petstore/java/webclient-nulable-arrays/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/webclient-nulable-arrays/.openapi-generator/VERSION +++ b/samples/client/petstore/java/webclient-nulable-arrays/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/webclient/.openapi-generator/VERSION b/samples/client/petstore/java/webclient/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/java/webclient/.openapi-generator/VERSION +++ b/samples/client/petstore/java/webclient/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/javascript-es6/.openapi-generator/VERSION b/samples/client/petstore/javascript-es6/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/javascript-es6/.openapi-generator/VERSION +++ b/samples/client/petstore/javascript-es6/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/javascript-promise-es6/.openapi-generator/VERSION b/samples/client/petstore/javascript-promise-es6/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/javascript-promise-es6/.openapi-generator/VERSION +++ b/samples/client/petstore/javascript-promise-es6/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/k6/.openapi-generator/VERSION b/samples/client/petstore/k6/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/k6/.openapi-generator/VERSION +++ b/samples/client/petstore/k6/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/k6/script.js b/samples/client/petstore/k6/script.js index d024f22637..7ea916dea9 100644 --- a/samples/client/petstore/k6/script.js +++ b/samples/client/petstore/k6/script.js @@ -7,7 +7,7 @@ * NOTE: This class is auto generated by OpenAPI Generator. * https://github.com/OpenAPITools/openapi-generator * - * OpenAPI generator version: 6.0.1-SNAPSHOT + * OpenAPI generator version: 6.1.0-SNAPSHOT */ diff --git a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/.openapi-generator/VERSION b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/.openapi-generator/VERSION b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-array-simple-string-jvm-volley/.openapi-generator/VERSION b/samples/client/petstore/kotlin-array-simple-string-jvm-volley/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-array-simple-string-jvm-volley/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-array-simple-string-jvm-volley/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-array-simple-string-multiplatform/.openapi-generator/VERSION b/samples/client/petstore/kotlin-array-simple-string-multiplatform/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-array-simple-string-multiplatform/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-array-simple-string-multiplatform/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-bigdecimal-default-multiplatform/.openapi-generator/VERSION b/samples/client/petstore/kotlin-bigdecimal-default-multiplatform/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-bigdecimal-default-multiplatform/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-bigdecimal-default-multiplatform/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/.openapi-generator/VERSION b/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-default-values-jvm-okhttp3/.openapi-generator/VERSION b/samples/client/petstore/kotlin-default-values-jvm-okhttp3/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-default-values-jvm-okhttp3/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-default-values-jvm-okhttp3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/.openapi-generator/VERSION b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-default-values-jvm-retrofit2/.openapi-generator/VERSION b/samples/client/petstore/kotlin-default-values-jvm-retrofit2/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-default-values-jvm-retrofit2/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-default-values-jvm-retrofit2/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-default-values-jvm-volley/.openapi-generator/VERSION b/samples/client/petstore/kotlin-default-values-jvm-volley/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-default-values-jvm-volley/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-default-values-jvm-volley/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-default-values-multiplatform/.openapi-generator/VERSION b/samples/client/petstore/kotlin-default-values-multiplatform/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-default-values-multiplatform/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-default-values-multiplatform/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-enum-default-value/.openapi-generator/VERSION b/samples/client/petstore/kotlin-enum-default-value/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-enum-default-value/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-enum-default-value/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-gson/.openapi-generator/VERSION b/samples/client/petstore/kotlin-gson/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-gson/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-gson/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-jackson/.openapi-generator/VERSION b/samples/client/petstore/kotlin-jackson/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-jackson/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-jackson/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-json-request-string/.openapi-generator/VERSION b/samples/client/petstore/kotlin-json-request-string/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-json-request-string/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-json-request-string/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-jvm-ktor-gson/.openapi-generator/VERSION b/samples/client/petstore/kotlin-jvm-ktor-gson/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-jvm-ktor-gson/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-jvm-ktor-gson/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-jvm-ktor-jackson/.openapi-generator/VERSION b/samples/client/petstore/kotlin-jvm-ktor-jackson/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-jvm-ktor-jackson/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-jvm-ktor-jackson/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/.openapi-generator/VERSION b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-jvm-volley/.openapi-generator/VERSION b/samples/client/petstore/kotlin-jvm-volley/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-jvm-volley/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-jvm-volley/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-modelMutable/.openapi-generator/VERSION b/samples/client/petstore/kotlin-modelMutable/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-modelMutable/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-modelMutable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-moshi-codegen/.openapi-generator/VERSION b/samples/client/petstore/kotlin-moshi-codegen/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-moshi-codegen/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-moshi-codegen/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-multiplatform/.openapi-generator/VERSION b/samples/client/petstore/kotlin-multiplatform/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-multiplatform/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-multiplatform/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-nonpublic/.openapi-generator/VERSION b/samples/client/petstore/kotlin-nonpublic/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-nonpublic/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-nonpublic/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-nullable/.openapi-generator/VERSION b/samples/client/petstore/kotlin-nullable/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-nullable/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-nullable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-okhttp3/.openapi-generator/VERSION b/samples/client/petstore/kotlin-okhttp3/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-okhttp3/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-okhttp3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/.openapi-generator/VERSION b/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/.openapi-generator/VERSION b/samples/client/petstore/kotlin-retrofit2-rx3/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-retrofit2-rx3/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-retrofit2-rx3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-retrofit2/.openapi-generator/VERSION b/samples/client/petstore/kotlin-retrofit2/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-retrofit2/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-retrofit2/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-string/.openapi-generator/VERSION b/samples/client/petstore/kotlin-string/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-string/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-string/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-threetenbp/.openapi-generator/VERSION b/samples/client/petstore/kotlin-threetenbp/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-threetenbp/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-threetenbp/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-uppercase-enum/.openapi-generator/VERSION b/samples/client/petstore/kotlin-uppercase-enum/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin-uppercase-enum/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-uppercase-enum/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin/.openapi-generator/VERSION b/samples/client/petstore/kotlin/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/kotlin/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/lua/.openapi-generator/VERSION b/samples/client/petstore/lua/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/lua/.openapi-generator/VERSION +++ b/samples/client/petstore/lua/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/nim/.openapi-generator/VERSION b/samples/client/petstore/nim/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/nim/.openapi-generator/VERSION +++ b/samples/client/petstore/nim/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/objc/core-data/.openapi-generator/VERSION b/samples/client/petstore/objc/core-data/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/objc/core-data/.openapi-generator/VERSION +++ b/samples/client/petstore/objc/core-data/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/objc/default/.openapi-generator/VERSION b/samples/client/petstore/objc/default/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/objc/default/.openapi-generator/VERSION +++ b/samples/client/petstore/objc/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/perl/.openapi-generator/VERSION b/samples/client/petstore/perl/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/perl/.openapi-generator/VERSION +++ b/samples/client/petstore/perl/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/php-dt-modern/.openapi-generator/VERSION b/samples/client/petstore/php-dt-modern/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/php-dt-modern/.openapi-generator/VERSION +++ b/samples/client/petstore/php-dt-modern/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/php-dt/.openapi-generator/VERSION b/samples/client/petstore/php-dt/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/php-dt/.openapi-generator/VERSION +++ b/samples/client/petstore/php-dt/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/php/OpenAPIClient-php/.openapi-generator/VERSION b/samples/client/petstore/php/OpenAPIClient-php/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/.openapi-generator/VERSION +++ b/samples/client/petstore/php/OpenAPIClient-php/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/AnotherFakeApi.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/AnotherFakeApi.php index e521b9f45e..222974c760 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/AnotherFakeApi.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/AnotherFakeApi.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/DefaultApi.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/DefaultApi.php index b60b82bb84..71367095d6 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/DefaultApi.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/DefaultApi.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/FakeApi.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/FakeApi.php index 741026e28b..0542874ee0 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/FakeApi.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/FakeApi.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/FakeClassnameTags123Api.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/FakeClassnameTags123Api.php index 143026ac25..c1ae3d59a2 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/FakeClassnameTags123Api.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/FakeClassnameTags123Api.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/PetApi.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/PetApi.php index d7b95d4ba8..5709bb26da 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/PetApi.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/PetApi.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/StoreApi.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/StoreApi.php index fca4a391fa..e7ae057751 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/StoreApi.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/StoreApi.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/UserApi.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/UserApi.php index 65cd5e11e2..407260a091 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/UserApi.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/UserApi.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/ApiException.php b/samples/client/petstore/php/OpenAPIClient-php/lib/ApiException.php index 0de2874a42..8cf13a9741 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/ApiException.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/ApiException.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Configuration.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Configuration.php index edf5a974e4..ce6abdf25e 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Configuration.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Configuration.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/HeaderSelector.php b/samples/client/petstore/php/OpenAPIClient-php/lib/HeaderSelector.php index 2aa1ffc651..916730a25f 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/HeaderSelector.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/HeaderSelector.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AdditionalPropertiesClass.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AdditionalPropertiesClass.php index b443dcc1af..8c8d520cc1 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AdditionalPropertiesClass.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AdditionalPropertiesClass.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AllOfWithSingleRef.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AllOfWithSingleRef.php index 10fb322ed3..2bfc294072 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AllOfWithSingleRef.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AllOfWithSingleRef.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Animal.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Animal.php index 06412398a1..3d8470a5a9 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Animal.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Animal.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ApiResponse.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ApiResponse.php index 22e0237d44..04d62c93cf 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ApiResponse.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ApiResponse.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfArrayOfNumberOnly.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfArrayOfNumberOnly.php index f7843dc58d..0f90fb1111 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfArrayOfNumberOnly.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfArrayOfNumberOnly.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfNumberOnly.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfNumberOnly.php index fec0fb27ad..ef31e9681d 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfNumberOnly.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfNumberOnly.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayTest.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayTest.php index 5dc94f092b..0a0af7029f 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayTest.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayTest.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Capitalization.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Capitalization.php index 09120da3ef..36164bfb7c 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Capitalization.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Capitalization.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Cat.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Cat.php index 5fd1f1578f..f587bd3308 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Cat.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Cat.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/CatAllOf.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/CatAllOf.php index f8fb64b7dc..619f02378c 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/CatAllOf.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/CatAllOf.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Category.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Category.php index c3e347b163..30e2ef8f46 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Category.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Category.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ClassModel.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ClassModel.php index c05e88b96e..a05aa7f059 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ClassModel.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ClassModel.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Client.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Client.php index 255fff3e79..b49ada5ae6 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Client.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Client.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DeprecatedObject.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DeprecatedObject.php index d756876305..d32af012d0 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DeprecatedObject.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DeprecatedObject.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Dog.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Dog.php index 06bad4f815..c5181085b7 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Dog.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Dog.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DogAllOf.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DogAllOf.php index df6c30358a..8bd41c955a 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DogAllOf.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DogAllOf.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumArrays.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumArrays.php index b15be5d937..2675eacb56 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumArrays.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumArrays.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumClass.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumClass.php index df2803a485..a3cbce903d 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumClass.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumClass.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumTest.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumTest.php index 24dbd28aba..52db148253 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumTest.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumTest.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/File.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/File.php index 0693e9315f..dfaab17bf5 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/File.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/File.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FileSchemaTestClass.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FileSchemaTestClass.php index 7ffffb2398..81ee4ed67c 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FileSchemaTestClass.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FileSchemaTestClass.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Foo.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Foo.php index d243f958fc..ace638b7fe 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Foo.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Foo.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FooGetDefaultResponse.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FooGetDefaultResponse.php index e673f3130f..11eaf2e33c 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FooGetDefaultResponse.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FooGetDefaultResponse.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php index aa7e4b759f..d6f44c0414 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HasOnlyReadOnly.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HasOnlyReadOnly.php index 24c760a9a7..dc313e3e53 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HasOnlyReadOnly.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HasOnlyReadOnly.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HealthCheckResult.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HealthCheckResult.php index 6029283aef..4d6c20839b 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HealthCheckResult.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HealthCheckResult.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MapTest.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MapTest.php index ed000e1d08..71093dd201 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MapTest.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MapTest.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MixedPropertiesAndAdditionalPropertiesClass.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MixedPropertiesAndAdditionalPropertiesClass.php index 104ef80d4a..20cfd8208f 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MixedPropertiesAndAdditionalPropertiesClass.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MixedPropertiesAndAdditionalPropertiesClass.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Model200Response.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Model200Response.php index d279c2cbd9..37970af27c 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Model200Response.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Model200Response.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelInterface.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelInterface.php index fa95487aa4..935d8833fd 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelInterface.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelInterface.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelList.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelList.php index 0c9a61dc98..d802c4bc5d 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelList.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelList.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelReturn.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelReturn.php index 6e5a2ebf08..d8637b412c 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelReturn.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelReturn.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Name.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Name.php index 0d13fa72e2..3c0ddc2d6e 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Name.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Name.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NullableClass.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NullableClass.php index db6b898365..ba58608b92 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NullableClass.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NullableClass.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NumberOnly.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NumberOnly.php index 423dbb09da..867b605e55 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NumberOnly.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NumberOnly.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ObjectWithDeprecatedFields.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ObjectWithDeprecatedFields.php index 40bab50a6f..70e6cd1636 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ObjectWithDeprecatedFields.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ObjectWithDeprecatedFields.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Order.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Order.php index 939fa3f957..a47731ba0f 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Order.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Order.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterComposite.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterComposite.php index 3e4cdac73a..1cd9d2acac 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterComposite.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterComposite.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnum.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnum.php index 284fa78e29..b310adf229 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnum.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnum.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumDefaultValue.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumDefaultValue.php index 0a9ddac8fd..a90ce7237e 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumDefaultValue.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumDefaultValue.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumInteger.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumInteger.php index 07928d6474..ebadad8102 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumInteger.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumInteger.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumIntegerDefaultValue.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumIntegerDefaultValue.php index c9463014b1..6a5a7aa660 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumIntegerDefaultValue.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumIntegerDefaultValue.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterObjectWithEnumProperty.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterObjectWithEnumProperty.php index aa9d329228..bf70176a3e 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterObjectWithEnumProperty.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterObjectWithEnumProperty.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Pet.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Pet.php index 5de61eec2f..9ac781011a 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Pet.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Pet.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ReadOnlyFirst.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ReadOnlyFirst.php index f629aa0022..c607abcb0a 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ReadOnlyFirst.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ReadOnlyFirst.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SingleRefType.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SingleRefType.php index af52a6dd0d..0fb5133f13 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SingleRefType.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SingleRefType.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SpecialModelName.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SpecialModelName.php index 4c7d661a26..71ae42e6ab 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SpecialModelName.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SpecialModelName.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Tag.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Tag.php index 8ac2a459d3..b8321c2b5e 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Tag.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Tag.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/User.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/User.php index 8d6e22f9b2..c853f2089f 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/User.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/User.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/ObjectSerializer.php b/samples/client/petstore/php/OpenAPIClient-php/lib/ObjectSerializer.php index 31456f7393..8395487e8f 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/ObjectSerializer.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/ObjectSerializer.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.1.0-SNAPSHOT */ /** diff --git a/samples/client/petstore/powershell/.openapi-generator/VERSION b/samples/client/petstore/powershell/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/powershell/.openapi-generator/VERSION +++ b/samples/client/petstore/powershell/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/python-asyncio/.openapi-generator/VERSION b/samples/client/petstore/python-asyncio/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/python-asyncio/.openapi-generator/VERSION +++ b/samples/client/petstore/python-asyncio/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/python-legacy/.openapi-generator/VERSION b/samples/client/petstore/python-legacy/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/python-legacy/.openapi-generator/VERSION +++ b/samples/client/petstore/python-legacy/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/python-tornado/.openapi-generator/VERSION b/samples/client/petstore/python-tornado/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/python-tornado/.openapi-generator/VERSION +++ b/samples/client/petstore/python-tornado/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/python/.openapi-generator/VERSION b/samples/client/petstore/python/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/python/.openapi-generator/VERSION +++ b/samples/client/petstore/python/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/python_disallowAdditionalPropertiesIfNotPresent/.openapi-generator/VERSION b/samples/client/petstore/python_disallowAdditionalPropertiesIfNotPresent/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/python_disallowAdditionalPropertiesIfNotPresent/.openapi-generator/VERSION +++ b/samples/client/petstore/python_disallowAdditionalPropertiesIfNotPresent/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/ruby-faraday/.openapi-generator/VERSION b/samples/client/petstore/ruby-faraday/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/ruby-faraday/.openapi-generator/VERSION +++ b/samples/client/petstore/ruby-faraday/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/ruby-faraday/lib/petstore.rb b/samples/client/petstore/ruby-faraday/lib/petstore.rb index 31252f3b01..a87f51e5cc 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/api/another_fake_api.rb b/samples/client/petstore/ruby-faraday/lib/petstore/api/another_fake_api.rb index 0066f4b322..870c3a101d 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/api/another_fake_api.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/api/another_fake_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/api/default_api.rb b/samples/client/petstore/ruby-faraday/lib/petstore/api/default_api.rb index 6edfb79cad..5cfb3634fc 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/api/default_api.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/api/default_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/api/fake_api.rb b/samples/client/petstore/ruby-faraday/lib/petstore/api/fake_api.rb index f5cd1c0fb9..08bb47a11b 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/api/fake_api.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/api/fake_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/api/fake_classname_tags123_api.rb b/samples/client/petstore/ruby-faraday/lib/petstore/api/fake_classname_tags123_api.rb index a61ee0013e..4c29197268 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/api/fake_classname_tags123_api.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/api/fake_classname_tags123_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/api/pet_api.rb b/samples/client/petstore/ruby-faraday/lib/petstore/api/pet_api.rb index ef1110791a..57cf36f0de 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/api/pet_api.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/api/pet_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/api/store_api.rb b/samples/client/petstore/ruby-faraday/lib/petstore/api/store_api.rb index 5f40117485..7954da353b 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/api/store_api.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/api/store_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/api/user_api.rb b/samples/client/petstore/ruby-faraday/lib/petstore/api/user_api.rb index 02ada40fa6..5665be613f 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/api/user_api.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/api/user_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/api_client.rb b/samples/client/petstore/ruby-faraday/lib/petstore/api_client.rb index 8ffaebe0a9..16010b24bf 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/api_client.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/api_client.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/api_error.rb b/samples/client/petstore/ruby-faraday/lib/petstore/api_error.rb index f8fdf8e0cd..7b25c3e123 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/api_error.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/api_error.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/configuration.rb b/samples/client/petstore/ruby-faraday/lib/petstore/configuration.rb index cd19263b33..964802a381 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/configuration.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/configuration.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/additional_properties_class.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/additional_properties_class.rb index f63639a246..fa4cde2766 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/additional_properties_class.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/additional_properties_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/all_of_with_single_ref.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/all_of_with_single_ref.rb index 11bfa0c0a3..4efc82eac4 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/all_of_with_single_ref.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/all_of_with_single_ref.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/animal.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/animal.rb index 94a2ffca49..f263527075 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/animal.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/animal.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/api_response.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/api_response.rb index ca9a5eaac3..bbc8e69191 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/api_response.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/api_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/array_of_array_of_number_only.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/array_of_array_of_number_only.rb index 85c6e27aed..a908028962 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/array_of_array_of_number_only.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/array_of_array_of_number_only.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/array_of_number_only.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/array_of_number_only.rb index 5cd376ed17..ee23105c94 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/array_of_number_only.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/array_of_number_only.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/array_test.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/array_test.rb index 4adbdb31b8..d0b078d697 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/array_test.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/array_test.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/capitalization.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/capitalization.rb index be1c21d31c..7d1043f09a 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/capitalization.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/capitalization.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/cat.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/cat.rb index eefb8990cd..c233f92244 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/cat.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/cat.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/cat_all_of.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/cat_all_of.rb index df39e8c60b..e658d6f28e 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/cat_all_of.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/cat_all_of.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/category.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/category.rb index 016e0d1d51..5cad4ceb53 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/category.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/category.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/class_model.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/class_model.rb index bc0c547837..0786067668 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/class_model.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/class_model.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/client.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/client.rb index 98f62b72cf..e611212491 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/client.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/client.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/deprecated_object.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/deprecated_object.rb index d42e33ddee..7184fd9438 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/deprecated_object.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/deprecated_object.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/dog.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/dog.rb index b9aa6cae55..b7c2541009 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/dog.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/dog.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/dog_all_of.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/dog_all_of.rb index 12fca22bb5..c121b43fff 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/dog_all_of.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/dog_all_of.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_arrays.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_arrays.rb index 1d5f5b945a..4a5bf53b01 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_arrays.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_arrays.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_class.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_class.rb index 2a3704a4cf..eee601cb6a 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_class.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_test.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_test.rb index 9da364b800..5819e5899e 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_test.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_test.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/file.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/file.rb index b5b8496a98..fcdf8740c1 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/file.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/file.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/file_schema_test_class.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/file_schema_test_class.rb index 2aa76bc598..b3bdc4dead 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/file_schema_test_class.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/file_schema_test_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/foo.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/foo.rb index 56f3b6eb49..cd1a0be58f 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/foo.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/foo.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/foo_get_default_response.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/foo_get_default_response.rb index f951696f77..0e5c343c50 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/foo_get_default_response.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/foo_get_default_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/format_test.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/format_test.rb index b17badf18c..c64f18da90 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/format_test.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/format_test.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/has_only_read_only.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/has_only_read_only.rb index 3a63c26c1c..e07c51bb7e 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/has_only_read_only.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/has_only_read_only.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/health_check_result.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/health_check_result.rb index cfdd7573d1..ecb7f134d8 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/health_check_result.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/health_check_result.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/list.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/list.rb index f3926db331..936905cee8 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/list.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/list.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/map_test.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/map_test.rb index ab7453ec35..69494507b5 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/map_test.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/map_test.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/mixed_properties_and_additional_properties_class.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/mixed_properties_and_additional_properties_class.rb index 8ebaf8fa2a..ef058707e2 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/mixed_properties_and_additional_properties_class.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/mixed_properties_and_additional_properties_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/model200_response.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/model200_response.rb index f7803fe699..720501aef8 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/model200_response.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/model200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/model_return.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/model_return.rb index 249399f3bc..45ffccb976 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/model_return.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/model_return.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/name.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/name.rb index 7b0493fe90..d990f772e4 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/name.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/name.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/nullable_class.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/nullable_class.rb index 1df16fe7ad..a57a7c85b0 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/nullable_class.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/nullable_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/number_only.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/number_only.rb index dd0af4625d..93914c2667 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/number_only.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/number_only.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/object_with_deprecated_fields.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/object_with_deprecated_fields.rb index 7c865d0446..2de9cabf38 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/object_with_deprecated_fields.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/object_with_deprecated_fields.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/order.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/order.rb index 6b6f2fde30..4526e52267 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/order.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/order.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_composite.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_composite.rb index 836bc711e0..b2116f63eb 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_composite.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_composite.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum.rb index fae9f33235..3f51177123 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_default_value.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_default_value.rb index c84ac34f99..e80c096ddb 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_default_value.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_default_value.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_integer.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_integer.rb index f4d17ae24a..b26ad16d34 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_integer.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_integer.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_integer_default_value.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_integer_default_value.rb index 96c34b23a5..f59ce59191 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_integer_default_value.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_integer_default_value.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_object_with_enum_property.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_object_with_enum_property.rb index 470a90c2dd..bb1c712082 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_object_with_enum_property.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_object_with_enum_property.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/pet.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/pet.rb index 56808f6045..0a05adf8bb 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/pet.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/pet.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/read_only_first.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/read_only_first.rb index c6a56d20dd..6b292a84b9 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/read_only_first.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/read_only_first.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/single_ref_type.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/single_ref_type.rb index 179ac137f0..f07fc323ba 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/single_ref_type.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/single_ref_type.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/special_model_name.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/special_model_name.rb index 43a7be1aa5..8a50c60ddc 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/special_model_name.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/special_model_name.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/tag.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/tag.rb index 2fc8586c15..c3532898a3 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/tag.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/tag.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/user.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/user.rb index 34c11fcdc4..6a7d89cc59 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/user.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/user.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/version.rb b/samples/client/petstore/ruby-faraday/lib/petstore/version.rb index f5d92d0f3f..84d4589915 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/version.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/version.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/petstore.gemspec b/samples/client/petstore/ruby-faraday/petstore.gemspec index 34763a0062..b17b52fc10 100644 --- a/samples/client/petstore/ruby-faraday/petstore.gemspec +++ b/samples/client/petstore/ruby-faraday/petstore.gemspec @@ -8,7 +8,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/spec/api_client_spec.rb b/samples/client/petstore/ruby-faraday/spec/api_client_spec.rb index 0e91f6d9a0..c29ea424ba 100644 --- a/samples/client/petstore/ruby-faraday/spec/api_client_spec.rb +++ b/samples/client/petstore/ruby-faraday/spec/api_client_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/spec/configuration_spec.rb b/samples/client/petstore/ruby-faraday/spec/configuration_spec.rb index d2666a5483..15b333c0c9 100644 --- a/samples/client/petstore/ruby-faraday/spec/configuration_spec.rb +++ b/samples/client/petstore/ruby-faraday/spec/configuration_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby-faraday/spec/spec_helper.rb b/samples/client/petstore/ruby-faraday/spec/spec_helper.rb index 2de79b886e..e0653f4f99 100644 --- a/samples/client/petstore/ruby-faraday/spec/spec_helper.rb +++ b/samples/client/petstore/ruby-faraday/spec/spec_helper.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/.openapi-generator/VERSION b/samples/client/petstore/ruby/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/ruby/.openapi-generator/VERSION +++ b/samples/client/petstore/ruby/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/ruby/lib/petstore.rb b/samples/client/petstore/ruby/lib/petstore.rb index 31252f3b01..a87f51e5cc 100644 --- a/samples/client/petstore/ruby/lib/petstore.rb +++ b/samples/client/petstore/ruby/lib/petstore.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/api/another_fake_api.rb b/samples/client/petstore/ruby/lib/petstore/api/another_fake_api.rb index 0066f4b322..870c3a101d 100644 --- a/samples/client/petstore/ruby/lib/petstore/api/another_fake_api.rb +++ b/samples/client/petstore/ruby/lib/petstore/api/another_fake_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/api/default_api.rb b/samples/client/petstore/ruby/lib/petstore/api/default_api.rb index 6edfb79cad..5cfb3634fc 100644 --- a/samples/client/petstore/ruby/lib/petstore/api/default_api.rb +++ b/samples/client/petstore/ruby/lib/petstore/api/default_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/api/fake_api.rb b/samples/client/petstore/ruby/lib/petstore/api/fake_api.rb index f5cd1c0fb9..08bb47a11b 100644 --- a/samples/client/petstore/ruby/lib/petstore/api/fake_api.rb +++ b/samples/client/petstore/ruby/lib/petstore/api/fake_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/api/fake_classname_tags123_api.rb b/samples/client/petstore/ruby/lib/petstore/api/fake_classname_tags123_api.rb index a61ee0013e..4c29197268 100644 --- a/samples/client/petstore/ruby/lib/petstore/api/fake_classname_tags123_api.rb +++ b/samples/client/petstore/ruby/lib/petstore/api/fake_classname_tags123_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/api/pet_api.rb b/samples/client/petstore/ruby/lib/petstore/api/pet_api.rb index e411d6d700..4ea785dfc9 100644 --- a/samples/client/petstore/ruby/lib/petstore/api/pet_api.rb +++ b/samples/client/petstore/ruby/lib/petstore/api/pet_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/api/store_api.rb b/samples/client/petstore/ruby/lib/petstore/api/store_api.rb index 7b2dad8fbd..293f78a356 100644 --- a/samples/client/petstore/ruby/lib/petstore/api/store_api.rb +++ b/samples/client/petstore/ruby/lib/petstore/api/store_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/api/user_api.rb b/samples/client/petstore/ruby/lib/petstore/api/user_api.rb index 40ae9e9f65..4e5eec4742 100644 --- a/samples/client/petstore/ruby/lib/petstore/api/user_api.rb +++ b/samples/client/petstore/ruby/lib/petstore/api/user_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/api_client.rb b/samples/client/petstore/ruby/lib/petstore/api_client.rb index ee131039c2..806b4372c7 100644 --- a/samples/client/petstore/ruby/lib/petstore/api_client.rb +++ b/samples/client/petstore/ruby/lib/petstore/api_client.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/api_error.rb b/samples/client/petstore/ruby/lib/petstore/api_error.rb index f8fdf8e0cd..7b25c3e123 100644 --- a/samples/client/petstore/ruby/lib/petstore/api_error.rb +++ b/samples/client/petstore/ruby/lib/petstore/api_error.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/configuration.rb b/samples/client/petstore/ruby/lib/petstore/configuration.rb index bab17070f6..ad9cbbf0b9 100644 --- a/samples/client/petstore/ruby/lib/petstore/configuration.rb +++ b/samples/client/petstore/ruby/lib/petstore/configuration.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/additional_properties_class.rb b/samples/client/petstore/ruby/lib/petstore/models/additional_properties_class.rb index f63639a246..fa4cde2766 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/additional_properties_class.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/additional_properties_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/all_of_with_single_ref.rb b/samples/client/petstore/ruby/lib/petstore/models/all_of_with_single_ref.rb index 11bfa0c0a3..4efc82eac4 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/all_of_with_single_ref.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/all_of_with_single_ref.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/animal.rb b/samples/client/petstore/ruby/lib/petstore/models/animal.rb index 94a2ffca49..f263527075 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/animal.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/animal.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/api_response.rb b/samples/client/petstore/ruby/lib/petstore/models/api_response.rb index ca9a5eaac3..bbc8e69191 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/api_response.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/api_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/array_of_array_of_number_only.rb b/samples/client/petstore/ruby/lib/petstore/models/array_of_array_of_number_only.rb index 85c6e27aed..a908028962 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/array_of_array_of_number_only.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/array_of_array_of_number_only.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/array_of_number_only.rb b/samples/client/petstore/ruby/lib/petstore/models/array_of_number_only.rb index 5cd376ed17..ee23105c94 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/array_of_number_only.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/array_of_number_only.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/array_test.rb b/samples/client/petstore/ruby/lib/petstore/models/array_test.rb index 4adbdb31b8..d0b078d697 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/array_test.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/array_test.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/capitalization.rb b/samples/client/petstore/ruby/lib/petstore/models/capitalization.rb index be1c21d31c..7d1043f09a 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/capitalization.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/capitalization.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/cat.rb b/samples/client/petstore/ruby/lib/petstore/models/cat.rb index eefb8990cd..c233f92244 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/cat.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/cat.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/cat_all_of.rb b/samples/client/petstore/ruby/lib/petstore/models/cat_all_of.rb index df39e8c60b..e658d6f28e 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/cat_all_of.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/cat_all_of.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/category.rb b/samples/client/petstore/ruby/lib/petstore/models/category.rb index 016e0d1d51..5cad4ceb53 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/category.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/category.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/class_model.rb b/samples/client/petstore/ruby/lib/petstore/models/class_model.rb index bc0c547837..0786067668 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/class_model.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/class_model.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/client.rb b/samples/client/petstore/ruby/lib/petstore/models/client.rb index 98f62b72cf..e611212491 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/client.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/client.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/deprecated_object.rb b/samples/client/petstore/ruby/lib/petstore/models/deprecated_object.rb index d42e33ddee..7184fd9438 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/deprecated_object.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/deprecated_object.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/dog.rb b/samples/client/petstore/ruby/lib/petstore/models/dog.rb index b9aa6cae55..b7c2541009 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/dog.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/dog.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/dog_all_of.rb b/samples/client/petstore/ruby/lib/petstore/models/dog_all_of.rb index 12fca22bb5..c121b43fff 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/dog_all_of.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/dog_all_of.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/enum_arrays.rb b/samples/client/petstore/ruby/lib/petstore/models/enum_arrays.rb index 1d5f5b945a..4a5bf53b01 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/enum_arrays.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/enum_arrays.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/enum_class.rb b/samples/client/petstore/ruby/lib/petstore/models/enum_class.rb index 2a3704a4cf..eee601cb6a 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/enum_class.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/enum_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/enum_test.rb b/samples/client/petstore/ruby/lib/petstore/models/enum_test.rb index 9da364b800..5819e5899e 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/enum_test.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/enum_test.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/file.rb b/samples/client/petstore/ruby/lib/petstore/models/file.rb index b5b8496a98..fcdf8740c1 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/file.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/file.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/file_schema_test_class.rb b/samples/client/petstore/ruby/lib/petstore/models/file_schema_test_class.rb index 2aa76bc598..b3bdc4dead 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/file_schema_test_class.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/file_schema_test_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/foo.rb b/samples/client/petstore/ruby/lib/petstore/models/foo.rb index 56f3b6eb49..cd1a0be58f 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/foo.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/foo.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/foo_get_default_response.rb b/samples/client/petstore/ruby/lib/petstore/models/foo_get_default_response.rb index f951696f77..0e5c343c50 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/foo_get_default_response.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/foo_get_default_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/format_test.rb b/samples/client/petstore/ruby/lib/petstore/models/format_test.rb index b17badf18c..c64f18da90 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/format_test.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/format_test.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/has_only_read_only.rb b/samples/client/petstore/ruby/lib/petstore/models/has_only_read_only.rb index 3a63c26c1c..e07c51bb7e 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/has_only_read_only.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/has_only_read_only.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/health_check_result.rb b/samples/client/petstore/ruby/lib/petstore/models/health_check_result.rb index cfdd7573d1..ecb7f134d8 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/health_check_result.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/health_check_result.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/list.rb b/samples/client/petstore/ruby/lib/petstore/models/list.rb index f3926db331..936905cee8 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/list.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/list.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/map_test.rb b/samples/client/petstore/ruby/lib/petstore/models/map_test.rb index ab7453ec35..69494507b5 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/map_test.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/map_test.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/mixed_properties_and_additional_properties_class.rb b/samples/client/petstore/ruby/lib/petstore/models/mixed_properties_and_additional_properties_class.rb index 8ebaf8fa2a..ef058707e2 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/mixed_properties_and_additional_properties_class.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/mixed_properties_and_additional_properties_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/model200_response.rb b/samples/client/petstore/ruby/lib/petstore/models/model200_response.rb index f7803fe699..720501aef8 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/model200_response.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/model200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/model_return.rb b/samples/client/petstore/ruby/lib/petstore/models/model_return.rb index 249399f3bc..45ffccb976 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/model_return.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/model_return.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/name.rb b/samples/client/petstore/ruby/lib/petstore/models/name.rb index 7b0493fe90..d990f772e4 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/name.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/name.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/nullable_class.rb b/samples/client/petstore/ruby/lib/petstore/models/nullable_class.rb index 1df16fe7ad..a57a7c85b0 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/nullable_class.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/nullable_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/number_only.rb b/samples/client/petstore/ruby/lib/petstore/models/number_only.rb index dd0af4625d..93914c2667 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/number_only.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/number_only.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/object_with_deprecated_fields.rb b/samples/client/petstore/ruby/lib/petstore/models/object_with_deprecated_fields.rb index 7c865d0446..2de9cabf38 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/object_with_deprecated_fields.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/object_with_deprecated_fields.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/order.rb b/samples/client/petstore/ruby/lib/petstore/models/order.rb index 6b6f2fde30..4526e52267 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/order.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/order.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/outer_composite.rb b/samples/client/petstore/ruby/lib/petstore/models/outer_composite.rb index 836bc711e0..b2116f63eb 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/outer_composite.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/outer_composite.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/outer_enum.rb b/samples/client/petstore/ruby/lib/petstore/models/outer_enum.rb index fae9f33235..3f51177123 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/outer_enum.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/outer_enum.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/outer_enum_default_value.rb b/samples/client/petstore/ruby/lib/petstore/models/outer_enum_default_value.rb index c84ac34f99..e80c096ddb 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/outer_enum_default_value.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/outer_enum_default_value.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/outer_enum_integer.rb b/samples/client/petstore/ruby/lib/petstore/models/outer_enum_integer.rb index f4d17ae24a..b26ad16d34 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/outer_enum_integer.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/outer_enum_integer.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/outer_enum_integer_default_value.rb b/samples/client/petstore/ruby/lib/petstore/models/outer_enum_integer_default_value.rb index 96c34b23a5..f59ce59191 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/outer_enum_integer_default_value.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/outer_enum_integer_default_value.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/outer_object_with_enum_property.rb b/samples/client/petstore/ruby/lib/petstore/models/outer_object_with_enum_property.rb index 470a90c2dd..bb1c712082 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/outer_object_with_enum_property.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/outer_object_with_enum_property.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/pet.rb b/samples/client/petstore/ruby/lib/petstore/models/pet.rb index 56808f6045..0a05adf8bb 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/pet.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/pet.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/read_only_first.rb b/samples/client/petstore/ruby/lib/petstore/models/read_only_first.rb index c6a56d20dd..6b292a84b9 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/read_only_first.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/read_only_first.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/single_ref_type.rb b/samples/client/petstore/ruby/lib/petstore/models/single_ref_type.rb index 179ac137f0..f07fc323ba 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/single_ref_type.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/single_ref_type.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/special_model_name.rb b/samples/client/petstore/ruby/lib/petstore/models/special_model_name.rb index 43a7be1aa5..8a50c60ddc 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/special_model_name.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/special_model_name.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/tag.rb b/samples/client/petstore/ruby/lib/petstore/models/tag.rb index 2fc8586c15..c3532898a3 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/tag.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/tag.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/user.rb b/samples/client/petstore/ruby/lib/petstore/models/user.rb index 34c11fcdc4..6a7d89cc59 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/user.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/user.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/lib/petstore/version.rb b/samples/client/petstore/ruby/lib/petstore/version.rb index f5d92d0f3f..84d4589915 100644 --- a/samples/client/petstore/ruby/lib/petstore/version.rb +++ b/samples/client/petstore/ruby/lib/petstore/version.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/petstore.gemspec b/samples/client/petstore/ruby/petstore.gemspec index 8f33185e61..a147013e2d 100644 --- a/samples/client/petstore/ruby/petstore.gemspec +++ b/samples/client/petstore/ruby/petstore.gemspec @@ -8,7 +8,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/spec/api_client_spec.rb b/samples/client/petstore/ruby/spec/api_client_spec.rb index 6421300969..db2a7286f2 100644 --- a/samples/client/petstore/ruby/spec/api_client_spec.rb +++ b/samples/client/petstore/ruby/spec/api_client_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/spec/configuration_spec.rb b/samples/client/petstore/ruby/spec/configuration_spec.rb index d2666a5483..15b333c0c9 100644 --- a/samples/client/petstore/ruby/spec/configuration_spec.rb +++ b/samples/client/petstore/ruby/spec/configuration_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/ruby/spec/spec_helper.rb b/samples/client/petstore/ruby/spec/spec_helper.rb index 2de79b886e..e0653f4f99 100644 --- a/samples/client/petstore/ruby/spec/spec_helper.rb +++ b/samples/client/petstore/ruby/spec/spec_helper.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/client/petstore/rust/hyper/petstore/.openapi-generator/VERSION b/samples/client/petstore/rust/hyper/petstore/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/rust/hyper/petstore/.openapi-generator/VERSION +++ b/samples/client/petstore/rust/hyper/petstore/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/rust/reqwest/petstore-async/.openapi-generator/VERSION b/samples/client/petstore/rust/reqwest/petstore-async/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/.openapi-generator/VERSION +++ b/samples/client/petstore/rust/reqwest/petstore-async/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/.openapi-generator/VERSION b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/.openapi-generator/VERSION +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/VERSION b/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/VERSION +++ b/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/scala-akka/.openapi-generator/VERSION b/samples/client/petstore/scala-akka/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/scala-akka/.openapi-generator/VERSION +++ b/samples/client/petstore/scala-akka/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/scala-httpclient-deprecated/.openapi-generator/VERSION b/samples/client/petstore/scala-httpclient-deprecated/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/scala-httpclient-deprecated/.openapi-generator/VERSION +++ b/samples/client/petstore/scala-httpclient-deprecated/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/scala-sttp/.openapi-generator/VERSION b/samples/client/petstore/scala-sttp/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/scala-sttp/.openapi-generator/VERSION +++ b/samples/client/petstore/scala-sttp/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/spring-cloud-async/.openapi-generator/VERSION b/samples/client/petstore/spring-cloud-async/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/spring-cloud-async/.openapi-generator/VERSION +++ b/samples/client/petstore/spring-cloud-async/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java index af0eee5bf6..8a6021f187 100644 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java index ccff3e72f9..7c8b09f115 100644 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java index 60b2df7a2e..e17f7e20ef 100644 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud-date-time/.openapi-generator/VERSION b/samples/client/petstore/spring-cloud-date-time/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/spring-cloud-date-time/.openapi-generator/VERSION +++ b/samples/client/petstore/spring-cloud-date-time/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java b/samples/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java index 63558c1bfb..5dc3c7563a 100644 --- a/samples/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java +++ b/samples/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud-feign-without-url/.openapi-generator/VERSION b/samples/client/petstore/spring-cloud-feign-without-url/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/spring-cloud-feign-without-url/.openapi-generator/VERSION +++ b/samples/client/petstore/spring-cloud-feign-without-url/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/PetApi.java b/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/PetApi.java index 97e01992cd..55bc3993f2 100644 --- a/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/StoreApi.java b/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/StoreApi.java index 91e7a06024..728f134f9b 100644 --- a/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/UserApi.java b/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/UserApi.java index 03722bec7a..105b0b9f73 100644 --- a/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud-spring-pageable/.openapi-generator/VERSION b/samples/client/petstore/spring-cloud-spring-pageable/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/spring-cloud-spring-pageable/.openapi-generator/VERSION +++ b/samples/client/petstore/spring-cloud-spring-pageable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java index 2847e39927..989238f8af 100644 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java index cbf9b2ae60..8bb51084ae 100644 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApi.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApi.java index f1f9df3d66..ea66e8097d 100644 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud/.openapi-generator/VERSION b/samples/client/petstore/spring-cloud/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/spring-cloud/.openapi-generator/VERSION +++ b/samples/client/petstore/spring-cloud/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java b/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java index 97e01992cd..55bc3993f2 100644 --- a/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/StoreApi.java b/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/StoreApi.java index 91e7a06024..728f134f9b 100644 --- a/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/UserApi.java b/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/UserApi.java index 03722bec7a..105b0b9f73 100644 --- a/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-stubs/.openapi-generator/VERSION b/samples/client/petstore/spring-stubs/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/spring-stubs/.openapi-generator/VERSION +++ b/samples/client/petstore/spring-stubs/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java b/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java index f159ad242e..f482477884 100644 --- a/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java b/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java index b59e5623f2..da8f9c7941 100644 --- a/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java b/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java index 40be182f0f..4d0b4145eb 100644 --- a/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/swift5/alamofireLibrary/.openapi-generator/VERSION b/samples/client/petstore/swift5/alamofireLibrary/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/swift5/alamofireLibrary/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/alamofireLibrary/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/swift5/asyncAwaitLibrary/.openapi-generator/VERSION b/samples/client/petstore/swift5/asyncAwaitLibrary/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/swift5/asyncAwaitLibrary/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/asyncAwaitLibrary/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/swift5/combineLibrary/.openapi-generator/VERSION b/samples/client/petstore/swift5/combineLibrary/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/swift5/combineLibrary/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/combineLibrary/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/swift5/default/.openapi-generator/VERSION b/samples/client/petstore/swift5/default/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/swift5/default/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/swift5/deprecated/.openapi-generator/VERSION b/samples/client/petstore/swift5/deprecated/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/swift5/deprecated/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/deprecated/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/swift5/frozenEnums/.openapi-generator/VERSION b/samples/client/petstore/swift5/frozenEnums/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/swift5/frozenEnums/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/frozenEnums/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/swift5/nonPublicApi/.openapi-generator/VERSION b/samples/client/petstore/swift5/nonPublicApi/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/swift5/nonPublicApi/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/nonPublicApi/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/swift5/objcCompatible/.openapi-generator/VERSION b/samples/client/petstore/swift5/objcCompatible/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/swift5/objcCompatible/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/objcCompatible/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/swift5/oneOf/.openapi-generator/VERSION b/samples/client/petstore/swift5/oneOf/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/swift5/oneOf/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/oneOf/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/swift5/promisekitLibrary/.openapi-generator/VERSION b/samples/client/petstore/swift5/promisekitLibrary/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/swift5/promisekitLibrary/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/promisekitLibrary/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/swift5/readonlyProperties/.openapi-generator/VERSION b/samples/client/petstore/swift5/readonlyProperties/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/swift5/readonlyProperties/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/readonlyProperties/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/swift5/resultLibrary/.openapi-generator/VERSION b/samples/client/petstore/swift5/resultLibrary/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/swift5/resultLibrary/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/resultLibrary/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/swift5/rxswiftLibrary/.openapi-generator/VERSION b/samples/client/petstore/swift5/rxswiftLibrary/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/swift5/rxswiftLibrary/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/rxswiftLibrary/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/swift5/urlsessionLibrary/.openapi-generator/VERSION b/samples/client/petstore/swift5/urlsessionLibrary/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/swift5/urlsessionLibrary/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/urlsessionLibrary/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/swift5/vaporLibrary/.openapi-generator/VERSION b/samples/client/petstore/swift5/vaporLibrary/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/swift5/vaporLibrary/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/vaporLibrary/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/swift5/x-swift-hashable/.openapi-generator/VERSION b/samples/client/petstore/swift5/x-swift-hashable/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/swift5/x-swift-hashable/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/x-swift-hashable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-aurelia/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-aurelia/default/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-aurelia/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-aurelia/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/composed-schemas/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/composed-schemas/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-axios/builds/composed-schemas/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/composed-schemas/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/default/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-axios/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/es6-target/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/es6-target/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-axios/builds/es6-target/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/es6-target/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/test-petstore/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/test-petstore/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-axios/builds/test-petstore/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/test-petstore/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/with-complex-headers/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/with-complex-headers/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-axios/builds/with-complex-headers/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/with-complex-headers/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/with-fake-endpoints-models-for-testing-with-http-signature/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/with-fake-endpoints-models-for-testing-with-http-signature/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-axios/builds/with-fake-endpoints-models-for-testing-with-http-signature/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/with-fake-endpoints-models-for-testing-with-http-signature/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/with-interfaces/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/with-interfaces/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-axios/builds/with-interfaces/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/with-interfaces/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/with-node-imports/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/with-node-imports/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-axios/builds/with-node-imports/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/with-node-imports/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/with-npm-version-and-separate-models-and-api/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/with-npm-version-and-separate-models-and-api/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-axios/builds/with-npm-version-and-separate-models-and-api/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/with-npm-version-and-separate-models-and-api/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/with-npm-version/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/with-npm-version/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-axios/builds/with-npm-version/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/with-npm-version/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/with-single-request-parameters/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/with-single-request-parameters/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-axios/builds/with-single-request-parameters/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/with-single-request-parameters/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/with-string-enums/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/with-string-enums/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-axios/builds/with-string-enums/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/with-string-enums/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/default-v3.0/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/default/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/enum/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/enum/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-fetch/builds/enum/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/enum/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/es6-target/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/with-interfaces/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/with-npm-version/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/with-string-enums/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/with-string-enums/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-string-enums/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/with-string-enums/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-inversify/.openapi-generator/VERSION b/samples/client/petstore/typescript-inversify/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-inversify/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-inversify/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-jquery/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-jquery/default/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-jquery/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-jquery/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-jquery/npm/.openapi-generator/VERSION b/samples/client/petstore/typescript-jquery/npm/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-jquery/npm/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-jquery/npm/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-nestjs-v6-provided-in-root/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-nestjs-v6-provided-in-root/builds/default/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-nestjs-v6-provided-in-root/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-nestjs-v6-provided-in-root/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-node/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-node/default/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-node/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-node/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-node/npm/.openapi-generator/VERSION b/samples/client/petstore/typescript-node/npm/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-node/npm/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-node/npm/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-redux-query/builds/with-npm-version/.openapi-generator/VERSION b/samples/client/petstore/typescript-redux-query/builds/with-npm-version/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-redux-query/builds/with-npm-version/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-redux-query/builds/with-npm-version/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-rxjs/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-rxjs/builds/default/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-rxjs/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-rxjs/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-rxjs/builds/es6-target/.openapi-generator/VERSION b/samples/client/petstore/typescript-rxjs/builds/es6-target/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-rxjs/builds/es6-target/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-rxjs/builds/es6-target/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-rxjs/builds/with-npm-version/.openapi-generator/VERSION b/samples/client/petstore/typescript-rxjs/builds/with-npm-version/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-rxjs/builds/with-npm-version/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-rxjs/builds/with-npm-version/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-rxjs/builds/with-progress-subscriber/.openapi-generator/VERSION b/samples/client/petstore/typescript-rxjs/builds/with-progress-subscriber/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/typescript-rxjs/builds/with-progress-subscriber/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-rxjs/builds/with-progress-subscriber/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/config/petstore/protobuf-schema/.openapi-generator/VERSION b/samples/config/petstore/protobuf-schema/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/config/petstore/protobuf-schema/.openapi-generator/VERSION +++ b/samples/config/petstore/protobuf-schema/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/meta-codegen/lib/pom.xml b/samples/meta-codegen/lib/pom.xml index fded0b117b..4b8936c4ef 100644 --- a/samples/meta-codegen/lib/pom.xml +++ b/samples/meta-codegen/lib/pom.xml @@ -121,7 +121,7 @@ UTF-8 - 6.0.1-SNAPSHOT + 6.1.0-SNAPSHOT 1.0.0 4.13.2 diff --git a/samples/meta-codegen/usage/.openapi-generator/VERSION b/samples/meta-codegen/usage/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/meta-codegen/usage/.openapi-generator/VERSION +++ b/samples/meta-codegen/usage/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/elm/.openapi-generator/VERSION b/samples/openapi3/client/elm/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/elm/.openapi-generator/VERSION +++ b/samples/openapi3/client/elm/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/.openapi-generator/VERSION b/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/.openapi-generator/VERSION +++ b/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/.openapi-generator/VERSION b/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/.openapi-generator/VERSION +++ b/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/python/.openapi-generator/VERSION b/samples/openapi3/client/extensions/x-auth-id-alias/python/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/python/.openapi-generator/VERSION +++ b/samples/openapi3/client/extensions/x-auth-id-alias/python/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/.openapi-generator/VERSION b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/.openapi-generator/VERSION +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias.rb b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias.rb index acba9e59be..70593b5b06 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias.rb +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api/usage_api.rb b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api/usage_api.rb index e3f703f541..fdb414e286 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api/usage_api.rb +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api/usage_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api_client.rb b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api_client.rb index 605f7895e2..708c5c4573 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api_client.rb +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api_client.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api_error.rb b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api_error.rb index 2dbd46d6bb..fce1103dc9 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api_error.rb +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api_error.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/configuration.rb b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/configuration.rb index 4c23901fb0..4f3d8c5533 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/configuration.rb +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/configuration.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/version.rb b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/version.rb index f272f4ac11..62b983eec6 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/version.rb +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/version.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/api_client_spec.rb b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/api_client_spec.rb index 4eed490dd3..430c0c5135 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/api_client_spec.rb +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/api_client_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/configuration_spec.rb b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/configuration_spec.rb index cf44a3f7f1..6652ade4f4 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/configuration_spec.rb +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/configuration_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/spec_helper.rb b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/spec_helper.rb index f7bc4a7ce2..305e631517 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/spec_helper.rb +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/spec_helper.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/x_auth_id_alias.gemspec b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/x_auth_id_alias.gemspec index bfce972612..ab63b49f1a 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/x_auth_id_alias.gemspec +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/x_auth_id_alias.gemspec @@ -8,7 +8,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/dynamic-servers/python/.openapi-generator/VERSION b/samples/openapi3/client/features/dynamic-servers/python/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/features/dynamic-servers/python/.openapi-generator/VERSION +++ b/samples/openapi3/client/features/dynamic-servers/python/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/.openapi-generator/VERSION b/samples/openapi3/client/features/dynamic-servers/ruby/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/.openapi-generator/VERSION +++ b/samples/openapi3/client/features/dynamic-servers/ruby/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/dynamic_servers.gemspec b/samples/openapi3/client/features/dynamic-servers/ruby/dynamic_servers.gemspec index fdf0a7bc0d..869e430b2d 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/dynamic_servers.gemspec +++ b/samples/openapi3/client/features/dynamic-servers/ruby/dynamic_servers.gemspec @@ -8,7 +8,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers.rb b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers.rb index b7452a67a0..48ee17d952 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers.rb +++ b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api/usage_api.rb b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api/usage_api.rb index 440ab3710e..987a6faa20 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api/usage_api.rb +++ b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api/usage_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api_client.rb b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api_client.rb index a3498df62d..78fcb833a1 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api_client.rb +++ b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api_client.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api_error.rb b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api_error.rb index 71c94d8679..f3328155cc 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api_error.rb +++ b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api_error.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/configuration.rb b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/configuration.rb index 45e07f37ef..ceaf5af407 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/configuration.rb +++ b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/configuration.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/version.rb b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/version.rb index fdabae4ba4..42f227a01a 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/version.rb +++ b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/version.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/spec/api_client_spec.rb b/samples/openapi3/client/features/dynamic-servers/ruby/spec/api_client_spec.rb index 241098d21b..132363778a 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/spec/api_client_spec.rb +++ b/samples/openapi3/client/features/dynamic-servers/ruby/spec/api_client_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/spec/configuration_spec.rb b/samples/openapi3/client/features/dynamic-servers/ruby/spec/configuration_spec.rb index 202153af37..3cb5dc78e4 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/spec/configuration_spec.rb +++ b/samples/openapi3/client/features/dynamic-servers/ruby/spec/configuration_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/spec/spec_helper.rb b/samples/openapi3/client/features/dynamic-servers/ruby/spec/spec_helper.rb index ac65c178f3..f2f55cc858 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/spec/spec_helper.rb +++ b/samples/openapi3/client/features/dynamic-servers/ruby/spec/spec_helper.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/.openapi-generator/VERSION b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/.openapi-generator/VERSION +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore.rb index 66fbac4d82..e588294b65 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api/usage_api.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api/usage_api.rb index e9b8d4abf8..250f7e0766 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api/usage_api.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api/usage_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api_client.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api_client.rb index 8da01e51c0..ca04f5a80e 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api_client.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api_client.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api_error.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api_error.rb index 525be6087e..f40e5a0e58 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api_error.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api_error.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/configuration.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/configuration.rb index 9b73dbc454..b956cadbbd 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/configuration.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/configuration.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/models/array_alias.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/models/array_alias.rb index 1a32235cba..7e097ef6c7 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/models/array_alias.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/models/array_alias.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/models/map_alias.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/models/map_alias.rb index dfa3d0a3b7..fa22c04918 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/models/map_alias.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/models/map_alias.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/version.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/version.rb index c5dc77666a..a6bfe9d35f 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/version.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/version.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/petstore.gemspec b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/petstore.gemspec index 49bbe86099..a33e276557 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/petstore.gemspec +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/petstore.gemspec @@ -8,7 +8,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/api_client_spec.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/api_client_spec.rb index ab3dc03cca..722bffdabf 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/api_client_spec.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/api_client_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/configuration_spec.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/configuration_spec.rb index ce51dfd5c7..ce32210b7b 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/configuration_spec.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/configuration_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/spec_helper.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/spec_helper.rb index 371088f0ea..113d7a584d 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/spec_helper.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/spec_helper.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.1.0-SNAPSHOT =end diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/.openapi-generator/VERSION b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/.openapi-generator/VERSION b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib/.openapi-generator/VERSION b/samples/openapi3/client/petstore/dart2/petstore_client_lib/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/.openapi-generator/VERSION b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/go/go-petstore/.openapi-generator/VERSION b/samples/openapi3/client/petstore/go/go-petstore/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/go/go-petstore/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/go/go-petstore/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/.openapi-generator/VERSION b/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/java/jersey2-java8/.openapi-generator/VERSION b/samples/openapi3/client/petstore/java/jersey2-java8/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/java/jersey2-java8/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/python-experimental/.openapi-generator/VERSION b/samples/openapi3/client/petstore/python-experimental/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/python-experimental/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/python-experimental/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/python-legacy/.openapi-generator/VERSION b/samples/openapi3/client/petstore/python-legacy/.openapi-generator/VERSION index 89648de331..66672d4e9d 100755 --- a/samples/openapi3/client/petstore/python-legacy/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/python-legacy/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/python/.openapi-generator/VERSION b/samples/openapi3/client/petstore/python/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/python/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/python/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/spring-cloud-async/.openapi-generator/VERSION b/samples/openapi3/client/petstore/spring-cloud-async/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/spring-cloud-async/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/spring-cloud-async/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java index e13951e567..8601fef842 100644 --- a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java index 8d852b4c2c..0da4ca2a55 100644 --- a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java index 146b1b9371..ab768f421b 100644 --- a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-date-time/.openapi-generator/VERSION b/samples/openapi3/client/petstore/spring-cloud-date-time/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/spring-cloud-date-time/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/spring-cloud-date-time/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java b/samples/openapi3/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java index c0a651c096..a4cc6f3f3d 100644 --- a/samples/openapi3/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/.openapi-generator/VERSION b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/AnotherFakeApi.java index 0e0c79d6a7..870acb41c3 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/FakeApi.java b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/FakeApi.java index 340f6f950c..8231240ea7 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/FakeClassnameTags123Api.java b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/FakeClassnameTags123Api.java index d32cf3380e..d777328008 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/FakeClassnameTags123Api.java +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/FakeClassnameTags123Api.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/PetApi.java index f1fc22097c..30e0b06d93 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/StoreApi.java index d65d639901..8fc606119e 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/UserApi.java index 547e649682..c8a30029b6 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-spring-pageable/.openapi-generator/VERSION b/samples/openapi3/client/petstore/spring-cloud-spring-pageable/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/spring-cloud-spring-pageable/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/spring-cloud-spring-pageable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java index ead9a504d5..7dbcf06d17 100644 --- a/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java index ed10144157..97df996ce8 100644 --- a/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApi.java index 50b0f8c7af..23ed983c35 100644 --- a/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud/.openapi-generator/VERSION b/samples/openapi3/client/petstore/spring-cloud/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/spring-cloud/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/spring-cloud/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java index ac6c6d614b..10e8a128f5 100644 --- a/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/StoreApi.java index fcecfec3da..c39bc40b5f 100644 --- a/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/UserApi.java index 35275ca6c2..06cd3df62e 100644 --- a/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/.openapi-generator/VERSION b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/PetApi.java index 5dfa7333e7..6b3682f9c3 100644 --- a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/StoreApi.java index 4bbedc5612..b149bba876 100644 --- a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/UserApi.java index 8d8c250ce1..2d151cd8cf 100644 --- a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-stubs/.openapi-generator/VERSION b/samples/openapi3/client/petstore/spring-stubs/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/spring-stubs/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/spring-stubs/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java index 39129b32f2..6033bad1da 100644 --- a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java index 698f399576..d25d6e6dd1 100644 --- a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java index aa0e98950c..792066a047 100644 --- a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/typescript/builds/browser/.openapi-generator/VERSION b/samples/openapi3/client/petstore/typescript/builds/browser/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/typescript/builds/browser/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/typescript/builds/browser/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/typescript/builds/composed-schemas/.openapi-generator/VERSION b/samples/openapi3/client/petstore/typescript/builds/composed-schemas/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/typescript/builds/composed-schemas/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/typescript/builds/composed-schemas/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/typescript/builds/default/.openapi-generator/VERSION b/samples/openapi3/client/petstore/typescript/builds/default/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/typescript/builds/default/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/typescript/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/typescript/builds/deno/.openapi-generator/VERSION b/samples/openapi3/client/petstore/typescript/builds/deno/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/typescript/builds/deno/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/typescript/builds/deno/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/typescript/builds/inversify/.openapi-generator/VERSION b/samples/openapi3/client/petstore/typescript/builds/inversify/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/typescript/builds/inversify/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/typescript/builds/inversify/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/typescript/builds/jquery/.openapi-generator/VERSION b/samples/openapi3/client/petstore/typescript/builds/jquery/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/typescript/builds/jquery/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/typescript/builds/jquery/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/typescript/builds/object_params/.openapi-generator/VERSION b/samples/openapi3/client/petstore/typescript/builds/object_params/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/client/petstore/typescript/builds/object_params/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/typescript/builds/object_params/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/schema/petstore/avro-schema/.openapi-generator/VERSION b/samples/openapi3/schema/petstore/avro-schema/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/schema/petstore/avro-schema/.openapi-generator/VERSION +++ b/samples/openapi3/schema/petstore/avro-schema/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/server/petstore/spring-boot-oneof/.openapi-generator/VERSION b/samples/openapi3/server/petstore/spring-boot-oneof/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/spring-boot-oneof/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/api/BarApi.java b/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/api/BarApi.java index f8e986d98a..317c85a07e 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/api/BarApi.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/api/BarApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/api/FooApi.java b/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/api/FooApi.java index 26b9020677..60eea6a10d 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/api/FooApi.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/api/FooApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/spring-boot-springdoc/.openapi-generator/VERSION b/samples/openapi3/server/petstore/spring-boot-springdoc/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/server/petstore/spring-boot-springdoc/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/spring-boot-springdoc/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/PetApi.java index 141977eac6..a024d30679 100644 --- a/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/StoreApi.java index acc0304685..fa8a424a57 100644 --- a/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/UserApi.java index 534348964a..0772e267c6 100644 --- a/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/.openapi-generator/VERSION b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/AnotherFakeApi.java index f61d3f0083..2cc2dc86d7 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeApi.java b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeApi.java index 797b79786e..fbe1cf2b64 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index 9fe06b1105..9a75eadba9 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java index d10ef21132..13f2f2ab9d 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/StoreApi.java index 5d70e4dabf..0b2658a2f3 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/UserApi.java index 67d586526d..40b4b8c75f 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-delegate/.openapi-generator/VERSION b/samples/openapi3/server/petstore/springboot-delegate/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/springboot-delegate/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/AnotherFakeApi.java index 1a2b2b6b9b..7ff7a8ddf9 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeApi.java b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeApi.java index fd0cd9cd17..f919a9e896 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index dfd52466a2..14e0267438 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java index 98df88d41b..4497460309 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/StoreApi.java index 3c7f63eacd..c15fd345aa 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/UserApi.java index 844840400d..5c10b015aa 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/.openapi-generator/VERSION b/samples/openapi3/server/petstore/springboot-implicitHeaders/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/AnotherFakeApi.java index f61d3f0083..2cc2dc86d7 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeApi.java b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeApi.java index 8d6af2cecc..9bc243d77c 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index 9fe06b1105..9a75eadba9 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java index 603fec820f..f776fad912 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/StoreApi.java index 5d70e4dabf..0b2658a2f3 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/UserApi.java index 67d586526d..40b4b8c75f 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-reactive/.openapi-generator/VERSION b/samples/openapi3/server/petstore/springboot-reactive/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/springboot-reactive/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/AnotherFakeApi.java index 8d32d71d0e..40c5a122f9 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeApi.java b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeApi.java index 72dd44a31c..b3671d0e2f 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index 08890fe728..7e2ab96391 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java index b2eae95a48..3dae9c163e 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/StoreApi.java index a76c8b6483..71f6515b01 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/UserApi.java index 36cbb2ee35..e3037a40aa 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-source/.openapi-generator/VERSION b/samples/openapi3/server/petstore/springboot-source/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/server/petstore/springboot-source/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/springboot-source/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/PetApi.java index 8424fa0841..fb63977d94 100644 --- a/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/StoreApi.java index 80e5546486..ed731ea764 100644 --- a/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/UserApi.java index 80c42115c1..fc864fccd9 100644 --- a/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-useoptional/.openapi-generator/VERSION b/samples/openapi3/server/petstore/springboot-useoptional/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/springboot-useoptional/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/AnotherFakeApi.java index f61d3f0083..2cc2dc86d7 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java index 982dc60ae5..684ccbdf91 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index 9fe06b1105..9a75eadba9 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java index d603c24d65..0f235ec245 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/StoreApi.java index 5d70e4dabf..0b2658a2f3 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/UserApi.java index 67d586526d..40b4b8c75f 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot/.openapi-generator/VERSION b/samples/openapi3/server/petstore/springboot/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/openapi3/server/petstore/springboot/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/springboot/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java index 141977eac6..a024d30679 100644 --- a/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/StoreApi.java index acc0304685..fa8a424a57 100644 --- a/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/UserApi.java index 534348964a..0772e267c6 100644 --- a/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/schema/petstore/ktorm-modelMutable/.openapi-generator/VERSION b/samples/schema/petstore/ktorm-modelMutable/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/schema/petstore/ktorm-modelMutable/.openapi-generator/VERSION +++ b/samples/schema/petstore/ktorm-modelMutable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/schema/petstore/ktorm/.openapi-generator/VERSION b/samples/schema/petstore/ktorm/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/schema/petstore/ktorm/.openapi-generator/VERSION +++ b/samples/schema/petstore/ktorm/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/schema/petstore/mysql/.openapi-generator/VERSION b/samples/schema/petstore/mysql/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/schema/petstore/mysql/.openapi-generator/VERSION +++ b/samples/schema/petstore/mysql/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/schema/petstore/wsdl-schema/.openapi-generator/VERSION b/samples/schema/petstore/wsdl-schema/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/schema/petstore/wsdl-schema/.openapi-generator/VERSION +++ b/samples/schema/petstore/wsdl-schema/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/aspnetcore-3.0/.openapi-generator/VERSION b/samples/server/petstore/aspnetcore-3.0/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/aspnetcore-3.0/.openapi-generator/VERSION +++ b/samples/server/petstore/aspnetcore-3.0/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/aspnetcore-3.1/.openapi-generator/VERSION b/samples/server/petstore/aspnetcore-3.1/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/aspnetcore-3.1/.openapi-generator/VERSION +++ b/samples/server/petstore/aspnetcore-3.1/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/aspnetcore-5.0/.openapi-generator/VERSION b/samples/server/petstore/aspnetcore-5.0/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/aspnetcore-5.0/.openapi-generator/VERSION +++ b/samples/server/petstore/aspnetcore-5.0/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/aspnetcore-6.0/.openapi-generator/VERSION b/samples/server/petstore/aspnetcore-6.0/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/aspnetcore-6.0/.openapi-generator/VERSION +++ b/samples/server/petstore/aspnetcore-6.0/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/aspnetcore/.openapi-generator/VERSION b/samples/server/petstore/aspnetcore/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/aspnetcore/.openapi-generator/VERSION +++ b/samples/server/petstore/aspnetcore/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/cpp-pistache/.openapi-generator/VERSION b/samples/server/petstore/cpp-pistache/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/cpp-pistache/.openapi-generator/VERSION +++ b/samples/server/petstore/cpp-pistache/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/cpp-qt-qhttpengine-server/.openapi-generator/VERSION b/samples/server/petstore/cpp-qt-qhttpengine-server/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/cpp-qt-qhttpengine-server/.openapi-generator/VERSION +++ b/samples/server/petstore/cpp-qt-qhttpengine-server/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/erlang-server/.openapi-generator/VERSION b/samples/server/petstore/erlang-server/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/erlang-server/.openapi-generator/VERSION +++ b/samples/server/petstore/erlang-server/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/go-api-server/.openapi-generator/VERSION b/samples/server/petstore/go-api-server/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/go-api-server/.openapi-generator/VERSION +++ b/samples/server/petstore/go-api-server/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/go-chi-server/.openapi-generator/VERSION b/samples/server/petstore/go-chi-server/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/go-chi-server/.openapi-generator/VERSION +++ b/samples/server/petstore/go-chi-server/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/go-echo-server/.openapi-generator/VERSION b/samples/server/petstore/go-echo-server/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/go-echo-server/.openapi-generator/VERSION +++ b/samples/server/petstore/go-echo-server/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/go-gin-api-server/.openapi-generator/VERSION b/samples/server/petstore/go-gin-api-server/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/go-gin-api-server/.openapi-generator/VERSION +++ b/samples/server/petstore/go-gin-api-server/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/go-server-required/.openapi-generator/VERSION b/samples/server/petstore/go-server-required/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/go-server-required/.openapi-generator/VERSION +++ b/samples/server/petstore/go-server-required/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/haskell-servant/.openapi-generator/VERSION b/samples/server/petstore/haskell-servant/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/haskell-servant/.openapi-generator/VERSION +++ b/samples/server/petstore/haskell-servant/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/haskell-yesod/.openapi-generator/VERSION b/samples/server/petstore/haskell-yesod/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/haskell-yesod/.openapi-generator/VERSION +++ b/samples/server/petstore/haskell-yesod/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-camel/.openapi-generator/VERSION b/samples/server/petstore/java-camel/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/java-camel/.openapi-generator/VERSION +++ b/samples/server/petstore/java-camel/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-camel/pom.xml b/samples/server/petstore/java-camel/pom.xml index 37673159da..3815962287 100644 --- a/samples/server/petstore/java-camel/pom.xml +++ b/samples/server/petstore/java-camel/pom.xml @@ -1,6 +1,6 @@ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/RestConfiguration.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/RestConfiguration.java index 308f0e1b24..4c71ffd976 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/RestConfiguration.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/RestConfiguration.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/ValidationErrorProcessor.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/ValidationErrorProcessor.java index e2fee8066e..71bcf54a56 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/ValidationErrorProcessor.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/ValidationErrorProcessor.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApi.java index 702b9a802c..8902b215f9 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApiRoutesImpl.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApiRoutesImpl.java index c1076205a2..c903c33e63 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApiRoutesImpl.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApiRoutesImpl.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApiValidator.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApiValidator.java index aece1b708c..9e7139baee 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApiValidator.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApiValidator.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApi.java index 98c3f09375..90c618363c 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApiRoutesImpl.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApiRoutesImpl.java index 7cfe48ba11..0874e730a4 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApiRoutesImpl.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApiRoutesImpl.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApiValidator.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApiValidator.java index 312980f3e1..ae87ae10d5 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApiValidator.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApiValidator.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApi.java index d729645411..b84cb79617 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApiRoutesImpl.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApiRoutesImpl.java index 5bbeb1a07b..654d3491cb 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApiRoutesImpl.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApiRoutesImpl.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApiValidator.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApiValidator.java index d7f613406d..24fee77fd5 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApiValidator.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApiValidator.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/resources/application.properties b/samples/server/petstore/java-camel/src/main/resources/application.properties index c79cb93839..fbda79fd79 100644 --- a/samples/server/petstore/java-camel/src/main/resources/application.properties +++ b/samples/server/petstore/java-camel/src/main/resources/application.properties @@ -1,4 +1,4 @@ -# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). # https://openapi-generator.tech # Do not edit the class manually. diff --git a/samples/server/petstore/java-micronaut-server/.openapi-generator/VERSION b/samples/server/petstore/java-micronaut-server/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/java-micronaut-server/.openapi-generator/VERSION +++ b/samples/server/petstore/java-micronaut-server/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-msf4j/.openapi-generator/VERSION b/samples/server/petstore/java-msf4j/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/java-msf4j/.openapi-generator/VERSION +++ b/samples/server/petstore/java-msf4j/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-api-package-override/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-api-package-override/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/java-play-framework-api-package-override/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-api-package-override/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-async/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-async/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/java-play-framework-async/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-async/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-controller-only/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-controller-only/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/java-play-framework-controller-only/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-controller-only/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-fake-endpoints-with-security/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-fake-endpoints-with-security/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/java-play-framework-fake-endpoints-with-security/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-fake-endpoints-with-security/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-fake-endpoints/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-fake-endpoints/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/java-play-framework-fake-endpoints/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-fake-endpoints/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-no-bean-validation/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-no-bean-validation/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/java-play-framework-no-bean-validation/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-no-bean-validation/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-no-exception-handling/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-no-exception-handling/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/java-play-framework-no-exception-handling/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-no-exception-handling/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-no-interface/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-no-interface/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/java-play-framework-no-interface/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-no-interface/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-no-nullable/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-no-nullable/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/java-play-framework-no-nullable/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-no-nullable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-no-swagger-ui/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-no-swagger-ui/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/java-play-framework-no-swagger-ui/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-no-swagger-ui/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-no-wrap-calls/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-no-wrap-calls/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/java-play-framework-no-wrap-calls/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-no-wrap-calls/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/java-play-framework/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-undertow/.openapi-generator/VERSION b/samples/server/petstore/java-undertow/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/java-undertow/.openapi-generator/VERSION +++ b/samples/server/petstore/java-undertow/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-vertx-web/.openapi-generator/VERSION b/samples/server/petstore/java-vertx-web/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/java-vertx-web/.openapi-generator/VERSION +++ b/samples/server/petstore/java-vertx-web/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-cxf-annotated-base-path/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-cxf-annotated-base-path/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/jaxrs-cxf-annotated-base-path/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-cxf-annotated-base-path/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-cxf-cdi/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-cxf-cdi/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/jaxrs-cxf-cdi/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-cxf-cdi/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-cxf-non-spring-app/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-cxf-non-spring-app/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/jaxrs-cxf-non-spring-app/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-cxf-non-spring-app/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-cxf/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-cxf/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/jaxrs-cxf/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-cxf/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-datelib-j8/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-datelib-j8/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/jaxrs-datelib-j8/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-datelib-j8/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-jersey/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-jersey/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/jaxrs-jersey/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-jersey/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/default/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-resteasy/default/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/jaxrs-resteasy/default/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-resteasy/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/eap-java8/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-resteasy/eap-java8/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/jaxrs-resteasy/eap-java8/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-resteasy/eap-java8/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/eap-joda/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-resteasy/eap-joda/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/jaxrs-resteasy/eap-joda/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-resteasy/eap-joda/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/eap/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-resteasy/eap/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/jaxrs-resteasy/eap/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-resteasy/eap/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/java8/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-resteasy/java8/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/jaxrs-resteasy/java8/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-resteasy/java8/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/joda/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-resteasy/joda/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/jaxrs-resteasy/joda/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-resteasy/joda/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-spec-interface/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-spec-interface/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/jaxrs-spec-interface/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-spec-interface/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-spec/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-spec/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/jaxrs-spec/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-spec/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs/jersey1-useTags/.openapi-generator/VERSION b/samples/server/petstore/jaxrs/jersey1-useTags/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/jaxrs/jersey1-useTags/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs/jersey1-useTags/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs/jersey1/.openapi-generator/VERSION b/samples/server/petstore/jaxrs/jersey1/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/jaxrs/jersey1/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs/jersey1/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs/jersey2-useTags/.openapi-generator/VERSION b/samples/server/petstore/jaxrs/jersey2-useTags/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/jaxrs/jersey2-useTags/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs/jersey2-useTags/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs/jersey2/.openapi-generator/VERSION b/samples/server/petstore/jaxrs/jersey2/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/jaxrs/jersey2/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs/jersey2/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/kotlin-server-modelMutable/.openapi-generator/VERSION b/samples/server/petstore/kotlin-server-modelMutable/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/kotlin-server-modelMutable/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-server-modelMutable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/kotlin-server-modelMutable/README.md b/samples/server/petstore/kotlin-server-modelMutable/README.md index 9fc3c2c2b0..b18cf53398 100644 --- a/samples/server/petstore/kotlin-server-modelMutable/README.md +++ b/samples/server/petstore/kotlin-server-modelMutable/README.md @@ -2,7 +2,7 @@ This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -Generated by OpenAPI Generator 6.0.1-SNAPSHOT. +Generated by OpenAPI Generator 6.1.0-SNAPSHOT. ## Requires diff --git a/samples/server/petstore/kotlin-server/jaxrs-spec/.openapi-generator/VERSION b/samples/server/petstore/kotlin-server/jaxrs-spec/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/kotlin-server/jaxrs-spec/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-server/jaxrs-spec/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/kotlin-server/ktor/.openapi-generator/VERSION b/samples/server/petstore/kotlin-server/ktor/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/kotlin-server/ktor/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-server/ktor/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/kotlin-server/ktor/README.md b/samples/server/petstore/kotlin-server/ktor/README.md index 9fc3c2c2b0..b18cf53398 100644 --- a/samples/server/petstore/kotlin-server/ktor/README.md +++ b/samples/server/petstore/kotlin-server/ktor/README.md @@ -2,7 +2,7 @@ This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -Generated by OpenAPI Generator 6.0.1-SNAPSHOT. +Generated by OpenAPI Generator 6.1.0-SNAPSHOT. ## Requires diff --git a/samples/server/petstore/kotlin-springboot-delegate/.openapi-generator/VERSION b/samples/server/petstore/kotlin-springboot-delegate/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/kotlin-springboot-delegate/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-springboot-delegate/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/PetApi.kt b/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/PetApi.kt index 238cfe18a2..1023ef19b8 100644 --- a/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/PetApi.kt +++ b/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/PetApi.kt @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/StoreApi.kt b/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/StoreApi.kt index 70919b1ad2..940b7aabd5 100644 --- a/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/StoreApi.kt +++ b/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/StoreApi.kt @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/UserApi.kt b/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/UserApi.kt index a5979558e9..829fc212e9 100644 --- a/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/UserApi.kt +++ b/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/UserApi.kt @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/VERSION b/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/kotlin-springboot-reactive/.openapi-generator/VERSION b/samples/server/petstore/kotlin-springboot-reactive/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/kotlin-springboot-reactive/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-springboot-reactive/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/kotlin-springboot-source-swagger1/.openapi-generator/VERSION b/samples/server/petstore/kotlin-springboot-source-swagger1/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/kotlin-springboot-source-swagger1/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-springboot-source-swagger1/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/kotlin-springboot-source-swagger2/.openapi-generator/VERSION b/samples/server/petstore/kotlin-springboot-source-swagger2/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/kotlin-springboot-source-swagger2/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-springboot-source-swagger2/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/kotlin-springboot-springfox/.openapi-generator/VERSION b/samples/server/petstore/kotlin-springboot-springfox/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/kotlin-springboot-springfox/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-springboot-springfox/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/kotlin-springboot/.openapi-generator/VERSION b/samples/server/petstore/kotlin-springboot/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/kotlin-springboot/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-springboot/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/kotlin-vertx-modelMutable/.openapi-generator/VERSION b/samples/server/petstore/kotlin-vertx-modelMutable/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/kotlin-vertx-modelMutable/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-vertx-modelMutable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/kotlin/vertx/.openapi-generator/VERSION b/samples/server/petstore/kotlin/vertx/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/kotlin/vertx/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin/vertx/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/php-laravel/.openapi-generator/VERSION b/samples/server/petstore/php-laravel/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/php-laravel/.openapi-generator/VERSION +++ b/samples/server/petstore/php-laravel/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/php-lumen/.openapi-generator/VERSION b/samples/server/petstore/php-lumen/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/php-lumen/.openapi-generator/VERSION +++ b/samples/server/petstore/php-lumen/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/php-mezzio-ph-modern/.openapi-generator/VERSION b/samples/server/petstore/php-mezzio-ph-modern/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/php-mezzio-ph-modern/.openapi-generator/VERSION +++ b/samples/server/petstore/php-mezzio-ph-modern/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/php-mezzio-ph/.openapi-generator/VERSION b/samples/server/petstore/php-mezzio-ph/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/php-mezzio-ph/.openapi-generator/VERSION +++ b/samples/server/petstore/php-mezzio-ph/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/php-slim4/.openapi-generator/VERSION b/samples/server/petstore/php-slim4/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/php-slim4/.openapi-generator/VERSION +++ b/samples/server/petstore/php-slim4/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/.openapi-generator/VERSION b/samples/server/petstore/php-symfony/SymfonyBundle-php/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/.openapi-generator/VERSION +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/python-aiohttp-srclayout/.openapi-generator/VERSION b/samples/server/petstore/python-aiohttp-srclayout/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/python-aiohttp-srclayout/.openapi-generator/VERSION +++ b/samples/server/petstore/python-aiohttp-srclayout/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/python-aiohttp/.openapi-generator/VERSION b/samples/server/petstore/python-aiohttp/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/python-aiohttp/.openapi-generator/VERSION +++ b/samples/server/petstore/python-aiohttp/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/python-blueplanet/.openapi-generator/VERSION b/samples/server/petstore/python-blueplanet/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/python-blueplanet/.openapi-generator/VERSION +++ b/samples/server/petstore/python-blueplanet/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/python-fastapi/.openapi-generator/VERSION b/samples/server/petstore/python-fastapi/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/python-fastapi/.openapi-generator/VERSION +++ b/samples/server/petstore/python-fastapi/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/python-flask/.openapi-generator/VERSION b/samples/server/petstore/python-flask/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/python-flask/.openapi-generator/VERSION +++ b/samples/server/petstore/python-flask/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/rust-server/output/multipart-v3/.openapi-generator/VERSION b/samples/server/petstore/rust-server/output/multipart-v3/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/rust-server/output/multipart-v3/.openapi-generator/VERSION +++ b/samples/server/petstore/rust-server/output/multipart-v3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/rust-server/output/no-example-v3/.openapi-generator/VERSION b/samples/server/petstore/rust-server/output/no-example-v3/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/rust-server/output/no-example-v3/.openapi-generator/VERSION +++ b/samples/server/petstore/rust-server/output/no-example-v3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/rust-server/output/openapi-v3/.openapi-generator/VERSION b/samples/server/petstore/rust-server/output/openapi-v3/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/rust-server/output/openapi-v3/.openapi-generator/VERSION +++ b/samples/server/petstore/rust-server/output/openapi-v3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/rust-server/output/ops-v3/.openapi-generator/VERSION b/samples/server/petstore/rust-server/output/ops-v3/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/rust-server/output/ops-v3/.openapi-generator/VERSION +++ b/samples/server/petstore/rust-server/output/ops-v3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/.openapi-generator/VERSION b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/.openapi-generator/VERSION +++ b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/rust-server/output/ping-bearer-auth/.openapi-generator/VERSION b/samples/server/petstore/rust-server/output/ping-bearer-auth/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/rust-server/output/ping-bearer-auth/.openapi-generator/VERSION +++ b/samples/server/petstore/rust-server/output/ping-bearer-auth/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/rust-server/output/rust-server-test/.openapi-generator/VERSION b/samples/server/petstore/rust-server/output/rust-server-test/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/rust-server/output/rust-server-test/.openapi-generator/VERSION +++ b/samples/server/petstore/rust-server/output/rust-server-test/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/scala-akka-http-server/.openapi-generator/VERSION b/samples/server/petstore/scala-akka-http-server/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/scala-akka-http-server/.openapi-generator/VERSION +++ b/samples/server/petstore/scala-akka-http-server/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/.openapi-generator/VERSION b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/.openapi-generator/VERSION +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/AnotherFakeApi.java index b783e066ee..fd2c11e57f 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/FakeApi.java index b5d5ce5b9f..eb789b3cd9 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index f336449698..b668e9ebe6 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/PetApi.java index ee286aaada..92166266f1 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/StoreApi.java index b469832fdd..3cbd136ce8 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/UserApi.java index 0b32c42896..3d3a572615 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/spring-boot-nullable-set/.openapi-generator/VERSION b/samples/server/petstore/spring-boot-nullable-set/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/spring-boot-nullable-set/.openapi-generator/VERSION +++ b/samples/server/petstore/spring-boot-nullable-set/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/spring-boot-nullable-set/src/main/java/org/openapitools/api/NullableApi.java b/samples/server/petstore/spring-boot-nullable-set/src/main/java/org/openapitools/api/NullableApi.java index da877cd817..77063938a3 100644 --- a/samples/server/petstore/spring-boot-nullable-set/src/main/java/org/openapitools/api/NullableApi.java +++ b/samples/server/petstore/spring-boot-nullable-set/src/main/java/org/openapitools/api/NullableApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/.openapi-generator/VERSION b/samples/server/petstore/springboot-beanvalidation-no-nullable/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/AnotherFakeApi.java index 08c9361f61..df108e1fc7 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeApi.java index 11534c37ff..4f4beb47c8 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index ed384dd8db..1598bedf1f 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java index 1b548a0707..0ffe324c3b 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/StoreApi.java index 01f870e51e..50c8a04d70 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/UserApi.java index e3486bd80f..a9820da795 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation/.openapi-generator/VERSION b/samples/server/petstore/springboot-beanvalidation/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/springboot-beanvalidation/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-beanvalidation/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/AnotherFakeApi.java index 08c9361f61..df108e1fc7 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/FakeApi.java index 11534c37ff..4f4beb47c8 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index ed384dd8db..1598bedf1f 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/PetApi.java index 1b548a0707..0ffe324c3b 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/StoreApi.java index 01f870e51e..50c8a04d70 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/UserApi.java index e3486bd80f..a9820da795 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate-j8/.openapi-generator/VERSION b/samples/server/petstore/springboot-delegate-j8/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/springboot-delegate-j8/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-delegate-j8/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java index fa90d54a1b..03c160c1a2 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/FakeApi.java index 6ee468bad8..3533cf5ce2 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index 866d1ba538..c2e8f2571c 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/PetApi.java index 7ff210661b..eda88b62dc 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/StoreApi.java index 18b189e5e3..cc5ca98bd6 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/UserApi.java index 6663bb7b0d..319597b1b7 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate/.openapi-generator/VERSION b/samples/server/petstore/springboot-delegate/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/springboot-delegate/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-delegate/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/AnotherFakeApi.java index fa90d54a1b..03c160c1a2 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeApi.java index 6ee468bad8..3533cf5ce2 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index 866d1ba538..c2e8f2571c 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java index 7ff210661b..eda88b62dc 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/StoreApi.java index 18b189e5e3..cc5ca98bd6 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/UserApi.java index 6663bb7b0d..319597b1b7 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-implicitHeaders/.openapi-generator/VERSION b/samples/server/petstore/springboot-implicitHeaders/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/springboot-implicitHeaders/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-implicitHeaders/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/AnotherFakeApi.java index 08c9361f61..df108e1fc7 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeApi.java index 2ce42e7f20..df8f029849 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index ed384dd8db..1598bedf1f 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java index 2c9bf0d3aa..8ae5ba23ae 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/StoreApi.java index 01f870e51e..50c8a04d70 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/UserApi.java index e3486bd80f..a9820da795 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-reactive/.openapi-generator/VERSION b/samples/server/petstore/springboot-reactive/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/springboot-reactive/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-reactive/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/AnotherFakeApi.java index 40936fabb7..0219ea2d8a 100644 --- a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeApi.java index 98a2bd557a..4fb62c2963 100644 --- a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index 558897f756..f8fc8bd9ef 100644 --- a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java index 2fe7d975dd..734c4b9e58 100644 --- a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/StoreApi.java index 8920f7bfc9..329fd4cc68 100644 --- a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/UserApi.java index 47d79ebd65..9522636b09 100644 --- a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/.openapi-generator/VERSION b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java index fa90d54a1b..03c160c1a2 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/FakeApi.java index ec85dc25d3..73502c9a33 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index 866d1ba538..c2e8f2571c 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/PetApi.java index 75b33db560..00b92947ec 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/StoreApi.java index 18b189e5e3..cc5ca98bd6 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/UserApi.java index 6663bb7b0d..319597b1b7 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/.openapi-generator/VERSION b/samples/server/petstore/springboot-spring-pageable-delegatePattern/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/AnotherFakeApi.java index fa90d54a1b..03c160c1a2 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/FakeApi.java index ec85dc25d3..73502c9a33 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index 866d1ba538..c2e8f2571c 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/PetApi.java index 75b33db560..00b92947ec 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/StoreApi.java index 18b189e5e3..cc5ca98bd6 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/UserApi.java index 6663bb7b0d..319597b1b7 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/.openapi-generator/VERSION b/samples/server/petstore/springboot-spring-pageable-without-j8/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java index 08c9361f61..df108e1fc7 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/FakeApi.java index 3d9161adc4..25a0b35b18 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index ed384dd8db..1598bedf1f 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/PetApi.java index 5981ec86e7..338198fe2d 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/StoreApi.java index 01f870e51e..50c8a04d70 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/UserApi.java index e3486bd80f..a9820da795 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable/.openapi-generator/VERSION b/samples/server/petstore/springboot-spring-pageable/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/springboot-spring-pageable/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-spring-pageable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/AnotherFakeApi.java index 08c9361f61..df108e1fc7 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/FakeApi.java index 3d9161adc4..25a0b35b18 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index ed384dd8db..1598bedf1f 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/PetApi.java index 5981ec86e7..338198fe2d 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java index 01f870e51e..50c8a04d70 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/UserApi.java index e3486bd80f..a9820da795 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-useoptional/.openapi-generator/VERSION b/samples/server/petstore/springboot-useoptional/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/springboot-useoptional/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-useoptional/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/AnotherFakeApi.java index 08c9361f61..df108e1fc7 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java index 8c830376e1..4198240f06 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index ed384dd8db..1598bedf1f 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java index 6025e32493..d5ffce20e2 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/StoreApi.java index 01f870e51e..50c8a04d70 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/UserApi.java index e3486bd80f..a9820da795 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-virtualan/.openapi-generator/VERSION b/samples/server/petstore/springboot-virtualan/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/springboot-virtualan/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-virtualan/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/AnotherFakeApi.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/AnotherFakeApi.java index 9b87830f95..acf16a91f7 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeApi.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeApi.java index 136741d4a5..c1116cabb9 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeApi.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeClassnameTestApi.java index a0b0bef9b7..37c78478f1 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/PetApi.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/PetApi.java index 9d574d0ffc..2c416e9d7b 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/PetApi.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/StoreApi.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/StoreApi.java index 8cd43f6382..2707ce7b67 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/StoreApi.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/UserApi.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/UserApi.java index 7caf48bfa5..545a932875 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/UserApi.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot/.openapi-generator/VERSION b/samples/server/petstore/springboot/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/server/petstore/springboot/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/AnotherFakeApi.java index 08c9361f61..df108e1fc7 100644 --- a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/FakeApi.java index 11534c37ff..4f4beb47c8 100644 --- a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index ed384dd8db..1598bedf1f 100644 --- a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java index 1b548a0707..0ffe324c3b 100644 --- a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/StoreApi.java index 01f870e51e..50c8a04d70 100644 --- a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/UserApi.java index e3486bd80f..a9820da795 100644 --- a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.1.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ From 4233d2aa994a2deefadd48b3ca9b22fa37f5448a Mon Sep 17 00:00:00 2001 From: Antonio Petricca Date: Thu, 26 May 2022 17:31:03 +0200 Subject: [PATCH 002/212] Fixed enum values generation fo 'GraphQL NodeJS Express Server' generator. (#12389) --- .../graphql-nodejs-express-server/model.mustache | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/graphql-nodejs-express-server/model.mustache b/modules/openapi-generator/src/main/resources/graphql-nodejs-express-server/model.mustache index 25a62c0302..ee2d5e4bbd 100644 --- a/modules/openapi-generator/src/main/resources/graphql-nodejs-express-server/model.mustache +++ b/modules/openapi-generator/src/main/resources/graphql-nodejs-express-server/model.mustache @@ -9,7 +9,7 @@ type {{classname}} { {{#description}} # {{{.}}} {{/description}} - {{baseName}}: {{#isEnum}}{{classname}}{{datatypeWithEnum}}{{/isEnum}}{{^isEnum}}{{datatypeWithEnum}}{{/isEnum}} + {{baseName}}: {{datatypeWithEnum}} {{/vars}} } @@ -18,12 +18,11 @@ input {{classname}}Input { {{#description}} # {{{.}}} {{/description}} - {{baseName}}: {{#isEnum}}{{classname}}{{datatypeWithEnum}}{{/isEnum}}{{^isEnum}}{{#isContainer}}[{{datatypeWithEnum}}{{#complexType}}Input{{/complexType}}]{{/isContainer}}{{^isContainer}}{{datatypeWithEnum}}{{#isModel}}Input{{/isModel}}{{/isContainer}}{{/isEnum}} + {{baseName}}: {{#isContainer}}[{{datatypeWithEnum}}{{#complexType}}Input{{/complexType}}]{{/isContainer}}{{^isContainer}}{{datatypeWithEnum}}{{#isModel}}Input{{/isModel}}{{/isContainer}} {{/vars}} } -{{#vars}} -{{#isEnum}} +{{#isEnum}} {{#description}} # {{{.}}} {{/description}} @@ -35,6 +34,5 @@ enum {{classname}}{{enumName}} { {{/allowableValues}} } {{/isEnum}} -{{/vars}} {{/model}} {{/models}} From a39d86c1eb58859afeed5dd99740da903d4fde60 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Thu, 26 May 2022 23:35:00 +0800 Subject: [PATCH 003/212] update graphql nodejs samples --- .../.openapi-generator/VERSION | 2 +- .../graphql-nodejs-express-server/petstore/README.md | 2 +- .../petstore/model/api_response.graphql | 1 + .../petstore/model/category.graphql | 1 + .../petstore/model/order.graphql | 10 ++-------- .../petstore/model/pet.graphql | 10 ++-------- .../petstore/model/tag.graphql | 1 + .../petstore/model/user.graphql | 1 + 8 files changed, 10 insertions(+), 18 deletions(-) diff --git a/samples/server/petstore/graphql-nodejs-express-server/.openapi-generator/VERSION b/samples/server/petstore/graphql-nodejs-express-server/.openapi-generator/VERSION index afa6365606..89648de331 100644 --- a/samples/server/petstore/graphql-nodejs-express-server/.openapi-generator/VERSION +++ b/samples/server/petstore/graphql-nodejs-express-server/.openapi-generator/VERSION @@ -1 +1 @@ -4.0.0-SNAPSHOT \ No newline at end of file +6.0.1-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/graphql-nodejs-express-server/petstore/README.md b/samples/server/petstore/graphql-nodejs-express-server/petstore/README.md index 0a840b4047..7197ada92b 100644 --- a/samples/server/petstore/graphql-nodejs-express-server/petstore/README.md +++ b/samples/server/petstore/graphql-nodejs-express-server/petstore/README.md @@ -6,7 +6,7 @@ This is a sample server Petstore server. For this sample, you can use the api ke - node 10+ -## Gettings started +## Getting started npm install npm run start diff --git a/samples/server/petstore/graphql-nodejs-express-server/petstore/model/api_response.graphql b/samples/server/petstore/graphql-nodejs-express-server/petstore/model/api_response.graphql index 3115457836..f2eeff82f2 100644 --- a/samples/server/petstore/graphql-nodejs-express-server/petstore/model/api_response.graphql +++ b/samples/server/petstore/graphql-nodejs-express-server/petstore/model/api_response.graphql @@ -20,3 +20,4 @@ input ApiResponseInput { type: String! message: String! } + diff --git a/samples/server/petstore/graphql-nodejs-express-server/petstore/model/category.graphql b/samples/server/petstore/graphql-nodejs-express-server/petstore/model/category.graphql index cb07f7c3e4..f9dc00f277 100644 --- a/samples/server/petstore/graphql-nodejs-express-server/petstore/model/category.graphql +++ b/samples/server/petstore/graphql-nodejs-express-server/petstore/model/category.graphql @@ -18,3 +18,4 @@ input CategoryInput { id: Int! name: String! } + diff --git a/samples/server/petstore/graphql-nodejs-express-server/petstore/model/order.graphql b/samples/server/petstore/graphql-nodejs-express-server/petstore/model/order.graphql index eb22a186b2..1af5e0d3fe 100644 --- a/samples/server/petstore/graphql-nodejs-express-server/petstore/model/order.graphql +++ b/samples/server/petstore/graphql-nodejs-express-server/petstore/model/order.graphql @@ -15,7 +15,7 @@ type Order { quantity: Int! shipDate: String! # Order Status - status: OrderStatusEnum + status: StatusEnum complete: Boolean! } @@ -25,13 +25,7 @@ input OrderInput { quantity: Int! shipDate: String! # Order Status - status: OrderStatusEnum + status: StatusEnum complete: Boolean! } -# Order Status -enum OrderStatusEnum { - placed - approved - delivered -} diff --git a/samples/server/petstore/graphql-nodejs-express-server/petstore/model/pet.graphql b/samples/server/petstore/graphql-nodejs-express-server/petstore/model/pet.graphql index 14f10c8062..54cafbe023 100644 --- a/samples/server/petstore/graphql-nodejs-express-server/petstore/model/pet.graphql +++ b/samples/server/petstore/graphql-nodejs-express-server/petstore/model/pet.graphql @@ -16,7 +16,7 @@ type Pet { photoUrls: String! tags: Tag # pet status in the store - status: PetStatusEnum + status: StatusEnum } input PetInput { @@ -26,12 +26,6 @@ input PetInput { photoUrls: [String!] tags: [TagInput] # pet status in the store - status: PetStatusEnum + status: StatusEnum } -# pet status in the store -enum PetStatusEnum { - available - pending - sold -} diff --git a/samples/server/petstore/graphql-nodejs-express-server/petstore/model/tag.graphql b/samples/server/petstore/graphql-nodejs-express-server/petstore/model/tag.graphql index d1bafdfd22..f232493632 100644 --- a/samples/server/petstore/graphql-nodejs-express-server/petstore/model/tag.graphql +++ b/samples/server/petstore/graphql-nodejs-express-server/petstore/model/tag.graphql @@ -18,3 +18,4 @@ input TagInput { id: Int! name: String! } + diff --git a/samples/server/petstore/graphql-nodejs-express-server/petstore/model/user.graphql b/samples/server/petstore/graphql-nodejs-express-server/petstore/model/user.graphql index 02d1748a14..5f207d4e22 100644 --- a/samples/server/petstore/graphql-nodejs-express-server/petstore/model/user.graphql +++ b/samples/server/petstore/graphql-nodejs-express-server/petstore/model/user.graphql @@ -32,3 +32,4 @@ input UserInput { # User Status userStatus: Int! } + From 54dca39459207c76427400faced5339b3c8d89d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=20B=C3=A4rwinkel?= Date: Thu, 26 May 2022 17:44:13 +0200 Subject: [PATCH 004/212] Add authentication for haskell-servant (#12470) * Add authentication for haskell-servant * Add BearerToken to HaskellServantCodegen.java --- docs/generators/haskell.md | 2 +- .../languages/HaskellServantCodegen.java | 1 + .../resources/haskell-servant/API.mustache | 162 ++++++++++++++++-- .../resources/haskell-servant/README.mustache | 39 +++++ .../haskell-servant-codegen.mustache | 12 ++ .../server/petstore/haskell-servant/README.md | 39 +++++ .../lib/OpenAPIPetstore/API.hs | 104 +++++++---- .../haskell-servant/openapi-petstore.cabal | 1 + 8 files changed, 308 insertions(+), 52 deletions(-) diff --git a/docs/generators/haskell.md b/docs/generators/haskell.md index 1b1e3e68c1..47b891a1eb 100644 --- a/docs/generators/haskell.md +++ b/docs/generators/haskell.md @@ -195,7 +195,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl |BasicAuth|✓|OAS2,OAS3 |ApiKey|✓|OAS2,OAS3 |OpenIDConnect|✗|OAS3 -|BearerToken|✗|OAS3 +|BearerToken|✓|OAS3 |OAuth2_Implicit|✓|OAS2,OAS3 |OAuth2_Password|✗|OAS2,OAS3 |OAuth2_ClientCredentials|✗|OAS2,OAS3 diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java index 477df47150..97c1cbf77a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java @@ -86,6 +86,7 @@ public class HaskellServantCodegen extends DefaultCodegen implements CodegenConf .wireFormatFeatures(EnumSet.of(WireFormatFeature.JSON, WireFormatFeature.XML)) .securityFeatures(EnumSet.of( SecurityFeature.BasicAuth, + SecurityFeature.BearerToken, SecurityFeature.ApiKey, SecurityFeature.OAuth2_Implicit )) diff --git a/modules/openapi-generator/src/main/resources/haskell-servant/API.mustache b/modules/openapi-generator/src/main/resources/haskell-servant/API.mustache index f352eba419..84f19738f9 100644 --- a/modules/openapi-generator/src/main/resources/haskell-servant/API.mustache +++ b/modules/openapi-generator/src/main/resources/haskell-servant/API.mustache @@ -29,6 +29,12 @@ module {{title}}.API , {{title}}API -- ** Plain WAI Application , serverWaiApplication{{title}} +{{#hasAuthMethods}} + -- ** Authentication + , {{title}}Auth(..) + , clientAuth + , Protected +{{/hasAuthMethods}} ) where import {{title}}.Types @@ -38,6 +44,14 @@ import Control.Monad.Except (ExceptT, runExceptT) import Control.Monad.IO.Class import Control.Monad.Trans.Reader (ReaderT (..)) import Data.Aeson (Value) +{{#authMethods}} +{{#isApiKey}} +import Data.ByteString (ByteString) +{{/isApiKey}} +{{#isBasicBearer}} +import Data.ByteString (ByteString) +{{/isBasicBearer}} +{{/authMethods}} import Data.Coerce (coerce) import Data.Data (Data) import Data.Function ((&)) @@ -54,17 +68,38 @@ import GHC.Generics (Generic) import Network.HTTP.Client (Manager, newManager) import Network.HTTP.Client.TLS (tlsManagerSettings) import Network.HTTP.Types.Method (methodOptions) -import Network.Wai (Middleware) +import Network.Wai (Middleware{{#hasAuthMethods}}, Request, requestHeaders{{/hasAuthMethods}}) import qualified Network.Wai.Handler.Warp as Warp -import Servant (ServerError, serve) -import Servant.API +{{#authMethods}} +{{#isBasicBearer}} +import Network.Wai.Middleware.HttpAuth (extractBearerAuth) +{{/isBasicBearer}} +{{#isBasicBasic}} +import Network.Wai.Middleware.HttpAuth (extractBasicAuth) +{{/isBasicBasic}} +{{/authMethods}} +import Servant (ServerError, serveWithContext{{#hasAuthMethods}}, throwError{{/hasAuthMethods}}) +import Servant.API hiding (addHeader) +{{#authMethods}} +{{#isBasicBasic}} +import Servant.API.BasicAuth (BasicAuthData (..)) +{{/isBasicBasic}} +{{/authMethods}} import Servant.API.Verbs (StdMethod (..), Verb) +{{#hasAuthMethods}} +import Servant.API.Experimental.Auth (AuthProtect) +{{/hasAuthMethods}} import Servant.Client (ClientEnv, Scheme (Http), ClientError, client, mkClientEnv, parseBaseUrl) -import Servant.Client.Core (baseUrlPort, baseUrlHost) +import Servant.Client.Core (baseUrlPort, baseUrlHost{{#authMethods}}{{#isBasicBasic}}, basicAuthReq{{/isBasicBasic}}, AuthClientData, AuthenticatedRequest, addHeader, mkAuthenticatedRequest{{/authMethods}}) import Servant.Client.Internal.HttpClient (ClientM (..)) -import Servant.Server (Handler (..), Application){{#serveStatic}} -import Servant.Server.StaticFiles (serveDirectoryFileServer){{/serveStatic}} +import Servant.Server (Handler (..), Application, Context ({{#hasAuthMethods}}(:.), {{/hasAuthMethods}}EmptyContext)) +{{#hasAuthMethods}} +import Servant.Server.Experimental.Auth (AuthHandler, AuthServerData, mkAuthHandler) +{{/hasAuthMethods}} +{{#serveStatic}} +import Servant.Server.StaticFiles (serveDirectoryFileServer) +{{/serveStatic}} import Web.FormUrlEncoded import Web.HttpApiData @@ -132,10 +167,10 @@ formatSeparatedQueryList char = T.intercalate (T.singleton char) . map toQueryPa {{#apiInfo}} -- | Servant type-level API, generated from the OpenAPI spec for {{title}}. type {{title}}API - = {{#apis}}{{#operations}}{{#operation}}{{& vendorExtensions.x-route-type}} -- '{{operationId}}' route{{^-last}} + = {{#apis}}{{#operations}}{{#operation}}{{#hasAuthMethods}}Protected :> {{/hasAuthMethods}}{{& vendorExtensions.x-route-type}} -- '{{operationId}}' route{{^-last}} :<|> {{/-last}}{{/operation}}{{/operations}}{{^-last}} :<|> {{/-last}}{{/apis}}{{#serveStatic}} - :<|> Raw {{/serveStatic}} + :<|> Raw{{/serveStatic}} {{/apiInfo}} @@ -156,12 +191,39 @@ newtype {{title}}ClientError = {{title}}ClientError ClientError -- The backend can be used both for the client and the server. The client generated from the {{title}} OpenAPI spec -- is a backend that executes actions by sending HTTP requests (see @create{{title}}Client@). Alternatively, provided -- a backend, the API can be served using @run{{title}}MiddlewareServer@. -data {{title}}Backend m = {{title}}Backend - { {{#apis}}{{#operations}}{{#operation}}{{operationId}} :: {{& vendorExtensions.x-client-type}}{- ^ {{& notes}} -}{{^-last}} +data {{title}}Backend{{#hasAuthMethods}} a{{/hasAuthMethods}} m = {{title}}Backend + { {{#apis}}{{#operations}}{{#operation}}{{operationId}} :: {{#hasAuthMethods}}a -> {{/hasAuthMethods}}{{& vendorExtensions.x-client-type}}{- ^ {{& notes}} -}{{^-last}} , {{/-last}}{{/operation}}{{/operations}}{{^-last}} , {{/-last}}{{/apis}} } +{{#authMethods}} +{{^isOAuth}} +-- | Authentication settings for {{title}}. +-- lookupUser is used to retrieve a user given a header value. The data type can be specified by providing an +-- type instance for AuthServerData. authError is a function that given a request returns a custom error that +-- is returned when the header is not found. +{{/isOAuth}} +{{#isApiKey}} +data {{title}}Auth = {{title}}Auth + { lookupUser :: ByteString -> Handler AuthServer + , authError :: Request -> ServerError + } +{{/isApiKey}} +{{#isBasicBearer}} +data {{title}}Auth = {{title}}Auth + { lookupUser :: ByteString -> Handler AuthServer + , authError :: Request -> ServerError + } +{{/isBasicBearer}} +{{#isBasicBasic}} +data {{title}}Auth = {{title}}Auth + { lookupUser :: BasicAuthData -> Handler AuthServer + , authError :: Request -> ServerError + } +{{/isBasicBasic}} +{{/authMethods}} + newtype {{title}}Client a = {{title}}Client { runClient :: ClientEnv -> ExceptT ClientError IO a } deriving Functor @@ -182,7 +244,7 @@ instance MonadIO {{title}}Client where {{/apiInfo}} {{#apiInfo}} -create{{title}}Client :: {{title}}Backend {{title}}Client +create{{title}}Client :: {{title}}Backend{{#hasAuthMethods}} AuthClient{{/hasAuthMethods}} {{title}}Client create{{title}}Client = {{title}}Backend{..} where ({{#apis}}{{#operations}}{{#operation}}(coerce -> {{operationId}}){{^-last}} :<|> @@ -222,29 +284,93 @@ requestMiddlewareId a = a -- | Run the {{title}} server at the provided host and port. run{{title}}Server :: (MonadIO m, MonadThrow m) - => Config -> {{title}}Backend (ExceptT ServerError IO) -> m () -run{{title}}Server config backend = run{{title}}MiddlewareServer config requestMiddlewareId backend + => Config -> {{#hasAuthMethods}}{{title}}Auth -> {{/hasAuthMethods}}{{title}}Backend {{#hasAuthMethods}}AuthServer {{/hasAuthMethods}}(ExceptT ServerError IO) -> m () +run{{title}}Server config {{#hasAuthMethods}}auth {{/hasAuthMethods}}backend = run{{title}}MiddlewareServer config requestMiddlewareId {{#hasAuthMethods}}auth {{/hasAuthMethods}}backend -- | Run the {{title}} server at the provided host and port. run{{title}}MiddlewareServer :: (MonadIO m, MonadThrow m) - => Config -> Middleware -> {{title}}Backend (ExceptT ServerError IO) -> m () -run{{title}}MiddlewareServer Config{..} middleware backend = do + => Config -> Middleware -> {{#hasAuthMethods}}{{title}}Auth -> {{/hasAuthMethods}}{{title}}Backend{{#hasAuthMethods}} AuthServer{{/hasAuthMethods}} (ExceptT ServerError IO) -> m () +run{{title}}MiddlewareServer Config{..} middleware{{#hasAuthMethods}} auth{{/hasAuthMethods}} backend = do url <- parseBaseUrl configUrl let warpSettings = Warp.defaultSettings & Warp.setPort (baseUrlPort url) & Warp.setHost (fromString $ baseUrlHost url) - liftIO $ Warp.runSettings warpSettings $ middleware $ serverWaiApplication{{title}} backend + liftIO $ Warp.runSettings warpSettings $ middleware $ serverWaiApplication{{title}}{{#hasAuthMethods}} auth{{/hasAuthMethods}} backend -- | Plain "Network.Wai" Application for the {{title}} server. -- -- Can be used to implement e.g. tests that call the API without a full webserver. -serverWaiApplication{{title}} :: {{title}}Backend (ExceptT ServerError IO) -> Application -serverWaiApplication{{title}} backend = serve (Proxy :: Proxy {{title}}API) (serverFromBackend backend) +serverWaiApplication{{title}} :: {{#hasAuthMethods}}{{title}}Auth -> {{/hasAuthMethods}}{{title}}Backend {{#hasAuthMethods}}AuthServer {{/hasAuthMethods}}(ExceptT ServerError IO) -> Application +serverWaiApplication{{title}} {{#hasAuthMethods}}auth {{/hasAuthMethods}}backend = serveWithContext (Proxy :: Proxy {{title}}API) context (serverFromBackend backend) where + context = serverContext{{#hasAuthMethods}} auth{{/hasAuthMethods}} serverFromBackend {{title}}Backend{..} = ({{#apis}}{{#operations}}{{#operation}}coerce {{operationId}}{{^-last}} :<|> {{/-last}}{{/operation}}{{/operations}}{{^-last}} :<|> {{/-last}}{{/apis}}{{#serveStatic}} :<|> serveDirectoryFileServer "static"{{/serveStatic}}) {{/apiInfo}} + +{{#authMethods}} +{{^isOAuth}} +-- Authentication is implemented with servants generalized authentication: +-- https://docs.servant.dev/en/stable/tutorial/Authentication.html#generalized-authentication + +{{/isOAuth}} +{{#isApiKey}} +authHandler :: {{title}}Auth -> AuthHandler Request AuthServer +authHandler {{title}}Auth{..} = mkAuthHandler handler + where + handler req = case lookup "{{keyParamName}}" (requestHeaders req) of + Just header -> lookupUser header + Nothing -> throwError (authError req) + +type Protected = AuthProtect "apikey" +type AuthServer = AuthServerData Protected +type AuthClient = AuthenticatedRequest Protected +type instance AuthClientData Protected = Text + +clientAuth :: Text -> AuthClient +clientAuth key = mkAuthenticatedRequest key (addHeader "{{keyParamName}}") +{{/isApiKey}} +{{#isBasicBearer}} +authHandler :: {{title}}Auth -> AuthHandler Request AuthServer +authHandler {{title}}Auth{..} = mkAuthHandler handler + where + handler req = case lookup "Authorization" (requestHeaders req) of + Just header -> case extractBearerAuth header of + Just key -> lookupUser key + Nothing -> throwError (authError req) + Nothing -> throwError (authError req) + +type Protected = AuthProtect "bearer" +type AuthServer = AuthServerData Protected +type AuthClient = AuthenticatedRequest Protected +type instance AuthClientData Protected = Text + +clientAuth :: Text -> AuthClient +clientAuth key = mkAuthenticatedRequest ("Bearer " <> key) (addHeader "Authorization") +{{/isBasicBearer}} +{{#isBasicBasic}} +authHandler :: {{title}}Auth -> AuthHandler Request AuthServer +authHandler {{title}}Auth{..} = mkAuthHandler handler + where + handler req = case lookup "Authorization" (requestHeaders req) of + Just header -> case extractBasicAuth header of + Just (user, password) -> lookupUser (BasicAuthData user password) + Nothing -> throwError (authError req) + Nothing -> throwError (authError req) + +type Protected = AuthProtect "basic" +type AuthServer = AuthServerData Protected +type AuthClient = AuthenticatedRequest Protected +type instance AuthClientData Protected = BasicAuthData + +clientAuth :: BasicAuthData -> AuthClient +clientAuth key = mkAuthenticatedRequest key basicAuthReq +{{/isBasicBasic}} +{{/authMethods}} + +serverContext :: {{#hasAuthMethods}}{{title}}Auth -> {{/hasAuthMethods}}Context ({{#hasAuthMethods}}AuthHandler Request AuthServer ': {{/hasAuthMethods}}'[]) +serverContext {{#hasAuthMethods}}auth {{/hasAuthMethods}}= {{#hasAuthMethods}}authHandler auth :. {{/hasAuthMethods}}EmptyContext diff --git a/modules/openapi-generator/src/main/resources/haskell-servant/README.mustache b/modules/openapi-generator/src/main/resources/haskell-servant/README.mustache index 4dac568315..359ba55c0f 100644 --- a/modules/openapi-generator/src/main/resources/haskell-servant/README.mustache +++ b/modules/openapi-generator/src/main/resources/haskell-servant/README.mustache @@ -87,3 +87,42 @@ main = do config = Config "http://localhost:8080/" run{{title}}MiddlewareServer config requestMiddlewares server ``` + +## Authentication + +Currently basic, bearer and API key authentication is supported. The API key must be provided +in the request header. + +For clients authentication the function `clientAuth` is generated automatically. For basic +authentication the argument is of type `BasicAuthData` provided by `Servant.API.BasicAuth`. +For bearer and API key authentication the argument is the key/token and is of type `Text`. +Protected endpoints on the client will receive an extra argument. The value returned by +`clientAuth keyTokenOrBasic` can then be used to make authenticated requests. + +For the server you are free to choose a custom data type. After you specified an instance of +`AuthServerData` it is automatically added as a first argument to protected endpoints: + +``` +newtype Account = Account {unAccount :: Text} +type instance AuthServerData Protected = Account +``` + +Additionally, you have to provide value for the `{{title}}Auth` type provided by the +`{{title}}.API` module: + +``` +auth :: {{title}}Auth +auth = + {{title}}Auth + { lookupUser = lookupAccount, + authError = \request -> err401 {errBody = "Missing header"} + } +``` + +`lookupAccount` is a user defined function used to verify the key, token or basic auth data. +`authError` takes a `Request` and returns a `ServerError`. The value is used by the server +functions: + +``` +run{{title}}MiddlewareServer config requestMiddlewares auth server +``` diff --git a/modules/openapi-generator/src/main/resources/haskell-servant/haskell-servant-codegen.mustache b/modules/openapi-generator/src/main/resources/haskell-servant/haskell-servant-codegen.mustache index f41a28b41f..a55ed07ed2 100644 --- a/modules/openapi-generator/src/main/resources/haskell-servant/haskell-servant-codegen.mustache +++ b/modules/openapi-generator/src/main/resources/haskell-servant/haskell-servant-codegen.mustache @@ -38,4 +38,16 @@ library , http-types , swagger2 , uuid +{{#authMethods}} +{{#isApiKey}} + , bytestring +{{/isApiKey}} +{{#isBasicBearer}} + , bytestring + , wai-extra +{{/isBasicBearer}} +{{#isBasicBasic}} + , wai-extra +{{/isBasicBasic}} +{{/authMethods}} default-language: Haskell2010 diff --git a/samples/server/petstore/haskell-servant/README.md b/samples/server/petstore/haskell-servant/README.md index 5a5258926e..0b315e40a8 100644 --- a/samples/server/petstore/haskell-servant/README.md +++ b/samples/server/petstore/haskell-servant/README.md @@ -87,3 +87,42 @@ main = do config = Config "http://localhost:8080/" runOpenAPIPetstoreMiddlewareServer config requestMiddlewares server ``` + +## Authentication + +Currently basic, bearer and API key authentication is supported. The API key must be provided +in the request header. + +For clients authentication the function `clientAuth` is generated automatically. For basic +authentication the argument is of type `BasicAuthData` provided by `Servant.API.BasicAuth`. +For bearer and API key authentication the argument is the key/token and is of type `Text`. +Protected endpoints on the client will receive an extra argument. The value returned by +`clientAuth keyTokenOrBasic` can then be used to make authenticated requests. + +For the server you are free to choose a custom data type. After you specified an instance of +`AuthServerData` it is automatically added as a first argument to protected endpoints: + +``` +newtype Account = Account {unAccount :: Text} +type instance AuthServerData Protected = Account +``` + +Additionally, you have to provide value for the `OpenAPIPetstoreAuth` type provided by the +`OpenAPIPetstore.API` module: + +``` +auth :: OpenAPIPetstoreAuth +auth = + OpenAPIPetstoreAuth + { lookupUser = lookupAccount, + authError = \request -> err401 {errBody = "Missing header"} + } +``` + +`lookupAccount` is a user defined function used to verify the key, token or basic auth data. +`authError` takes a `Request` and returns a `ServerError`. The value is used by the server +functions: + +``` +runOpenAPIPetstoreMiddlewareServer config requestMiddlewares auth server +``` diff --git a/samples/server/petstore/haskell-servant/lib/OpenAPIPetstore/API.hs b/samples/server/petstore/haskell-servant/lib/OpenAPIPetstore/API.hs index e06ac16b30..bdb6172353 100644 --- a/samples/server/petstore/haskell-servant/lib/OpenAPIPetstore/API.hs +++ b/samples/server/petstore/haskell-servant/lib/OpenAPIPetstore/API.hs @@ -29,6 +29,10 @@ module OpenAPIPetstore.API , OpenAPIPetstoreAPI -- ** Plain WAI Application , serverWaiApplicationOpenAPIPetstore + -- ** Authentication + , OpenAPIPetstoreAuth(..) + , clientAuth + , Protected ) where import OpenAPIPetstore.Types @@ -38,6 +42,7 @@ import Control.Monad.Except (ExceptT, runExceptT) import Control.Monad.IO.Class import Control.Monad.Trans.Reader (ReaderT (..)) import Data.Aeson (Value) +import Data.ByteString (ByteString) import Data.Coerce (coerce) import Data.Data (Data) import Data.Function ((&)) @@ -54,16 +59,18 @@ import GHC.Generics (Generic) import Network.HTTP.Client (Manager, newManager) import Network.HTTP.Client.TLS (tlsManagerSettings) import Network.HTTP.Types.Method (methodOptions) -import Network.Wai (Middleware) +import Network.Wai (Middleware, Request, requestHeaders) import qualified Network.Wai.Handler.Warp as Warp -import Servant (ServerError, serve) -import Servant.API +import Servant (ServerError, serveWithContext, throwError) +import Servant.API hiding (addHeader) import Servant.API.Verbs (StdMethod (..), Verb) +import Servant.API.Experimental.Auth (AuthProtect) import Servant.Client (ClientEnv, Scheme (Http), ClientError, client, mkClientEnv, parseBaseUrl) -import Servant.Client.Core (baseUrlPort, baseUrlHost) +import Servant.Client.Core (baseUrlPort, baseUrlHost, AuthClientData, AuthenticatedRequest, addHeader, mkAuthenticatedRequest, AuthClientData, AuthenticatedRequest, addHeader, mkAuthenticatedRequest) import Servant.Client.Internal.HttpClient (ClientM (..)) -import Servant.Server (Handler (..), Application) +import Servant.Server (Handler (..), Application, Context ((:.), EmptyContext)) +import Servant.Server.Experimental.Auth (AuthHandler, AuthServerData, mkAuthHandler) import Servant.Server.StaticFiles (serveDirectoryFileServer) import Web.FormUrlEncoded import Web.HttpApiData @@ -139,16 +146,16 @@ formatSeparatedQueryList char = T.intercalate (T.singleton char) . map toQueryPa -- | Servant type-level API, generated from the OpenAPI spec for OpenAPIPetstore. type OpenAPIPetstoreAPI - = "pet" :> ReqBody '[JSON] Pet :> Verb 'POST 200 '[JSON] NoContent -- 'addPet' route - :<|> "pet" :> Capture "petId" Integer :> Header "api_key" Text :> Verb 'DELETE 200 '[JSON] NoContent -- 'deletePet' route - :<|> "pet" :> "findByStatus" :> QueryParam "status" (QueryList 'CommaSeparated (Text)) :> Verb 'GET 200 '[JSON] [Pet] -- 'findPetsByStatus' route - :<|> "pet" :> "findByTags" :> QueryParam "tags" (QueryList 'CommaSeparated (Text)) :> Verb 'GET 200 '[JSON] [Pet] -- 'findPetsByTags' route - :<|> "pet" :> Capture "petId" Integer :> Verb 'GET 200 '[JSON] Pet -- 'getPetById' route - :<|> "pet" :> ReqBody '[JSON] Pet :> Verb 'PUT 200 '[JSON] NoContent -- 'updatePet' route - :<|> "pet" :> Capture "petId" Integer :> ReqBody '[FormUrlEncoded] FormUpdatePetWithForm :> Verb 'POST 200 '[JSON] NoContent -- 'updatePetWithForm' route - :<|> "pet" :> Capture "petId" Integer :> "uploadImage" :> ReqBody '[FormUrlEncoded] FormUploadFile :> Verb 'POST 200 '[JSON] ApiResponse -- 'uploadFile' route + = Protected :> "pet" :> ReqBody '[JSON] Pet :> Verb 'POST 200 '[JSON] NoContent -- 'addPet' route + :<|> Protected :> "pet" :> Capture "petId" Integer :> Header "api_key" Text :> Verb 'DELETE 200 '[JSON] NoContent -- 'deletePet' route + :<|> Protected :> "pet" :> "findByStatus" :> QueryParam "status" (QueryList 'CommaSeparated (Text)) :> Verb 'GET 200 '[JSON] [Pet] -- 'findPetsByStatus' route + :<|> Protected :> "pet" :> "findByTags" :> QueryParam "tags" (QueryList 'CommaSeparated (Text)) :> Verb 'GET 200 '[JSON] [Pet] -- 'findPetsByTags' route + :<|> Protected :> "pet" :> Capture "petId" Integer :> Verb 'GET 200 '[JSON] Pet -- 'getPetById' route + :<|> Protected :> "pet" :> ReqBody '[JSON] Pet :> Verb 'PUT 200 '[JSON] NoContent -- 'updatePet' route + :<|> Protected :> "pet" :> Capture "petId" Integer :> ReqBody '[FormUrlEncoded] FormUpdatePetWithForm :> Verb 'POST 200 '[JSON] NoContent -- 'updatePetWithForm' route + :<|> Protected :> "pet" :> Capture "petId" Integer :> "uploadImage" :> ReqBody '[FormUrlEncoded] FormUploadFile :> Verb 'POST 200 '[JSON] ApiResponse -- 'uploadFile' route :<|> "store" :> "order" :> Capture "orderId" Text :> Verb 'DELETE 200 '[JSON] NoContent -- 'deleteOrder' route - :<|> "store" :> "inventory" :> Verb 'GET 200 '[JSON] ((Map.Map String Int)) -- 'getInventory' route + :<|> Protected :> "store" :> "inventory" :> Verb 'GET 200 '[JSON] ((Map.Map String Int)) -- 'getInventory' route :<|> "store" :> "order" :> Capture "orderId" Integer :> Verb 'GET 200 '[JSON] Order -- 'getOrderById' route :<|> "store" :> "order" :> ReqBody '[JSON] Order :> Verb 'POST 200 '[JSON] Order -- 'placeOrder' route :<|> "user" :> ReqBody '[JSON] User :> Verb 'POST 200 '[JSON] NoContent -- 'createUser' route @@ -159,7 +166,7 @@ type OpenAPIPetstoreAPI :<|> "user" :> "login" :> QueryParam "username" Text :> QueryParam "password" Text :> Verb 'GET 200 '[JSON] Text -- 'loginUser' route :<|> "user" :> "logout" :> Verb 'GET 200 '[JSON] NoContent -- 'logoutUser' route :<|> "user" :> Capture "username" Text :> ReqBody '[JSON] User :> Verb 'PUT 200 '[JSON] NoContent -- 'updateUser' route - :<|> Raw + :<|> Raw -- | Server or client configuration, specifying the host and port to query or serve on. @@ -178,17 +185,17 @@ newtype OpenAPIPetstoreClientError = OpenAPIPetstoreClientError ClientError -- The backend can be used both for the client and the server. The client generated from the OpenAPIPetstore OpenAPI spec -- is a backend that executes actions by sending HTTP requests (see @createOpenAPIPetstoreClient@). Alternatively, provided -- a backend, the API can be served using @runOpenAPIPetstoreMiddlewareServer@. -data OpenAPIPetstoreBackend m = OpenAPIPetstoreBackend - { addPet :: Pet -> m NoContent{- ^ -} - , deletePet :: Integer -> Maybe Text -> m NoContent{- ^ -} - , findPetsByStatus :: Maybe [Text] -> m [Pet]{- ^ Multiple status values can be provided with comma separated strings -} - , findPetsByTags :: Maybe [Text] -> m [Pet]{- ^ Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. -} - , getPetById :: Integer -> m Pet{- ^ Returns a single pet -} - , updatePet :: Pet -> m NoContent{- ^ -} - , updatePetWithForm :: Integer -> FormUpdatePetWithForm -> m NoContent{- ^ -} - , uploadFile :: Integer -> FormUploadFile -> m ApiResponse{- ^ -} +data OpenAPIPetstoreBackend a m = OpenAPIPetstoreBackend + { addPet :: a -> Pet -> m NoContent{- ^ -} + , deletePet :: a -> Integer -> Maybe Text -> m NoContent{- ^ -} + , findPetsByStatus :: a -> Maybe [Text] -> m [Pet]{- ^ Multiple status values can be provided with comma separated strings -} + , findPetsByTags :: a -> Maybe [Text] -> m [Pet]{- ^ Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. -} + , getPetById :: a -> Integer -> m Pet{- ^ Returns a single pet -} + , updatePet :: a -> Pet -> m NoContent{- ^ -} + , updatePetWithForm :: a -> Integer -> FormUpdatePetWithForm -> m NoContent{- ^ -} + , uploadFile :: a -> Integer -> FormUploadFile -> m ApiResponse{- ^ -} , deleteOrder :: Text -> m NoContent{- ^ For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors -} - , getInventory :: m ((Map.Map String Int)){- ^ Returns a map of status codes to quantities -} + , getInventory :: a -> m ((Map.Map String Int)){- ^ Returns a map of status codes to quantities -} , getOrderById :: Integer -> m Order{- ^ For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions -} , placeOrder :: Order -> m Order{- ^ -} , createUser :: User -> m NoContent{- ^ This can only be done by the logged in user. -} @@ -201,6 +208,15 @@ data OpenAPIPetstoreBackend m = OpenAPIPetstoreBackend , updateUser :: Text -> User -> m NoContent{- ^ This can only be done by the logged in user. -} } +-- | Authentication settings for OpenAPIPetstore. +-- lookupUser is used to retrieve a user given a header value. The data type can be specified by providing an +-- type instance for AuthServerData. authError is a function that given a request returns a custom error that +-- is returned when the header is not found. +data OpenAPIPetstoreAuth = OpenAPIPetstoreAuth + { lookupUser :: ByteString -> Handler AuthServer + , authError :: Request -> ServerError + } + newtype OpenAPIPetstoreClient a = OpenAPIPetstoreClient { runClient :: ClientEnv -> ExceptT ClientError IO a } deriving Functor @@ -219,7 +235,7 @@ instance Monad OpenAPIPetstoreClient where instance MonadIO OpenAPIPetstoreClient where liftIO io = OpenAPIPetstoreClient (\_ -> liftIO io) -createOpenAPIPetstoreClient :: OpenAPIPetstoreBackend OpenAPIPetstoreClient +createOpenAPIPetstoreClient :: OpenAPIPetstoreBackend AuthClient OpenAPIPetstoreClient createOpenAPIPetstoreClient = OpenAPIPetstoreBackend{..} where ((coerce -> addPet) :<|> @@ -274,26 +290,27 @@ requestMiddlewareId a = a -- | Run the OpenAPIPetstore server at the provided host and port. runOpenAPIPetstoreServer :: (MonadIO m, MonadThrow m) - => Config -> OpenAPIPetstoreBackend (ExceptT ServerError IO) -> m () -runOpenAPIPetstoreServer config backend = runOpenAPIPetstoreMiddlewareServer config requestMiddlewareId backend + => Config -> OpenAPIPetstoreAuth -> OpenAPIPetstoreBackend AuthServer (ExceptT ServerError IO) -> m () +runOpenAPIPetstoreServer config auth backend = runOpenAPIPetstoreMiddlewareServer config requestMiddlewareId auth backend -- | Run the OpenAPIPetstore server at the provided host and port. runOpenAPIPetstoreMiddlewareServer :: (MonadIO m, MonadThrow m) - => Config -> Middleware -> OpenAPIPetstoreBackend (ExceptT ServerError IO) -> m () -runOpenAPIPetstoreMiddlewareServer Config{..} middleware backend = do + => Config -> Middleware -> OpenAPIPetstoreAuth -> OpenAPIPetstoreBackend AuthServer (ExceptT ServerError IO) -> m () +runOpenAPIPetstoreMiddlewareServer Config{..} middleware auth backend = do url <- parseBaseUrl configUrl let warpSettings = Warp.defaultSettings & Warp.setPort (baseUrlPort url) & Warp.setHost (fromString $ baseUrlHost url) - liftIO $ Warp.runSettings warpSettings $ middleware $ serverWaiApplicationOpenAPIPetstore backend + liftIO $ Warp.runSettings warpSettings $ middleware $ serverWaiApplicationOpenAPIPetstore auth backend -- | Plain "Network.Wai" Application for the OpenAPIPetstore server. -- -- Can be used to implement e.g. tests that call the API without a full webserver. -serverWaiApplicationOpenAPIPetstore :: OpenAPIPetstoreBackend (ExceptT ServerError IO) -> Application -serverWaiApplicationOpenAPIPetstore backend = serve (Proxy :: Proxy OpenAPIPetstoreAPI) (serverFromBackend backend) +serverWaiApplicationOpenAPIPetstore :: OpenAPIPetstoreAuth -> OpenAPIPetstoreBackend AuthServer (ExceptT ServerError IO) -> Application +serverWaiApplicationOpenAPIPetstore auth backend = serveWithContext (Proxy :: Proxy OpenAPIPetstoreAPI) context (serverFromBackend backend) where + context = serverContext auth serverFromBackend OpenAPIPetstoreBackend{..} = (coerce addPet :<|> coerce deletePet :<|> @@ -316,3 +333,24 @@ serverWaiApplicationOpenAPIPetstore backend = serve (Proxy :: Proxy OpenAPIPetst coerce logoutUser :<|> coerce updateUser :<|> serveDirectoryFileServer "static") + +-- Authentication is implemented with servants generalized authentication: +-- https://docs.servant.dev/en/stable/tutorial/Authentication.html#generalized-authentication + +authHandler :: OpenAPIPetstoreAuth -> AuthHandler Request AuthServer +authHandler OpenAPIPetstoreAuth{..} = mkAuthHandler handler + where + handler req = case lookup "api_key" (requestHeaders req) of + Just header -> lookupUser header + Nothing -> throwError (authError req) + +type Protected = AuthProtect "apikey" +type AuthServer = AuthServerData Protected +type AuthClient = AuthenticatedRequest Protected +type instance AuthClientData Protected = Text + +clientAuth :: Text -> AuthClient +clientAuth key = mkAuthenticatedRequest key (addHeader "api_key") + +serverContext :: OpenAPIPetstoreAuth -> Context (AuthHandler Request AuthServer ': '[]) +serverContext auth = authHandler auth :. EmptyContext diff --git a/samples/server/petstore/haskell-servant/openapi-petstore.cabal b/samples/server/petstore/haskell-servant/openapi-petstore.cabal index 50f4dfcc25..c1a44b71ba 100644 --- a/samples/server/petstore/haskell-servant/openapi-petstore.cabal +++ b/samples/server/petstore/haskell-servant/openapi-petstore.cabal @@ -38,4 +38,5 @@ library , http-types , swagger2 , uuid + , bytestring default-language: Haskell2010 From 5cce0502605e06d14de9678b07c95b3acc22c9f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonin=20D=C3=A9cimo?= Date: Thu, 26 May 2022 17:54:13 +0200 Subject: [PATCH 005/212] [OCaml] Code generation fixes (#12395) * [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 --- .../src/main/resources/ocaml/api-impl.mustache | 2 +- .../petstore/ocaml/.openapi-generator/VERSION | 2 +- samples/client/petstore/ocaml/README.md | 1 - .../client/petstore/ocaml/src/apis/pet_api.ml | 16 ++++++++-------- .../client/petstore/ocaml/src/apis/store_api.ml | 8 ++++---- .../client/petstore/ocaml/src/apis/user_api.ml | 16 ++++++++-------- .../client/petstore/ocaml/src/support/request.ml | 4 ++-- 7 files changed, 24 insertions(+), 25 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/ocaml/api-impl.mustache b/modules/openapi-generator/src/main/resources/ocaml/api-impl.mustache index 48ec572d9f..f29964db21 100644 --- a/modules/openapi-generator/src/main/resources/ocaml/api-impl.mustache +++ b/modules/openapi-generator/src/main/resources/ocaml/api-impl.mustache @@ -11,7 +11,7 @@ {{#operations}} {{#operation}} let {{{operationId}}} {{^hasParams}}(){{/hasParams}}{{#allParams}}{{> to_param}}{{^-last}} {{/-last}}{{#-last}}{{^required}} (){{/required}}{{/-last}}{{/allParams}} = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "{{{path}}}" in let headers = Request.default_headers in {{#hasAuthMethods}} diff --git a/samples/client/petstore/ocaml/.openapi-generator/VERSION b/samples/client/petstore/ocaml/.openapi-generator/VERSION index 3fa3b389a5..5f68295fc1 100644 --- a/samples/client/petstore/ocaml/.openapi-generator/VERSION +++ b/samples/client/petstore/ocaml/.openapi-generator/VERSION @@ -1 +1 @@ -5.0.1-SNAPSHOT \ No newline at end of file +6.0.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/ocaml/README.md b/samples/client/petstore/ocaml/README.md index e7055fe61f..adbe4522a2 100644 --- a/samples/client/petstore/ocaml/README.md +++ b/samples/client/petstore/ocaml/README.md @@ -24,4 +24,3 @@ dune build ## Getting Started TODO - diff --git a/samples/client/petstore/ocaml/src/apis/pet_api.ml b/samples/client/petstore/ocaml/src/apis/pet_api.ml index 3046e5b561..9df027a393 100644 --- a/samples/client/petstore/ocaml/src/apis/pet_api.ml +++ b/samples/client/petstore/ocaml/src/apis/pet_api.ml @@ -6,7 +6,7 @@ *) let add_pet ~pet_t = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/pet" in let headers = Request.default_headers in let body = Request.write_as_json_body Pet.to_yojson pet_t in @@ -14,7 +14,7 @@ let add_pet ~pet_t = Request.read_json_body_as (JsonSupport.unwrap Pet.of_yojson) resp body let delete_pet ~pet_id ?api_key () = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/pet/{petId}" in let headers = Request.default_headers in let headers = Request.maybe_add_header headers "api_key" (fun x -> x) api_key in @@ -23,7 +23,7 @@ let delete_pet ~pet_id ?api_key () = Request.handle_unit_response resp let find_pets_by_status ~status = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/pet/findByStatus" in let headers = Request.default_headers in let uri = Request.add_query_param_list uri "status" (List.map Enums.show_pet_status) status in @@ -31,7 +31,7 @@ let find_pets_by_status ~status = Request.read_json_body_as_list_of (JsonSupport.unwrap Pet.of_yojson) resp body let find_pets_by_tags ~tags = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/pet/findByTags" in let headers = Request.default_headers in let uri = Request.add_query_param_list uri "tags" (List.map (fun x -> x)) tags in @@ -39,7 +39,7 @@ let find_pets_by_tags ~tags = Request.read_json_body_as_list_of (JsonSupport.unwrap Pet.of_yojson) resp body let get_pet_by_id ~pet_id = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/pet/{petId}" in let headers = Request.default_headers in let headers = Cohttp.Header.add headers "api_key" Request.api_key in @@ -48,7 +48,7 @@ let get_pet_by_id ~pet_id = Request.read_json_body_as (JsonSupport.unwrap Pet.of_yojson) resp body let update_pet ~pet_t = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/pet" in let headers = Request.default_headers in let body = Request.write_as_json_body Pet.to_yojson pet_t in @@ -56,7 +56,7 @@ let update_pet ~pet_t = Request.read_json_body_as (JsonSupport.unwrap Pet.of_yojson) resp body let update_pet_with_form ~pet_id ?name ?status () = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/pet/{petId}" in let headers = Request.default_headers in let uri = Request.replace_path_param uri "petId" Int64.to_string pet_id in @@ -68,7 +68,7 @@ let update_pet_with_form ~pet_id ?name ?status () = Request.handle_unit_response resp let upload_file ~pet_id ?additional_metadata ?file () = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/pet/{petId}/uploadImage" in let headers = Request.default_headers in let uri = Request.replace_path_param uri "petId" Int64.to_string pet_id in diff --git a/samples/client/petstore/ocaml/src/apis/store_api.ml b/samples/client/petstore/ocaml/src/apis/store_api.ml index 9465fadd71..2fafcfd77e 100644 --- a/samples/client/petstore/ocaml/src/apis/store_api.ml +++ b/samples/client/petstore/ocaml/src/apis/store_api.ml @@ -6,7 +6,7 @@ *) let delete_order ~order_id = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/store/order/{orderId}" in let headers = Request.default_headers in let uri = Request.replace_path_param uri "orderId" (fun x -> x) order_id in @@ -14,7 +14,7 @@ let delete_order ~order_id = Request.handle_unit_response resp let get_inventory () = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/store/inventory" in let headers = Request.default_headers in let headers = Cohttp.Header.add headers "api_key" Request.api_key in @@ -22,7 +22,7 @@ let get_inventory () = Request.read_json_body_as_map_of (JsonSupport.to_int32) resp body let get_order_by_id ~order_id = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/store/order/{orderId}" in let headers = Request.default_headers in let uri = Request.replace_path_param uri "orderId" Int64.to_string order_id in @@ -30,7 +30,7 @@ let get_order_by_id ~order_id = Request.read_json_body_as (JsonSupport.unwrap Order.of_yojson) resp body let place_order ~order_t = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/store/order" in let headers = Request.default_headers in let body = Request.write_as_json_body Order.to_yojson order_t in diff --git a/samples/client/petstore/ocaml/src/apis/user_api.ml b/samples/client/petstore/ocaml/src/apis/user_api.ml index 2bef35ae99..b0b45d1209 100644 --- a/samples/client/petstore/ocaml/src/apis/user_api.ml +++ b/samples/client/petstore/ocaml/src/apis/user_api.ml @@ -6,7 +6,7 @@ *) let create_user ~user_t = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/user" in let headers = Request.default_headers in let headers = Cohttp.Header.add headers "api_key" Request.api_key in @@ -15,7 +15,7 @@ let create_user ~user_t = Request.handle_unit_response resp let create_users_with_array_input ~user = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/user/createWithArray" in let headers = Request.default_headers in let headers = Cohttp.Header.add headers "api_key" Request.api_key in @@ -24,7 +24,7 @@ let create_users_with_array_input ~user = Request.handle_unit_response resp let create_users_with_list_input ~user = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/user/createWithList" in let headers = Request.default_headers in let headers = Cohttp.Header.add headers "api_key" Request.api_key in @@ -33,7 +33,7 @@ let create_users_with_list_input ~user = Request.handle_unit_response resp let delete_user ~username = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/user/{username}" in let headers = Request.default_headers in let headers = Cohttp.Header.add headers "api_key" Request.api_key in @@ -42,7 +42,7 @@ let delete_user ~username = Request.handle_unit_response resp let get_user_by_name ~username = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/user/{username}" in let headers = Request.default_headers in let uri = Request.replace_path_param uri "username" (fun x -> x) username in @@ -50,7 +50,7 @@ let get_user_by_name ~username = Request.read_json_body_as (JsonSupport.unwrap User.of_yojson) resp body let login_user ~username ~password = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/user/login" in let headers = Request.default_headers in let uri = Request.add_query_param uri "username" (fun x -> x) username in @@ -59,7 +59,7 @@ let login_user ~username ~password = Request.read_json_body_as (JsonSupport.to_string) resp body let logout_user () = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/user/logout" in let headers = Request.default_headers in let headers = Cohttp.Header.add headers "api_key" Request.api_key in @@ -67,7 +67,7 @@ let logout_user () = Request.handle_unit_response resp let update_user ~username ~user_t = - let open Lwt in + let open Lwt.Infix in let uri = Request.build_uri "/user/{username}" in let headers = Request.default_headers in let headers = Cohttp.Header.add headers "api_key" Request.api_key in diff --git a/samples/client/petstore/ocaml/src/support/request.ml b/samples/client/petstore/ocaml/src/support/request.ml index 35123b9ec9..dde0e723e4 100644 --- a/samples/client/petstore/ocaml/src/support/request.ml +++ b/samples/client/petstore/ocaml/src/support/request.ml @@ -39,8 +39,8 @@ let handle_response resp on_success_handler = | #Cohttp.Code.success_status -> on_success_handler () | s -> failwith ("Server responded with status " ^ Cohttp.Code.(reason_phrase_of_code (code_of_status s))) -let handle_unit_response resp = handle_response resp (fun () -> Lwt.return ()) - +let handle_unit_response resp = handle_response resp (fun () -> Lwt.return ()) + let read_json_body resp body = handle_response resp (fun () -> (Lwt.(Cohttp_lwt.Body.to_string body >|= Yojson.Safe.from_string))) From c6a4947523dd079492d3604d45e451a31f5e94a7 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Fri, 27 May 2022 00:03:24 +0800 Subject: [PATCH 006/212] fix ocaml readme installation (#12477) --- .gitignore | 3 +++ .../openapi-generator/src/main/resources/ocaml/readme.mustache | 2 +- samples/client/petstore/ocaml/.openapi-generator/VERSION | 2 +- samples/client/petstore/ocaml/README.md | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 5127144204..b5cbf6efcd 100644 --- a/.gitignore +++ b/.gitignore @@ -266,3 +266,6 @@ samples/client/petstore/crystal/lib # Go samples/openapi3/client/petstore/go/privatekey.pem + +## OCaml +samples/client/petstore/ocaml/_build/ diff --git a/modules/openapi-generator/src/main/resources/ocaml/readme.mustache b/modules/openapi-generator/src/main/resources/ocaml/readme.mustache index b3c6110027..6c5fd79dab 100644 --- a/modules/openapi-generator/src/main/resources/ocaml/readme.mustache +++ b/modules/openapi-generator/src/main/resources/ocaml/readme.mustache @@ -24,7 +24,7 @@ OCaml 4.x Please run the following commands to build the package `{{{packageName}}}`: ```sh -opam install ppx_deriving_yojson cohttp ppx_deriving cohttp-lwt-unix pin ocaml-migrate-parsetree 1.3.1 +opam install ppx_deriving_yojson cohttp ppx_deriving cohttp-lwt-unix ocaml-migrate-parsetree eval $(opam env) dune build ``` diff --git a/samples/client/petstore/ocaml/.openapi-generator/VERSION b/samples/client/petstore/ocaml/.openapi-generator/VERSION index 5f68295fc1..89648de331 100644 --- a/samples/client/petstore/ocaml/.openapi-generator/VERSION +++ b/samples/client/petstore/ocaml/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.0-SNAPSHOT \ No newline at end of file +6.0.1-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/ocaml/README.md b/samples/client/petstore/ocaml/README.md index adbe4522a2..d90e0b2f23 100644 --- a/samples/client/petstore/ocaml/README.md +++ b/samples/client/petstore/ocaml/README.md @@ -16,7 +16,7 @@ OCaml 4.x Please run the following commands to build the package `petstore_client`: ```sh -opam install ppx_deriving_yojson cohttp ppx_deriving cohttp-lwt-unix pin ocaml-migrate-parsetree 1.3.1 +opam install ppx_deriving_yojson cohttp ppx_deriving cohttp-lwt-unix ocaml-migrate-parsetree eval $(opam env) dune build ``` From 71ea659195fa6de709cb4f9d3959a8b906695302 Mon Sep 17 00:00:00 2001 From: cachescrubber <5127753+cachescrubber@users.noreply.github.com> Date: Thu, 26 May 2022 18:07:19 +0200 Subject: [PATCH 007/212] [Java/Spring] Support Spring Boot 3 and Jakarta EE 9 (#12407) * Migrate annotation.Generated * Upgrade jakarta.servlet and jakarta.validation * Prepare pom.xml for spring boot 3 * Introduce spring-boot-3 sample config. * Create spring-boot-3 sample. * Introduce useSpringBoot3 cli option. * Generate Docs * Add spring milestone repo * Generate Samples * Adjust Unit Tests * Add Spring Boot 3 Support to spring-cloud library * generate spring cloud 3 sample * Remove springfox * Fix typo. * No longer support SpringFox and Swagger1 with Spring Boot > 3.x * Generate Docs * Use Spring Boot 3.0.0-M3 * Generate Samples --- bin/configs/spring-boot-3.yaml | 12 + bin/configs/spring-cloud-3.yaml | 13 + docs/generators/java-camel.md | 1 + docs/generators/spring.md | 1 + .../codegen/languages/SpringCodegen.java | 37 +- .../main/resources/JavaSpring/api.mustache | 11 + .../JavaSpring/apiController.mustache | 11 + .../resources/JavaSpring/apiDelegate.mustache | 5 + .../JavaSpring/apiException.mustache | 5 + .../JavaSpring/apiOriginFilter.mustache | 9 +- .../JavaSpring/apiResponseMessage.mustache | 5 + .../resources/JavaSpring/apiUtil.mustache | 5 + .../JavaSpring/beanValidationCore.mustache | 2 +- .../libraries/spring-boot/pom-sb3.mustache | 222 +++++ .../libraries/spring-cloud/pom-sb3.mustache | 149 +++ .../main/resources/JavaSpring/model.mustache | 11 + .../JavaSpring/notFoundException.mustache | 5 + .../openapiDocumentationConfig.mustache | 6 + .../java/spring/SpringCodegenTest.java | 6 +- .../spring-cloud-3/.openapi-generator-ignore | 23 + .../spring-cloud-3/.openapi-generator/FILES | 11 + .../spring-cloud-3/.openapi-generator/VERSION | 1 + .../client/petstore/spring-cloud-3/README.md | 26 + .../client/petstore/spring-cloud-3/pom.xml | 91 ++ .../java/org/openapitools/api/PetApi.java | 307 ++++++ .../java/org/openapitools/api/StoreApi.java | 155 ++++ .../java/org/openapitools/api/UserApi.java | 273 ++++++ .../java/org/openapitools/model/Category.java | 108 +++ .../openapitools/model/ModelApiResponse.java | 134 +++ .../java/org/openapitools/model/Order.java | 245 +++++ .../main/java/org/openapitools/model/Pet.java | 261 ++++++ .../main/java/org/openapitools/model/Tag.java | 108 +++ .../java/org/openapitools/model/User.java | 252 +++++ .../springboot-3/.openapi-generator-ignore | 23 + .../springboot-3/.openapi-generator/FILES | 22 + .../springboot-3/.openapi-generator/VERSION | 1 + .../server/petstore/springboot-3/README.md | 21 + .../server/petstore/springboot-3/pom.xml | 89 ++ .../OpenApiGeneratorApplication.java | 23 + .../org/openapitools/RFC3339DateFormat.java | 38 + .../java/org/openapitools/api/ApiUtil.java | 19 + .../java/org/openapitools/api/PetApi.java | 414 +++++++++ .../openapitools/api/PetApiController.java | 47 + .../java/org/openapitools/api/StoreApi.java | 199 ++++ .../openapitools/api/StoreApiController.java | 47 + .../java/org/openapitools/api/UserApi.java | 315 +++++++ .../openapitools/api/UserApiController.java | 48 + .../configuration/HomeController.java | 20 + .../configuration/SpringDocConfiguration.java | 43 + .../java/org/openapitools/model/Category.java | 108 +++ .../openapitools/model/ModelApiResponse.java | 134 +++ .../java/org/openapitools/model/Order.java | 245 +++++ .../main/java/org/openapitools/model/Pet.java | 261 ++++++ .../main/java/org/openapitools/model/Tag.java | 108 +++ .../java/org/openapitools/model/User.java | 252 +++++ .../src/main/resources/application.properties | 3 + .../src/main/resources/openapi.yaml | 877 ++++++++++++++++++ .../OpenApiGeneratorApplicationTests.java | 13 + 58 files changed, 5874 insertions(+), 7 deletions(-) create mode 100644 bin/configs/spring-boot-3.yaml create mode 100644 bin/configs/spring-cloud-3.yaml create mode 100644 modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom-sb3.mustache create mode 100644 modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/pom-sb3.mustache create mode 100644 samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator-ignore create mode 100644 samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator/FILES create mode 100644 samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator/VERSION create mode 100644 samples/openapi3/client/petstore/spring-cloud-3/README.md create mode 100644 samples/openapi3/client/petstore/spring-cloud-3/pom.xml create mode 100644 samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/PetApi.java create mode 100644 samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/StoreApi.java create mode 100644 samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/UserApi.java create mode 100644 samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/Category.java create mode 100644 samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/ModelApiResponse.java create mode 100644 samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/Order.java create mode 100644 samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/Pet.java create mode 100644 samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/Tag.java create mode 100644 samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/User.java create mode 100644 samples/openapi3/server/petstore/springboot-3/.openapi-generator-ignore create mode 100644 samples/openapi3/server/petstore/springboot-3/.openapi-generator/FILES create mode 100644 samples/openapi3/server/petstore/springboot-3/.openapi-generator/VERSION create mode 100644 samples/openapi3/server/petstore/springboot-3/README.md create mode 100644 samples/openapi3/server/petstore/springboot-3/pom.xml create mode 100644 samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/OpenApiGeneratorApplication.java create mode 100644 samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/RFC3339DateFormat.java create mode 100644 samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/ApiUtil.java create mode 100644 samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApi.java create mode 100644 samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApiController.java create mode 100644 samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/StoreApi.java create mode 100644 samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/StoreApiController.java create mode 100644 samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/UserApi.java create mode 100644 samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/UserApiController.java create mode 100644 samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/configuration/HomeController.java create mode 100644 samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/configuration/SpringDocConfiguration.java create mode 100644 samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/Category.java create mode 100644 samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/ModelApiResponse.java create mode 100644 samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/Order.java create mode 100644 samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/Pet.java create mode 100644 samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/Tag.java create mode 100644 samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/User.java create mode 100644 samples/openapi3/server/petstore/springboot-3/src/main/resources/application.properties create mode 100644 samples/openapi3/server/petstore/springboot-3/src/main/resources/openapi.yaml create mode 100644 samples/openapi3/server/petstore/springboot-3/src/test/java/org/openapitools/OpenApiGeneratorApplicationTests.java diff --git a/bin/configs/spring-boot-3.yaml b/bin/configs/spring-boot-3.yaml new file mode 100644 index 0000000000..5c8b97cdad --- /dev/null +++ b/bin/configs/spring-boot-3.yaml @@ -0,0 +1,12 @@ +generatorName: spring +outputDir: samples/openapi3/server/petstore/springboot-3 +inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml +templateDir: modules/openapi-generator/src/main/resources/JavaSpring +additionalProperties: + groupId: org.openapitools.openapi3 + documentationProvider: springdoc + artifactId: springboot + snapshotVersion: "true" + useSpringBoot3: true + useBeanValidation: true + hideGenerationTimestamp: "true" diff --git a/bin/configs/spring-cloud-3.yaml b/bin/configs/spring-cloud-3.yaml new file mode 100644 index 0000000000..392f438953 --- /dev/null +++ b/bin/configs/spring-cloud-3.yaml @@ -0,0 +1,13 @@ +generatorName: spring +library: spring-cloud +outputDir: samples/openapi3/client/petstore/spring-cloud-3 +inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml +templateDir: modules/openapi-generator/src/main/resources/JavaSpring +additionalProperties: + groupId: org.openapitools.openapi3 + documentationProvider: springdoc + artifactId: spring-cloud-oas3 + useSpringBoot3: "true" + interfaceOnly: "true" + singleContentTypes: "true" + hideGenerationTimestamp: "true" diff --git a/docs/generators/java-camel.md b/docs/generators/java-camel.md index 69d3472e48..3358089706 100644 --- a/docs/generators/java-camel.md +++ b/docs/generators/java-camel.md @@ -91,6 +91,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl |useBeanValidation|Use BeanValidation API annotations| |true| |useFeignClientUrl|Whether to generate Feign client with url parameter.| |true| |useOptional|Use Optional container for optional parameters| |false| +|useSpringBoot3|Generate code and provide dependencies for use with Spring Boot 3.x. (Use jakarta instead of javax in imports).| |true| |useSpringController|Annotate the generated API as a Spring Controller| |false| |useSwaggerUI|Open the OpenApi specification in swagger-ui. Will also import and configure needed dependencies| |true| |useTags|use tags for creating interface and controller classnames| |false| diff --git a/docs/generators/spring.md b/docs/generators/spring.md index 68bc8ce320..12793618f7 100644 --- a/docs/generators/spring.md +++ b/docs/generators/spring.md @@ -84,6 +84,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl |useBeanValidation|Use BeanValidation API annotations| |true| |useFeignClientUrl|Whether to generate Feign client with url parameter.| |true| |useOptional|Use Optional container for optional parameters| |false| +|useSpringBoot3|Generate code and provide dependencies for use with Spring Boot 3.x. (Use jakarta instead of javax in imports).| |true| |useSpringController|Annotate the generated API as a Spring Controller| |false| |useSwaggerUI|Open the OpenApi specification in swagger-ui. Will also import and configure needed dependencies| |true| |useTags|use tags for creating interface and controller classnames| |false| diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java index 60af173166..5b085dbe55 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java @@ -99,6 +99,8 @@ public class SpringCodegen extends AbstractJavaCodegen public static final String HATEOAS = "hateoas"; public static final String RETURN_SUCCESS_CODE = "returnSuccessCode"; public static final String UNHANDLED_EXCEPTION_HANDLING = "unhandledException"; + public static final String USE_SPRING_BOOT3 = "useSpringBoot3"; + public static final String USE_JAKARTA_EE = "useJakartaEe"; public static final String OPEN_BRACE = "{"; public static final String CLOSE_BRACE = "}"; @@ -126,6 +128,7 @@ public class SpringCodegen extends AbstractJavaCodegen protected boolean unhandledException = false; protected boolean useSpringController = false; protected boolean useSwaggerUI = true; + protected boolean useSpringBoot3 = false; public SpringCodegen() { super(); @@ -204,6 +207,9 @@ public class SpringCodegen extends AbstractJavaCodegen cliOptions.add(CliOption.newBoolean(USE_SWAGGER_UI, "Open the OpenApi specification in swagger-ui. Will also import and configure needed dependencies", useSwaggerUI)); + cliOptions.add(CliOption.newBoolean(USE_SPRING_BOOT3, + "Generate code and provide dependencies for use with Spring Boot 3.x. (Use jakarta instead of javax in imports).", + useSwaggerUI)); supportedLibraries.put(SPRING_BOOT, "Spring-boot Server application."); supportedLibraries.put(SPRING_CLOUD_LIBRARY, @@ -415,6 +421,22 @@ public class SpringCodegen extends AbstractJavaCodegen } additionalProperties.put(UNHANDLED_EXCEPTION_HANDLING, this.isUnhandledException()); + if (additionalProperties.containsKey(USE_SPRING_BOOT3)) { + this.setUseSpringBoot3(convertPropertyToBoolean(USE_SPRING_BOOT3)); + } + if (isUseSpringBoot3()) { + if (DocumentationProvider.SPRINGFOX.equals(getDocumentationProvider())) { + throw new IllegalArgumentException(DocumentationProvider.SPRINGFOX.getPropertyName() + " is not supported with Spring Boot > 3.x"); + } + if (AnnotationLibrary.SWAGGER1.equals(getAnnotationLibrary())) { + throw new IllegalArgumentException(AnnotationLibrary.SWAGGER1.getPropertyName() + " is not supported with Spring Boot > 3.x"); + } + writePropertyBack(USE_JAKARTA_EE, true); + } else { + writePropertyBack(USE_JAKARTA_EE, false); + } + writePropertyBack(USE_SPRING_BOOT3, isUseSpringBoot3()); + typeMapping.put("file", "org.springframework.core.io.Resource"); importMapping.put("org.springframework.core.io.Resource", "org.springframework.core.io.Resource"); importMapping.put("Pageable", "org.springframework.data.domain.Pageable"); @@ -431,7 +453,12 @@ public class SpringCodegen extends AbstractJavaCodegen additionalProperties.put("delegate-method", true); } - supportingFiles.add(new SupportingFile("pom.mustache", "", "pom.xml")); + if (isUseSpringBoot3()) { + supportingFiles.add(new SupportingFile("pom-sb3.mustache", "", "pom.xml")); + } else { + supportingFiles.add(new SupportingFile("pom.mustache", "", "pom.xml")); + } + supportingFiles.add(new SupportingFile("README.mustache", "", "README.md")); if (!interfaceOnly) { @@ -1045,4 +1072,12 @@ public class SpringCodegen extends AbstractJavaCodegen extensions.add(VendorExtension.X_SPRING_PAGINATED); return extensions; } + + public boolean isUseSpringBoot3() { + return useSpringBoot3; + } + + public void setUseSpringBoot3(boolean useSpringBoot3) { + this.useSpringBoot3 = useSpringBoot3; + } } diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/api.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/api.mustache index a4beae55b5..ca2aa103c8 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/api.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/api.mustache @@ -50,8 +50,14 @@ import org.springframework.http.codec.multipart.Part; {{/reactive}} {{#useBeanValidation}} +{{#useJakartaEe}} +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +{{/useJakartaEe}} +{{^useJakartaEe}} import javax.validation.Valid; import javax.validation.constraints.*; +{{/useJakartaEe}} {{/useBeanValidation}} import java.util.List; import java.util.Map; @@ -66,7 +72,12 @@ import java.util.Optional; {{#async}} import java.util.concurrent.CompletableFuture; {{/async}} +{{#useJakartaEe}} +import jakarta.annotation.Generated; +{{/useJakartaEe}} +{{^useJakartaEe}} import javax.annotation.Generated; +{{/useJakartaEe}} {{>generatedAnnotation}} {{#useBeanValidation}} diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/apiController.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/apiController.mustache index dc64a84fe9..6f348a15a2 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/apiController.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/apiController.mustache @@ -36,14 +36,25 @@ import org.springframework.web.context.request.NativeWebRequest; {{/isDelegate}} {{#useBeanValidation}} +{{#useJakartaEe}} +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +{{/useJakartaEe}} +{{^useJakartaEe}} import javax.validation.constraints.*; import javax.validation.Valid; +{{/useJakartaEe}} {{/useBeanValidation}} import java.util.List; import java.util.Map; import java.util.Optional; +{{#useJakartaEe}} +import jakarta.annotation.Generated; +{{/useJakartaEe}} +{{^useJakartaEe}} import javax.annotation.Generated; +{{/useJakartaEe}} {{>generatedAnnotation}} @Controller diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/apiDelegate.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/apiDelegate.mustache index de880d27c7..b59f8bd01b 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/apiDelegate.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/apiDelegate.mustache @@ -20,7 +20,12 @@ import java.util.Optional; {{#async}} import java.util.concurrent.CompletableFuture; {{/async}} +{{#useJakartaEe}} +import jakarta.annotation.Generated; +{{/useJakartaEe}} +{{^useJakartaEe}} import javax.annotation.Generated; +{{/useJakartaEe}} {{#operations}} /** diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/apiException.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/apiException.mustache index 8230cce766..9fe41f182e 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/apiException.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/apiException.mustache @@ -1,6 +1,11 @@ package {{apiPackage}}; +{{#useJakartaEe}} +import jakarta.annotation.Generated; +{{/useJakartaEe}} +{{^useJakartaEe}} import javax.annotation.Generated; +{{/useJakartaEe}} /** * The exception that can be used to store the HTTP status code returned by an API response. diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/apiOriginFilter.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/apiOriginFilter.mustache index 9fc5959c49..149e566718 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/apiOriginFilter.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/apiOriginFilter.mustache @@ -2,9 +2,14 @@ package {{apiPackage}}; import java.io.IOException; +{{#useJakartaEe}} +import jakarta.annotation.Generated; +import jakarta.servlet.*; +import jakarta.servlet.http.HttpServletResponse; +{{/useJakartaEe}} +{{^useJakartaEe}} import javax.annotation.Generated; -import javax.servlet.*; -import javax.servlet.http.HttpServletResponse; +{{/useJakartaEe}} {{>generatedAnnotation}} public class ApiOriginFilter implements javax.servlet.Filter { diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/apiResponseMessage.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/apiResponseMessage.mustache index 8faf577c82..2d22a425f3 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/apiResponseMessage.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/apiResponseMessage.mustache @@ -1,6 +1,11 @@ package {{apiPackage}}; +{{#useJakartaEe}} +import jakarta.annotation.Generated; +{{/useJakartaEe}} +{{^useJakartaEe}} import javax.annotation.Generated; +{{/useJakartaEe}} import javax.xml.bind.annotation.XmlTransient; {{>generatedAnnotation}} diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/apiUtil.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/apiUtil.mustache index cf72ff100b..d7c7819dba 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/apiUtil.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/apiUtil.mustache @@ -12,7 +12,12 @@ import reactor.core.publisher.Mono; {{^reactive}} import org.springframework.web.context.request.NativeWebRequest; +{{#useJakartaEe}} +import jakarta.servlet.http.HttpServletResponse; +{{/useJakartaEe}} +{{^useJakartaEe}} import javax.servlet.http.HttpServletResponse; +{{/useJakartaEe}} import java.io.IOException; {{/reactive}} diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/beanValidationCore.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/beanValidationCore.mustache index 4e75048b37..f8aa5ab2a9 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/beanValidationCore.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/beanValidationCore.mustache @@ -12,7 +12,7 @@ minLength not set, maxLength set @Size: minItems not set && maxItems set }}{{^minItems}}{{#maxItems}}@Size(max = {{.}}) {{/maxItems}}{{/minItems}}{{! @Email: useBeanValidation set && isEmail set -}}{{#useBeanValidation}}{{#isEmail}}@javax.validation.constraints.Email{{/isEmail}}{{/useBeanValidation}}{{! +}}{{#useBeanValidation}}{{#isEmail}}@Email{{/isEmail}}{{/useBeanValidation}}{{! check for integer or long / all others=decimal type with @Decimal* isInteger set }}{{#isInteger}}{{#minimum}}@Min({{.}}) {{/minimum}}{{#maximum}}@Max({{.}}) {{/maximum}}{{/isInteger}}{{! diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom-sb3.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom-sb3.mustache new file mode 100644 index 0000000000..8d29737992 --- /dev/null +++ b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom-sb3.mustache @@ -0,0 +1,222 @@ + + 4.0.0 + {{groupId}} + {{artifactId}} + jar + {{artifactId}} + {{artifactVersion}} + + 17 + ${java.version} + ${java.version} + UTF-8 + {{#springDocDocumentationProvider}} + 2.0.0-M2 + {{/springDocDocumentationProvider}} + {{^springDocDocumentationProvider}} + {{#swagger2AnnotationLibrary}} + }2.2.0 + {{/swagger2AnnotationLibrary}} + {{/springDocDocumentationProvider}} + {{#useSwaggerUI}} + 4.8.1 + {{/useSwaggerUI}} + +{{#parentOverridden}} + + {{{parentGroupId}}} + {{{parentArtifactId}}} + {{{parentVersion}}} + +{{/parentOverridden}} +{{^parentOverridden}} + + org.springframework.boot + spring-boot-starter-parent + 3.0.0-M3 + + +{{/parentOverridden}} + + + + repository.spring.milestone + Spring Milestone Repository + http://repo.spring.io/milestone + + + + + src/main/java + {{^interfaceOnly}} + + + org.springframework.boot + spring-boot-maven-plugin + {{#classifier}} + + {{{classifier}}} + + {{/classifier}} + + {{#apiFirst}} + + org.openapitools + openapi-generator-maven-plugin + {{{generatorVersion}}} + + + + generate + + + src/main/resources/openapi.yaml + spring + {{{apiPackage}}} + {{{modelPackage}}} + false + {{#modelNamePrefix}} + {{{.}}} + {{/modelNamePrefix}} + {{#modelNameSuffix}} + {{{.}}} + {{/modelNameSuffix}} + + {{#configOptions}} + <{{left}}>{{right}} + {{/configOptions}} + + + + + + {{/apiFirst}} + + {{/interfaceOnly}} + + + + org.springframework.boot + spring-boot-starter-web{{#reactive}}flux{{/reactive}} + + + org.springframework.data + spring-data-commons + + {{#springDocDocumentationProvider}} + + {{#useSwaggerUI}} + + org.springdoc + springdoc-openapi-starter-{{#reactive}}webflux{{/reactive}}{{^reactive}}webmvc{{/reactive}}-ui + ${springdoc.version} + + {{/useSwaggerUI}} + {{^useSwaggerUI}} + + org.springdoc + springdoc-openapi-starter-{{#reactive}}webflux{{/reactive}}{{^reactive}}webmvc{{/reactive}}-api + ${springdoc.version} + + {{/useSwaggerUI}} + {{/springDocDocumentationProvider}} + {{#useSwaggerUI}} + {{^springDocDocumentationProvider}} + + org.webjars + swagger-ui + ${swagger-ui.version} + + + org.webjars + webjars-locator-core + + {{/springDocDocumentationProvider}} + {{/useSwaggerUI}} + {{^springDocDocumentationProvider}} + {{#swagger2AnnotationLibrary}} + + io.swagger.core.v3 + swagger-annotations + ${swagger-annotations.version} + + {{/swagger2AnnotationLibrary}} + {{/springDocDocumentationProvider}} + + + com.google.code.findbugs + jsr305 + 3.0.2 + + + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml + + {{#withXml}} + + + jakarta.xml.bind + jakarta.xml.bind-api + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + + {{/withXml}} + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + + {{#joda}} + + com.fasterxml.jackson.datatype + jackson-datatype-joda + + {{/joda}} + {{#openApiNullable}} + + org.openapitools + jackson-databind-nullable + 0.2.2 + + {{/openApiNullable}} +{{#useBeanValidation}} + + + org.springframework.boot + spring-boot-starter-validation + +{{/useBeanValidation}} +{{#virtualService}} + + + io.virtualan + virtualan-plugin + 2.2.1 + + + + org.hsqldb + hsqldb + 2.5.0 + + +{{/virtualService}} +{{#hateoas}} + + + org.springframework.boot + spring-boot-starter-hateoas + +{{/hateoas}} + + com.fasterxml.jackson.core + jackson-databind + + + org.springframework.boot + spring-boot-starter-test + test + + + diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/pom-sb3.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/pom-sb3.mustache new file mode 100644 index 0000000000..1d35db88d8 --- /dev/null +++ b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/pom-sb3.mustache @@ -0,0 +1,149 @@ + + 4.0.0 + {{groupId}} + {{artifactId}} + jar + {{artifactId}} + {{artifactVersion}} + + 1.8 + ${java.version} + ${java.version} + UTF-8 + {{#springDocDocumentationProvider}} + 2.0.0-M2 + {{/springDocDocumentationProvider}} + {{^springDocDocumentationProvider}} + {{#swagger2AnnotationLibrary}} + }2.2.0 + {{/swagger2AnnotationLibrary}} + {{/springDocDocumentationProvider}} + +{{#parentOverridden}} + + {{{parentGroupId}}} + {{{parentArtifactId}}} + {{{parentVersion}}} + +{{/parentOverridden}} +{{^parentOverridden}} + + org.springframework.boot + spring-boot-starter-parent + 3.0.0-M3 + + +{{/parentOverridden}} + + + + repository.spring.milestone + Spring Milestone Repository + http://repo.spring.io/milestone + + + + + src/main/java + + +{{^parentOverridden}} + + + + org.springframework.cloud + spring-cloud-starter-parent + 2022.0.0-M2 + pom + import + + + + +{{/parentOverridden}} + + {{#springDocDocumentationProvider}} + + + org.springdoc + springdoc-openapi-starter-{{#reactive}}webflux{{/reactive}}{{^reactive}}webmvc{{/reactive}}-ui + ${springdoc.version} + + {{/springDocDocumentationProvider}} + {{^springDocDocumentationProvider}} + {{#swagger2AnnotationLibrary}} + + io.swagger.core.v3 + swagger-annotations + ${swagger-annotations.version} + + {{/swagger2AnnotationLibrary}} + {{/springDocDocumentationProvider}} + + + com.google.code.findbugs + jsr305 + {{^parentOverridden}} + 3.0.2 + {{/parentOverridden}} + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + org.springframework.cloud + spring-cloud-starter-oauth2 + {{^parentOverridden}} + 2.2.5.RELEASE + {{/parentOverridden}} + + {{#withXml}} + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + + {{/withXml}} + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + + {{#joda}} + + com.fasterxml.jackson.datatype + jackson-datatype-joda + + {{/joda}} + {{#openApiNullable}} + + org.openapitools + jackson-databind-nullable + {{^parentOverridden}} + 0.2.2 + {{/parentOverridden}} + + {{/openApiNullable}} + {{#hateoas}} + + org.springframework.boot + spring-boot-starter-hateoas + + {{/hateoas}} + {{#useBeanValidation}} + + org.springframework.boot + spring-boot-starter-validation + + {{/useBeanValidation}} + + org.springframework.data + spring-data-commons + + + org.springframework.boot + spring-boot-starter-test + test + + + diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/model.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/model.mustache index 7a82dabbcb..9cf46316b9 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/model.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/model.mustache @@ -12,8 +12,14 @@ import java.io.Serializable; {{/serializableModel}} import java.time.OffsetDateTime; {{#useBeanValidation}} +{{#useJakartaEe}} +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +{{/useJakartaEe}} +{{^useJakartaEe}} import javax.validation.Valid; import javax.validation.constraints.*; +{{/useJakartaEe}} {{/useBeanValidation}} {{#performBeanValidation}} import org.hibernate.validator.constraints.*; @@ -38,7 +44,12 @@ import org.springframework.hateoas.RepresentationModel; {{/parent}} import java.util.*; +{{#useJakartaEe}} +import jakarta.annotation.Generated; +{{/useJakartaEe}} +{{^useJakartaEe}} import javax.annotation.Generated; +{{/useJakartaEe}} {{#models}} {{#model}} diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/notFoundException.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/notFoundException.mustache index 9eb12cd17f..11ad8c965f 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/notFoundException.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/notFoundException.mustache @@ -1,6 +1,11 @@ package {{apiPackage}}; +{{#useJakartaEe}} +import jakarta.annotation.Generated; +{{/useJakartaEe}} +{{^useJakartaEe}} import javax.annotation.Generated; +{{/useJakartaEe}} {{>generatedAnnotation}} public class NotFoundException extends ApiException { diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/openapiDocumentationConfig.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/openapiDocumentationConfig.mustache index 4885990228..e33af71756 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/openapiDocumentationConfig.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/openapiDocumentationConfig.mustache @@ -18,8 +18,14 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; {{#useOptional}} import java.util.Optional; {{/useOptional}} +{{#useJakartaEe}} +import jakarta.annotation.Generated; +import jakarta.servlet.ServletContext; +{{/useJakartaEe}} +{{^useJakartaEe}} import javax.annotation.Generated; import javax.servlet.ServletContext; +{{/useJakartaEe}} {{>generatedAnnotation}} @Configuration diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java index 997d2335e3..51fef65c2a 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java @@ -684,12 +684,12 @@ public class SpringCodegenTest { @Test public void useBeanValidationTruePerformBeanValidationFalseJava8TrueForFormatEmail() throws IOException { - beanValidationForFormatEmail(true, false, true, "@javax.validation.constraints.Email", "@org.hibernate.validator.constraints.Email"); + beanValidationForFormatEmail(true, false, true, "@Email", "@org.hibernate.validator.constraints.Email"); } @Test public void useBeanValidationTruePerformBeanValidationTrueJava8FalseForFormatEmail() throws IOException { - beanValidationForFormatEmail(true, true, false, "@javax.validation.constraints.Email", "@org.hibernate.validator.constraints.Email"); + beanValidationForFormatEmail(true, true, false, "@Email", "@org.hibernate.validator.constraints.Email"); } // note: java8 option/mustache tag has been removed and default to true @@ -726,7 +726,7 @@ public class SpringCodegenTest { @Test public void useBeanValidationTruePerformBeanValidationTrueJava8TrueForFormatEmail() throws IOException { - beanValidationForFormatEmail(true, true, true, "@javax.validation.constraints.Email", "@org.hibernate.validator.constraints.Email"); + beanValidationForFormatEmail(true, true, true, "@Email", "@org.hibernate.validator.constraints.Email"); } @Test diff --git a/samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator-ignore b/samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator-ignore new file mode 100644 index 0000000000..7484ee590a --- /dev/null +++ b/samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator/FILES b/samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator/FILES new file mode 100644 index 0000000000..5e5e7f6045 --- /dev/null +++ b/samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator/FILES @@ -0,0 +1,11 @@ +README.md +pom.xml +src/main/java/org/openapitools/api/PetApi.java +src/main/java/org/openapitools/api/StoreApi.java +src/main/java/org/openapitools/api/UserApi.java +src/main/java/org/openapitools/model/Category.java +src/main/java/org/openapitools/model/ModelApiResponse.java +src/main/java/org/openapitools/model/Order.java +src/main/java/org/openapitools/model/Pet.java +src/main/java/org/openapitools/model/Tag.java +src/main/java/org/openapitools/model/User.java diff --git a/samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator/VERSION b/samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator/VERSION new file mode 100644 index 0000000000..5f68295fc1 --- /dev/null +++ b/samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator/VERSION @@ -0,0 +1 @@ +6.0.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/spring-cloud-3/README.md b/samples/openapi3/client/petstore/spring-cloud-3/README.md new file mode 100644 index 0000000000..a462be951a --- /dev/null +++ b/samples/openapi3/client/petstore/spring-cloud-3/README.md @@ -0,0 +1,26 @@ +# OpenAPI generated API stub + +Spring Framework stub + + +## Overview +This code was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. +By using the [OpenAPI-Spec](https://openapis.org), you can easily generate an API stub. +This is an example of building API stub interfaces in Java using the Spring framework. + +The stubs generated can be used in your existing Spring-MVC or Spring-Boot application to create controller endpoints +by adding ```@Controller``` classes that implement the interface. Eg: +```java +@Controller +public class PetController implements PetApi { +// implement all PetApi methods +} +``` + +You can also use the interface to create [Spring-Cloud Feign clients](http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign-inheritance).Eg: +```java +@FeignClient(name="pet", url="http://petstore.swagger.io/v2") +public interface PetClient extends PetApi { + +} +``` diff --git a/samples/openapi3/client/petstore/spring-cloud-3/pom.xml b/samples/openapi3/client/petstore/spring-cloud-3/pom.xml new file mode 100644 index 0000000000..921000f10f --- /dev/null +++ b/samples/openapi3/client/petstore/spring-cloud-3/pom.xml @@ -0,0 +1,91 @@ + + 4.0.0 + org.openapitools.openapi3 + spring-cloud-oas3 + jar + spring-cloud-oas3 + 1.0.0 + + 1.8 + ${java.version} + ${java.version} + UTF-8 + 2.0.0-M2 + + + org.springframework.boot + spring-boot-starter-parent + 3.0.0-M3 + + + + + + repository.spring.milestone + Spring Milestone Repository + http://repo.spring.io/milestone + + + + + src/main/java + + + + + + org.springframework.cloud + spring-cloud-starter-parent + 2022.0.0-M2 + pom + import + + + + + + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + ${springdoc.version} + + + + com.google.code.findbugs + jsr305 + 3.0.2 + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + org.springframework.cloud + spring-cloud-starter-oauth2 + 2.2.5.RELEASE + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + + + org.openapitools + jackson-databind-nullable + 0.2.2 + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.data + spring-data-commons + + + org.springframework.boot + spring-boot-starter-test + test + + + diff --git a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/PetApi.java new file mode 100644 index 0000000000..6a4162bd6e --- /dev/null +++ b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/PetApi.java @@ -0,0 +1,307 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.0-SNAPSHOT). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +package org.openapitools.api; + +import org.openapitools.model.ModelApiResponse; +import org.openapitools.model.Pet; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.NativeWebRequest; +import org.springframework.web.multipart.MultipartFile; + +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import jakarta.annotation.Generated; + +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +@Validated +@Tag(name = "Pet", description = "Everything about your Pets") +public interface PetApi { + + /** + * POST /pet : Add a new pet to the store + * + * + * @param pet Pet object that needs to be added to the store (required) + * @return successful operation (status code 200) + * or Invalid input (status code 405) + */ + @Operation( + operationId = "addPet", + summary = "Add a new pet to the store", + tags = { "pet" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Pet.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Pet.class)) + }), + @ApiResponse(responseCode = "405", description = "Invalid input") + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + } + ) + @RequestMapping( + method = RequestMethod.POST, + value = "/pet", + produces = "application/json", + consumes = "application/json" + ) + ResponseEntity addPet( + @Parameter(name = "Pet", description = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet pet + ); + + + /** + * DELETE /pet/{petId} : Deletes a pet + * + * + * @param petId Pet id to delete (required) + * @param apiKey (optional) + * @return Invalid pet value (status code 400) + */ + @Operation( + operationId = "deletePet", + summary = "Deletes a pet", + tags = { "pet" }, + responses = { + @ApiResponse(responseCode = "400", description = "Invalid pet value") + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + } + ) + @RequestMapping( + method = RequestMethod.DELETE, + value = "/pet/{petId}" + ) + ResponseEntity deletePet( + @Parameter(name = "petId", description = "Pet id to delete", required = true) @PathVariable("petId") Long petId, + @Parameter(name = "api_key", description = "") @RequestHeader(value = "api_key", required = false) String apiKey + ); + + + /** + * GET /pet/findByStatus : Finds Pets by status + * Multiple status values can be provided with comma separated strings + * + * @param status Status values that need to be considered for filter (required) + * @return successful operation (status code 200) + * or Invalid status value (status code 400) + */ + @Operation( + operationId = "findPetsByStatus", + summary = "Finds Pets by status", + tags = { "pet" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Pet.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Pet.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid status value") + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "read:pets" }) + } + ) + @RequestMapping( + method = RequestMethod.GET, + value = "/pet/findByStatus", + produces = "application/json" + ) + ResponseEntity> findPetsByStatus( + @NotNull @Parameter(name = "status", description = "Status values that need to be considered for filter", required = true) @Valid @RequestParam(value = "status", required = true) List status + ); + + + /** + * GET /pet/findByTags : Finds Pets by tags + * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. + * + * @param tags Tags to filter by (required) + * @return successful operation (status code 200) + * or Invalid tag value (status code 400) + * @deprecated + */ + @Operation( + operationId = "findPetsByTags", + summary = "Finds Pets by tags", + tags = { "pet" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Pet.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Pet.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid tag value") + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "read:pets" }) + } + ) + @RequestMapping( + method = RequestMethod.GET, + value = "/pet/findByTags", + produces = "application/json" + ) + ResponseEntity> findPetsByTags( + @NotNull @Parameter(name = "tags", description = "Tags to filter by", required = true) @Valid @RequestParam(value = "tags", required = true) List tags + ); + + + /** + * GET /pet/{petId} : Find pet by ID + * Returns a single pet + * + * @param petId ID of pet to return (required) + * @return successful operation (status code 200) + * or Invalid ID supplied (status code 400) + * or Pet not found (status code 404) + */ + @Operation( + operationId = "getPetById", + summary = "Find pet by ID", + tags = { "pet" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Pet.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Pet.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid ID supplied"), + @ApiResponse(responseCode = "404", description = "Pet not found") + }, + security = { + @SecurityRequirement(name = "api_key") + } + ) + @RequestMapping( + method = RequestMethod.GET, + value = "/pet/{petId}", + produces = "application/json" + ) + ResponseEntity getPetById( + @Parameter(name = "petId", description = "ID of pet to return", required = true) @PathVariable("petId") Long petId + ); + + + /** + * PUT /pet : Update an existing pet + * + * + * @param pet Pet object that needs to be added to the store (required) + * @return successful operation (status code 200) + * or Invalid ID supplied (status code 400) + * or Pet not found (status code 404) + * or Validation exception (status code 405) + */ + @Operation( + operationId = "updatePet", + summary = "Update an existing pet", + tags = { "pet" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Pet.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Pet.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid ID supplied"), + @ApiResponse(responseCode = "404", description = "Pet not found"), + @ApiResponse(responseCode = "405", description = "Validation exception") + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + } + ) + @RequestMapping( + method = RequestMethod.PUT, + value = "/pet", + produces = "application/json", + consumes = "application/json" + ) + ResponseEntity updatePet( + @Parameter(name = "Pet", description = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet pet + ); + + + /** + * POST /pet/{petId} : Updates a pet in the store with form data + * + * + * @param petId ID of pet that needs to be updated (required) + * @param name Updated name of the pet (optional) + * @param status Updated status of the pet (optional) + * @return Invalid input (status code 405) + */ + @Operation( + operationId = "updatePetWithForm", + summary = "Updates a pet in the store with form data", + tags = { "pet" }, + responses = { + @ApiResponse(responseCode = "405", description = "Invalid input") + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + } + ) + @RequestMapping( + method = RequestMethod.POST, + value = "/pet/{petId}", + consumes = "application/x-www-form-urlencoded" + ) + ResponseEntity updatePetWithForm( + @Parameter(name = "petId", description = "ID of pet that needs to be updated", required = true) @PathVariable("petId") Long petId, + @Parameter(name = "name", description = "Updated name of the pet") @Valid @RequestParam(value = "name", required = false) String name, + @Parameter(name = "status", description = "Updated status of the pet") @Valid @RequestParam(value = "status", required = false) String status + ); + + + /** + * POST /pet/{petId}/uploadImage : uploads an image + * + * + * @param petId ID of pet to update (required) + * @param additionalMetadata Additional data to pass to server (optional) + * @param file file to upload (optional) + * @return successful operation (status code 200) + */ + @Operation( + operationId = "uploadFile", + summary = "uploads an image", + tags = { "pet" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/json", schema = @Schema(implementation = ModelApiResponse.class)) + }) + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + } + ) + @RequestMapping( + method = RequestMethod.POST, + value = "/pet/{petId}/uploadImage", + produces = "application/json", + consumes = "multipart/form-data" + ) + ResponseEntity uploadFile( + @Parameter(name = "petId", description = "ID of pet to update", required = true) @PathVariable("petId") Long petId, + @Parameter(name = "additionalMetadata", description = "Additional data to pass to server") @Valid @RequestParam(value = "additionalMetadata", required = false) String additionalMetadata, + @Parameter(name = "file", description = "file to upload") @RequestPart(value = "file", required = false) MultipartFile file + ); + +} diff --git a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/StoreApi.java new file mode 100644 index 0000000000..62ec9c2008 --- /dev/null +++ b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/StoreApi.java @@ -0,0 +1,155 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.0-SNAPSHOT). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +package org.openapitools.api; + +import java.util.Map; +import org.openapitools.model.Order; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.NativeWebRequest; +import org.springframework.web.multipart.MultipartFile; + +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import jakarta.annotation.Generated; + +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +@Validated +@Tag(name = "Store", description = "Access to Petstore orders") +public interface StoreApi { + + /** + * DELETE /store/order/{orderId} : Delete purchase order by ID + * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors + * + * @param orderId ID of the order that needs to be deleted (required) + * @return Invalid ID supplied (status code 400) + * or Order not found (status code 404) + */ + @Operation( + operationId = "deleteOrder", + summary = "Delete purchase order by ID", + tags = { "store" }, + responses = { + @ApiResponse(responseCode = "400", description = "Invalid ID supplied"), + @ApiResponse(responseCode = "404", description = "Order not found") + } + ) + @RequestMapping( + method = RequestMethod.DELETE, + value = "/store/order/{orderId}" + ) + ResponseEntity deleteOrder( + @Parameter(name = "orderId", description = "ID of the order that needs to be deleted", required = true) @PathVariable("orderId") String orderId + ); + + + /** + * GET /store/inventory : Returns pet inventories by status + * Returns a map of status codes to quantities + * + * @return successful operation (status code 200) + */ + @Operation( + operationId = "getInventory", + summary = "Returns pet inventories by status", + tags = { "store" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/json", schema = @Schema(implementation = Map.class)) + }) + }, + security = { + @SecurityRequirement(name = "api_key") + } + ) + @RequestMapping( + method = RequestMethod.GET, + value = "/store/inventory", + produces = "application/json" + ) + ResponseEntity> getInventory( + + ); + + + /** + * GET /store/order/{orderId} : Find purchase order by ID + * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions + * + * @param orderId ID of pet that needs to be fetched (required) + * @return successful operation (status code 200) + * or Invalid ID supplied (status code 400) + * or Order not found (status code 404) + */ + @Operation( + operationId = "getOrderById", + summary = "Find purchase order by ID", + tags = { "store" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Order.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Order.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid ID supplied"), + @ApiResponse(responseCode = "404", description = "Order not found") + } + ) + @RequestMapping( + method = RequestMethod.GET, + value = "/store/order/{orderId}", + produces = "application/json" + ) + ResponseEntity getOrderById( + @Min(1L) @Max(5L) @Parameter(name = "orderId", description = "ID of pet that needs to be fetched", required = true) @PathVariable("orderId") Long orderId + ); + + + /** + * POST /store/order : Place an order for a pet + * + * + * @param order order placed for purchasing the pet (required) + * @return successful operation (status code 200) + * or Invalid Order (status code 400) + */ + @Operation( + operationId = "placeOrder", + summary = "Place an order for a pet", + tags = { "store" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Order.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Order.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid Order") + } + ) + @RequestMapping( + method = RequestMethod.POST, + value = "/store/order", + produces = "application/json", + consumes = "application/json" + ) + ResponseEntity placeOrder( + @Parameter(name = "Order", description = "order placed for purchasing the pet", required = true) @Valid @RequestBody Order order + ); + +} diff --git a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/UserApi.java new file mode 100644 index 0000000000..c2618e3336 --- /dev/null +++ b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/UserApi.java @@ -0,0 +1,273 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.0-SNAPSHOT). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +package org.openapitools.api; + +import java.util.List; +import java.time.OffsetDateTime; +import org.openapitools.model.User; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.NativeWebRequest; +import org.springframework.web.multipart.MultipartFile; + +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import jakarta.annotation.Generated; + +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +@Validated +@Tag(name = "User", description = "Operations about user") +public interface UserApi { + + /** + * POST /user : Create user + * This can only be done by the logged in user. + * + * @param user Created user object (required) + * @return successful operation (status code 200) + */ + @Operation( + operationId = "createUser", + summary = "Create user", + tags = { "user" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") + } + ) + @RequestMapping( + method = RequestMethod.POST, + value = "/user", + consumes = "application/json" + ) + ResponseEntity createUser( + @Parameter(name = "User", description = "Created user object", required = true) @Valid @RequestBody User user + ); + + + /** + * POST /user/createWithArray : Creates list of users with given input array + * + * + * @param user List of user object (required) + * @return successful operation (status code 200) + */ + @Operation( + operationId = "createUsersWithArrayInput", + summary = "Creates list of users with given input array", + tags = { "user" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") + } + ) + @RequestMapping( + method = RequestMethod.POST, + value = "/user/createWithArray", + consumes = "application/json" + ) + ResponseEntity createUsersWithArrayInput( + @Parameter(name = "User", description = "List of user object", required = true) @Valid @RequestBody List user + ); + + + /** + * POST /user/createWithList : Creates list of users with given input array + * + * + * @param user List of user object (required) + * @return successful operation (status code 200) + */ + @Operation( + operationId = "createUsersWithListInput", + summary = "Creates list of users with given input array", + tags = { "user" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") + } + ) + @RequestMapping( + method = RequestMethod.POST, + value = "/user/createWithList", + consumes = "application/json" + ) + ResponseEntity createUsersWithListInput( + @Parameter(name = "User", description = "List of user object", required = true) @Valid @RequestBody List user + ); + + + /** + * DELETE /user/{username} : Delete user + * This can only be done by the logged in user. + * + * @param username The name that needs to be deleted (required) + * @return Invalid username supplied (status code 400) + * or User not found (status code 404) + */ + @Operation( + operationId = "deleteUser", + summary = "Delete user", + tags = { "user" }, + responses = { + @ApiResponse(responseCode = "400", description = "Invalid username supplied"), + @ApiResponse(responseCode = "404", description = "User not found") + }, + security = { + @SecurityRequirement(name = "api_key") + } + ) + @RequestMapping( + method = RequestMethod.DELETE, + value = "/user/{username}" + ) + ResponseEntity deleteUser( + @Parameter(name = "username", description = "The name that needs to be deleted", required = true) @PathVariable("username") String username + ); + + + /** + * GET /user/{username} : Get user by user name + * + * + * @param username The name that needs to be fetched. Use user1 for testing. (required) + * @return successful operation (status code 200) + * or Invalid username supplied (status code 400) + * or User not found (status code 404) + */ + @Operation( + operationId = "getUserByName", + summary = "Get user by user name", + tags = { "user" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = User.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = User.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid username supplied"), + @ApiResponse(responseCode = "404", description = "User not found") + } + ) + @RequestMapping( + method = RequestMethod.GET, + value = "/user/{username}", + produces = "application/json" + ) + ResponseEntity getUserByName( + @Parameter(name = "username", description = "The name that needs to be fetched. Use user1 for testing.", required = true) @PathVariable("username") String username + ); + + + /** + * GET /user/login : Logs user into the system + * + * + * @param username The user name for login (required) + * @param password The password for login in clear text (required) + * @return successful operation (status code 200) + * or Invalid username/password supplied (status code 400) + */ + @Operation( + operationId = "loginUser", + summary = "Logs user into the system", + tags = { "user" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = String.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = String.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid username/password supplied") + } + ) + @RequestMapping( + method = RequestMethod.GET, + value = "/user/login", + produces = "application/json" + ) + ResponseEntity loginUser( + @NotNull @Pattern(regexp = "^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$") @Parameter(name = "username", description = "The user name for login", required = true) @Valid @RequestParam(value = "username", required = true) String username, + @NotNull @Parameter(name = "password", description = "The password for login in clear text", required = true) @Valid @RequestParam(value = "password", required = true) String password + ); + + + /** + * GET /user/logout : Logs out current logged in user session + * + * + * @return successful operation (status code 200) + */ + @Operation( + operationId = "logoutUser", + summary = "Logs out current logged in user session", + tags = { "user" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") + } + ) + @RequestMapping( + method = RequestMethod.GET, + value = "/user/logout" + ) + ResponseEntity logoutUser( + + ); + + + /** + * PUT /user/{username} : Updated user + * This can only be done by the logged in user. + * + * @param username name that need to be deleted (required) + * @param user Updated user object (required) + * @return Invalid user supplied (status code 400) + * or User not found (status code 404) + */ + @Operation( + operationId = "updateUser", + summary = "Updated user", + tags = { "user" }, + responses = { + @ApiResponse(responseCode = "400", description = "Invalid user supplied"), + @ApiResponse(responseCode = "404", description = "User not found") + }, + security = { + @SecurityRequirement(name = "api_key") + } + ) + @RequestMapping( + method = RequestMethod.PUT, + value = "/user/{username}", + consumes = "application/json" + ) + ResponseEntity updateUser( + @Parameter(name = "username", description = "name that need to be deleted", required = true) @PathVariable("username") String username, + @Parameter(name = "User", description = "Updated user object", required = true) @Valid @RequestBody User user + ); + +} diff --git a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/Category.java b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/Category.java new file mode 100644 index 0000000000..f15bed2328 --- /dev/null +++ b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/Category.java @@ -0,0 +1,108 @@ +package org.openapitools.model; + +import java.net.URI; +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import org.openapitools.jackson.nullable.JsonNullable; +import java.time.OffsetDateTime; +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; + + +import java.util.*; +import jakarta.annotation.Generated; + +/** + * A category for a pet + */ + +@Schema(name = "Category", description = "A category for a pet") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +public class Category { + + @JsonProperty("id") + private Long id; + + @JsonProperty("name") + private String name; + + public Category id(Long id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + + @Schema(name = "id", required = false) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Category name(String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @Pattern(regexp = "^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$") + @Schema(name = "name", required = false) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Category category = (Category) o; + return Objects.equals(this.id, category.id) && + Objects.equals(this.name, category.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Category {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/ModelApiResponse.java b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/ModelApiResponse.java new file mode 100644 index 0000000000..e74c0d15a1 --- /dev/null +++ b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/ModelApiResponse.java @@ -0,0 +1,134 @@ +package org.openapitools.model; + +import java.net.URI; +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import org.openapitools.jackson.nullable.JsonNullable; +import java.time.OffsetDateTime; +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; + + +import java.util.*; +import jakarta.annotation.Generated; + +/** + * Describes the result of uploading an image resource + */ + +@Schema(name = "ApiResponse", description = "Describes the result of uploading an image resource") +@JsonTypeName("ApiResponse") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +public class ModelApiResponse { + + @JsonProperty("code") + private Integer code; + + @JsonProperty("type") + private String type; + + @JsonProperty("message") + private String message; + + public ModelApiResponse code(Integer code) { + this.code = code; + return this; + } + + /** + * Get code + * @return code + */ + + @Schema(name = "code", required = false) + public Integer getCode() { + return code; + } + + public void setCode(Integer code) { + this.code = code; + } + + public ModelApiResponse type(String type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + + @Schema(name = "type", required = false) + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public ModelApiResponse message(String message) { + this.message = message; + return this; + } + + /** + * Get message + * @return message + */ + + @Schema(name = "message", required = false) + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ModelApiResponse _apiResponse = (ModelApiResponse) o; + return Objects.equals(this.code, _apiResponse.code) && + Objects.equals(this.type, _apiResponse.type) && + Objects.equals(this.message, _apiResponse.message); + } + + @Override + public int hashCode() { + return Objects.hash(code, type, message); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ModelApiResponse {\n"); + sb.append(" code: ").append(toIndentedString(code)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/Order.java b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/Order.java new file mode 100644 index 0000000000..e4a1030a07 --- /dev/null +++ b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/Order.java @@ -0,0 +1,245 @@ +package org.openapitools.model; + +import java.net.URI; +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.time.OffsetDateTime; +import org.springframework.format.annotation.DateTimeFormat; +import org.openapitools.jackson.nullable.JsonNullable; +import java.time.OffsetDateTime; +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; + + +import java.util.*; +import jakarta.annotation.Generated; + +/** + * An order for a pets from the pet store + */ + +@Schema(name = "Order", description = "An order for a pets from the pet store") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +public class Order { + + @JsonProperty("id") + private Long id; + + @JsonProperty("petId") + private Long petId; + + @JsonProperty("quantity") + private Integer quantity; + + @JsonProperty("shipDate") + @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) + private OffsetDateTime shipDate; + + /** + * Order Status + */ + public enum StatusEnum { + PLACED("placed"), + + APPROVED("approved"), + + DELIVERED("delivered"); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("status") + private StatusEnum status; + + @JsonProperty("complete") + private Boolean complete = false; + + public Order id(Long id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + + @Schema(name = "id", required = false) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Order petId(Long petId) { + this.petId = petId; + return this; + } + + /** + * Get petId + * @return petId + */ + + @Schema(name = "petId", required = false) + public Long getPetId() { + return petId; + } + + public void setPetId(Long petId) { + this.petId = petId; + } + + public Order quantity(Integer quantity) { + this.quantity = quantity; + return this; + } + + /** + * Get quantity + * @return quantity + */ + + @Schema(name = "quantity", required = false) + public Integer getQuantity() { + return quantity; + } + + public void setQuantity(Integer quantity) { + this.quantity = quantity; + } + + public Order shipDate(OffsetDateTime shipDate) { + this.shipDate = shipDate; + return this; + } + + /** + * Get shipDate + * @return shipDate + */ + @Valid + @Schema(name = "shipDate", required = false) + public OffsetDateTime getShipDate() { + return shipDate; + } + + public void setShipDate(OffsetDateTime shipDate) { + this.shipDate = shipDate; + } + + public Order status(StatusEnum status) { + this.status = status; + return this; + } + + /** + * Order Status + * @return status + */ + + @Schema(name = "status", description = "Order Status", required = false) + public StatusEnum getStatus() { + return status; + } + + public void setStatus(StatusEnum status) { + this.status = status; + } + + public Order complete(Boolean complete) { + this.complete = complete; + return this; + } + + /** + * Get complete + * @return complete + */ + + @Schema(name = "complete", required = false) + public Boolean getComplete() { + return complete; + } + + public void setComplete(Boolean complete) { + this.complete = complete; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Order order = (Order) o; + return Objects.equals(this.id, order.id) && + Objects.equals(this.petId, order.petId) && + Objects.equals(this.quantity, order.quantity) && + Objects.equals(this.shipDate, order.shipDate) && + Objects.equals(this.status, order.status) && + Objects.equals(this.complete, order.complete); + } + + @Override + public int hashCode() { + return Objects.hash(id, petId, quantity, shipDate, status, complete); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Order {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" petId: ").append(toIndentedString(petId)).append("\n"); + sb.append(" quantity: ").append(toIndentedString(quantity)).append("\n"); + sb.append(" shipDate: ").append(toIndentedString(shipDate)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" complete: ").append(toIndentedString(complete)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/Pet.java b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/Pet.java new file mode 100644 index 0000000000..1e00d49524 --- /dev/null +++ b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/Pet.java @@ -0,0 +1,261 @@ +package org.openapitools.model; + +import java.net.URI; +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.List; +import org.openapitools.model.Category; +import org.openapitools.model.Tag; +import org.openapitools.jackson.nullable.JsonNullable; +import java.time.OffsetDateTime; +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; + + +import java.util.*; +import jakarta.annotation.Generated; + +/** + * A pet for sale in the pet store + */ + +@Schema(name = "Pet", description = "A pet for sale in the pet store") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +public class Pet { + + @JsonProperty("id") + private Long id; + + @JsonProperty("category") + private Category category; + + @JsonProperty("name") + private String name; + + @JsonProperty("photoUrls") + @Valid + private List photoUrls = new ArrayList<>(); + + @JsonProperty("tags") + @Valid + private List tags = null; + + /** + * pet status in the store + */ + public enum StatusEnum { + AVAILABLE("available"), + + PENDING("pending"), + + SOLD("sold"); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("status") + private StatusEnum status; + + public Pet id(Long id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + + @Schema(name = "id", required = false) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Pet category(Category category) { + this.category = category; + return this; + } + + /** + * Get category + * @return category + */ + @Valid + @Schema(name = "category", required = false) + public Category getCategory() { + return category; + } + + public void setCategory(Category category) { + this.category = category; + } + + public Pet name(String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @NotNull + @Schema(name = "name", example = "doggie", required = true) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Pet photoUrls(List photoUrls) { + this.photoUrls = photoUrls; + return this; + } + + public Pet addPhotoUrlsItem(String photoUrlsItem) { + this.photoUrls.add(photoUrlsItem); + return this; + } + + /** + * Get photoUrls + * @return photoUrls + */ + @NotNull + @Schema(name = "photoUrls", required = true) + public List getPhotoUrls() { + return photoUrls; + } + + public void setPhotoUrls(List photoUrls) { + this.photoUrls = photoUrls; + } + + public Pet tags(List tags) { + this.tags = tags; + return this; + } + + public Pet addTagsItem(Tag tagsItem) { + if (this.tags == null) { + this.tags = new ArrayList<>(); + } + this.tags.add(tagsItem); + return this; + } + + /** + * Get tags + * @return tags + */ + @Valid + @Schema(name = "tags", required = false) + public List getTags() { + return tags; + } + + public void setTags(List tags) { + this.tags = tags; + } + + public Pet status(StatusEnum status) { + this.status = status; + return this; + } + + /** + * pet status in the store + * @return status + */ + + @Schema(name = "status", description = "pet status in the store", required = false) + public StatusEnum getStatus() { + return status; + } + + public void setStatus(StatusEnum status) { + this.status = status; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Pet pet = (Pet) o; + return Objects.equals(this.id, pet.id) && + Objects.equals(this.category, pet.category) && + Objects.equals(this.name, pet.name) && + Objects.equals(this.photoUrls, pet.photoUrls) && + Objects.equals(this.tags, pet.tags) && + Objects.equals(this.status, pet.status); + } + + @Override + public int hashCode() { + return Objects.hash(id, category, name, photoUrls, tags, status); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Pet {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" photoUrls: ").append(toIndentedString(photoUrls)).append("\n"); + sb.append(" tags: ").append(toIndentedString(tags)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/Tag.java b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/Tag.java new file mode 100644 index 0000000000..97130c50c0 --- /dev/null +++ b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/Tag.java @@ -0,0 +1,108 @@ +package org.openapitools.model; + +import java.net.URI; +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import org.openapitools.jackson.nullable.JsonNullable; +import java.time.OffsetDateTime; +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; + + +import java.util.*; +import jakarta.annotation.Generated; + +/** + * A tag for a pet + */ + +@Schema(name = "Tag", description = "A tag for a pet") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +public class Tag { + + @JsonProperty("id") + private Long id; + + @JsonProperty("name") + private String name; + + public Tag id(Long id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + + @Schema(name = "id", required = false) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Tag name(String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + + @Schema(name = "name", required = false) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Tag tag = (Tag) o; + return Objects.equals(this.id, tag.id) && + Objects.equals(this.name, tag.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Tag {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/User.java b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/User.java new file mode 100644 index 0000000000..0a193cf96c --- /dev/null +++ b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/model/User.java @@ -0,0 +1,252 @@ +package org.openapitools.model; + +import java.net.URI; +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import org.openapitools.jackson.nullable.JsonNullable; +import java.time.OffsetDateTime; +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; + + +import java.util.*; +import jakarta.annotation.Generated; + +/** + * A User who is purchasing from the pet store + */ + +@Schema(name = "User", description = "A User who is purchasing from the pet store") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +public class User { + + @JsonProperty("id") + private Long id; + + @JsonProperty("username") + private String username; + + @JsonProperty("firstName") + private String firstName; + + @JsonProperty("lastName") + private String lastName; + + @JsonProperty("email") + private String email; + + @JsonProperty("password") + private String password; + + @JsonProperty("phone") + private String phone; + + @JsonProperty("userStatus") + private Integer userStatus; + + public User id(Long id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + + @Schema(name = "id", required = false) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public User username(String username) { + this.username = username; + return this; + } + + /** + * Get username + * @return username + */ + + @Schema(name = "username", required = false) + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public User firstName(String firstName) { + this.firstName = firstName; + return this; + } + + /** + * Get firstName + * @return firstName + */ + + @Schema(name = "firstName", required = false) + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public User lastName(String lastName) { + this.lastName = lastName; + return this; + } + + /** + * Get lastName + * @return lastName + */ + + @Schema(name = "lastName", required = false) + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public User email(String email) { + this.email = email; + return this; + } + + /** + * Get email + * @return email + */ + + @Schema(name = "email", required = false) + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public User password(String password) { + this.password = password; + return this; + } + + /** + * Get password + * @return password + */ + + @Schema(name = "password", required = false) + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public User phone(String phone) { + this.phone = phone; + return this; + } + + /** + * Get phone + * @return phone + */ + + @Schema(name = "phone", required = false) + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public User userStatus(Integer userStatus) { + this.userStatus = userStatus; + return this; + } + + /** + * User Status + * @return userStatus + */ + + @Schema(name = "userStatus", description = "User Status", required = false) + public Integer getUserStatus() { + return userStatus; + } + + public void setUserStatus(Integer userStatus) { + this.userStatus = userStatus; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + User user = (User) o; + return Objects.equals(this.id, user.id) && + Objects.equals(this.username, user.username) && + Objects.equals(this.firstName, user.firstName) && + Objects.equals(this.lastName, user.lastName) && + Objects.equals(this.email, user.email) && + Objects.equals(this.password, user.password) && + Objects.equals(this.phone, user.phone) && + Objects.equals(this.userStatus, user.userStatus); + } + + @Override + public int hashCode() { + return Objects.hash(id, username, firstName, lastName, email, password, phone, userStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class User {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" username: ").append(toIndentedString(username)).append("\n"); + sb.append(" firstName: ").append(toIndentedString(firstName)).append("\n"); + sb.append(" lastName: ").append(toIndentedString(lastName)).append("\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append(" password: ").append(toIndentedString(password)).append("\n"); + sb.append(" phone: ").append(toIndentedString(phone)).append("\n"); + sb.append(" userStatus: ").append(toIndentedString(userStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/samples/openapi3/server/petstore/springboot-3/.openapi-generator-ignore b/samples/openapi3/server/petstore/springboot-3/.openapi-generator-ignore new file mode 100644 index 0000000000..7484ee590a --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/samples/openapi3/server/petstore/springboot-3/.openapi-generator/FILES b/samples/openapi3/server/petstore/springboot-3/.openapi-generator/FILES new file mode 100644 index 0000000000..48cc819606 --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/.openapi-generator/FILES @@ -0,0 +1,22 @@ +README.md +pom.xml +src/main/java/org/openapitools/OpenApiGeneratorApplication.java +src/main/java/org/openapitools/RFC3339DateFormat.java +src/main/java/org/openapitools/api/ApiUtil.java +src/main/java/org/openapitools/api/PetApi.java +src/main/java/org/openapitools/api/PetApiController.java +src/main/java/org/openapitools/api/StoreApi.java +src/main/java/org/openapitools/api/StoreApiController.java +src/main/java/org/openapitools/api/UserApi.java +src/main/java/org/openapitools/api/UserApiController.java +src/main/java/org/openapitools/configuration/HomeController.java +src/main/java/org/openapitools/configuration/SpringDocConfiguration.java +src/main/java/org/openapitools/model/Category.java +src/main/java/org/openapitools/model/ModelApiResponse.java +src/main/java/org/openapitools/model/Order.java +src/main/java/org/openapitools/model/Pet.java +src/main/java/org/openapitools/model/Tag.java +src/main/java/org/openapitools/model/User.java +src/main/resources/application.properties +src/main/resources/openapi.yaml +src/test/java/org/openapitools/OpenApiGeneratorApplicationTests.java diff --git a/samples/openapi3/server/petstore/springboot-3/.openapi-generator/VERSION b/samples/openapi3/server/petstore/springboot-3/.openapi-generator/VERSION new file mode 100644 index 0000000000..5f68295fc1 --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/.openapi-generator/VERSION @@ -0,0 +1 @@ +6.0.0-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-3/README.md b/samples/openapi3/server/petstore/springboot-3/README.md new file mode 100644 index 0000000000..5cd22b6081 --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/README.md @@ -0,0 +1,21 @@ +# OpenAPI generated server + +Spring Boot Server + +## Overview +This server was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. +By using the [OpenAPI-Spec](https://openapis.org), you can easily generate a server stub. +This is an example of building a OpenAPI-enabled server in Java using the SpringBoot framework. + + +The underlying library integrating OpenAPI to Spring Boot is [springdoc](https://springdoc.org). +Springdoc will generate an OpenAPI v3 specification based on the generated Controller and Model classes. +The specification is available to download using the following url: +http://localhost:8080/v3/api-docs/ + +Start your server as a simple java application + +You can view the api documentation in swagger-ui by pointing to +http://localhost:8080/swagger-ui.html + +Change default port value in application.properties \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-3/pom.xml b/samples/openapi3/server/petstore/springboot-3/pom.xml new file mode 100644 index 0000000000..09dcd5a651 --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/pom.xml @@ -0,0 +1,89 @@ + + 4.0.0 + org.openapitools.openapi3 + springboot + jar + springboot + 1.0.0-SNAPSHOT + + 17 + ${java.version} + ${java.version} + UTF-8 + 2.0.0-M2 + 4.8.1 + + + org.springframework.boot + spring-boot-starter-parent + 3.0.0-M3 + + + + + + repository.spring.milestone + Spring Milestone Repository + http://repo.spring.io/milestone + + + + + src/main/java + + + org.springframework.boot + spring-boot-maven-plugin + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.data + spring-data-commons + + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + ${springdoc.version} + + + + com.google.code.findbugs + jsr305 + 3.0.2 + + + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + + + org.openapitools + jackson-databind-nullable + 0.2.2 + + + + org.springframework.boot + spring-boot-starter-validation + + + com.fasterxml.jackson.core + jackson-databind + + + org.springframework.boot + spring-boot-starter-test + test + + + diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/OpenApiGeneratorApplication.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/OpenApiGeneratorApplication.java new file mode 100644 index 0000000000..f62fd6d917 --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/OpenApiGeneratorApplication.java @@ -0,0 +1,23 @@ +package org.openapitools; + +import com.fasterxml.jackson.databind.Module; +import org.openapitools.jackson.nullable.JsonNullableModule; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; + +@SpringBootApplication +@ComponentScan(basePackages = {"org.openapitools", "org.openapitools.api" , "org.openapitools.configuration"}) +public class OpenApiGeneratorApplication { + + public static void main(String[] args) { + SpringApplication.run(OpenApiGeneratorApplication.class, args); + } + + @Bean + public Module jsonNullableModule() { + return new JsonNullableModule(); + } + +} \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/RFC3339DateFormat.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/RFC3339DateFormat.java new file mode 100644 index 0000000000..bcd3936d8b --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/RFC3339DateFormat.java @@ -0,0 +1,38 @@ +package org.openapitools; + +import com.fasterxml.jackson.databind.util.StdDateFormat; + +import java.text.DateFormat; +import java.text.FieldPosition; +import java.text.ParsePosition; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.TimeZone; + +public class RFC3339DateFormat extends DateFormat { + private static final long serialVersionUID = 1L; + private static final TimeZone TIMEZONE_Z = TimeZone.getTimeZone("UTC"); + + private final StdDateFormat fmt = new StdDateFormat() + .withTimeZone(TIMEZONE_Z) + .withColonInTimeZone(true); + + public RFC3339DateFormat() { + this.calendar = new GregorianCalendar(); + } + + @Override + public Date parse(String source, ParsePosition pos) { + return fmt.parse(source, pos); + } + + @Override + public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) { + return fmt.format(date, toAppendTo, fieldPosition); + } + + @Override + public Object clone() { + return this; + } +} \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/ApiUtil.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/ApiUtil.java new file mode 100644 index 0000000000..9bcd4f230e --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/ApiUtil.java @@ -0,0 +1,19 @@ +package org.openapitools.api; + +import org.springframework.web.context.request.NativeWebRequest; + +import jakarta.servlet.http.HttpServletResponse; +import java.io.IOException; + +public class ApiUtil { + public static void setExampleResponse(NativeWebRequest req, String contentType, String example) { + try { + HttpServletResponse res = req.getNativeResponse(HttpServletResponse.class); + res.setCharacterEncoding("UTF-8"); + res.addHeader("Content-Type", contentType); + res.getWriter().print(example); + } catch (IOException e) { + throw new RuntimeException(e); + } + } +} diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApi.java new file mode 100644 index 0000000000..f53d1b7e80 --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApi.java @@ -0,0 +1,414 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.0-SNAPSHOT). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +package org.openapitools.api; + +import org.openapitools.model.ModelApiResponse; +import org.openapitools.model.Pet; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.NativeWebRequest; +import org.springframework.web.multipart.MultipartFile; + +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import jakarta.annotation.Generated; + +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +@Validated +@Tag(name = "pet", description = "Everything about your Pets") +public interface PetApi { + + default Optional getRequest() { + return Optional.empty(); + } + + /** + * POST /pet : Add a new pet to the store + * + * + * @param pet Pet object that needs to be added to the store (required) + * @return successful operation (status code 200) + * or Invalid input (status code 405) + */ + @Operation( + operationId = "addPet", + summary = "Add a new pet to the store", + tags = { "pet" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Pet.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Pet.class)) + }), + @ApiResponse(responseCode = "405", description = "Invalid input") + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + } + ) + @RequestMapping( + method = RequestMethod.POST, + value = "/pet", + produces = { "application/xml", "application/json" }, + consumes = { "application/json", "application/xml" } + ) + default ResponseEntity addPet( + @Parameter(name = "Pet", description = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet pet + ) { + getRequest().ifPresent(request -> { + for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { + if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { + String exampleString = "{ \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"name\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"name\", \"id\" : 1 }, { \"name\" : \"name\", \"id\" : 1 } ], \"status\" : \"available\" }"; + ApiUtil.setExampleResponse(request, "application/json", exampleString); + break; + } + if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) { + String exampleString = " 123456789 doggie aeiou aeiou "; + ApiUtil.setExampleResponse(request, "application/xml", exampleString); + break; + } + } + }); + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * DELETE /pet/{petId} : Deletes a pet + * + * + * @param petId Pet id to delete (required) + * @param apiKey (optional) + * @return Invalid pet value (status code 400) + */ + @Operation( + operationId = "deletePet", + summary = "Deletes a pet", + tags = { "pet" }, + responses = { + @ApiResponse(responseCode = "400", description = "Invalid pet value") + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + } + ) + @RequestMapping( + method = RequestMethod.DELETE, + value = "/pet/{petId}" + ) + default ResponseEntity deletePet( + @Parameter(name = "petId", description = "Pet id to delete", required = true) @PathVariable("petId") Long petId, + @Parameter(name = "api_key", description = "") @RequestHeader(value = "api_key", required = false) String apiKey + ) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * GET /pet/findByStatus : Finds Pets by status + * Multiple status values can be provided with comma separated strings + * + * @param status Status values that need to be considered for filter (required) + * @return successful operation (status code 200) + * or Invalid status value (status code 400) + */ + @Operation( + operationId = "findPetsByStatus", + summary = "Finds Pets by status", + tags = { "pet" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Pet.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Pet.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid status value") + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "read:pets" }) + } + ) + @RequestMapping( + method = RequestMethod.GET, + value = "/pet/findByStatus", + produces = { "application/xml", "application/json" } + ) + default ResponseEntity> findPetsByStatus( + @NotNull @Parameter(name = "status", description = "Status values that need to be considered for filter", required = true) @Valid @RequestParam(value = "status", required = true) List status + ) { + getRequest().ifPresent(request -> { + for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { + if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { + String exampleString = "{ \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"name\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"name\", \"id\" : 1 }, { \"name\" : \"name\", \"id\" : 1 } ], \"status\" : \"available\" }"; + ApiUtil.setExampleResponse(request, "application/json", exampleString); + break; + } + if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) { + String exampleString = " 123456789 doggie aeiou aeiou "; + ApiUtil.setExampleResponse(request, "application/xml", exampleString); + break; + } + } + }); + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * GET /pet/findByTags : Finds Pets by tags + * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. + * + * @param tags Tags to filter by (required) + * @return successful operation (status code 200) + * or Invalid tag value (status code 400) + * @deprecated + */ + @Operation( + operationId = "findPetsByTags", + summary = "Finds Pets by tags", + tags = { "pet" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Pet.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Pet.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid tag value") + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "read:pets" }) + } + ) + @RequestMapping( + method = RequestMethod.GET, + value = "/pet/findByTags", + produces = { "application/xml", "application/json" } + ) + default ResponseEntity> findPetsByTags( + @NotNull @Parameter(name = "tags", description = "Tags to filter by", required = true) @Valid @RequestParam(value = "tags", required = true) List tags + ) { + getRequest().ifPresent(request -> { + for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { + if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { + String exampleString = "{ \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"name\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"name\", \"id\" : 1 }, { \"name\" : \"name\", \"id\" : 1 } ], \"status\" : \"available\" }"; + ApiUtil.setExampleResponse(request, "application/json", exampleString); + break; + } + if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) { + String exampleString = " 123456789 doggie aeiou aeiou "; + ApiUtil.setExampleResponse(request, "application/xml", exampleString); + break; + } + } + }); + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * GET /pet/{petId} : Find pet by ID + * Returns a single pet + * + * @param petId ID of pet to return (required) + * @return successful operation (status code 200) + * or Invalid ID supplied (status code 400) + * or Pet not found (status code 404) + */ + @Operation( + operationId = "getPetById", + summary = "Find pet by ID", + tags = { "pet" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Pet.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Pet.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid ID supplied"), + @ApiResponse(responseCode = "404", description = "Pet not found") + }, + security = { + @SecurityRequirement(name = "api_key") + } + ) + @RequestMapping( + method = RequestMethod.GET, + value = "/pet/{petId}", + produces = { "application/xml", "application/json" } + ) + default ResponseEntity getPetById( + @Parameter(name = "petId", description = "ID of pet to return", required = true) @PathVariable("petId") Long petId + ) { + getRequest().ifPresent(request -> { + for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { + if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { + String exampleString = "{ \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"name\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"name\", \"id\" : 1 }, { \"name\" : \"name\", \"id\" : 1 } ], \"status\" : \"available\" }"; + ApiUtil.setExampleResponse(request, "application/json", exampleString); + break; + } + if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) { + String exampleString = " 123456789 doggie aeiou aeiou "; + ApiUtil.setExampleResponse(request, "application/xml", exampleString); + break; + } + } + }); + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * PUT /pet : Update an existing pet + * + * + * @param pet Pet object that needs to be added to the store (required) + * @return successful operation (status code 200) + * or Invalid ID supplied (status code 400) + * or Pet not found (status code 404) + * or Validation exception (status code 405) + */ + @Operation( + operationId = "updatePet", + summary = "Update an existing pet", + tags = { "pet" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Pet.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Pet.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid ID supplied"), + @ApiResponse(responseCode = "404", description = "Pet not found"), + @ApiResponse(responseCode = "405", description = "Validation exception") + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + } + ) + @RequestMapping( + method = RequestMethod.PUT, + value = "/pet", + produces = { "application/xml", "application/json" }, + consumes = { "application/json", "application/xml" } + ) + default ResponseEntity updatePet( + @Parameter(name = "Pet", description = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet pet + ) { + getRequest().ifPresent(request -> { + for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { + if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { + String exampleString = "{ \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"name\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"name\", \"id\" : 1 }, { \"name\" : \"name\", \"id\" : 1 } ], \"status\" : \"available\" }"; + ApiUtil.setExampleResponse(request, "application/json", exampleString); + break; + } + if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) { + String exampleString = " 123456789 doggie aeiou aeiou "; + ApiUtil.setExampleResponse(request, "application/xml", exampleString); + break; + } + } + }); + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * POST /pet/{petId} : Updates a pet in the store with form data + * + * + * @param petId ID of pet that needs to be updated (required) + * @param name Updated name of the pet (optional) + * @param status Updated status of the pet (optional) + * @return Invalid input (status code 405) + */ + @Operation( + operationId = "updatePetWithForm", + summary = "Updates a pet in the store with form data", + tags = { "pet" }, + responses = { + @ApiResponse(responseCode = "405", description = "Invalid input") + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + } + ) + @RequestMapping( + method = RequestMethod.POST, + value = "/pet/{petId}", + consumes = { "application/x-www-form-urlencoded" } + ) + default ResponseEntity updatePetWithForm( + @Parameter(name = "petId", description = "ID of pet that needs to be updated", required = true) @PathVariable("petId") Long petId, + @Parameter(name = "name", description = "Updated name of the pet") @Valid @RequestParam(value = "name", required = false) String name, + @Parameter(name = "status", description = "Updated status of the pet") @Valid @RequestParam(value = "status", required = false) String status + ) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * POST /pet/{petId}/uploadImage : uploads an image + * + * + * @param petId ID of pet to update (required) + * @param additionalMetadata Additional data to pass to server (optional) + * @param file file to upload (optional) + * @return successful operation (status code 200) + */ + @Operation( + operationId = "uploadFile", + summary = "uploads an image", + tags = { "pet" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/json", schema = @Schema(implementation = ModelApiResponse.class)) + }) + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + } + ) + @RequestMapping( + method = RequestMethod.POST, + value = "/pet/{petId}/uploadImage", + produces = { "application/json" }, + consumes = { "multipart/form-data" } + ) + default ResponseEntity uploadFile( + @Parameter(name = "petId", description = "ID of pet to update", required = true) @PathVariable("petId") Long petId, + @Parameter(name = "additionalMetadata", description = "Additional data to pass to server") @Valid @RequestParam(value = "additionalMetadata", required = false) String additionalMetadata, + @Parameter(name = "file", description = "file to upload") @RequestPart(value = "file", required = false) MultipartFile file + ) { + getRequest().ifPresent(request -> { + for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { + if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { + String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\" }"; + ApiUtil.setExampleResponse(request, "application/json", exampleString); + break; + } + } + }); + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + +} diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApiController.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApiController.java new file mode 100644 index 0000000000..1197295026 --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApiController.java @@ -0,0 +1,47 @@ +package org.openapitools.api; + +import org.openapitools.model.ModelApiResponse; +import org.openapitools.model.Pet; + + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.CookieValue; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.context.request.NativeWebRequest; + +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; + +import java.util.List; +import java.util.Map; +import java.util.Optional; +import jakarta.annotation.Generated; + +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +@Controller +@RequestMapping("${openapi.openAPIPetstore.base-path:/v2}") +public class PetApiController implements PetApi { + + private final NativeWebRequest request; + + @Autowired + public PetApiController(NativeWebRequest request) { + this.request = request; + } + + @Override + public Optional getRequest() { + return Optional.ofNullable(request); + } + +} diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/StoreApi.java new file mode 100644 index 0000000000..c266470ba7 --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/StoreApi.java @@ -0,0 +1,199 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.0-SNAPSHOT). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +package org.openapitools.api; + +import java.util.Map; +import org.openapitools.model.Order; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.NativeWebRequest; +import org.springframework.web.multipart.MultipartFile; + +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import jakarta.annotation.Generated; + +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +@Validated +@Tag(name = "store", description = "Access to Petstore orders") +public interface StoreApi { + + default Optional getRequest() { + return Optional.empty(); + } + + /** + * DELETE /store/order/{orderId} : Delete purchase order by ID + * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors + * + * @param orderId ID of the order that needs to be deleted (required) + * @return Invalid ID supplied (status code 400) + * or Order not found (status code 404) + */ + @Operation( + operationId = "deleteOrder", + summary = "Delete purchase order by ID", + tags = { "store" }, + responses = { + @ApiResponse(responseCode = "400", description = "Invalid ID supplied"), + @ApiResponse(responseCode = "404", description = "Order not found") + } + ) + @RequestMapping( + method = RequestMethod.DELETE, + value = "/store/order/{orderId}" + ) + default ResponseEntity deleteOrder( + @Parameter(name = "orderId", description = "ID of the order that needs to be deleted", required = true) @PathVariable("orderId") String orderId + ) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * GET /store/inventory : Returns pet inventories by status + * Returns a map of status codes to quantities + * + * @return successful operation (status code 200) + */ + @Operation( + operationId = "getInventory", + summary = "Returns pet inventories by status", + tags = { "store" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/json", schema = @Schema(implementation = Map.class)) + }) + }, + security = { + @SecurityRequirement(name = "api_key") + } + ) + @RequestMapping( + method = RequestMethod.GET, + value = "/store/inventory", + produces = { "application/json" } + ) + default ResponseEntity> getInventory( + + ) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * GET /store/order/{orderId} : Find purchase order by ID + * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions + * + * @param orderId ID of pet that needs to be fetched (required) + * @return successful operation (status code 200) + * or Invalid ID supplied (status code 400) + * or Order not found (status code 404) + */ + @Operation( + operationId = "getOrderById", + summary = "Find purchase order by ID", + tags = { "store" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Order.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Order.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid ID supplied"), + @ApiResponse(responseCode = "404", description = "Order not found") + } + ) + @RequestMapping( + method = RequestMethod.GET, + value = "/store/order/{orderId}", + produces = { "application/xml", "application/json" } + ) + default ResponseEntity getOrderById( + @Min(1L) @Max(5L) @Parameter(name = "orderId", description = "ID of pet that needs to be fetched", required = true) @PathVariable("orderId") Long orderId + ) { + getRequest().ifPresent(request -> { + for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { + if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { + String exampleString = "{ \"petId\" : 6, \"quantity\" : 1, \"id\" : 0, \"shipDate\" : \"2000-01-23T04:56:07.000+00:00\", \"complete\" : false, \"status\" : \"placed\" }"; + ApiUtil.setExampleResponse(request, "application/json", exampleString); + break; + } + if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) { + String exampleString = " 123456789 123456789 123 2000-01-23T04:56:07.000Z aeiou true "; + ApiUtil.setExampleResponse(request, "application/xml", exampleString); + break; + } + } + }); + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * POST /store/order : Place an order for a pet + * + * + * @param order order placed for purchasing the pet (required) + * @return successful operation (status code 200) + * or Invalid Order (status code 400) + */ + @Operation( + operationId = "placeOrder", + summary = "Place an order for a pet", + tags = { "store" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Order.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Order.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid Order") + } + ) + @RequestMapping( + method = RequestMethod.POST, + value = "/store/order", + produces = { "application/xml", "application/json" }, + consumes = { "application/json" } + ) + default ResponseEntity placeOrder( + @Parameter(name = "Order", description = "order placed for purchasing the pet", required = true) @Valid @RequestBody Order order + ) { + getRequest().ifPresent(request -> { + for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { + if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { + String exampleString = "{ \"petId\" : 6, \"quantity\" : 1, \"id\" : 0, \"shipDate\" : \"2000-01-23T04:56:07.000+00:00\", \"complete\" : false, \"status\" : \"placed\" }"; + ApiUtil.setExampleResponse(request, "application/json", exampleString); + break; + } + if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) { + String exampleString = " 123456789 123456789 123 2000-01-23T04:56:07.000Z aeiou true "; + ApiUtil.setExampleResponse(request, "application/xml", exampleString); + break; + } + } + }); + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + +} diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/StoreApiController.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/StoreApiController.java new file mode 100644 index 0000000000..eaca23c3f8 --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/StoreApiController.java @@ -0,0 +1,47 @@ +package org.openapitools.api; + +import java.util.Map; +import org.openapitools.model.Order; + + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.CookieValue; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.context.request.NativeWebRequest; + +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; + +import java.util.List; +import java.util.Map; +import java.util.Optional; +import jakarta.annotation.Generated; + +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +@Controller +@RequestMapping("${openapi.openAPIPetstore.base-path:/v2}") +public class StoreApiController implements StoreApi { + + private final NativeWebRequest request; + + @Autowired + public StoreApiController(NativeWebRequest request) { + this.request = request; + } + + @Override + public Optional getRequest() { + return Optional.ofNullable(request); + } + +} diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/UserApi.java new file mode 100644 index 0000000000..e4f89dc975 --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/UserApi.java @@ -0,0 +1,315 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.0-SNAPSHOT). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +package org.openapitools.api; + +import java.util.List; +import java.time.OffsetDateTime; +import org.openapitools.model.User; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.NativeWebRequest; +import org.springframework.web.multipart.MultipartFile; + +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import jakarta.annotation.Generated; + +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +@Validated +@Tag(name = "user", description = "Operations about user") +public interface UserApi { + + default Optional getRequest() { + return Optional.empty(); + } + + /** + * POST /user : Create user + * This can only be done by the logged in user. + * + * @param user Created user object (required) + * @return successful operation (status code 200) + */ + @Operation( + operationId = "createUser", + summary = "Create user", + tags = { "user" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") + } + ) + @RequestMapping( + method = RequestMethod.POST, + value = "/user", + consumes = { "application/json" } + ) + default ResponseEntity createUser( + @Parameter(name = "User", description = "Created user object", required = true) @Valid @RequestBody User user + ) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * POST /user/createWithArray : Creates list of users with given input array + * + * + * @param user List of user object (required) + * @return successful operation (status code 200) + */ + @Operation( + operationId = "createUsersWithArrayInput", + summary = "Creates list of users with given input array", + tags = { "user" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") + } + ) + @RequestMapping( + method = RequestMethod.POST, + value = "/user/createWithArray", + consumes = { "application/json" } + ) + default ResponseEntity createUsersWithArrayInput( + @Parameter(name = "User", description = "List of user object", required = true) @Valid @RequestBody List user + ) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * POST /user/createWithList : Creates list of users with given input array + * + * + * @param user List of user object (required) + * @return successful operation (status code 200) + */ + @Operation( + operationId = "createUsersWithListInput", + summary = "Creates list of users with given input array", + tags = { "user" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") + } + ) + @RequestMapping( + method = RequestMethod.POST, + value = "/user/createWithList", + consumes = { "application/json" } + ) + default ResponseEntity createUsersWithListInput( + @Parameter(name = "User", description = "List of user object", required = true) @Valid @RequestBody List user + ) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * DELETE /user/{username} : Delete user + * This can only be done by the logged in user. + * + * @param username The name that needs to be deleted (required) + * @return Invalid username supplied (status code 400) + * or User not found (status code 404) + */ + @Operation( + operationId = "deleteUser", + summary = "Delete user", + tags = { "user" }, + responses = { + @ApiResponse(responseCode = "400", description = "Invalid username supplied"), + @ApiResponse(responseCode = "404", description = "User not found") + }, + security = { + @SecurityRequirement(name = "api_key") + } + ) + @RequestMapping( + method = RequestMethod.DELETE, + value = "/user/{username}" + ) + default ResponseEntity deleteUser( + @Parameter(name = "username", description = "The name that needs to be deleted", required = true) @PathVariable("username") String username + ) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * GET /user/{username} : Get user by user name + * + * + * @param username The name that needs to be fetched. Use user1 for testing. (required) + * @return successful operation (status code 200) + * or Invalid username supplied (status code 400) + * or User not found (status code 404) + */ + @Operation( + operationId = "getUserByName", + summary = "Get user by user name", + tags = { "user" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = User.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = User.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid username supplied"), + @ApiResponse(responseCode = "404", description = "User not found") + } + ) + @RequestMapping( + method = RequestMethod.GET, + value = "/user/{username}", + produces = { "application/xml", "application/json" } + ) + default ResponseEntity getUserByName( + @Parameter(name = "username", description = "The name that needs to be fetched. Use user1 for testing.", required = true) @PathVariable("username") String username + ) { + getRequest().ifPresent(request -> { + for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { + if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { + String exampleString = "{ \"firstName\" : \"firstName\", \"lastName\" : \"lastName\", \"password\" : \"password\", \"userStatus\" : 6, \"phone\" : \"phone\", \"id\" : 0, \"email\" : \"email\", \"username\" : \"username\" }"; + ApiUtil.setExampleResponse(request, "application/json", exampleString); + break; + } + if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) { + String exampleString = " 123456789 aeiou aeiou aeiou aeiou aeiou aeiou 123 "; + ApiUtil.setExampleResponse(request, "application/xml", exampleString); + break; + } + } + }); + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * GET /user/login : Logs user into the system + * + * + * @param username The user name for login (required) + * @param password The password for login in clear text (required) + * @return successful operation (status code 200) + * or Invalid username/password supplied (status code 400) + */ + @Operation( + operationId = "loginUser", + summary = "Logs user into the system", + tags = { "user" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = String.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = String.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid username/password supplied") + } + ) + @RequestMapping( + method = RequestMethod.GET, + value = "/user/login", + produces = { "application/xml", "application/json" } + ) + default ResponseEntity loginUser( + @NotNull @Pattern(regexp = "^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$") @Parameter(name = "username", description = "The user name for login", required = true) @Valid @RequestParam(value = "username", required = true) String username, + @NotNull @Parameter(name = "password", description = "The password for login in clear text", required = true) @Valid @RequestParam(value = "password", required = true) String password + ) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * GET /user/logout : Logs out current logged in user session + * + * + * @return successful operation (status code 200) + */ + @Operation( + operationId = "logoutUser", + summary = "Logs out current logged in user session", + tags = { "user" }, + responses = { + @ApiResponse(responseCode = "200", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") + } + ) + @RequestMapping( + method = RequestMethod.GET, + value = "/user/logout" + ) + default ResponseEntity logoutUser( + + ) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * PUT /user/{username} : Updated user + * This can only be done by the logged in user. + * + * @param username name that need to be deleted (required) + * @param user Updated user object (required) + * @return Invalid user supplied (status code 400) + * or User not found (status code 404) + */ + @Operation( + operationId = "updateUser", + summary = "Updated user", + tags = { "user" }, + responses = { + @ApiResponse(responseCode = "400", description = "Invalid user supplied"), + @ApiResponse(responseCode = "404", description = "User not found") + }, + security = { + @SecurityRequirement(name = "api_key") + } + ) + @RequestMapping( + method = RequestMethod.PUT, + value = "/user/{username}", + consumes = { "application/json" } + ) + default ResponseEntity updateUser( + @Parameter(name = "username", description = "name that need to be deleted", required = true) @PathVariable("username") String username, + @Parameter(name = "User", description = "Updated user object", required = true) @Valid @RequestBody User user + ) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + +} diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/UserApiController.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/UserApiController.java new file mode 100644 index 0000000000..412a400d7d --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/UserApiController.java @@ -0,0 +1,48 @@ +package org.openapitools.api; + +import java.util.List; +import java.time.OffsetDateTime; +import org.openapitools.model.User; + + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.CookieValue; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.context.request.NativeWebRequest; + +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; + +import java.util.List; +import java.util.Map; +import java.util.Optional; +import jakarta.annotation.Generated; + +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +@Controller +@RequestMapping("${openapi.openAPIPetstore.base-path:/v2}") +public class UserApiController implements UserApi { + + private final NativeWebRequest request; + + @Autowired + public UserApiController(NativeWebRequest request) { + this.request = request; + } + + @Override + public Optional getRequest() { + return Optional.ofNullable(request); + } + +} diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/configuration/HomeController.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/configuration/HomeController.java new file mode 100644 index 0000000000..9aa29284ab --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/configuration/HomeController.java @@ -0,0 +1,20 @@ +package org.openapitools.configuration; + +import org.springframework.context.annotation.Bean; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.GetMapping; + +/** + * Home redirection to OpenAPI api documentation + */ +@Controller +public class HomeController { + + @RequestMapping("/") + public String index() { + return "redirect:swagger-ui.html"; + } + +} \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/configuration/SpringDocConfiguration.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/configuration/SpringDocConfiguration.java new file mode 100644 index 0000000000..fc42981e19 --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/configuration/SpringDocConfiguration.java @@ -0,0 +1,43 @@ +package org.openapitools.configuration; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Info; +import io.swagger.v3.oas.models.info.Contact; +import io.swagger.v3.oas.models.info.License; +import io.swagger.v3.oas.models.Components; +import io.swagger.v3.oas.models.security.SecurityScheme; + +@Configuration +public class SpringDocConfiguration { + + @Bean + OpenAPI apiInfo() { + return new OpenAPI() + .info( + new Info() + .title("OpenAPI Petstore") + .description("This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.") + .license( + new License() + .name("Apache-2.0") + .url("https://www.apache.org/licenses/LICENSE-2.0.html") + ) + .version("1.0.0") + ) + .components( + new Components() + .addSecuritySchemes("api_key", new SecurityScheme() + .type(SecurityScheme.Type.APIKEY) + .in(SecurityScheme.In.HEADER) + .name("api_key") + ) + .addSecuritySchemes("petstore_auth", new SecurityScheme() + .type(SecurityScheme.Type.OAUTH2) + ) + ) + ; + } +} \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/Category.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/Category.java new file mode 100644 index 0000000000..f15bed2328 --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/Category.java @@ -0,0 +1,108 @@ +package org.openapitools.model; + +import java.net.URI; +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import org.openapitools.jackson.nullable.JsonNullable; +import java.time.OffsetDateTime; +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; + + +import java.util.*; +import jakarta.annotation.Generated; + +/** + * A category for a pet + */ + +@Schema(name = "Category", description = "A category for a pet") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +public class Category { + + @JsonProperty("id") + private Long id; + + @JsonProperty("name") + private String name; + + public Category id(Long id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + + @Schema(name = "id", required = false) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Category name(String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @Pattern(regexp = "^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$") + @Schema(name = "name", required = false) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Category category = (Category) o; + return Objects.equals(this.id, category.id) && + Objects.equals(this.name, category.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Category {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/ModelApiResponse.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/ModelApiResponse.java new file mode 100644 index 0000000000..e74c0d15a1 --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/ModelApiResponse.java @@ -0,0 +1,134 @@ +package org.openapitools.model; + +import java.net.URI; +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import org.openapitools.jackson.nullable.JsonNullable; +import java.time.OffsetDateTime; +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; + + +import java.util.*; +import jakarta.annotation.Generated; + +/** + * Describes the result of uploading an image resource + */ + +@Schema(name = "ApiResponse", description = "Describes the result of uploading an image resource") +@JsonTypeName("ApiResponse") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +public class ModelApiResponse { + + @JsonProperty("code") + private Integer code; + + @JsonProperty("type") + private String type; + + @JsonProperty("message") + private String message; + + public ModelApiResponse code(Integer code) { + this.code = code; + return this; + } + + /** + * Get code + * @return code + */ + + @Schema(name = "code", required = false) + public Integer getCode() { + return code; + } + + public void setCode(Integer code) { + this.code = code; + } + + public ModelApiResponse type(String type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + + @Schema(name = "type", required = false) + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public ModelApiResponse message(String message) { + this.message = message; + return this; + } + + /** + * Get message + * @return message + */ + + @Schema(name = "message", required = false) + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ModelApiResponse _apiResponse = (ModelApiResponse) o; + return Objects.equals(this.code, _apiResponse.code) && + Objects.equals(this.type, _apiResponse.type) && + Objects.equals(this.message, _apiResponse.message); + } + + @Override + public int hashCode() { + return Objects.hash(code, type, message); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ModelApiResponse {\n"); + sb.append(" code: ").append(toIndentedString(code)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/Order.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/Order.java new file mode 100644 index 0000000000..e4a1030a07 --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/Order.java @@ -0,0 +1,245 @@ +package org.openapitools.model; + +import java.net.URI; +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.time.OffsetDateTime; +import org.springframework.format.annotation.DateTimeFormat; +import org.openapitools.jackson.nullable.JsonNullable; +import java.time.OffsetDateTime; +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; + + +import java.util.*; +import jakarta.annotation.Generated; + +/** + * An order for a pets from the pet store + */ + +@Schema(name = "Order", description = "An order for a pets from the pet store") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +public class Order { + + @JsonProperty("id") + private Long id; + + @JsonProperty("petId") + private Long petId; + + @JsonProperty("quantity") + private Integer quantity; + + @JsonProperty("shipDate") + @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) + private OffsetDateTime shipDate; + + /** + * Order Status + */ + public enum StatusEnum { + PLACED("placed"), + + APPROVED("approved"), + + DELIVERED("delivered"); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("status") + private StatusEnum status; + + @JsonProperty("complete") + private Boolean complete = false; + + public Order id(Long id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + + @Schema(name = "id", required = false) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Order petId(Long petId) { + this.petId = petId; + return this; + } + + /** + * Get petId + * @return petId + */ + + @Schema(name = "petId", required = false) + public Long getPetId() { + return petId; + } + + public void setPetId(Long petId) { + this.petId = petId; + } + + public Order quantity(Integer quantity) { + this.quantity = quantity; + return this; + } + + /** + * Get quantity + * @return quantity + */ + + @Schema(name = "quantity", required = false) + public Integer getQuantity() { + return quantity; + } + + public void setQuantity(Integer quantity) { + this.quantity = quantity; + } + + public Order shipDate(OffsetDateTime shipDate) { + this.shipDate = shipDate; + return this; + } + + /** + * Get shipDate + * @return shipDate + */ + @Valid + @Schema(name = "shipDate", required = false) + public OffsetDateTime getShipDate() { + return shipDate; + } + + public void setShipDate(OffsetDateTime shipDate) { + this.shipDate = shipDate; + } + + public Order status(StatusEnum status) { + this.status = status; + return this; + } + + /** + * Order Status + * @return status + */ + + @Schema(name = "status", description = "Order Status", required = false) + public StatusEnum getStatus() { + return status; + } + + public void setStatus(StatusEnum status) { + this.status = status; + } + + public Order complete(Boolean complete) { + this.complete = complete; + return this; + } + + /** + * Get complete + * @return complete + */ + + @Schema(name = "complete", required = false) + public Boolean getComplete() { + return complete; + } + + public void setComplete(Boolean complete) { + this.complete = complete; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Order order = (Order) o; + return Objects.equals(this.id, order.id) && + Objects.equals(this.petId, order.petId) && + Objects.equals(this.quantity, order.quantity) && + Objects.equals(this.shipDate, order.shipDate) && + Objects.equals(this.status, order.status) && + Objects.equals(this.complete, order.complete); + } + + @Override + public int hashCode() { + return Objects.hash(id, petId, quantity, shipDate, status, complete); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Order {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" petId: ").append(toIndentedString(petId)).append("\n"); + sb.append(" quantity: ").append(toIndentedString(quantity)).append("\n"); + sb.append(" shipDate: ").append(toIndentedString(shipDate)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" complete: ").append(toIndentedString(complete)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/Pet.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/Pet.java new file mode 100644 index 0000000000..1e00d49524 --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/Pet.java @@ -0,0 +1,261 @@ +package org.openapitools.model; + +import java.net.URI; +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.List; +import org.openapitools.model.Category; +import org.openapitools.model.Tag; +import org.openapitools.jackson.nullable.JsonNullable; +import java.time.OffsetDateTime; +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; + + +import java.util.*; +import jakarta.annotation.Generated; + +/** + * A pet for sale in the pet store + */ + +@Schema(name = "Pet", description = "A pet for sale in the pet store") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +public class Pet { + + @JsonProperty("id") + private Long id; + + @JsonProperty("category") + private Category category; + + @JsonProperty("name") + private String name; + + @JsonProperty("photoUrls") + @Valid + private List photoUrls = new ArrayList<>(); + + @JsonProperty("tags") + @Valid + private List tags = null; + + /** + * pet status in the store + */ + public enum StatusEnum { + AVAILABLE("available"), + + PENDING("pending"), + + SOLD("sold"); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("status") + private StatusEnum status; + + public Pet id(Long id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + + @Schema(name = "id", required = false) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Pet category(Category category) { + this.category = category; + return this; + } + + /** + * Get category + * @return category + */ + @Valid + @Schema(name = "category", required = false) + public Category getCategory() { + return category; + } + + public void setCategory(Category category) { + this.category = category; + } + + public Pet name(String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @NotNull + @Schema(name = "name", example = "doggie", required = true) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Pet photoUrls(List photoUrls) { + this.photoUrls = photoUrls; + return this; + } + + public Pet addPhotoUrlsItem(String photoUrlsItem) { + this.photoUrls.add(photoUrlsItem); + return this; + } + + /** + * Get photoUrls + * @return photoUrls + */ + @NotNull + @Schema(name = "photoUrls", required = true) + public List getPhotoUrls() { + return photoUrls; + } + + public void setPhotoUrls(List photoUrls) { + this.photoUrls = photoUrls; + } + + public Pet tags(List tags) { + this.tags = tags; + return this; + } + + public Pet addTagsItem(Tag tagsItem) { + if (this.tags == null) { + this.tags = new ArrayList<>(); + } + this.tags.add(tagsItem); + return this; + } + + /** + * Get tags + * @return tags + */ + @Valid + @Schema(name = "tags", required = false) + public List getTags() { + return tags; + } + + public void setTags(List tags) { + this.tags = tags; + } + + public Pet status(StatusEnum status) { + this.status = status; + return this; + } + + /** + * pet status in the store + * @return status + */ + + @Schema(name = "status", description = "pet status in the store", required = false) + public StatusEnum getStatus() { + return status; + } + + public void setStatus(StatusEnum status) { + this.status = status; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Pet pet = (Pet) o; + return Objects.equals(this.id, pet.id) && + Objects.equals(this.category, pet.category) && + Objects.equals(this.name, pet.name) && + Objects.equals(this.photoUrls, pet.photoUrls) && + Objects.equals(this.tags, pet.tags) && + Objects.equals(this.status, pet.status); + } + + @Override + public int hashCode() { + return Objects.hash(id, category, name, photoUrls, tags, status); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Pet {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" photoUrls: ").append(toIndentedString(photoUrls)).append("\n"); + sb.append(" tags: ").append(toIndentedString(tags)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/Tag.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/Tag.java new file mode 100644 index 0000000000..97130c50c0 --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/Tag.java @@ -0,0 +1,108 @@ +package org.openapitools.model; + +import java.net.URI; +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import org.openapitools.jackson.nullable.JsonNullable; +import java.time.OffsetDateTime; +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; + + +import java.util.*; +import jakarta.annotation.Generated; + +/** + * A tag for a pet + */ + +@Schema(name = "Tag", description = "A tag for a pet") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +public class Tag { + + @JsonProperty("id") + private Long id; + + @JsonProperty("name") + private String name; + + public Tag id(Long id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + + @Schema(name = "id", required = false) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Tag name(String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + + @Schema(name = "name", required = false) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Tag tag = (Tag) o; + return Objects.equals(this.id, tag.id) && + Objects.equals(this.name, tag.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Tag {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/User.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/User.java new file mode 100644 index 0000000000..0a193cf96c --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/model/User.java @@ -0,0 +1,252 @@ +package org.openapitools.model; + +import java.net.URI; +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import org.openapitools.jackson.nullable.JsonNullable; +import java.time.OffsetDateTime; +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; + + +import java.util.*; +import jakarta.annotation.Generated; + +/** + * A User who is purchasing from the pet store + */ + +@Schema(name = "User", description = "A User who is purchasing from the pet store") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") +public class User { + + @JsonProperty("id") + private Long id; + + @JsonProperty("username") + private String username; + + @JsonProperty("firstName") + private String firstName; + + @JsonProperty("lastName") + private String lastName; + + @JsonProperty("email") + private String email; + + @JsonProperty("password") + private String password; + + @JsonProperty("phone") + private String phone; + + @JsonProperty("userStatus") + private Integer userStatus; + + public User id(Long id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + + @Schema(name = "id", required = false) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public User username(String username) { + this.username = username; + return this; + } + + /** + * Get username + * @return username + */ + + @Schema(name = "username", required = false) + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public User firstName(String firstName) { + this.firstName = firstName; + return this; + } + + /** + * Get firstName + * @return firstName + */ + + @Schema(name = "firstName", required = false) + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public User lastName(String lastName) { + this.lastName = lastName; + return this; + } + + /** + * Get lastName + * @return lastName + */ + + @Schema(name = "lastName", required = false) + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public User email(String email) { + this.email = email; + return this; + } + + /** + * Get email + * @return email + */ + + @Schema(name = "email", required = false) + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public User password(String password) { + this.password = password; + return this; + } + + /** + * Get password + * @return password + */ + + @Schema(name = "password", required = false) + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public User phone(String phone) { + this.phone = phone; + return this; + } + + /** + * Get phone + * @return phone + */ + + @Schema(name = "phone", required = false) + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public User userStatus(Integer userStatus) { + this.userStatus = userStatus; + return this; + } + + /** + * User Status + * @return userStatus + */ + + @Schema(name = "userStatus", description = "User Status", required = false) + public Integer getUserStatus() { + return userStatus; + } + + public void setUserStatus(Integer userStatus) { + this.userStatus = userStatus; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + User user = (User) o; + return Objects.equals(this.id, user.id) && + Objects.equals(this.username, user.username) && + Objects.equals(this.firstName, user.firstName) && + Objects.equals(this.lastName, user.lastName) && + Objects.equals(this.email, user.email) && + Objects.equals(this.password, user.password) && + Objects.equals(this.phone, user.phone) && + Objects.equals(this.userStatus, user.userStatus); + } + + @Override + public int hashCode() { + return Objects.hash(id, username, firstName, lastName, email, password, phone, userStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class User {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" username: ").append(toIndentedString(username)).append("\n"); + sb.append(" firstName: ").append(toIndentedString(firstName)).append("\n"); + sb.append(" lastName: ").append(toIndentedString(lastName)).append("\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append(" password: ").append(toIndentedString(password)).append("\n"); + sb.append(" phone: ").append(toIndentedString(phone)).append("\n"); + sb.append(" userStatus: ").append(toIndentedString(userStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} + diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/resources/application.properties b/samples/openapi3/server/petstore/springboot-3/src/main/resources/application.properties new file mode 100644 index 0000000000..7e90813e59 --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/main/resources/application.properties @@ -0,0 +1,3 @@ +server.port=8080 +spring.jackson.date-format=org.openapitools.RFC3339DateFormat +spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/resources/openapi.yaml b/samples/openapi3/server/petstore/springboot-3/src/main/resources/openapi.yaml new file mode 100644 index 0000000000..b629acd9d7 --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/main/resources/openapi.yaml @@ -0,0 +1,877 @@ +openapi: 3.0.0 +info: + description: "This is a sample server Petstore server. For this sample, you can\ + \ use the api key `special-key` to test the authorization filters." + license: + name: Apache-2.0 + url: https://www.apache.org/licenses/LICENSE-2.0.html + title: OpenAPI Petstore + version: 1.0.0 +externalDocs: + description: Find out more about Swagger + url: http://swagger.io +servers: +- url: http://petstore.swagger.io/v2 +tags: +- description: Everything about your Pets + name: pet +- description: Access to Petstore orders + name: store +- description: Operations about user + name: user +paths: + /pet: + post: + description: "" + operationId: addPet + requestBody: + $ref: '#/components/requestBodies/Pet' + responses: + "200": + content: + application/xml: + schema: + $ref: '#/components/schemas/Pet' + application/json: + schema: + $ref: '#/components/schemas/Pet' + description: successful operation + "405": + description: Invalid input + security: + - petstore_auth: + - write:pets + - read:pets + summary: Add a new pet to the store + tags: + - pet + x-content-type: application/json + x-accepts: application/json + x-tags: + - tag: pet + put: + description: "" + operationId: updatePet + requestBody: + $ref: '#/components/requestBodies/Pet' + responses: + "200": + content: + application/xml: + schema: + $ref: '#/components/schemas/Pet' + application/json: + schema: + $ref: '#/components/schemas/Pet' + description: successful operation + "400": + description: Invalid ID supplied + "404": + description: Pet not found + "405": + description: Validation exception + security: + - petstore_auth: + - write:pets + - read:pets + summary: Update an existing pet + tags: + - pet + x-content-type: application/json + x-accepts: application/json + x-tags: + - tag: pet + /pet/findByStatus: + get: + description: Multiple status values can be provided with comma separated strings + operationId: findPetsByStatus + parameters: + - deprecated: true + description: Status values that need to be considered for filter + explode: false + in: query + name: status + required: true + schema: + items: + default: available + enum: + - available + - pending + - sold + type: string + type: array + style: form + responses: + "200": + content: + application/xml: + schema: + items: + $ref: '#/components/schemas/Pet' + type: array + application/json: + schema: + items: + $ref: '#/components/schemas/Pet' + type: array + description: successful operation + "400": + description: Invalid status value + security: + - petstore_auth: + - read:pets + summary: Finds Pets by status + tags: + - pet + x-accepts: application/json + x-tags: + - tag: pet + /pet/findByTags: + get: + deprecated: true + description: "Multiple tags can be provided with comma separated strings. Use\ + \ tag1, tag2, tag3 for testing." + operationId: findPetsByTags + parameters: + - description: Tags to filter by + explode: false + in: query + name: tags + required: true + schema: + items: + type: string + type: array + style: form + responses: + "200": + content: + application/xml: + schema: + items: + $ref: '#/components/schemas/Pet' + type: array + application/json: + schema: + items: + $ref: '#/components/schemas/Pet' + type: array + description: successful operation + "400": + description: Invalid tag value + security: + - petstore_auth: + - read:pets + summary: Finds Pets by tags + tags: + - pet + x-accepts: application/json + x-tags: + - tag: pet + /pet/{petId}: + delete: + description: "" + operationId: deletePet + parameters: + - explode: false + in: header + name: api_key + required: false + schema: + type: string + style: simple + - description: Pet id to delete + explode: false + in: path + name: petId + required: true + schema: + format: int64 + type: integer + style: simple + responses: + "400": + description: Invalid pet value + security: + - petstore_auth: + - write:pets + - read:pets + summary: Deletes a pet + tags: + - pet + x-accepts: application/json + x-tags: + - tag: pet + get: + description: Returns a single pet + operationId: getPetById + parameters: + - description: ID of pet to return + explode: false + in: path + name: petId + required: true + schema: + format: int64 + type: integer + style: simple + responses: + "200": + content: + application/xml: + schema: + $ref: '#/components/schemas/Pet' + application/json: + schema: + $ref: '#/components/schemas/Pet' + description: successful operation + "400": + description: Invalid ID supplied + "404": + description: Pet not found + security: + - api_key: [] + summary: Find pet by ID + tags: + - pet + x-accepts: application/json + x-tags: + - tag: pet + post: + description: "" + operationId: updatePetWithForm + parameters: + - description: ID of pet that needs to be updated + explode: false + in: path + name: petId + required: true + schema: + format: int64 + type: integer + style: simple + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/updatePetWithForm_request' + responses: + "405": + description: Invalid input + security: + - petstore_auth: + - write:pets + - read:pets + summary: Updates a pet in the store with form data + tags: + - pet + x-content-type: application/x-www-form-urlencoded + x-accepts: application/json + x-tags: + - tag: pet + /pet/{petId}/uploadImage: + post: + description: "" + operationId: uploadFile + parameters: + - description: ID of pet to update + explode: false + in: path + name: petId + required: true + schema: + format: int64 + type: integer + style: simple + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/uploadFile_request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/ApiResponse' + description: successful operation + security: + - petstore_auth: + - write:pets + - read:pets + summary: uploads an image + tags: + - pet + x-content-type: multipart/form-data + x-accepts: application/json + x-tags: + - tag: pet + /store/inventory: + get: + description: Returns a map of status codes to quantities + operationId: getInventory + responses: + "200": + content: + application/json: + schema: + additionalProperties: + format: int32 + type: integer + type: object + description: successful operation + security: + - api_key: [] + summary: Returns pet inventories by status + tags: + - store + x-accepts: application/json + x-tags: + - tag: store + /store/order: + post: + description: "" + operationId: placeOrder + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + description: order placed for purchasing the pet + required: true + responses: + "200": + content: + application/xml: + schema: + $ref: '#/components/schemas/Order' + application/json: + schema: + $ref: '#/components/schemas/Order' + description: successful operation + "400": + description: Invalid Order + summary: Place an order for a pet + tags: + - store + x-content-type: application/json + x-accepts: application/json + x-tags: + - tag: store + /store/order/{orderId}: + delete: + description: For valid response try integer IDs with value < 1000. Anything + above 1000 or nonintegers will generate API errors + operationId: deleteOrder + parameters: + - description: ID of the order that needs to be deleted + explode: false + in: path + name: orderId + required: true + schema: + type: string + style: simple + responses: + "400": + description: Invalid ID supplied + "404": + description: Order not found + summary: Delete purchase order by ID + tags: + - store + x-accepts: application/json + x-tags: + - tag: store + get: + description: For valid response try integer IDs with value <= 5 or > 10. Other + values will generated exceptions + operationId: getOrderById + parameters: + - description: ID of pet that needs to be fetched + explode: false + in: path + name: orderId + required: true + schema: + format: int64 + maximum: 5 + minimum: 1 + type: integer + style: simple + responses: + "200": + content: + application/xml: + schema: + $ref: '#/components/schemas/Order' + application/json: + schema: + $ref: '#/components/schemas/Order' + description: successful operation + "400": + description: Invalid ID supplied + "404": + description: Order not found + summary: Find purchase order by ID + tags: + - store + x-accepts: application/json + x-tags: + - tag: store + /user: + post: + description: This can only be done by the logged in user. + operationId: createUser + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Created user object + required: true + responses: + default: + description: successful operation + security: + - api_key: [] + summary: Create user + tags: + - user + x-content-type: application/json + x-accepts: application/json + x-tags: + - tag: user + /user/createWithArray: + post: + description: "" + operationId: createUsersWithArrayInput + requestBody: + $ref: '#/components/requestBodies/UserArray' + responses: + default: + description: successful operation + security: + - api_key: [] + summary: Creates list of users with given input array + tags: + - user + x-content-type: application/json + x-accepts: application/json + x-tags: + - tag: user + /user/createWithList: + post: + description: "" + operationId: createUsersWithListInput + requestBody: + $ref: '#/components/requestBodies/UserArray' + responses: + default: + description: successful operation + security: + - api_key: [] + summary: Creates list of users with given input array + tags: + - user + x-content-type: application/json + x-accepts: application/json + x-tags: + - tag: user + /user/login: + get: + description: "" + operationId: loginUser + parameters: + - description: The user name for login + explode: true + in: query + name: username + required: true + schema: + pattern: "^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$" + type: string + style: form + - description: The password for login in clear text + explode: true + in: query + name: password + required: true + schema: + type: string + style: form + responses: + "200": + content: + application/xml: + schema: + type: string + application/json: + schema: + type: string + description: successful operation + headers: + Set-Cookie: + description: Cookie authentication key for use with the `api_key` apiKey + authentication. + explode: false + schema: + example: AUTH_KEY=abcde12345; Path=/; HttpOnly + type: string + style: simple + X-Rate-Limit: + description: calls per hour allowed by the user + explode: false + schema: + format: int32 + type: integer + style: simple + X-Expires-After: + description: date in UTC when token expires + explode: false + schema: + format: date-time + type: string + style: simple + "400": + description: Invalid username/password supplied + summary: Logs user into the system + tags: + - user + x-accepts: application/json + x-tags: + - tag: user + /user/logout: + get: + description: "" + operationId: logoutUser + responses: + default: + description: successful operation + security: + - api_key: [] + summary: Logs out current logged in user session + tags: + - user + x-accepts: application/json + x-tags: + - tag: user + /user/{username}: + delete: + description: This can only be done by the logged in user. + operationId: deleteUser + parameters: + - description: The name that needs to be deleted + explode: false + in: path + name: username + required: true + schema: + type: string + style: simple + responses: + "400": + description: Invalid username supplied + "404": + description: User not found + security: + - api_key: [] + summary: Delete user + tags: + - user + x-accepts: application/json + x-tags: + - tag: user + get: + description: "" + operationId: getUserByName + parameters: + - description: The name that needs to be fetched. Use user1 for testing. + explode: false + in: path + name: username + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/xml: + schema: + $ref: '#/components/schemas/User' + application/json: + schema: + $ref: '#/components/schemas/User' + description: successful operation + "400": + description: Invalid username supplied + "404": + description: User not found + summary: Get user by user name + tags: + - user + x-accepts: application/json + x-tags: + - tag: user + put: + description: This can only be done by the logged in user. + operationId: updateUser + parameters: + - description: name that need to be deleted + explode: false + in: path + name: username + required: true + schema: + type: string + style: simple + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Updated user object + required: true + responses: + "400": + description: Invalid user supplied + "404": + description: User not found + security: + - api_key: [] + summary: Updated user + tags: + - user + x-content-type: application/json + x-accepts: application/json + x-tags: + - tag: user +components: + requestBodies: + UserArray: + content: + application/json: + schema: + items: + $ref: '#/components/schemas/User' + type: array + description: List of user object + required: true + Pet: + content: + application/json: + schema: + $ref: '#/components/schemas/Pet' + application/xml: + schema: + $ref: '#/components/schemas/Pet' + description: Pet object that needs to be added to the store + required: true + schemas: + Order: + description: An order for a pets from the pet store + example: + petId: 6 + quantity: 1 + id: 0 + shipDate: 2000-01-23T04:56:07.000+00:00 + complete: false + status: placed + properties: + id: + format: int64 + type: integer + petId: + format: int64 + type: integer + quantity: + format: int32 + type: integer + shipDate: + format: date-time + type: string + status: + description: Order Status + enum: + - placed + - approved + - delivered + type: string + complete: + default: false + type: boolean + title: Pet Order + type: object + xml: + name: Order + Category: + description: A category for a pet + example: + name: name + id: 6 + properties: + id: + format: int64 + type: integer + name: + pattern: "^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$" + type: string + title: Pet category + type: object + xml: + name: Category + User: + description: A User who is purchasing from the pet store + example: + firstName: firstName + lastName: lastName + password: password + userStatus: 6 + phone: phone + id: 0 + email: email + username: username + properties: + id: + format: int64 + type: integer + username: + type: string + firstName: + type: string + lastName: + type: string + email: + type: string + password: + type: string + phone: + type: string + userStatus: + description: User Status + format: int32 + type: integer + title: a User + type: object + xml: + name: User + Tag: + description: A tag for a pet + example: + name: name + id: 1 + properties: + id: + format: int64 + type: integer + name: + type: string + title: Pet Tag + type: object + xml: + name: Tag + Pet: + description: A pet for sale in the pet store + example: + photoUrls: + - photoUrls + - photoUrls + name: doggie + id: 0 + category: + name: name + id: 6 + tags: + - name: name + id: 1 + - name: name + id: 1 + status: available + properties: + id: + format: int64 + type: integer + category: + $ref: '#/components/schemas/Category' + name: + example: doggie + type: string + photoUrls: + items: + type: string + type: array + xml: + name: photoUrl + wrapped: true + tags: + items: + $ref: '#/components/schemas/Tag' + type: array + xml: + name: tag + wrapped: true + status: + deprecated: true + description: pet status in the store + enum: + - available + - pending + - sold + type: string + required: + - name + - photoUrls + title: a Pet + type: object + xml: + name: Pet + ApiResponse: + description: Describes the result of uploading an image resource + example: + code: 0 + type: type + message: message + properties: + code: + format: int32 + type: integer + type: + type: string + message: + type: string + title: An uploaded response + type: object + updatePetWithForm_request: + properties: + name: + description: Updated name of the pet + type: string + status: + description: Updated status of the pet + type: string + type: object + uploadFile_request: + properties: + additionalMetadata: + description: Additional data to pass to server + type: string + file: + description: file to upload + format: binary + type: string + type: object + securitySchemes: + petstore_auth: + flows: + implicit: + authorizationUrl: http://petstore.swagger.io/api/oauth/dialog + scopes: + write:pets: modify pets in your account + read:pets: read your pets + type: oauth2 + api_key: + in: header + name: api_key + type: apiKey diff --git a/samples/openapi3/server/petstore/springboot-3/src/test/java/org/openapitools/OpenApiGeneratorApplicationTests.java b/samples/openapi3/server/petstore/springboot-3/src/test/java/org/openapitools/OpenApiGeneratorApplicationTests.java new file mode 100644 index 0000000000..3681f67e77 --- /dev/null +++ b/samples/openapi3/server/petstore/springboot-3/src/test/java/org/openapitools/OpenApiGeneratorApplicationTests.java @@ -0,0 +1,13 @@ +package org.openapitools; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class OpenApiGeneratorApplicationTests { + + @Test + void contextLoads() { + } + +} \ No newline at end of file From c3a4914b224e103908dd1d574d61dbc216f96856 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Fri, 27 May 2022 00:09:21 +0800 Subject: [PATCH 008/212] update spring github workflow tests --- .github/workflows/samples-spring.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/samples-spring.yaml b/.github/workflows/samples-spring.yaml index aa3371a9b0..78b4dc8f57 100644 --- a/.github/workflows/samples-spring.yaml +++ b/.github/workflows/samples-spring.yaml @@ -25,6 +25,7 @@ jobs: - samples/client/petstore/spring-stubs - samples/openapi3/client/petstore/spring-stubs - samples/openapi3/client/petstore/spring-stubs-skip-default-interface + - samples/openapi3/client/petstore/spring-cloud-3 # servers - samples/server/petstore/springboot - samples/openapi3/server/petstore/springboot @@ -40,6 +41,7 @@ jobs: - samples/server/petstore/spring-boot-nullable-set - samples/server/petstore/spring-boot-defaultInterface-unhandledException - samples/openapi3/server/petstore/spring-boot-oneof + - samples/openapi3/server/petstore/springboot-3 steps: - uses: actions/checkout@v3 - uses: actions/setup-java@v3 From c2eee6f743d848c6d926a53c7475cfbe4df9fbad Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Thu, 26 May 2022 18:24:59 +0200 Subject: [PATCH 009/212] Use print() function in both Python 2 and Python 3 (#12467) The current code is a syntax error in Python 3. The proposed code works as expected in both Python 2 and Python 3. --- samples/client/petstore/javascript-closure-angular/compile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/client/petstore/javascript-closure-angular/compile.py b/samples/client/petstore/javascript-closure-angular/compile.py index 2797a6f345..d952f2f215 100755 --- a/samples/client/petstore/javascript-closure-angular/compile.py +++ b/samples/client/petstore/javascript-closure-angular/compile.py @@ -53,8 +53,8 @@ def main(): for name, targetFiles in targets.iteritems(): errors = checkForCompilerErrors(targetFiles) if errors: - print "Compiler errors when building %s" % name - print errors + print("Compiler errors when building %s" % name) + print(errors) for name, targetFiles in targets.iteritems(): compile("%s.compiled.js" % name, targets[name]) From b6ef7893613472c0dcd9f5d717860d2c7aa0c658 Mon Sep 17 00:00:00 2001 From: Robbert van Waveren Date: Thu, 26 May 2022 18:27:56 +0200 Subject: [PATCH 010/212] fix #11886 unhandled default enum case (#12344) --- .../src/main/resources/Java/modelEnum.mustache | 2 +- .../src/main/resources/Java/modelInnerEnum.mustache | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/Java/modelEnum.mustache b/modules/openapi-generator/src/main/resources/Java/modelEnum.mustache index f81c7c93ff..6c0b699595 100644 --- a/modules/openapi-generator/src/main/resources/Java/modelEnum.mustache +++ b/modules/openapi-generator/src/main/resources/Java/modelEnum.mustache @@ -60,7 +60,7 @@ import com.google.gson.stream.JsonWriter; return b; } } - {{#isNullable}}return null;{{/isNullable}}{{^isNullable}}throw new IllegalArgumentException("Unexpected value '" + value + "'");{{/isNullable}} + {{#isNullable}}return null;{{/isNullable}}{{^isNullable}}{{#enumUnknownDefaultCase}}{{#allowableValues}}{{#enumVars}}{{#-last}}return {{{name}}};{{/-last}}{{/enumVars}}{{/allowableValues}}{{/enumUnknownDefaultCase}}{{^enumUnknownDefaultCase}}throw new IllegalArgumentException("Unexpected value '" + value + "'");{{/enumUnknownDefaultCase}}{{/isNullable}} } {{#gson}} diff --git a/modules/openapi-generator/src/main/resources/Java/modelInnerEnum.mustache b/modules/openapi-generator/src/main/resources/Java/modelInnerEnum.mustache index a9c99783fd..b911c9d307 100644 --- a/modules/openapi-generator/src/main/resources/Java/modelInnerEnum.mustache +++ b/modules/openapi-generator/src/main/resources/Java/modelInnerEnum.mustache @@ -55,7 +55,7 @@ return b; } } - {{#isNullable}}return null;{{/isNullable}}{{^isNullable}}throw new IllegalArgumentException("Unexpected value '" + value + "'");{{/isNullable}} + {{#isNullable}}return null;{{/isNullable}}{{^isNullable}}{{#enumUnknownDefaultCase}}{{#allowableValues}}{{#enumVars}}{{#-last}}return {{{name}}};{{/-last}}{{/enumVars}}{{/allowableValues}}{{/enumUnknownDefaultCase}}{{^enumUnknownDefaultCase}}throw new IllegalArgumentException("Unexpected value '" + value + "'");{{/enumUnknownDefaultCase}}{{/isNullable}} } {{#gson}} From e83f1ed9f49ae17be6045ffc18ee8deccfe92319 Mon Sep 17 00:00:00 2001 From: Antonio Petricca Date: Thu, 26 May 2022 18:30:10 +0200 Subject: [PATCH 011/212] Graphql nodejs express server lists fixup (#12476) * Fixed enum values generation fo 'GraphQL NodeJS Express Server' generator. * Fixed enarrays generation for 'GraphQL NodeJS Express Server' generator. --- .../main/resources/graphql-nodejs-express-server/model.mustache | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/resources/graphql-nodejs-express-server/model.mustache b/modules/openapi-generator/src/main/resources/graphql-nodejs-express-server/model.mustache index ee2d5e4bbd..eb297e923c 100644 --- a/modules/openapi-generator/src/main/resources/graphql-nodejs-express-server/model.mustache +++ b/modules/openapi-generator/src/main/resources/graphql-nodejs-express-server/model.mustache @@ -9,7 +9,7 @@ type {{classname}} { {{#description}} # {{{.}}} {{/description}} - {{baseName}}: {{datatypeWithEnum}} + {{baseName}}: {{#isArray}}[{{/isArray}}{{datatypeWithEnum}}{{#isArray}}!]{{/isArray}} {{/vars}} } From 210b43afe2eed9d5e974b1cbc09858fd4349f765 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Fri, 27 May 2022 00:33:10 +0800 Subject: [PATCH 012/212] update graphql nodejs samples --- .../graphql-nodejs-express-server/petstore/model/pet.graphql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/server/petstore/graphql-nodejs-express-server/petstore/model/pet.graphql b/samples/server/petstore/graphql-nodejs-express-server/petstore/model/pet.graphql index 54cafbe023..17923b7b17 100644 --- a/samples/server/petstore/graphql-nodejs-express-server/petstore/model/pet.graphql +++ b/samples/server/petstore/graphql-nodejs-express-server/petstore/model/pet.graphql @@ -13,8 +13,8 @@ type Pet { id: Int! category: Category name: String! - photoUrls: String! - tags: Tag + photoUrls: [String!!] + tags: [Tag!] # pet status in the store status: StatusEnum } From 50958e25c011c1a71fc7ea23fdff309ca4b294f3 Mon Sep 17 00:00:00 2001 From: Taufik Rama Date: Thu, 26 May 2022 23:40:33 +0700 Subject: [PATCH 013/212] Fixes #10568 (#12409) --- .../src/main/resources/rust/hyper/api.mustache | 4 ++-- .../src/main/resources/rust/reqwest/api.mustache | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/rust/hyper/api.mustache b/modules/openapi-generator/src/main/resources/rust/hyper/api.mustache index a055014fb5..e73ed43a90 100644 --- a/modules/openapi-generator/src/main/resources/rust/hyper/api.mustache +++ b/modules/openapi-generator/src/main/resources/rust/hyper/api.mustache @@ -28,7 +28,7 @@ impl {{{classname}}}Client pub trait {{{classname}}} { {{#operations}} {{#operation}} - fn {{{operationId}}}(&self, {{#allParams}}{{{paramName}}}: {{^required}}Option<{{/required}}{{#required}}{{#isNullable}}Option<{{/isNullable}}{{/required}}{{#isString}}&str{{/isString}}{{#isUuid}}&str{{/isUuid}}{{^isString}}{{^isUuid}}{{^isPrimitiveType}}{{^isContainer}}crate::models::{{/isContainer}}{{/isPrimitiveType}}{{{dataType}}}{{/isUuid}}{{/isString}}{{^required}}>{{/required}}{{#required}}{{#isNullable}}>{{/isNullable}}{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> Pin>>>; + fn {{{operationId}}}(&self, {{#allParams}}{{{paramName}}}: {{^required}}Option<{{/required}}{{#required}}{{#isNullable}}Option<{{/isNullable}}{{/required}}{{#isString}}{{^isUuid}}&str{{/isUuid}}{{/isString}}{{#isUuid}}&str{{/isUuid}}{{^isString}}{{^isUuid}}{{^isPrimitiveType}}{{^isContainer}}crate::models::{{/isContainer}}{{/isPrimitiveType}}{{{dataType}}}{{/isUuid}}{{/isString}}{{^required}}>{{/required}}{{#required}}{{#isNullable}}>{{/isNullable}}{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> Pin>>>; {{/operation}} {{/operations}} } @@ -38,7 +38,7 @@ impl{{{classname}}} for {{{classname}}}Clien {{#operations}} {{#operation}} #[allow(unused_mut)] - fn {{{operationId}}}(&self, {{#allParams}}{{{paramName}}}: {{^required}}Option<{{/required}}{{#required}}{{#isNullable}}Option<{{/isNullable}}{{/required}}{{#isString}}&str{{/isString}}{{#isUuid}}&str{{/isUuid}}{{^isString}}{{^isUuid}}{{^isPrimitiveType}}{{^isContainer}}crate::models::{{/isContainer}}{{/isPrimitiveType}}{{{dataType}}}{{/isUuid}}{{/isString}}{{^required}}>{{/required}}{{#required}}{{#isNullable}}>{{/isNullable}}{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> Pin>>> { + fn {{{operationId}}}(&self, {{#allParams}}{{{paramName}}}: {{^required}}Option<{{/required}}{{#required}}{{#isNullable}}Option<{{/isNullable}}{{/required}}{{#isString}}{{^isUuid}}&str{{/isUuid}}{{/isString}}{{#isUuid}}&str{{/isUuid}}{{^isString}}{{^isUuid}}{{^isPrimitiveType}}{{^isContainer}}crate::models::{{/isContainer}}{{/isPrimitiveType}}{{{dataType}}}{{/isUuid}}{{/isString}}{{^required}}>{{/required}}{{#required}}{{#isNullable}}>{{/isNullable}}{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::{{{httpMethod.toUpperCase}}}, "{{{path}}}".to_string()) {{#hasAuthMethods}} {{#authMethods}} diff --git a/modules/openapi-generator/src/main/resources/rust/reqwest/api.mustache b/modules/openapi-generator/src/main/resources/rust/reqwest/api.mustache index 8940a191ec..906469ef73 100644 --- a/modules/openapi-generator/src/main/resources/rust/reqwest/api.mustache +++ b/modules/openapi-generator/src/main/resources/rust/reqwest/api.mustache @@ -17,7 +17,7 @@ pub struct {{{operationIdCamelCase}}}Params { {{#description}} /// {{{.}}} {{/description}} - pub {{{paramName}}}: {{^required}}Option<{{/required}}{{#required}}{{#isNullable}}Option<{{/isNullable}}{{/required}}{{#isString}}{{#isArray}}Vec<{{/isArray}}String{{#isArray}}>{{/isArray}}{{/isString}}{{#isUuid}}{{#isArray}}Vec<{{/isArray}}String{{#isArray}}>{{/isArray}}{{/isUuid}}{{^isString}}{{^isUuid}}{{^isPrimitiveType}}{{^isContainer}}{{#isBodyParam}}crate::models::{{/isBodyParam}}{{/isContainer}}{{/isPrimitiveType}}{{{dataType}}}{{/isUuid}}{{/isString}}{{^required}}>{{/required}}{{#required}}{{#isNullable}}>{{/isNullable}}{{/required}}{{^-last}},{{/-last}} + pub {{{paramName}}}: {{^required}}Option<{{/required}}{{#required}}{{#isNullable}}Option<{{/isNullable}}{{/required}}{{^isUuid}}{{#isString}}{{#isArray}}Vec<{{/isArray}}String{{#isArray}}>{{/isArray}}{{/isString}}{{/isUuid}}{{#isUuid}}{{#isArray}}Vec<{{/isArray}}String{{#isArray}}>{{/isArray}}{{/isUuid}}{{^isString}}{{^isUuid}}{{^isPrimitiveType}}{{^isContainer}}{{#isBodyParam}}crate::models::{{/isBodyParam}}{{/isContainer}}{{/isPrimitiveType}}{{{dataType}}}{{/isUuid}}{{/isString}}{{^required}}>{{/required}}{{#required}}{{#isNullable}}>{{/isNullable}}{{/required}}{{^-last}},{{/-last}} {{#-last}} } From fb1706bd2bd1202c799bffa6eb20bd53c68ebfe1 Mon Sep 17 00:00:00 2001 From: Cubid <37664014+Cubid@users.noreply.github.com> Date: Thu, 26 May 2022 18:54:04 +0200 Subject: [PATCH 014/212] [php-symfony] Allow non mandatory array value (#11618) Co-authored-by: David CLEMENT --- .../php-symfony/serialization/JmsSerializer.mustache | 5 +++++ .../php-symfony/SymfonyBundle-php/Service/JmsSerializer.php | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/modules/openapi-generator/src/main/resources/php-symfony/serialization/JmsSerializer.mustache b/modules/openapi-generator/src/main/resources/php-symfony/serialization/JmsSerializer.mustache index dc352aedc8..0a6571e2bd 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/serialization/JmsSerializer.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/serialization/JmsSerializer.mustache @@ -95,6 +95,11 @@ class JmsSerializer implements SerializerInterface private function deserializeArrayString($format, $type, $data) { + if($data === null) + { + return []; + } + // Parse the string using the correct separator switch ($format) { case 'csv': diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/JmsSerializer.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/JmsSerializer.php index 0ef6b708e9..8d301b5bba 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/JmsSerializer.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/JmsSerializer.php @@ -95,6 +95,11 @@ class JmsSerializer implements SerializerInterface private function deserializeArrayString($format, $type, $data) { + if($data === null) + { + return []; + } + // Parse the string using the correct separator switch ($format) { case 'csv': From 5307a8dafd5cb45e7425eb6ebdc012dedcc82be4 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Fri, 27 May 2022 01:05:36 +0800 Subject: [PATCH 015/212] update samples --- .../client/petstore/spring-cloud-3/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../server/petstore/springboot-3/.openapi-generator/VERSION | 2 +- .../springboot-3/src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator/VERSION b/samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator/VERSION index 5f68295fc1..89648de331 100644 --- a/samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.0-SNAPSHOT \ No newline at end of file +6.0.1-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/PetApi.java index 6a4162bd6e..a7afc17f8f 100644 --- a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.0-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/StoreApi.java index 62ec9c2008..13249b4234 100644 --- a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.0-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/UserApi.java index c2618e3336..d6c08baa20 100644 --- a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.0-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-3/.openapi-generator/VERSION b/samples/openapi3/server/petstore/springboot-3/.openapi-generator/VERSION index 5f68295fc1..89648de331 100644 --- a/samples/openapi3/server/petstore/springboot-3/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/springboot-3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.0-SNAPSHOT \ No newline at end of file +6.0.1-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApi.java index f53d1b7e80..bea4438675 100644 --- a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.0-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/StoreApi.java index c266470ba7..a2456948e3 100644 --- a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.0-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/UserApi.java index e4f89dc975..095dda00fd 100644 --- a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.0-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ From 76eddeb7133fb5a549a077b907bce92da52278ec Mon Sep 17 00:00:00 2001 From: William Cheng Date: Fri, 27 May 2022 11:16:26 +0800 Subject: [PATCH 016/212] php-laravel, enum models, nullable and default values (#12480) * + 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 --- .../codegen/languages/AbstractPhpCodegen.java | 2 + .../languages/PhpLaravelServerCodegen.java | 96 +++++++++++++++++++ .../main/resources/php-laravel/model.mustache | 22 ++--- .../resources/php-laravel/model_enum.mustache | 28 ++++++ .../php-laravel/model_generic.mustache | 11 +++ .../app/Models/AdditionalPropertiesClass.php | 4 +- .../lib/app/Models/AllOfWithSingleRef.php | 6 +- .../php-laravel/lib/app/Models/Animal.php | 4 +- .../lib/app/Models/ApiResponse.php | 6 +- .../app/Models/ArrayOfArrayOfNumberOnly.php | 2 +- .../lib/app/Models/ArrayOfNumberOnly.php | 2 +- .../php-laravel/lib/app/Models/ArrayTest.php | 6 +- .../lib/app/Models/Capitalization.php | 12 +-- .../php-laravel/lib/app/Models/Cat.php | 6 +- .../php-laravel/lib/app/Models/CatAllOf.php | 2 +- .../php-laravel/lib/app/Models/Category.php | 4 +- .../php-laravel/lib/app/Models/ClassModel.php | 3 +- .../php-laravel/lib/app/Models/Client.php | 2 +- .../lib/app/Models/DeprecatedObject.php | 2 +- .../php-laravel/lib/app/Models/Dog.php | 6 +- .../php-laravel/lib/app/Models/DogAllOf.php | 2 +- .../php-laravel/lib/app/Models/EnumArrays.php | 4 +- .../php-laravel/lib/app/Models/EnumClass.php | 23 ++++- .../php-laravel/lib/app/Models/EnumTest.php | 24 ++--- .../php-laravel/lib/app/Models/File.php | 3 +- .../lib/app/Models/FileSchemaTestClass.php | 4 +- .../php-laravel/lib/app/Models/Foo.php | 2 +- .../lib/app/Models/FooGetDefaultResponse.php | 2 +- .../php-laravel/lib/app/Models/FormatTest.php | 32 +++---- .../lib/app/Models/HasOnlyReadOnly.php | 4 +- .../lib/app/Models/HealthCheckResult.php | 5 +- .../lib/app/Models/InlineResponseDefault.php | 2 +- .../php-laravel/lib/app/Models/MapTest.php | 8 +- ...PropertiesAndAdditionalPropertiesClass.php | 6 +- .../lib/app/Models/Model200Response.php | 5 +- .../php-laravel/lib/app/Models/ModelList.php | 2 +- .../lib/app/Models/ModelReturn.php | 3 +- .../php-laravel/lib/app/Models/Name.php | 9 +- .../lib/app/Models/NullableClass.php | 44 ++++----- .../php-laravel/lib/app/Models/NumberOnly.php | 2 +- .../app/Models/ObjectWithDeprecatedFields.php | 8 +- .../php-laravel/lib/app/Models/Order.php | 12 +-- .../lib/app/Models/OuterComposite.php | 6 +- .../php-laravel/lib/app/Models/OuterEnum.php | 23 ++++- .../lib/app/Models/OuterEnumDefaultValue.php | 23 ++++- .../lib/app/Models/OuterEnumInteger.php | 23 ++++- .../Models/OuterEnumIntegerDefaultValue.php | 23 ++++- .../Models/OuterObjectWithEnumProperty.php | 4 +- .../php-laravel/lib/app/Models/Pet.php | 12 +-- .../lib/app/Models/ReadOnlyFirst.php | 4 +- .../lib/app/Models/SingleRefType.php | 20 +++- .../lib/app/Models/SpecialModelName.php | 2 +- .../php-laravel/lib/app/Models/Tag.php | 4 +- .../php-laravel/lib/app/Models/User.php | 16 ++-- 54 files changed, 427 insertions(+), 165 deletions(-) create mode 100644 modules/openapi-generator/src/main/resources/php-laravel/model_enum.mustache create mode 100644 modules/openapi-generator/src/main/resources/php-laravel/model_generic.mustache diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java index 985a74c08b..eb081db644 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java @@ -408,6 +408,8 @@ public abstract class AbstractPhpCodegen extends DefaultCodegen implements Codeg // return the name in camelCase style // phone_number => phoneNumber name = camelize(name, true); + } else if ("PascalCase".equals(variableNamingConvention)) { + name = camelize(name, false); } else { // default to snake case // return the name in underscore style // PhoneNumber => phone_number diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java index c2b27f4797..71162ddf66 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java @@ -18,12 +18,16 @@ package org.openapitools.codegen.languages; import org.openapitools.codegen.CodegenOperation; +import org.openapitools.codegen.CodegenProperty; import org.openapitools.codegen.CodegenType; import org.openapitools.codegen.SupportingFile; import org.openapitools.codegen.meta.features.*; import org.openapitools.codegen.model.ModelMap; import org.openapitools.codegen.model.OperationMap; import org.openapitools.codegen.model.OperationsMap; +import org.openapitools.codegen.utils.ModelUtils; + +import io.swagger.v3.oas.models.media.Schema; import java.io.File; import java.util.*; @@ -296,4 +300,96 @@ public class PhpLaravelServerCodegen extends AbstractPhpCodegen { return camelize(name, false) + "Controller"; } + + @Override + protected String getEnumDefaultValue(String defaultValue, String dataType) { + return defaultValue; + } + + @Override + public CodegenProperty fromProperty(String name, Schema p) { + CodegenProperty property = super.fromProperty(name, p); + Schema referencedSchema = ModelUtils.getReferencedSchema(this.openAPI, p); + + //Referenced enum case: + if (!property.isEnum && referencedSchema.getEnum() != null && !referencedSchema.getEnum().isEmpty()) { + property.dataType = this.getSchemaType(referencedSchema); + property.defaultValue = this.toDefaultValue(referencedSchema); + List _enum = referencedSchema.getEnum(); + + Map allowableValues = new HashMap<>(); + allowableValues.put("values", _enum); + if (allowableValues.size() > 0) { + property.allowableValues = allowableValues; + } + } + + return property; + } + + @Override + public String toDefaultValue(Schema p) { + if (ModelUtils.isBooleanSchema(p)) { + if (p.getDefault() != null) { + return p.getDefault().toString(); + } else if (!Boolean.TRUE.equals(p.getNullable())) { + return "false"; + } + } else if (ModelUtils.isDateSchema(p)) { + // TODO + } else if (ModelUtils.isDateTimeSchema(p)) { + // TODO + } else if (ModelUtils.isFileSchema(p)) { + // TODO + } else if (ModelUtils.isNumberSchema(p)) { + if (p.getDefault() != null) { + return p.getDefault().toString(); + } else if (!Boolean.TRUE.equals(p.getNullable())) { + return "0"; + } + } else if (ModelUtils.isIntegerSchema(p)) { + if (p.getDefault() != null) { + return p.getDefault().toString(); + } else if (!Boolean.TRUE.equals(p.getNullable())) { + return "0"; + } + } else if (ModelUtils.isStringSchema(p)) { + if (p.getDefault() != null) { + return "'" + p.getDefault() + "'"; + } else if (!Boolean.TRUE.equals(p.getNullable())) { + return "\"\""; + } + } else if (ModelUtils.isArraySchema(p)) { + if (p.getDefault() != null) { + return p.getDefault().toString(); + } else if (!Boolean.TRUE.equals(p.getNullable())) { + return "[]"; + } + } + + return null; + } + + @Override + public String toEnumDefaultValue(String value, String datatype) { + return datatype + "::" + value; + } + + @Override + public String toEnumVarName(String value, String datatype) { + if (value.length() == 0) { + return super.toEnumVarName(value, datatype); + } + + // number + if ("int".equals(datatype) || "double".equals(datatype) || "float".equals(datatype)) { + String varName = "NUMBER_" + value; + varName = varName.replaceAll("-", "MINUS_"); + varName = varName.replaceAll("\\+", "PLUS_"); + varName = varName.replaceAll("\\.", "_DOT_"); + return varName; + } + + return super.toEnumVarName(value, datatype); + } } diff --git a/modules/openapi-generator/src/main/resources/php-laravel/model.mustache b/modules/openapi-generator/src/main/resources/php-laravel/model.mustache index 966dd38ff0..13eedb9837 100644 --- a/modules/openapi-generator/src/main/resources/php-laravel/model.mustache +++ b/modules/openapi-generator/src/main/resources/php-laravel/model.mustache @@ -1,21 +1,17 @@ model_enum}}{{/isEnum}}{{^isEnum}}{{>model_generic}}{{/isEnum}} +{{/model}} +{{/models}} \ No newline at end of file diff --git a/modules/openapi-generator/src/main/resources/php-laravel/model_enum.mustache b/modules/openapi-generator/src/main/resources/php-laravel/model_enum.mustache new file mode 100644 index 0000000000..721f6b08ad --- /dev/null +++ b/modules/openapi-generator/src/main/resources/php-laravel/model_enum.mustache @@ -0,0 +1,28 @@ +class {{classname}} +{ + /** + * Possible values of this enum + */ + {{#allowableValues}} + {{#enumVars}} + const {{{name}}} = {{{value}}}; + + {{/enumVars}} + {{/allowableValues}} + /** + * Gets allowable values of the enum + * @return string[] + */ + public static function getAllowableEnumValues() + { + return [ + {{#allowableValues}} + {{#enumVars}} + self::{{{name}}}{{^-last}}, + {{/-last}} + {{/enumVars}} + {{/allowableValues}} + + ]; + } +} \ No newline at end of file diff --git a/modules/openapi-generator/src/main/resources/php-laravel/model_generic.mustache b/modules/openapi-generator/src/main/resources/php-laravel/model_generic.mustache new file mode 100644 index 0000000000..dffa20ce4c --- /dev/null +++ b/modules/openapi-generator/src/main/resources/php-laravel/model_generic.mustache @@ -0,0 +1,11 @@ +class {{classname}} { + + {{#vars}} + /** @var {{{dataType}}}{{#isNullable}}|null{{/isNullable}} ${{name}} {{description}}*/ +{{#deprecated}} + /** @deprecated */ +{{/deprecated}} + public ${{name}}{{#defaultValue}} = {{{defaultValue}}}{{/defaultValue}}{{^defaultValue}}{{#isNullable}} = null{{/isNullable}}{{/defaultValue}}; + + {{/vars}} +} \ No newline at end of file diff --git a/samples/server/petstore/php-laravel/lib/app/Models/AdditionalPropertiesClass.php b/samples/server/petstore/php-laravel/lib/app/Models/AdditionalPropertiesClass.php index b6fbf24d04..4723a9b145 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/AdditionalPropertiesClass.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/AdditionalPropertiesClass.php @@ -10,9 +10,9 @@ namespace app\Models; class AdditionalPropertiesClass { /** @var array $mapProperty */ - private $mapProperty; + public $mapProperty; /** @var array> $mapOfMapProperty */ - private $mapOfMapProperty; + public $mapOfMapProperty; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/AllOfWithSingleRef.php b/samples/server/petstore/php-laravel/lib/app/Models/AllOfWithSingleRef.php index 1bc1bdac99..24ce4ab5c8 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/AllOfWithSingleRef.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/AllOfWithSingleRef.php @@ -10,9 +10,9 @@ namespace app\Models; class AllOfWithSingleRef { /** @var string $username */ - private $username; + public $username = ""; - /** @var SingleRefType $singleRefType */ - private $singleRefType; + /** @var SingleRefType|null $singleRefType */ + public $singleRefType = null; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Animal.php b/samples/server/petstore/php-laravel/lib/app/Models/Animal.php index 7435e7c2c0..849e9d2937 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Animal.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Animal.php @@ -10,9 +10,9 @@ namespace app\Models; class Animal { /** @var string $className */ - private $className; + public $className = ""; /** @var string $color */ - private $color; + public $color = 'red'; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/ApiResponse.php b/samples/server/petstore/php-laravel/lib/app/Models/ApiResponse.php index e9f556871b..7bef1cdcd2 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/ApiResponse.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/ApiResponse.php @@ -10,12 +10,12 @@ namespace app\Models; class ApiResponse { /** @var int $code */ - private $code; + public $code = 0; /** @var string $type */ - private $type; + public $type = ""; /** @var string $message */ - private $message; + public $message = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/ArrayOfArrayOfNumberOnly.php b/samples/server/petstore/php-laravel/lib/app/Models/ArrayOfArrayOfNumberOnly.php index b126648589..eef6c7cee6 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/ArrayOfArrayOfNumberOnly.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/ArrayOfArrayOfNumberOnly.php @@ -10,6 +10,6 @@ namespace app\Models; class ArrayOfArrayOfNumberOnly { /** @var float[][] $arrayArrayNumber */ - private $arrayArrayNumber; + public $arrayArrayNumber = []; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/ArrayOfNumberOnly.php b/samples/server/petstore/php-laravel/lib/app/Models/ArrayOfNumberOnly.php index 234a196f0c..10148db76a 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/ArrayOfNumberOnly.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/ArrayOfNumberOnly.php @@ -10,6 +10,6 @@ namespace app\Models; class ArrayOfNumberOnly { /** @var float[] $arrayNumber */ - private $arrayNumber; + public $arrayNumber = []; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/ArrayTest.php b/samples/server/petstore/php-laravel/lib/app/Models/ArrayTest.php index fbb4b21ada..bb1d9976ae 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/ArrayTest.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/ArrayTest.php @@ -10,12 +10,12 @@ namespace app\Models; class ArrayTest { /** @var string[] $arrayOfString */ - private $arrayOfString; + public $arrayOfString = []; /** @var int[][] $arrayArrayOfInteger */ - private $arrayArrayOfInteger; + public $arrayArrayOfInteger = []; /** @var \app\Models\ReadOnlyFirst[][] $arrayArrayOfModel */ - private $arrayArrayOfModel; + public $arrayArrayOfModel = []; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Capitalization.php b/samples/server/petstore/php-laravel/lib/app/Models/Capitalization.php index a8779787ec..9e7df6f919 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Capitalization.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Capitalization.php @@ -10,21 +10,21 @@ namespace app\Models; class Capitalization { /** @var string $smallCamel */ - private $smallCamel; + public $smallCamel = ""; /** @var string $capitalCamel */ - private $capitalCamel; + public $capitalCamel = ""; /** @var string $smallSnake */ - private $smallSnake; + public $smallSnake = ""; /** @var string $capitalSnake */ - private $capitalSnake; + public $capitalSnake = ""; /** @var string $sCAETHFlowPoints */ - private $sCAETHFlowPoints; + public $sCAETHFlowPoints = ""; /** @var string $aTTNAME Name of the pet*/ - private $aTTNAME; + public $aTTNAME = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Cat.php b/samples/server/petstore/php-laravel/lib/app/Models/Cat.php index 976181f474..dc1051497f 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Cat.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Cat.php @@ -10,12 +10,12 @@ namespace app\Models; class Cat { /** @var string $className */ - private $className; + public $className = ""; /** @var string $color */ - private $color; + public $color = 'red'; /** @var bool $declawed */ - private $declawed; + public $declawed = false; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/CatAllOf.php b/samples/server/petstore/php-laravel/lib/app/Models/CatAllOf.php index ee2fd0f4c1..6e02243b0d 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/CatAllOf.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/CatAllOf.php @@ -10,6 +10,6 @@ namespace app\Models; class CatAllOf { /** @var bool $declawed */ - private $declawed; + public $declawed = false; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Category.php b/samples/server/petstore/php-laravel/lib/app/Models/Category.php index 58a9362f2d..d55589dbcb 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Category.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Category.php @@ -10,9 +10,9 @@ namespace app\Models; class Category { /** @var int $id */ - private $id; + public $id = 0; /** @var string $name */ - private $name; + public $name = 'default-name'; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/ClassModel.php b/samples/server/petstore/php-laravel/lib/app/Models/ClassModel.php index fbc93a0199..ec6bc6e01d 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/ClassModel.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/ClassModel.php @@ -6,10 +6,11 @@ namespace app\Models; /** * ClassModel + * @description Model for testing model with \"_class\" property */ class ClassModel { /** @var string $class */ - private $class; + public $class = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Client.php b/samples/server/petstore/php-laravel/lib/app/Models/Client.php index 35358e0610..3bd5f9d0a2 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Client.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Client.php @@ -10,6 +10,6 @@ namespace app\Models; class Client { /** @var string $client */ - private $client; + public $client = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/DeprecatedObject.php b/samples/server/petstore/php-laravel/lib/app/Models/DeprecatedObject.php index d25a9f5c21..ab953b1b5a 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/DeprecatedObject.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/DeprecatedObject.php @@ -10,6 +10,6 @@ namespace app\Models; class DeprecatedObject { /** @var string $name */ - private $name; + public $name = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Dog.php b/samples/server/petstore/php-laravel/lib/app/Models/Dog.php index 342d76fdb6..c089badb0d 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Dog.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Dog.php @@ -10,12 +10,12 @@ namespace app\Models; class Dog { /** @var string $className */ - private $className; + public $className = ""; /** @var string $color */ - private $color; + public $color = 'red'; /** @var string $breed */ - private $breed; + public $breed = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/DogAllOf.php b/samples/server/petstore/php-laravel/lib/app/Models/DogAllOf.php index ae0daf91bb..97b9fa650a 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/DogAllOf.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/DogAllOf.php @@ -10,6 +10,6 @@ namespace app\Models; class DogAllOf { /** @var string $breed */ - private $breed; + public $breed = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/EnumArrays.php b/samples/server/petstore/php-laravel/lib/app/Models/EnumArrays.php index d01dec5287..deced9baf3 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/EnumArrays.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/EnumArrays.php @@ -10,9 +10,9 @@ namespace app\Models; class EnumArrays { /** @var string $justSymbol */ - private $justSymbol; + public $justSymbol = ""; /** @var string[] $arrayEnum */ - private $arrayEnum; + public $arrayEnum = []; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/EnumClass.php b/samples/server/petstore/php-laravel/lib/app/Models/EnumClass.php index 84f07bbf73..f1122eae53 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/EnumClass.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/EnumClass.php @@ -7,6 +7,27 @@ namespace app\Models; /** * EnumClass */ -class EnumClass { +class EnumClass +{ + /** + * Possible values of this enum + */ + const ABC = '_abc'; + const EFG = '-efg'; + + const XYZ = '(xyz)'; + + /** + * Gets allowable values of the enum + * @return string[] + */ + public static function getAllowableEnumValues() + { + return [ + self::ABC, + self::EFG, + self::XYZ + ]; + } } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/EnumTest.php b/samples/server/petstore/php-laravel/lib/app/Models/EnumTest.php index ce1eb85dd8..b188f1e86f 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/EnumTest.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/EnumTest.php @@ -10,27 +10,27 @@ namespace app\Models; class EnumTest { /** @var string $enumString */ - private $enumString; + public $enumString = ""; /** @var string $enumStringRequired */ - private $enumStringRequired; + public $enumStringRequired = ""; /** @var int $enumInteger */ - private $enumInteger; + public $enumInteger = 0; /** @var double $enumNumber */ - private $enumNumber; + public $enumNumber = 0; - /** @var \app\Models\OuterEnum $outerEnum */ - private $outerEnum; + /** @var string|null $outerEnum */ + public $outerEnum = null; - /** @var \app\Models\OuterEnumInteger $outerEnumInteger */ - private $outerEnumInteger; + /** @var int $outerEnumInteger */ + public $outerEnumInteger = \app\Models\OuterEnumInteger::NUMBER_0; - /** @var \app\Models\OuterEnumDefaultValue $outerEnumDefaultValue */ - private $outerEnumDefaultValue; + /** @var string $outerEnumDefaultValue */ + public $outerEnumDefaultValue = \app\Models\OuterEnumDefaultValue::PLACED; - /** @var \app\Models\OuterEnumIntegerDefaultValue $outerEnumIntegerDefaultValue */ - private $outerEnumIntegerDefaultValue; + /** @var int $outerEnumIntegerDefaultValue */ + public $outerEnumIntegerDefaultValue = \app\Models\OuterEnumIntegerDefaultValue::NUMBER_0; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/File.php b/samples/server/petstore/php-laravel/lib/app/Models/File.php index ec0215ae10..e545d139bf 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/File.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/File.php @@ -6,10 +6,11 @@ namespace app\Models; /** * File + * @description Must be named `File` for test. */ class File { /** @var string $sourceURI Test capitalization*/ - private $sourceURI; + public $sourceURI = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/FileSchemaTestClass.php b/samples/server/petstore/php-laravel/lib/app/Models/FileSchemaTestClass.php index 64fe925c12..da7de36f07 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/FileSchemaTestClass.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/FileSchemaTestClass.php @@ -10,9 +10,9 @@ namespace app\Models; class FileSchemaTestClass { /** @var \app\Models\File $file */ - private $file; + public $file; /** @var \app\Models\File[] $files */ - private $files; + public $files = []; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Foo.php b/samples/server/petstore/php-laravel/lib/app/Models/Foo.php index 96d9bcf870..190be91729 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Foo.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Foo.php @@ -10,6 +10,6 @@ namespace app\Models; class Foo { /** @var string $bar */ - private $bar; + public $bar = 'bar'; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/FooGetDefaultResponse.php b/samples/server/petstore/php-laravel/lib/app/Models/FooGetDefaultResponse.php index 8e85ac6f3f..d1398404aa 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/FooGetDefaultResponse.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/FooGetDefaultResponse.php @@ -10,6 +10,6 @@ namespace app\Models; class FooGetDefaultResponse { /** @var \app\Models\Foo $string */ - private $string; + public $string; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/FormatTest.php b/samples/server/petstore/php-laravel/lib/app/Models/FormatTest.php index c7dbd850eb..d5114123c6 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/FormatTest.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/FormatTest.php @@ -10,51 +10,51 @@ namespace app\Models; class FormatTest { /** @var int $integer */ - private $integer; + public $integer = 0; /** @var int $int32 */ - private $int32; + public $int32 = 0; /** @var int $int64 */ - private $int64; + public $int64 = 0; /** @var float $number */ - private $number; + public $number = 0; /** @var float $float */ - private $float; + public $float = 0; /** @var double $double */ - private $double; + public $double = 0; /** @var float $decimal */ - private $decimal; + public $decimal = ""; /** @var string $string */ - private $string; + public $string = ""; /** @var string $byte */ - private $byte; + public $byte = ""; /** @var \SplFileObject $binary */ - private $binary; + public $binary; /** @var \DateTime $date */ - private $date; + public $date; /** @var \DateTime $dateTime */ - private $dateTime; + public $dateTime; /** @var string $uuid */ - private $uuid; + public $uuid = ""; /** @var string $password */ - private $password; + public $password = ""; /** @var string $patternWithDigits A string that is a 10 digit number. Can have leading zeros.*/ - private $patternWithDigits; + public $patternWithDigits = ""; /** @var string $patternWithDigitsAndDelimiter A string starting with 'image_' (case insensitive) and one to three digits following i.e. Image_01.*/ - private $patternWithDigitsAndDelimiter; + public $patternWithDigitsAndDelimiter = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/HasOnlyReadOnly.php b/samples/server/petstore/php-laravel/lib/app/Models/HasOnlyReadOnly.php index ecea2a0d4d..9bddb5c13e 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/HasOnlyReadOnly.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/HasOnlyReadOnly.php @@ -10,9 +10,9 @@ namespace app\Models; class HasOnlyReadOnly { /** @var string $bar */ - private $bar; + public $bar = ""; /** @var string $foo */ - private $foo; + public $foo = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/HealthCheckResult.php b/samples/server/petstore/php-laravel/lib/app/Models/HealthCheckResult.php index 6117de37ec..ed344226c4 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/HealthCheckResult.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/HealthCheckResult.php @@ -6,10 +6,11 @@ namespace app\Models; /** * HealthCheckResult + * @description Just a string to inform instance is up and running. Make it nullable in hope to get it as pointer in generated model. */ class HealthCheckResult { - /** @var string $nullableMessage */ - private $nullableMessage; + /** @var string|null $nullableMessage */ + public $nullableMessage = null; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/InlineResponseDefault.php b/samples/server/petstore/php-laravel/lib/app/Models/InlineResponseDefault.php index 492517d312..b9bfae57b0 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/InlineResponseDefault.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/InlineResponseDefault.php @@ -10,6 +10,6 @@ namespace app\Models; class InlineResponseDefault { /** @var \app\Models\Foo $string */ - private $string; + public $string; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/MapTest.php b/samples/server/petstore/php-laravel/lib/app/Models/MapTest.php index 4da0831f2b..0db48d0783 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/MapTest.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/MapTest.php @@ -10,15 +10,15 @@ namespace app\Models; class MapTest { /** @var array> $mapMapOfString */ - private $mapMapOfString; + public $mapMapOfString; /** @var array $mapOfEnumString */ - private $mapOfEnumString; + public $mapOfEnumString; /** @var array $directMap */ - private $directMap; + public $directMap; /** @var array $indirectMap */ - private $indirectMap; + public $indirectMap; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/MixedPropertiesAndAdditionalPropertiesClass.php b/samples/server/petstore/php-laravel/lib/app/Models/MixedPropertiesAndAdditionalPropertiesClass.php index 6e60f59408..fdef699e28 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/MixedPropertiesAndAdditionalPropertiesClass.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/MixedPropertiesAndAdditionalPropertiesClass.php @@ -10,12 +10,12 @@ namespace app\Models; class MixedPropertiesAndAdditionalPropertiesClass { /** @var string $uuid */ - private $uuid; + public $uuid = ""; /** @var \DateTime $dateTime */ - private $dateTime; + public $dateTime; /** @var array $map */ - private $map; + public $map; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Model200Response.php b/samples/server/petstore/php-laravel/lib/app/Models/Model200Response.php index a5c928983b..8cce1700b2 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Model200Response.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Model200Response.php @@ -6,13 +6,14 @@ namespace app\Models; /** * Model200Response + * @description Model for testing model name starting with number */ class Model200Response { /** @var int $name */ - private $name; + public $name = 0; /** @var string $class */ - private $class; + public $class = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/ModelList.php b/samples/server/petstore/php-laravel/lib/app/Models/ModelList.php index fe53b6dc79..7b7e554f25 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/ModelList.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/ModelList.php @@ -10,6 +10,6 @@ namespace app\Models; class ModelList { /** @var string $_123list */ - private $_123list; + public $_123list = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/ModelReturn.php b/samples/server/petstore/php-laravel/lib/app/Models/ModelReturn.php index e8d9d76df4..af5746619e 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/ModelReturn.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/ModelReturn.php @@ -6,10 +6,11 @@ namespace app\Models; /** * ModelReturn + * @description Model for testing reserved words */ class ModelReturn { /** @var int $return */ - private $return; + public $return = 0; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Name.php b/samples/server/petstore/php-laravel/lib/app/Models/Name.php index 5cb44dc7fb..7024516636 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Name.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Name.php @@ -6,19 +6,20 @@ namespace app\Models; /** * Name + * @description Model for testing model name same as property name */ class Name { /** @var int $name */ - private $name; + public $name = 0; /** @var int $snakeCase */ - private $snakeCase; + public $snakeCase = 0; /** @var string $property */ - private $property; + public $property = ""; /** @var int $_123number */ - private $_123number; + public $_123number = 0; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/NullableClass.php b/samples/server/petstore/php-laravel/lib/app/Models/NullableClass.php index 4907945156..ddae519449 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/NullableClass.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/NullableClass.php @@ -9,40 +9,40 @@ namespace app\Models; */ class NullableClass { - /** @var int $integerProp */ - private $integerProp; + /** @var int|null $integerProp */ + public $integerProp = null; - /** @var float $numberProp */ - private $numberProp; + /** @var float|null $numberProp */ + public $numberProp = null; - /** @var bool $booleanProp */ - private $booleanProp; + /** @var bool|null $booleanProp */ + public $booleanProp = null; - /** @var string $stringProp */ - private $stringProp; + /** @var string|null $stringProp */ + public $stringProp = null; - /** @var \DateTime $dateProp */ - private $dateProp; + /** @var \DateTime|null $dateProp */ + public $dateProp = null; - /** @var \DateTime $datetimeProp */ - private $datetimeProp; + /** @var \DateTime|null $datetimeProp */ + public $datetimeProp = null; - /** @var object[] $arrayNullableProp */ - private $arrayNullableProp; + /** @var object[]|null $arrayNullableProp */ + public $arrayNullableProp = null; - /** @var object[] $arrayAndItemsNullableProp */ - private $arrayAndItemsNullableProp; + /** @var object[]|null $arrayAndItemsNullableProp */ + public $arrayAndItemsNullableProp = null; /** @var object[] $arrayItemsNullable */ - private $arrayItemsNullable; + public $arrayItemsNullable = []; - /** @var array $objectNullableProp */ - private $objectNullableProp; + /** @var array|null $objectNullableProp */ + public $objectNullableProp = null; - /** @var array $objectAndItemsNullableProp */ - private $objectAndItemsNullableProp; + /** @var array|null $objectAndItemsNullableProp */ + public $objectAndItemsNullableProp = null; /** @var array $objectItemsNullable */ - private $objectItemsNullable; + public $objectItemsNullable; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/NumberOnly.php b/samples/server/petstore/php-laravel/lib/app/Models/NumberOnly.php index 08b7fdcce6..8b6f6d27c1 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/NumberOnly.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/NumberOnly.php @@ -10,6 +10,6 @@ namespace app\Models; class NumberOnly { /** @var float $justNumber */ - private $justNumber; + public $justNumber = 0; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/ObjectWithDeprecatedFields.php b/samples/server/petstore/php-laravel/lib/app/Models/ObjectWithDeprecatedFields.php index 47b30e1579..1db69d23d8 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/ObjectWithDeprecatedFields.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/ObjectWithDeprecatedFields.php @@ -10,18 +10,18 @@ namespace app\Models; class ObjectWithDeprecatedFields { /** @var string $uuid */ - private $uuid; + public $uuid = ""; /** @var float $id */ /** @deprecated */ - private $id; + public $id = 0; /** @var \app\Models\DeprecatedObject $deprecatedRef */ /** @deprecated */ - private $deprecatedRef; + public $deprecatedRef; /** @var string[] $bars */ /** @deprecated */ - private $bars; + public $bars = []; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Order.php b/samples/server/petstore/php-laravel/lib/app/Models/Order.php index c6c557095f..7a064af737 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Order.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Order.php @@ -10,21 +10,21 @@ namespace app\Models; class Order { /** @var int $id */ - private $id; + public $id = 0; /** @var int $petId */ - private $petId; + public $petId = 0; /** @var int $quantity */ - private $quantity; + public $quantity = 0; /** @var \DateTime $shipDate */ - private $shipDate; + public $shipDate; /** @var string $status Order Status*/ - private $status; + public $status = ""; /** @var bool $complete */ - private $complete; + public $complete = false; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/OuterComposite.php b/samples/server/petstore/php-laravel/lib/app/Models/OuterComposite.php index a487229363..66c8ae3048 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/OuterComposite.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/OuterComposite.php @@ -10,12 +10,12 @@ namespace app\Models; class OuterComposite { /** @var float $myNumber */ - private $myNumber; + public $myNumber = 0; /** @var string $myString */ - private $myString; + public $myString = ""; /** @var bool $myBoolean */ - private $myBoolean; + public $myBoolean = false; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/OuterEnum.php b/samples/server/petstore/php-laravel/lib/app/Models/OuterEnum.php index b432df169d..7b03d24885 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/OuterEnum.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/OuterEnum.php @@ -7,6 +7,27 @@ namespace app\Models; /** * OuterEnum */ -class OuterEnum { +class OuterEnum +{ + /** + * Possible values of this enum + */ + const PLACED = 'placed'; + const APPROVED = 'approved'; + + const DELIVERED = 'delivered'; + + /** + * Gets allowable values of the enum + * @return string[] + */ + public static function getAllowableEnumValues() + { + return [ + self::PLACED, + self::APPROVED, + self::DELIVERED + ]; + } } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumDefaultValue.php b/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumDefaultValue.php index 079fe78479..f87bd723df 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumDefaultValue.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumDefaultValue.php @@ -7,6 +7,27 @@ namespace app\Models; /** * OuterEnumDefaultValue */ -class OuterEnumDefaultValue { +class OuterEnumDefaultValue +{ + /** + * Possible values of this enum + */ + const PLACED = 'placed'; + const APPROVED = 'approved'; + + const DELIVERED = 'delivered'; + + /** + * Gets allowable values of the enum + * @return string[] + */ + public static function getAllowableEnumValues() + { + return [ + self::PLACED, + self::APPROVED, + self::DELIVERED + ]; + } } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumInteger.php b/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumInteger.php index 848b9a89f3..fdf2e5a342 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumInteger.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumInteger.php @@ -7,6 +7,27 @@ namespace app\Models; /** * OuterEnumInteger */ -class OuterEnumInteger { +class OuterEnumInteger +{ + /** + * Possible values of this enum + */ + const NUMBER_0 = 0; + const NUMBER_1 = 1; + + const NUMBER_2 = 2; + + /** + * Gets allowable values of the enum + * @return string[] + */ + public static function getAllowableEnumValues() + { + return [ + self::NUMBER_0, + self::NUMBER_1, + self::NUMBER_2 + ]; + } } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumIntegerDefaultValue.php b/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumIntegerDefaultValue.php index 93c9f08672..926c7f65c1 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumIntegerDefaultValue.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/OuterEnumIntegerDefaultValue.php @@ -7,6 +7,27 @@ namespace app\Models; /** * OuterEnumIntegerDefaultValue */ -class OuterEnumIntegerDefaultValue { +class OuterEnumIntegerDefaultValue +{ + /** + * Possible values of this enum + */ + const NUMBER_0 = 0; + const NUMBER_1 = 1; + + const NUMBER_2 = 2; + + /** + * Gets allowable values of the enum + * @return string[] + */ + public static function getAllowableEnumValues() + { + return [ + self::NUMBER_0, + self::NUMBER_1, + self::NUMBER_2 + ]; + } } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/OuterObjectWithEnumProperty.php b/samples/server/petstore/php-laravel/lib/app/Models/OuterObjectWithEnumProperty.php index b2bd8d7796..0d090f09dd 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/OuterObjectWithEnumProperty.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/OuterObjectWithEnumProperty.php @@ -9,7 +9,7 @@ namespace app\Models; */ class OuterObjectWithEnumProperty { - /** @var \app\Models\OuterEnumInteger $value */ - private $value; + /** @var int $value */ + public $value = \app\Models\OuterEnumInteger::NUMBER_0; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Pet.php b/samples/server/petstore/php-laravel/lib/app/Models/Pet.php index ae8fd93efc..96c2323775 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Pet.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Pet.php @@ -10,21 +10,21 @@ namespace app\Models; class Pet { /** @var int $id */ - private $id; + public $id = 0; /** @var \app\Models\Category $category */ - private $category; + public $category; /** @var string $name */ - private $name; + public $name = ""; /** @var string[] $photoUrls */ - private $photoUrls; + public $photoUrls = []; /** @var \app\Models\Tag[] $tags */ - private $tags; + public $tags = []; /** @var string $status pet status in the store*/ - private $status; + public $status = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/ReadOnlyFirst.php b/samples/server/petstore/php-laravel/lib/app/Models/ReadOnlyFirst.php index e914f1ff00..04a23e104f 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/ReadOnlyFirst.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/ReadOnlyFirst.php @@ -10,9 +10,9 @@ namespace app\Models; class ReadOnlyFirst { /** @var string $bar */ - private $bar; + public $bar = ""; /** @var string $baz */ - private $baz; + public $baz = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/SingleRefType.php b/samples/server/petstore/php-laravel/lib/app/Models/SingleRefType.php index 79b06d77b4..cb9a558106 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/SingleRefType.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/SingleRefType.php @@ -7,6 +7,24 @@ namespace app\Models; /** * SingleRefType */ -class SingleRefType { +class SingleRefType +{ + /** + * Possible values of this enum + */ + const ADMIN = 'admin'; + const USER = 'user'; + + /** + * Gets allowable values of the enum + * @return string[] + */ + public static function getAllowableEnumValues() + { + return [ + self::ADMIN, + self::USER + ]; + } } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/SpecialModelName.php b/samples/server/petstore/php-laravel/lib/app/Models/SpecialModelName.php index 6ea1fd10eb..2e9c108eaa 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/SpecialModelName.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/SpecialModelName.php @@ -10,6 +10,6 @@ namespace app\Models; class SpecialModelName { /** @var int $specialPropertyName */ - private $specialPropertyName; + public $specialPropertyName = 0; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/Tag.php b/samples/server/petstore/php-laravel/lib/app/Models/Tag.php index fb8469f956..d260b2982a 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/Tag.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/Tag.php @@ -10,9 +10,9 @@ namespace app\Models; class Tag { /** @var int $id */ - private $id; + public $id = 0; /** @var string $name */ - private $name; + public $name = ""; } diff --git a/samples/server/petstore/php-laravel/lib/app/Models/User.php b/samples/server/petstore/php-laravel/lib/app/Models/User.php index 3688537ba8..a80c8bd77c 100644 --- a/samples/server/petstore/php-laravel/lib/app/Models/User.php +++ b/samples/server/petstore/php-laravel/lib/app/Models/User.php @@ -10,27 +10,27 @@ namespace app\Models; class User { /** @var int $id */ - private $id; + public $id = 0; /** @var string $username */ - private $username; + public $username = ""; /** @var string $firstName */ - private $firstName; + public $firstName = ""; /** @var string $lastName */ - private $lastName; + public $lastName = ""; /** @var string $email */ - private $email; + public $email = ""; /** @var string $password */ - private $password; + public $password = ""; /** @var string $phone */ - private $phone; + public $phone = ""; /** @var int $userStatus User Status*/ - private $userStatus; + public $userStatus = 0; } From e823290c8fb5d13e256a8fd8761288ef9ab48465 Mon Sep 17 00:00:00 2001 From: Akhil Nair <36164259+the-akhil-nair@users.noreply.github.com> Date: Sat, 28 May 2022 09:39:48 +0530 Subject: [PATCH 017/212] [PYTHON] GetItem not working for Client generated allOf model and broken since 5.2.0 (#12239) * 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 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. --- .../resources/python/model_utils.mustache | 4 +- ...odels-for-testing-with-http-signature.yaml | 47 ++- .../python/petstore_api/model_utils.py | 4 +- .../client/petstore/python/test/test_child.py | 6 +- .../client/petstore/python/test/test_dog.py | 6 +- .../petstore_api/model_utils.py | 4 +- .../python/x_auth_id_alias/model_utils.py | 4 +- .../python/dynamic_servers/model_utils.py | 4 +- .../petstore/python/.openapi-generator/FILES | 8 + .../openapi3/client/petstore/python/README.md | 5 + .../python/docs/EgressThresholdOptions.md | 12 + .../client/petstore/python/docs/FakeApi.md | 66 ++++ .../petstore/python/docs/PublishOptions.md | 12 + .../python/docs/PublishOptionsPublish.md | 13 + .../petstore/python/docs/StreamOptions.md | 13 + .../python/petstore_api/api/fake_api.py | 127 +++++++ .../model/egress_threshold_options.py | 263 ++++++++++++++ .../petstore_api/model/publish_options.py | 269 ++++++++++++++ .../model/publish_options_publish.py | 267 ++++++++++++++ .../petstore_api/model/stream_options.py | 328 ++++++++++++++++++ .../python/petstore_api/model_utils.py | 4 +- .../python/petstore_api/models/__init__.py | 4 + .../test/test_egress_threshold_options.py | 35 ++ .../python/test/test_publish_options.py | 37 ++ .../test/test_publish_options_publish.py | 35 ++ .../python/test/test_stream_options.py | 41 +++ .../python/tests_manual/test_fake_api.py | 34 ++ .../python/tests_manual/test_fruit.py | 4 +- .../python/tests_manual/test_gm_fruit.py | 10 +- 29 files changed, 1646 insertions(+), 20 deletions(-) create mode 100644 samples/openapi3/client/petstore/python/docs/EgressThresholdOptions.md create mode 100644 samples/openapi3/client/petstore/python/docs/PublishOptions.md create mode 100644 samples/openapi3/client/petstore/python/docs/PublishOptionsPublish.md create mode 100644 samples/openapi3/client/petstore/python/docs/StreamOptions.md create mode 100644 samples/openapi3/client/petstore/python/petstore_api/model/egress_threshold_options.py create mode 100644 samples/openapi3/client/petstore/python/petstore_api/model/publish_options.py create mode 100644 samples/openapi3/client/petstore/python/petstore_api/model/publish_options_publish.py create mode 100644 samples/openapi3/client/petstore/python/petstore_api/model/stream_options.py create mode 100644 samples/openapi3/client/petstore/python/test/test_egress_threshold_options.py create mode 100644 samples/openapi3/client/petstore/python/test/test_publish_options.py create mode 100644 samples/openapi3/client/petstore/python/test/test_publish_options_publish.py create mode 100644 samples/openapi3/client/petstore/python/test/test_stream_options.py diff --git a/modules/openapi-generator/src/main/resources/python/model_utils.mustache b/modules/openapi-generator/src/main/resources/python/model_utils.mustache index d7ca436b5f..be87a474c7 100644 --- a/modules/openapi-generator/src/main/resources/python/model_utils.mustache +++ b/modules/openapi-generator/src/main/resources/python/model_utils.mustache @@ -1729,7 +1729,9 @@ def validate_get_composed_info(constant_args, model_args, self): var_name_to_model_instances = {} for prop_name in model_args: if prop_name not in discarded_args: - var_name_to_model_instances[prop_name] = [self] + composed_instances + var_name_to_model_instances[prop_name] = [self] + list( + filter( + lambda x: prop_name in x.openapi_types, composed_instances)) return [ composed_instances, diff --git a/modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml b/modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml index 758c546fe9..8d040105b9 100644 --- a/modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml @@ -1365,6 +1365,23 @@ paths: application/json: schema: $ref: '#/components/schemas/GmFruitNoProperties' + /fake/TxRxAllOfModel: + post: + tags: + - fake + operationId: txRxAllOfModel + responses: + 200: + description: success + content: + application/json: + schema: + $ref: '#/components/schemas/StreamOptions' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StreamOptions' servers: - url: 'http://{server}.swagger.io:{port}/v2' description: petstore server @@ -2503,4 +2520,32 @@ components: items: type: object prop2: - type: object \ No newline at end of file + type: object + StreamOptions: + allOf: + - $ref: "#/components/schemas/EgressThresholdOptions" + - $ref: "#/components/schemas/PublishOptions" + + EgressThresholdOptions: + type: object + properties: + egressThresholds: + type: object + additionalProperties: + type: number + minimum: 0 + maximum: 1 + example: 0.9 + + PublishOptions: + type: object + properties: + publish: + type : object + properties: + egressUnknownDetections: + type: boolean + example: true + filterZeroDetections: + type: boolean + example: true diff --git a/samples/client/petstore/python/petstore_api/model_utils.py b/samples/client/petstore/python/petstore_api/model_utils.py index 15d570bfe9..933ceec6fa 100644 --- a/samples/client/petstore/python/petstore_api/model_utils.py +++ b/samples/client/petstore/python/petstore_api/model_utils.py @@ -2046,7 +2046,9 @@ def validate_get_composed_info(constant_args, model_args, self): var_name_to_model_instances = {} for prop_name in model_args: if prop_name not in discarded_args: - var_name_to_model_instances[prop_name] = [self] + composed_instances + var_name_to_model_instances[prop_name] = [self] + list( + filter( + lambda x: prop_name in x.openapi_types, composed_instances)) return [ composed_instances, diff --git a/samples/client/petstore/python/test/test_child.py b/samples/client/petstore/python/test/test_child.py index 88e6b9ed4a..dea4e60109 100644 --- a/samples/client/petstore/python/test/test_child.py +++ b/samples/client/petstore/python/test/test_child.py @@ -115,9 +115,9 @@ class TestChild(unittest.TestCase): self.assertEqual( child._var_name_to_model_instances, { - 'radio_waves': [child, child_allof_instance, parent_instance], - 'tele_vision': [child, child_allof_instance, parent_instance], - 'inter_net': [child, child_allof_instance, parent_instance] + 'radio_waves': [child, parent_instance], + 'tele_vision': [child, parent_instance], + 'inter_net': [child, child_allof_instance] } ) # model._additional_properties_model_instances stores a list of diff --git a/samples/client/petstore/python/test/test_dog.py b/samples/client/petstore/python/test/test_dog.py index 0352d794c9..5f6a38b929 100644 --- a/samples/client/petstore/python/test/test_dog.py +++ b/samples/client/petstore/python/test/test_dog.py @@ -112,9 +112,9 @@ class TestDog(unittest.TestCase): self.assertEqual( dog._var_name_to_model_instances, { - 'breed': [dog, animal_instance, dog_allof_instance], - 'class_name': [dog, animal_instance, dog_allof_instance], - 'color': [dog, animal_instance, dog_allof_instance] + 'breed': [dog, dog_allof_instance], + 'class_name': [dog, animal_instance], + 'color': [dog, animal_instance] } ) # model._additional_properties_model_instances stores a list of diff --git a/samples/client/petstore/python_disallowAdditionalPropertiesIfNotPresent/petstore_api/model_utils.py b/samples/client/petstore/python_disallowAdditionalPropertiesIfNotPresent/petstore_api/model_utils.py index 15d570bfe9..933ceec6fa 100644 --- a/samples/client/petstore/python_disallowAdditionalPropertiesIfNotPresent/petstore_api/model_utils.py +++ b/samples/client/petstore/python_disallowAdditionalPropertiesIfNotPresent/petstore_api/model_utils.py @@ -2046,7 +2046,9 @@ def validate_get_composed_info(constant_args, model_args, self): var_name_to_model_instances = {} for prop_name in model_args: if prop_name not in discarded_args: - var_name_to_model_instances[prop_name] = [self] + composed_instances + var_name_to_model_instances[prop_name] = [self] + list( + filter( + lambda x: prop_name in x.openapi_types, composed_instances)) return [ composed_instances, diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/python/x_auth_id_alias/model_utils.py b/samples/openapi3/client/extensions/x-auth-id-alias/python/x_auth_id_alias/model_utils.py index abf124d2ea..a2711d1362 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/python/x_auth_id_alias/model_utils.py +++ b/samples/openapi3/client/extensions/x-auth-id-alias/python/x_auth_id_alias/model_utils.py @@ -2046,7 +2046,9 @@ def validate_get_composed_info(constant_args, model_args, self): var_name_to_model_instances = {} for prop_name in model_args: if prop_name not in discarded_args: - var_name_to_model_instances[prop_name] = [self] + composed_instances + var_name_to_model_instances[prop_name] = [self] + list( + filter( + lambda x: prop_name in x.openapi_types, composed_instances)) return [ composed_instances, diff --git a/samples/openapi3/client/features/dynamic-servers/python/dynamic_servers/model_utils.py b/samples/openapi3/client/features/dynamic-servers/python/dynamic_servers/model_utils.py index 114bac68e4..38902e7afd 100644 --- a/samples/openapi3/client/features/dynamic-servers/python/dynamic_servers/model_utils.py +++ b/samples/openapi3/client/features/dynamic-servers/python/dynamic_servers/model_utils.py @@ -2046,7 +2046,9 @@ def validate_get_composed_info(constant_args, model_args, self): var_name_to_model_instances = {} for prop_name in model_args: if prop_name not in discarded_args: - var_name_to_model_instances[prop_name] = [self] + composed_instances + var_name_to_model_instances[prop_name] = [self] + list( + filter( + lambda x: prop_name in x.openapi_types, composed_instances)) return [ composed_instances, diff --git a/samples/openapi3/client/petstore/python/.openapi-generator/FILES b/samples/openapi3/client/petstore/python/.openapi-generator/FILES index 4e13fcd036..aa32ba2dee 100644 --- a/samples/openapi3/client/petstore/python/.openapi-generator/FILES +++ b/samples/openapi3/client/petstore/python/.openapi-generator/FILES @@ -35,6 +35,7 @@ docs/DefaultApi.md docs/Dog.md docs/DogAllOf.md docs/Drawing.md +docs/EgressThresholdOptions.md docs/EnumArrays.md docs/EnumClass.md docs/EnumTest.md @@ -82,6 +83,8 @@ docs/PetApi.md docs/Pig.md docs/PostInlineAdditionalPropertiesPayloadRequest.md docs/PostInlineAdditionalPropertiesPayloadRequestArrayDataInner.md +docs/PublishOptions.md +docs/PublishOptionsPublish.md docs/Quadrilateral.md docs/QuadrilateralInterface.md docs/ReadOnlyFirst.md @@ -95,6 +98,7 @@ docs/SomeObject.md docs/SomeObjectWithSelfAttr.md docs/SpecialModelName.md docs/StoreApi.md +docs/StreamOptions.md docs/StringBooleanMap.md docs/StringEnum.md docs/StringEnumWithDefaultValue.md @@ -151,6 +155,7 @@ petstore_api/model/danish_pig.py petstore_api/model/dog.py petstore_api/model/dog_all_of.py petstore_api/model/drawing.py +petstore_api/model/egress_threshold_options.py petstore_api/model/enum_arrays.py petstore_api/model/enum_class.py petstore_api/model/enum_test.py @@ -195,6 +200,8 @@ petstore_api/model/pet.py petstore_api/model/pig.py petstore_api/model/post_inline_additional_properties_payload_request.py petstore_api/model/post_inline_additional_properties_payload_request_array_data_inner.py +petstore_api/model/publish_options.py +petstore_api/model/publish_options_publish.py petstore_api/model/quadrilateral.py petstore_api/model/quadrilateral_interface.py petstore_api/model/read_only_first.py @@ -207,6 +214,7 @@ petstore_api/model/simple_quadrilateral.py petstore_api/model/some_object.py petstore_api/model/some_object_with_self_attr.py petstore_api/model/special_model_name.py +petstore_api/model/stream_options.py petstore_api/model/string_boolean_map.py petstore_api/model/string_enum.py petstore_api/model/string_enum_with_default_value.py diff --git a/samples/openapi3/client/petstore/python/README.md b/samples/openapi3/client/petstore/python/README.md index de817ea11e..d877696d65 100644 --- a/samples/openapi3/client/petstore/python/README.md +++ b/samples/openapi3/client/petstore/python/README.md @@ -107,6 +107,7 @@ Class | Method | HTTP request | Description *FakeApi* | [**test_inline_additional_properties**](docs/FakeApi.md#test_inline_additional_properties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties *FakeApi* | [**test_json_form_data**](docs/FakeApi.md#test_json_form_data) | **GET** /fake/jsonFormData | test json serialization of form data *FakeApi* | [**test_query_parameter_collection_format**](docs/FakeApi.md#test_query_parameter_collection_format) | **PUT** /fake/test-query-parameters | +*FakeApi* | [**tx_rx_all_of_model**](docs/FakeApi.md#tx_rx_all_of_model) | **POST** /fake/TxRxAllOfModel | *FakeApi* | [**tx_rx_any_of_model**](docs/FakeApi.md#tx_rx_any_of_model) | **POST** /fake/TxRxAnyOfModel | *FakeApi* | [**upload_download_file**](docs/FakeApi.md#upload_download_file) | **POST** /fake/uploadDownloadFile | uploads a file and downloads a file using application/octet-stream *FakeApi* | [**upload_file**](docs/FakeApi.md#upload_file) | **POST** /fake/uploadFile | uploads a file using multipart/form-data @@ -166,6 +167,7 @@ Class | Method | HTTP request | Description - [Dog](docs/Dog.md) - [DogAllOf](docs/DogAllOf.md) - [Drawing](docs/Drawing.md) + - [EgressThresholdOptions](docs/EgressThresholdOptions.md) - [EnumArrays](docs/EnumArrays.md) - [EnumClass](docs/EnumClass.md) - [EnumTest](docs/EnumTest.md) @@ -210,6 +212,8 @@ Class | Method | HTTP request | Description - [Pig](docs/Pig.md) - [PostInlineAdditionalPropertiesPayloadRequest](docs/PostInlineAdditionalPropertiesPayloadRequest.md) - [PostInlineAdditionalPropertiesPayloadRequestArrayDataInner](docs/PostInlineAdditionalPropertiesPayloadRequestArrayDataInner.md) + - [PublishOptions](docs/PublishOptions.md) + - [PublishOptionsPublish](docs/PublishOptionsPublish.md) - [Quadrilateral](docs/Quadrilateral.md) - [QuadrilateralInterface](docs/QuadrilateralInterface.md) - [ReadOnlyFirst](docs/ReadOnlyFirst.md) @@ -222,6 +226,7 @@ Class | Method | HTTP request | Description - [SomeObject](docs/SomeObject.md) - [SomeObjectWithSelfAttr](docs/SomeObjectWithSelfAttr.md) - [SpecialModelName](docs/SpecialModelName.md) + - [StreamOptions](docs/StreamOptions.md) - [StringBooleanMap](docs/StringBooleanMap.md) - [StringEnum](docs/StringEnum.md) - [StringEnumWithDefaultValue](docs/StringEnumWithDefaultValue.md) diff --git a/samples/openapi3/client/petstore/python/docs/EgressThresholdOptions.md b/samples/openapi3/client/petstore/python/docs/EgressThresholdOptions.md new file mode 100644 index 0000000000..d578b2836f --- /dev/null +++ b/samples/openapi3/client/petstore/python/docs/EgressThresholdOptions.md @@ -0,0 +1,12 @@ +# EgressThresholdOptions + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**egress_thresholds** | **{str: (float,)}** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/openapi3/client/petstore/python/docs/FakeApi.md b/samples/openapi3/client/petstore/python/docs/FakeApi.md index bd469c3c2a..97d25d3a01 100644 --- a/samples/openapi3/client/petstore/python/docs/FakeApi.md +++ b/samples/openapi3/client/petstore/python/docs/FakeApi.md @@ -28,6 +28,7 @@ Method | HTTP request | Description [**test_inline_additional_properties**](FakeApi.md#test_inline_additional_properties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties [**test_json_form_data**](FakeApi.md#test_json_form_data) | **GET** /fake/jsonFormData | test json serialization of form data [**test_query_parameter_collection_format**](FakeApi.md#test_query_parameter_collection_format) | **PUT** /fake/test-query-parameters | +[**tx_rx_all_of_model**](FakeApi.md#tx_rx_all_of_model) | **POST** /fake/TxRxAllOfModel | [**tx_rx_any_of_model**](FakeApi.md#tx_rx_any_of_model) | **POST** /fake/TxRxAnyOfModel | [**upload_download_file**](FakeApi.md#upload_download_file) | **POST** /fake/uploadDownloadFile | uploads a file and downloads a file using application/octet-stream [**upload_file**](FakeApi.md#upload_file) | **POST** /fake/uploadFile | uploads a file using multipart/form-data @@ -1794,6 +1795,71 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **tx_rx_all_of_model** +> StreamOptions tx_rx_all_of_model() + + + +### Example + + +```python +import time +import petstore_api +from petstore_api.api import fake_api +from petstore_api.model.stream_options import StreamOptions +from pprint import pprint +# Defining the host is optional and defaults to http://petstore.swagger.io:80/v2 +# See configuration.py for a list of all supported configuration parameters. +configuration = petstore_api.Configuration( + host = "http://petstore.swagger.io:80/v2" +) + + +# Enter a context with an instance of the API client +with petstore_api.ApiClient() as api_client: + # Create an instance of the API class + api_instance = fake_api.FakeApi(api_client) + stream_options = StreamOptions(None) # StreamOptions | (optional) + + # example passing only required values which don't have defaults set + # and optional values + try: + api_response = api_instance.tx_rx_all_of_model(stream_options=stream_options) + pprint(api_response) + except petstore_api.ApiException as e: + print("Exception when calling FakeApi->tx_rx_all_of_model: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **stream_options** | [**StreamOptions**](StreamOptions.md)| | [optional] + +### Return type + +[**StreamOptions**](StreamOptions.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | success | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **tx_rx_any_of_model** > GmFruitNoProperties tx_rx_any_of_model() diff --git a/samples/openapi3/client/petstore/python/docs/PublishOptions.md b/samples/openapi3/client/petstore/python/docs/PublishOptions.md new file mode 100644 index 0000000000..2f654b3368 --- /dev/null +++ b/samples/openapi3/client/petstore/python/docs/PublishOptions.md @@ -0,0 +1,12 @@ +# PublishOptions + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**publish** | [**PublishOptionsPublish**](PublishOptionsPublish.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/openapi3/client/petstore/python/docs/PublishOptionsPublish.md b/samples/openapi3/client/petstore/python/docs/PublishOptionsPublish.md new file mode 100644 index 0000000000..016c2745df --- /dev/null +++ b/samples/openapi3/client/petstore/python/docs/PublishOptionsPublish.md @@ -0,0 +1,13 @@ +# PublishOptionsPublish + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**egress_unknown_detections** | **bool** | | [optional] +**filter_zero_detections** | **bool** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/openapi3/client/petstore/python/docs/StreamOptions.md b/samples/openapi3/client/petstore/python/docs/StreamOptions.md new file mode 100644 index 0000000000..4bb016c450 --- /dev/null +++ b/samples/openapi3/client/petstore/python/docs/StreamOptions.md @@ -0,0 +1,13 @@ +# StreamOptions + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**egress_thresholds** | **{str: (float,)}** | | [optional] +**publish** | [**PublishOptionsPublish**](PublishOptionsPublish.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/openapi3/client/petstore/python/petstore_api/api/fake_api.py b/samples/openapi3/client/petstore/python/petstore_api/api/fake_api.py index f4206a5cd6..a8e94f10e5 100644 --- a/samples/openapi3/client/petstore/python/petstore_api/api/fake_api.py +++ b/samples/openapi3/client/petstore/python/petstore_api/api/fake_api.py @@ -36,6 +36,7 @@ from petstore_api.model.mammal import Mammal from petstore_api.model.number_with_validations import NumberWithValidations from petstore_api.model.object_model_with_ref_props import ObjectModelWithRefProps from petstore_api.model.post_inline_additional_properties_payload_request import PostInlineAdditionalPropertiesPayloadRequest +from petstore_api.model.stream_options import StreamOptions from petstore_api.model.string_enum import StringEnum from petstore_api.model.user import User @@ -1485,6 +1486,54 @@ class FakeApi(object): }, api_client=api_client ) + self.tx_rx_all_of_model_endpoint = _Endpoint( + settings={ + 'response_type': (StreamOptions,), + 'auth': [], + 'endpoint_path': '/fake/TxRxAllOfModel', + 'operation_id': 'tx_rx_all_of_model', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'stream_options', + ], + 'required': [], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'stream_options': + (StreamOptions,), + }, + 'attribute_map': { + }, + 'location_map': { + 'stream_options': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) self.tx_rx_any_of_model_endpoint = _Endpoint( settings={ 'response_type': (GmFruitNoProperties,), @@ -3681,6 +3730,84 @@ class FakeApi(object): context return self.test_query_parameter_collection_format_endpoint.call_with_http_info(**kwargs) + def tx_rx_all_of_model( + self, + **kwargs + ): + """tx_rx_all_of_model # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.tx_rx_all_of_model(async_req=True) + >>> result = thread.get() + + + Keyword Args: + stream_options (StreamOptions): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + StreamOptions + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + return self.tx_rx_all_of_model_endpoint.call_with_http_info(**kwargs) + def tx_rx_any_of_model( self, **kwargs diff --git a/samples/openapi3/client/petstore/python/petstore_api/model/egress_threshold_options.py b/samples/openapi3/client/petstore/python/petstore_api/model/egress_threshold_options.py new file mode 100644 index 0000000000..e4ba952354 --- /dev/null +++ b/samples/openapi3/client/petstore/python/petstore_api/model/egress_threshold_options.py @@ -0,0 +1,263 @@ +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ # noqa: E501 + + The version of the OpenAPI document: 1.0.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from petstore_api.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from petstore_api.exceptions import ApiAttributeError + + + +class EgressThresholdOptions(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'egress_thresholds': ({str: (float,)},), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'egress_thresholds': 'egressThresholds', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """EgressThresholdOptions - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + egress_thresholds ({str: (float,)}): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """EgressThresholdOptions - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + egress_thresholds ({str: (float,)}): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/samples/openapi3/client/petstore/python/petstore_api/model/publish_options.py b/samples/openapi3/client/petstore/python/petstore_api/model/publish_options.py new file mode 100644 index 0000000000..1bcba6c3b8 --- /dev/null +++ b/samples/openapi3/client/petstore/python/petstore_api/model/publish_options.py @@ -0,0 +1,269 @@ +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ # noqa: E501 + + The version of the OpenAPI document: 1.0.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from petstore_api.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from petstore_api.exceptions import ApiAttributeError + + +def lazy_import(): + from petstore_api.model.publish_options_publish import PublishOptionsPublish + globals()['PublishOptionsPublish'] = PublishOptionsPublish + + +class PublishOptions(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'publish': (PublishOptionsPublish,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'publish': 'publish', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """PublishOptions - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + publish (PublishOptionsPublish): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """PublishOptions - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + publish (PublishOptionsPublish): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/samples/openapi3/client/petstore/python/petstore_api/model/publish_options_publish.py b/samples/openapi3/client/petstore/python/petstore_api/model/publish_options_publish.py new file mode 100644 index 0000000000..e6231b2abf --- /dev/null +++ b/samples/openapi3/client/petstore/python/petstore_api/model/publish_options_publish.py @@ -0,0 +1,267 @@ +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ # noqa: E501 + + The version of the OpenAPI document: 1.0.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from petstore_api.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from petstore_api.exceptions import ApiAttributeError + + + +class PublishOptionsPublish(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'egress_unknown_detections': (bool,), # noqa: E501 + 'filter_zero_detections': (bool,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'egress_unknown_detections': 'egressUnknownDetections', # noqa: E501 + 'filter_zero_detections': 'filterZeroDetections', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """PublishOptionsPublish - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + egress_unknown_detections (bool): [optional] # noqa: E501 + filter_zero_detections (bool): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """PublishOptionsPublish - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + egress_unknown_detections (bool): [optional] # noqa: E501 + filter_zero_detections (bool): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/samples/openapi3/client/petstore/python/petstore_api/model/stream_options.py b/samples/openapi3/client/petstore/python/petstore_api/model/stream_options.py new file mode 100644 index 0000000000..0a6e6fc06c --- /dev/null +++ b/samples/openapi3/client/petstore/python/petstore_api/model/stream_options.py @@ -0,0 +1,328 @@ +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ # noqa: E501 + + The version of the OpenAPI document: 1.0.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from petstore_api.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from petstore_api.exceptions import ApiAttributeError + + +def lazy_import(): + from petstore_api.model.egress_threshold_options import EgressThresholdOptions + from petstore_api.model.publish_options import PublishOptions + from petstore_api.model.publish_options_publish import PublishOptionsPublish + globals()['EgressThresholdOptions'] = EgressThresholdOptions + globals()['PublishOptions'] = PublishOptions + globals()['PublishOptionsPublish'] = PublishOptionsPublish + + +class StreamOptions(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'egress_thresholds': ({str: (float,)},), # noqa: E501 + 'publish': (PublishOptionsPublish,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'egress_thresholds': 'egressThresholds', # noqa: E501 + 'publish': 'publish', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """StreamOptions - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + egress_thresholds ({str: (float,)}): [optional] # noqa: E501 + publish (PublishOptionsPublish): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """StreamOptions - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + egress_thresholds ({str: (float,)}): [optional] # noqa: E501 + publish (PublishOptionsPublish): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + EgressThresholdOptions, + PublishOptions, + ], + 'oneOf': [ + ], + } diff --git a/samples/openapi3/client/petstore/python/petstore_api/model_utils.py b/samples/openapi3/client/petstore/python/petstore_api/model_utils.py index 15d570bfe9..933ceec6fa 100644 --- a/samples/openapi3/client/petstore/python/petstore_api/model_utils.py +++ b/samples/openapi3/client/petstore/python/petstore_api/model_utils.py @@ -2046,7 +2046,9 @@ def validate_get_composed_info(constant_args, model_args, self): var_name_to_model_instances = {} for prop_name in model_args: if prop_name not in discarded_args: - var_name_to_model_instances[prop_name] = [self] + composed_instances + var_name_to_model_instances[prop_name] = [self] + list( + filter( + lambda x: prop_name in x.openapi_types, composed_instances)) return [ composed_instances, diff --git a/samples/openapi3/client/petstore/python/petstore_api/models/__init__.py b/samples/openapi3/client/petstore/python/petstore_api/models/__init__.py index 2373130670..dd8afc1d8b 100644 --- a/samples/openapi3/client/petstore/python/petstore_api/models/__init__.py +++ b/samples/openapi3/client/petstore/python/petstore_api/models/__init__.py @@ -40,6 +40,7 @@ from petstore_api.model.danish_pig import DanishPig from petstore_api.model.dog import Dog from petstore_api.model.dog_all_of import DogAllOf from petstore_api.model.drawing import Drawing +from petstore_api.model.egress_threshold_options import EgressThresholdOptions from petstore_api.model.enum_arrays import EnumArrays from petstore_api.model.enum_class import EnumClass from petstore_api.model.enum_test import EnumTest @@ -84,6 +85,8 @@ from petstore_api.model.pet import Pet from petstore_api.model.pig import Pig from petstore_api.model.post_inline_additional_properties_payload_request import PostInlineAdditionalPropertiesPayloadRequest from petstore_api.model.post_inline_additional_properties_payload_request_array_data_inner import PostInlineAdditionalPropertiesPayloadRequestArrayDataInner +from petstore_api.model.publish_options import PublishOptions +from petstore_api.model.publish_options_publish import PublishOptionsPublish from petstore_api.model.quadrilateral import Quadrilateral from petstore_api.model.quadrilateral_interface import QuadrilateralInterface from petstore_api.model.read_only_first import ReadOnlyFirst @@ -96,6 +99,7 @@ from petstore_api.model.simple_quadrilateral import SimpleQuadrilateral from petstore_api.model.some_object import SomeObject from petstore_api.model.some_object_with_self_attr import SomeObjectWithSelfAttr from petstore_api.model.special_model_name import SpecialModelName +from petstore_api.model.stream_options import StreamOptions from petstore_api.model.string_boolean_map import StringBooleanMap from petstore_api.model.string_enum import StringEnum from petstore_api.model.string_enum_with_default_value import StringEnumWithDefaultValue diff --git a/samples/openapi3/client/petstore/python/test/test_egress_threshold_options.py b/samples/openapi3/client/petstore/python/test/test_egress_threshold_options.py new file mode 100644 index 0000000000..04c4c46142 --- /dev/null +++ b/samples/openapi3/client/petstore/python/test/test_egress_threshold_options.py @@ -0,0 +1,35 @@ +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ # noqa: E501 + + The version of the OpenAPI document: 1.0.0 + Generated by: https://openapi-generator.tech +""" + + +import sys +import unittest + +import petstore_api +from petstore_api.model.egress_threshold_options import EgressThresholdOptions + + +class TestEgressThresholdOptions(unittest.TestCase): + """EgressThresholdOptions unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testEgressThresholdOptions(self): + """Test EgressThresholdOptions""" + # FIXME: construct object with mandatory attributes with example values + # model = EgressThresholdOptions() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/petstore/python/test/test_publish_options.py b/samples/openapi3/client/petstore/python/test/test_publish_options.py new file mode 100644 index 0000000000..819ff51bb7 --- /dev/null +++ b/samples/openapi3/client/petstore/python/test/test_publish_options.py @@ -0,0 +1,37 @@ +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ # noqa: E501 + + The version of the OpenAPI document: 1.0.0 + Generated by: https://openapi-generator.tech +""" + + +import sys +import unittest + +import petstore_api +from petstore_api.model.publish_options_publish import PublishOptionsPublish +globals()['PublishOptionsPublish'] = PublishOptionsPublish +from petstore_api.model.publish_options import PublishOptions + + +class TestPublishOptions(unittest.TestCase): + """PublishOptions unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPublishOptions(self): + """Test PublishOptions""" + # FIXME: construct object with mandatory attributes with example values + # model = PublishOptions() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/petstore/python/test/test_publish_options_publish.py b/samples/openapi3/client/petstore/python/test/test_publish_options_publish.py new file mode 100644 index 0000000000..1e84805866 --- /dev/null +++ b/samples/openapi3/client/petstore/python/test/test_publish_options_publish.py @@ -0,0 +1,35 @@ +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ # noqa: E501 + + The version of the OpenAPI document: 1.0.0 + Generated by: https://openapi-generator.tech +""" + + +import sys +import unittest + +import petstore_api +from petstore_api.model.publish_options_publish import PublishOptionsPublish + + +class TestPublishOptionsPublish(unittest.TestCase): + """PublishOptionsPublish unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPublishOptionsPublish(self): + """Test PublishOptionsPublish""" + # FIXME: construct object with mandatory attributes with example values + # model = PublishOptionsPublish() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/petstore/python/test/test_stream_options.py b/samples/openapi3/client/petstore/python/test/test_stream_options.py new file mode 100644 index 0000000000..807e24596f --- /dev/null +++ b/samples/openapi3/client/petstore/python/test/test_stream_options.py @@ -0,0 +1,41 @@ +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ # noqa: E501 + + The version of the OpenAPI document: 1.0.0 + Generated by: https://openapi-generator.tech +""" + + +import sys +import unittest + +import petstore_api +from petstore_api.model.egress_threshold_options import EgressThresholdOptions +from petstore_api.model.publish_options import PublishOptions +from petstore_api.model.publish_options_publish import PublishOptionsPublish +globals()['EgressThresholdOptions'] = EgressThresholdOptions +globals()['PublishOptions'] = PublishOptions +globals()['PublishOptionsPublish'] = PublishOptionsPublish +from petstore_api.model.stream_options import StreamOptions + + +class TestStreamOptions(unittest.TestCase): + """StreamOptions unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testStreamOptions(self): + """Test StreamOptions""" + # FIXME: construct object with mandatory attributes with example values + # model = StreamOptions() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/petstore/python/tests_manual/test_fake_api.py b/samples/openapi3/client/petstore/python/tests_manual/test_fake_api.py index b70c91f8f8..12e391238e 100644 --- a/samples/openapi3/client/petstore/python/tests_manual/test_fake_api.py +++ b/samples/openapi3/client/petstore/python/tests_manual/test_fake_api.py @@ -747,5 +747,39 @@ class TestFakeApi(unittest.TestCase): assert isinstance(response, GmFruitNoProperties) assert model_to_dict(response) == expected_json_body + def test_post_tx_rx_all_of_payload(self): + """Test case for postInlineAdditionlPropertiesPayload + """ + from petstore_api.model.stream_options import StreamOptions + from petstore_api.model.publish_options_publish import PublishOptionsPublish + endpoint = self.api.tx_rx_all_of_model_endpoint + assert endpoint.openapi_types['stream_options'] == (StreamOptions,) + assert endpoint.settings['response_type'] == (StreamOptions,) + + # serialization + deserialization works + from petstore_api.rest import RESTClientObject, RESTResponse + with patch.object(RESTClientObject, 'request') as mock_method: + expected_json_body = { + "egressThresholds": { + "person":0.8 + }, + "publish": { + "egressUnknownDetections": False + } + } + stream_option_instance = StreamOptions(**expected_json_body) + mock_method.return_value = self.mock_response(expected_json_body) + + response = self.api.tx_rx_all_of_model(stream_options=stream_option_instance) + self.assert_request_called_with( + mock_method, + 'http://petstore.swagger.io:80/v2/fake/TxRxAllOfModel', + body=expected_json_body + ) + + assert isinstance(response, StreamOptions) + assert model_to_dict(response) == expected_json_body + assert response.publish == PublishOptionsPublish(**{"egress_unknown_detections": False}) + if __name__ == '__main__': unittest.main() diff --git a/samples/openapi3/client/petstore/python/tests_manual/test_fruit.py b/samples/openapi3/client/petstore/python/tests_manual/test_fruit.py index f95c07755f..a0f97a4a97 100644 --- a/samples/openapi3/client/petstore/python/tests_manual/test_fruit.py +++ b/samples/openapi3/client/petstore/python/tests_manual/test_fruit.py @@ -147,7 +147,7 @@ class TestFruit(unittest.TestCase): self.assertEqual( fruit._var_name_to_model_instances, { - 'color': [fruit, banana_instance], + 'color': [fruit], 'length_cm': [fruit, banana_instance], } ) @@ -206,7 +206,7 @@ class TestFruit(unittest.TestCase): self.assertEqual( fruit._var_name_to_model_instances, { - 'color': [fruit, apple_instance], + 'color': [fruit], 'cultivar': [fruit, apple_instance], } ) diff --git a/samples/openapi3/client/petstore/python/tests_manual/test_gm_fruit.py b/samples/openapi3/client/petstore/python/tests_manual/test_gm_fruit.py index ad5907ee44..bbe105c59b 100644 --- a/samples/openapi3/client/petstore/python/tests_manual/test_gm_fruit.py +++ b/samples/openapi3/client/petstore/python/tests_manual/test_gm_fruit.py @@ -110,7 +110,7 @@ class TestGmFruit(unittest.TestCase): self.assertEqual( fruit._var_name_to_model_instances, { - 'color': [fruit, banana_instance], + 'color': [fruit], 'length_cm': [fruit, banana_instance], } ) @@ -153,9 +153,9 @@ class TestGmFruit(unittest.TestCase): self.assertEqual( fruit._var_name_to_model_instances, { - 'color': [fruit, apple_instance, banana_instance], - 'length_cm': [fruit, apple_instance, banana_instance], - 'cultivar': [fruit, apple_instance, banana_instance], + 'color': [fruit], + 'length_cm': [fruit, banana_instance], + 'cultivar': [fruit, apple_instance], } ) self.assertEqual( @@ -204,7 +204,7 @@ class TestGmFruit(unittest.TestCase): self.assertEqual( fruit._var_name_to_model_instances, { - 'color': [fruit, apple_instance], + 'color': [fruit], 'cultivar': [fruit, apple_instance], 'origin': [fruit, apple_instance], } From 078232acb56b0a8cdceded6508cec4999bf547d6 Mon Sep 17 00:00:00 2001 From: Jon Schoning Date: Fri, 27 May 2022 23:22:09 -0500 Subject: [PATCH 018/212] [haskell-http-client] relax Aeson constraint to allow Aeson 1 (#12486) --- .../haskell-http-client/Core.mustache | 5 + .../haskell-http-client.cabal.mustache | 2 +- .../tests/Instances.mustache | 8 +- .../docs/OpenAPIPetstore-Core.html | 2 +- .../docs/OpenAPIPetstore-MimeTypes.html | 2 +- .../docs/src/OpenAPIPetstore.Core.html | 1107 +++++++++-------- .../example-app/openapi-petstore-app.cabal | 2 +- .../example-app/package.yaml | 2 +- .../lib/OpenAPIPetstore/Core.hs | 5 + .../openapi-petstore.cabal | 2 +- .../tests-integration/package.yaml | 2 +- .../haskell-http-client/tests/Instances.hs | 8 +- 12 files changed, 585 insertions(+), 562 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/haskell-http-client/Core.mustache b/modules/openapi-generator/src/main/resources/haskell-http-client/Core.mustache index ddd07b7192..f88ff04016 100644 --- a/modules/openapi-generator/src/main/resources/haskell-http-client/Core.mustache +++ b/modules/openapi-generator/src/main/resources/haskell-http-client/Core.mustache @@ -14,6 +14,7 @@ Module : {{baseModule}}.Core {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TupleSections #-} {-# LANGUAGE TypeFamilies #-} +{-# LANGUAGE CPP #-} {-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-} module {{baseModule}}.Core where @@ -419,7 +420,11 @@ _applyAuthMethods req config@({{configType}} {configAuthMethods = as}) = -- * Utils -- | Removes Null fields. (OpenAPI-Specification 2.0 does not allow Null in JSON) +#if MIN_VERSION_aeson(2,0,0) _omitNulls :: [(A.Key, A.Value)] -> A.Value +#else +_omitNulls :: [(Text, A.Value)] -> A.Value +#endif _omitNulls = A.object . P.filter notNull where notNull (_, A.Null) = False diff --git a/modules/openapi-generator/src/main/resources/haskell-http-client/haskell-http-client.cabal.mustache b/modules/openapi-generator/src/main/resources/haskell-http-client/haskell-http-client.cabal.mustache index c5b3d8c19a..f8cc633272 100644 --- a/modules/openapi-generator/src/main/resources/haskell-http-client/haskell-http-client.cabal.mustache +++ b/modules/openapi-generator/src/main/resources/haskell-http-client/haskell-http-client.cabal.mustache @@ -39,7 +39,7 @@ library lib ghc-options: -Wall -funbox-strict-fields build-depends: - aeson >=2.0 && <3.0 + aeson >=1.0 && <3.0 , base >=4.7 && <5.0 , base64-bytestring >1.0 && <2.0 , bytestring >=0.10.0 diff --git a/modules/openapi-generator/src/main/resources/haskell-http-client/tests/Instances.mustache b/modules/openapi-generator/src/main/resources/haskell-http-client/tests/Instances.mustache index b75ddeca6f..851982fffb 100644 --- a/modules/openapi-generator/src/main/resources/haskell-http-client/tests/Instances.mustache +++ b/modules/openapi-generator/src/main/resources/haskell-http-client/tests/Instances.mustache @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP #-} {-# OPTIONS_GHC -fno-warn-unused-imports -fno-warn-unused-matches #-} module Instances where @@ -53,9 +54,12 @@ instance Arbitrary Date where arbitrary = Date <$> arbitrary shrink (Date xs) = Date <$> shrink xs +#if MIN_VERSION_aeson(2,0,0) +#else -- | A naive Arbitrary instance for A.Value: --- instance Arbitrary A.Value where --- arbitrary = arbitraryValue +instance Arbitrary A.Value where + arbitrary = arbitraryValue +#endif arbitraryValue :: Gen A.Value arbitraryValue = diff --git a/samples/client/petstore/haskell-http-client/docs/OpenAPIPetstore-Core.html b/samples/client/petstore/haskell-http-client/docs/OpenAPIPetstore-Core.html index a5d3d1d0a0..b7788fb210 100644 --- a/samples/client/petstore/haskell-http-client/docs/OpenAPIPetstore-Core.html +++ b/samples/client/petstore/haskell-http-client/docs/OpenAPIPetstore-Core.html @@ -1 +1 @@ -OpenAPIPetstore.Core
openapi-petstore-0.1.0.0: Auto-generated openapi-petstore API Client
Safe HaskellSafe-Inferred
LanguageHaskell2010

OpenAPIPetstore.Core

Description

 
Synopsis

OpenAPIPetstoreConfig

data OpenAPIPetstoreConfig Source #

 

Constructors

OpenAPIPetstoreConfig 

Fields

Instances

Instances details
Show OpenAPIPetstoreConfig Source #

display the config

Instance details

Defined in OpenAPIPetstore.Core

newConfig :: IO OpenAPIPetstoreConfig Source #

constructs a default OpenAPIPetstoreConfig

configHost:

http://petstore.swagger.io:80/v2

configUserAgent:

"openapi-petstore/0.1.0.0"

addAuthMethod :: AuthMethod auth => OpenAPIPetstoreConfig -> auth -> OpenAPIPetstoreConfig Source #

updates config use AuthMethod on matching requests

withStdoutLogging :: OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig Source #

updates the config to use stdout logging

withStderrLogging :: OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig Source #

updates the config to use stderr logging

withNoLogging :: OpenAPIPetstoreConfig -> OpenAPIPetstoreConfig Source #

updates the config to disable logging

OpenAPIPetstoreRequest

data OpenAPIPetstoreRequest req contentType res accept Source #

Represents a request.

Type Variables:

  • req - request operation
  • contentType - MimeType associated with request body
  • res - response model
  • accept - MimeType associated with response body

Constructors

OpenAPIPetstoreRequest 

Fields

Instances

Instances details
Show (OpenAPIPetstoreRequest req contentType res accept) Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

showsPrec :: Int -> OpenAPIPetstoreRequest req contentType res accept -> ShowS #

show :: OpenAPIPetstoreRequest req contentType res accept -> String #

showList :: [OpenAPIPetstoreRequest req contentType res accept] -> ShowS #

rMethodL :: Lens_' (OpenAPIPetstoreRequest req contentType res accept) Method Source #

rMethod Lens

rUrlPathL :: Lens_' (OpenAPIPetstoreRequest req contentType res accept) [ByteString] Source #

rParamsL :: Lens_' (OpenAPIPetstoreRequest req contentType res accept) Params Source #

rParams Lens

rAuthTypesL :: Lens_' (OpenAPIPetstoreRequest req contentType res accept) [TypeRep] Source #

rParams Lens

HasBodyParam

class HasBodyParam req param where Source #

Designates the body parameter of a request

Minimal complete definition

Nothing

Methods

setBodyParam :: forall contentType res accept. (Consumes req contentType, MimeRender contentType param) => OpenAPIPetstoreRequest req contentType res accept -> param -> OpenAPIPetstoreRequest req contentType res accept Source #

Instances

Instances details
HasBodyParam Op123testSpecialTags Client Source #

Body Param "body" - client model

Instance details

Defined in OpenAPIPetstore.API.AnotherFake

Methods

setBodyParam :: (Consumes Op123testSpecialTags contentType, MimeRender contentType Client) => OpenAPIPetstoreRequest Op123testSpecialTags contentType res accept -> Client -> OpenAPIPetstoreRequest Op123testSpecialTags contentType res accept Source #

HasBodyParam CreateXmlItem XmlItem Source #

Body Param XmlItem - XmlItem Body

Instance details

Defined in OpenAPIPetstore.API.Fake

Methods

setBodyParam :: (Consumes CreateXmlItem contentType, MimeRender contentType XmlItem) => OpenAPIPetstoreRequest CreateXmlItem contentType res accept -> XmlItem -> OpenAPIPetstoreRequest CreateXmlItem contentType res accept Source #

HasBodyParam FakeOuterBooleanSerialize BodyBool Source #

Body Param "body" - Input boolean as post body

Instance details

Defined in OpenAPIPetstore.API.Fake

HasBodyParam FakeOuterCompositeSerialize OuterComposite Source #

Body Param "body" - Input composite as post body

Instance details

Defined in OpenAPIPetstore.API.Fake

HasBodyParam FakeOuterNumberSerialize BodyDouble Source #

Body Param "body" - Input number as post body

Instance details

Defined in OpenAPIPetstore.API.Fake

HasBodyParam FakeOuterStringSerialize BodyText Source #

Body Param "body" - Input string as post body

Instance details

Defined in OpenAPIPetstore.API.Fake

HasBodyParam TestBodyWithFileSchema FileSchemaTestClass Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

HasBodyParam TestBodyWithQueryParams User Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

HasBodyParam TestClientModel Client Source #

Body Param "body" - client model

Instance details

Defined in OpenAPIPetstore.API.Fake

Methods

setBodyParam :: (Consumes TestClientModel contentType, MimeRender contentType Client) => OpenAPIPetstoreRequest TestClientModel contentType res accept -> Client -> OpenAPIPetstoreRequest TestClientModel contentType res accept Source #

HasBodyParam TestInlineAdditionalProperties ParamMapMapStringText Source #

Body Param "param" - request body

Instance details

Defined in OpenAPIPetstore.API.Fake

HasBodyParam TestClassname Client Source #

Body Param "body" - client model

Instance details

Defined in OpenAPIPetstore.API.FakeClassnameTags123

Methods

setBodyParam :: (Consumes TestClassname contentType, MimeRender contentType Client) => OpenAPIPetstoreRequest TestClassname contentType res accept -> Client -> OpenAPIPetstoreRequest TestClassname contentType res accept Source #

HasBodyParam AddPet Pet Source #

Body Param "body" - Pet object that needs to be added to the store

Instance details

Defined in OpenAPIPetstore.API.Pet

Methods

setBodyParam :: (Consumes AddPet contentType, MimeRender contentType Pet) => OpenAPIPetstoreRequest AddPet contentType res accept -> Pet -> OpenAPIPetstoreRequest AddPet contentType res accept Source #

HasBodyParam UpdatePet Pet Source #

Body Param "body" - Pet object that needs to be added to the store

Instance details

Defined in OpenAPIPetstore.API.Pet

Methods

setBodyParam :: (Consumes UpdatePet contentType, MimeRender contentType Pet) => OpenAPIPetstoreRequest UpdatePet contentType res accept -> Pet -> OpenAPIPetstoreRequest UpdatePet contentType res accept Source #

HasBodyParam PlaceOrder Order Source #

Body Param "body" - order placed for purchasing the pet

Instance details

Defined in OpenAPIPetstore.API.Store

Methods

setBodyParam :: (Consumes PlaceOrder contentType, MimeRender contentType Order) => OpenAPIPetstoreRequest PlaceOrder contentType res accept -> Order -> OpenAPIPetstoreRequest PlaceOrder contentType res accept Source #

HasBodyParam CreateUser User Source #

Body Param "body" - Created user object

Instance details

Defined in OpenAPIPetstore.API.User

Methods

setBodyParam :: (Consumes CreateUser contentType, MimeRender contentType User) => OpenAPIPetstoreRequest CreateUser contentType res accept -> User -> OpenAPIPetstoreRequest CreateUser contentType res accept Source #

HasBodyParam CreateUsersWithArrayInput Body Source #

Body Param "body" - List of user object

Instance details

Defined in OpenAPIPetstore.API.User

HasBodyParam CreateUsersWithListInput Body Source #

Body Param "body" - List of user object

Instance details

Defined in OpenAPIPetstore.API.User

HasBodyParam UpdateUser User Source #

Body Param "body" - Updated user object

Instance details

Defined in OpenAPIPetstore.API.User

Methods

setBodyParam :: (Consumes UpdateUser contentType, MimeRender contentType User) => OpenAPIPetstoreRequest UpdateUser contentType res accept -> User -> OpenAPIPetstoreRequest UpdateUser contentType res accept Source #

HasOptionalParam

class HasOptionalParam req param where Source #

Designates the optional parameters of a request

Minimal complete definition

applyOptionalParam | (-&-)

Methods

applyOptionalParam :: OpenAPIPetstoreRequest req contentType res accept -> param -> OpenAPIPetstoreRequest req contentType res accept Source #

Apply an optional parameter to a request

(-&-) :: OpenAPIPetstoreRequest req contentType res accept -> param -> OpenAPIPetstoreRequest req contentType res accept infixl 2 Source #

infix operator / alias for addOptionalParam

Instances

Instances details
HasOptionalParam TestEndpointParameters Callback Source #

Optional Param "callback" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEndpointParameters Int32 Source #

Optional Param "int32" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEndpointParameters Int64 Source #

Optional Param "int64" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEndpointParameters ParamBinary Source #

Optional Param "binary" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEndpointParameters ParamDate Source #

Optional Param "date" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEndpointParameters ParamDateTime Source #

Optional Param "dateTime" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEndpointParameters ParamFloat Source #

Optional Param "float" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEndpointParameters ParamInteger Source #

Optional Param "integer" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEndpointParameters ParamString Source #

Optional Param "string" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEndpointParameters Password Source #

Optional Param "password" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEnumParameters EnumFormString Source #

Optional Param "enum_form_string" - Form parameter enum test (string)

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEnumParameters EnumFormStringArray Source #

Optional Param "enum_form_string_array" - Form parameter enum test (string array)

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEnumParameters EnumHeaderString Source #

Optional Param "enum_header_string" - Header parameter enum test (string)

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEnumParameters EnumHeaderStringArray Source #

Optional Param "enum_header_string_array" - Header parameter enum test (string array)

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEnumParameters EnumQueryDouble Source #

Optional Param "enum_query_double" - Query parameter enum test (double)

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEnumParameters EnumQueryInteger Source #

Optional Param "enum_query_integer" - Query parameter enum test (double)

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEnumParameters EnumQueryString Source #

Optional Param "enum_query_string" - Query parameter enum test (string)

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEnumParameters EnumQueryStringArray Source #

Optional Param "enum_query_string_array" - Query parameter enum test (string array)

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestGroupParameters BooleanGroup Source #

Optional Param "boolean_group" - Boolean in group parameters

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestGroupParameters Int64Group Source #

Optional Param "int64_group" - Integer in group parameters

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestGroupParameters StringGroup Source #

Optional Param "string_group" - String in group parameters

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam DeletePet ApiKey Source # 
Instance details

Defined in OpenAPIPetstore.API.Pet

Methods

applyOptionalParam :: OpenAPIPetstoreRequest DeletePet contentType res accept -> ApiKey -> OpenAPIPetstoreRequest DeletePet contentType res accept Source #

(-&-) :: OpenAPIPetstoreRequest DeletePet contentType res accept -> ApiKey -> OpenAPIPetstoreRequest DeletePet contentType res accept Source #

HasOptionalParam UpdatePetWithForm Name2 Source #

Optional Param "name" - Updated name of the pet

Instance details

Defined in OpenAPIPetstore.API.Pet

HasOptionalParam UpdatePetWithForm StatusText Source #

Optional Param "status" - Updated status of the pet

Instance details

Defined in OpenAPIPetstore.API.Pet

HasOptionalParam UploadFile AdditionalMetadata Source #

Optional Param "additionalMetadata" - Additional data to pass to server

Instance details

Defined in OpenAPIPetstore.API.Pet

HasOptionalParam UploadFile File2 Source #

Optional Param "file" - file to upload

Instance details

Defined in OpenAPIPetstore.API.Pet

Methods

applyOptionalParam :: OpenAPIPetstoreRequest UploadFile contentType res accept -> File2 -> OpenAPIPetstoreRequest UploadFile contentType res accept Source #

(-&-) :: OpenAPIPetstoreRequest UploadFile contentType res accept -> File2 -> OpenAPIPetstoreRequest UploadFile contentType res accept Source #

HasOptionalParam UploadFileWithRequiredFile AdditionalMetadata Source #

Optional Param "additionalMetadata" - Additional data to pass to server

Instance details

Defined in OpenAPIPetstore.API.Pet

data Params Source #

Request Params

Constructors

Params 

Fields

Instances

Instances details
Show Params Source # 
Instance details

Defined in OpenAPIPetstore.Core

data ParamBody Source #

Request Body

Instances

Instances details
Show ParamBody Source # 
Instance details

Defined in OpenAPIPetstore.Core

OpenAPIPetstoreRequest Utils

_mkRequest Source #

Arguments

:: Method

Method

-> [ByteString]

Endpoint

-> OpenAPIPetstoreRequest req contentType res accept

req: Request Type, res: Response Type

setHeader :: OpenAPIPetstoreRequest req contentType res accept -> [Header] -> OpenAPIPetstoreRequest req contentType res accept Source #

addHeader :: OpenAPIPetstoreRequest req contentType res accept -> [Header] -> OpenAPIPetstoreRequest req contentType res accept Source #

removeHeader :: OpenAPIPetstoreRequest req contentType res accept -> [HeaderName] -> OpenAPIPetstoreRequest req contentType res accept Source #

_setContentTypeHeader :: forall req contentType res accept. MimeType contentType => OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept Source #

_setAcceptHeader :: forall req contentType res accept. MimeType accept => OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept Source #

setQuery :: OpenAPIPetstoreRequest req contentType res accept -> [QueryItem] -> OpenAPIPetstoreRequest req contentType res accept Source #

addQuery :: OpenAPIPetstoreRequest req contentType res accept -> [QueryItem] -> OpenAPIPetstoreRequest req contentType res accept Source #

addForm :: OpenAPIPetstoreRequest req contentType res accept -> Form -> OpenAPIPetstoreRequest req contentType res accept Source #

_addMultiFormPart :: OpenAPIPetstoreRequest req contentType res accept -> Part -> OpenAPIPetstoreRequest req contentType res accept Source #

_setBodyBS :: OpenAPIPetstoreRequest req contentType res accept -> ByteString -> OpenAPIPetstoreRequest req contentType res accept Source #

_setBodyLBS :: OpenAPIPetstoreRequest req contentType res accept -> ByteString -> OpenAPIPetstoreRequest req contentType res accept Source #

_hasAuthType :: AuthMethod authMethod => OpenAPIPetstoreRequest req contentType res accept -> Proxy authMethod -> OpenAPIPetstoreRequest req contentType res accept Source #

Params Utils

toPath :: ToHttpApiData a => a -> ByteString Source #

toHeader :: ToHttpApiData a => (HeaderName, a) -> [Header] Source #

toForm :: ToHttpApiData v => (ByteString, v) -> Form Source #

toQuery :: ToHttpApiData a => (ByteString, Maybe a) -> [QueryItem] Source #

toPartialEscapeQuery :: ByteString -> Query -> PartialEscapeQuery Source #

OpenAPI CollectionFormat Utils

data CollectionFormat Source #

Determines the format of the array if type array is used.

Constructors

CommaSeparated

CSV format for multiple parameters.

SpaceSeparated

Also called SSV

TabSeparated

Also called TSV

PipeSeparated

`value1|value2|value2`

MultiParamArray

Using multiple GET parameters, e.g. `foo=bar&foo=baz`. This is valid only for parameters in "query" (Query) or "formData" (Form)

toHeaderColl :: ToHttpApiData a => CollectionFormat -> (HeaderName, [a]) -> [Header] Source #

toFormColl :: ToHttpApiData v => CollectionFormat -> (ByteString, [v]) -> Form Source #

toQueryColl :: ToHttpApiData a => CollectionFormat -> (ByteString, Maybe [a]) -> Query Source #

_toColl :: Traversable f => CollectionFormat -> (f a -> [(b, ByteString)]) -> f [a] -> [(b, ByteString)] Source #

_toCollA :: (Traversable f, Traversable t, Alternative t) => CollectionFormat -> (f (t a) -> [(b, t ByteString)]) -> f (t [a]) -> [(b, t ByteString)] Source #

_toCollA' :: (Monoid c, Traversable f, Traversable t, Alternative t) => CollectionFormat -> (f (t a) -> [(b, t c)]) -> (Char -> c) -> f (t [a]) -> [(b, t c)] Source #

AuthMethods

class Typeable a => AuthMethod a where Source #

Provides a method to apply auth methods to requests

Methods

applyAuthMethod :: OpenAPIPetstoreConfig -> a -> OpenAPIPetstoreRequest req contentType res accept -> IO (OpenAPIPetstoreRequest req contentType res accept) Source #

Instances

Instances details
AuthMethod AnyAuthMethod Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

applyAuthMethod :: OpenAPIPetstoreConfig -> AnyAuthMethod -> OpenAPIPetstoreRequest req contentType res accept -> IO (OpenAPIPetstoreRequest req contentType res accept) Source #

AuthMethod AuthApiKeyApiKey Source # 
Instance details

Defined in OpenAPIPetstore.Model

Methods

applyAuthMethod :: OpenAPIPetstoreConfig -> AuthApiKeyApiKey -> OpenAPIPetstoreRequest req contentType res accept -> IO (OpenAPIPetstoreRequest req contentType res accept) Source #

AuthMethod AuthApiKeyApiKeyQuery Source # 
Instance details

Defined in OpenAPIPetstore.Model

Methods

applyAuthMethod :: OpenAPIPetstoreConfig -> AuthApiKeyApiKeyQuery -> OpenAPIPetstoreRequest req contentType res accept -> IO (OpenAPIPetstoreRequest req contentType res accept) Source #

AuthMethod AuthBasicHttpBasicTest Source # 
Instance details

Defined in OpenAPIPetstore.Model

Methods

applyAuthMethod :: OpenAPIPetstoreConfig -> AuthBasicHttpBasicTest -> OpenAPIPetstoreRequest req contentType res accept -> IO (OpenAPIPetstoreRequest req contentType res accept) Source #

AuthMethod AuthOAuthPetstoreAuth Source # 
Instance details

Defined in OpenAPIPetstore.Model

Methods

applyAuthMethod :: OpenAPIPetstoreConfig -> AuthOAuthPetstoreAuth -> OpenAPIPetstoreRequest req contentType res accept -> IO (OpenAPIPetstoreRequest req contentType res accept) Source #

data AnyAuthMethod Source #

An existential wrapper for any AuthMethod

Constructors

forall a.AuthMethod a => AnyAuthMethod a 

Instances

Instances details
AuthMethod AnyAuthMethod Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

applyAuthMethod :: OpenAPIPetstoreConfig -> AnyAuthMethod -> OpenAPIPetstoreRequest req contentType res accept -> IO (OpenAPIPetstoreRequest req contentType res accept) Source #

_applyAuthMethods :: OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreConfig -> IO (OpenAPIPetstoreRequest req contentType res accept) Source #

apply all matching AuthMethods in config to request

Utils

_omitNulls :: [(Key, Value)] -> Value Source #

Removes Null fields. (OpenAPI-Specification 2.0 does not allow Null in JSON)

_toFormItem :: (ToHttpApiData a, Functor f) => t -> f a -> f (t, [Text]) Source #

Encodes fields using WH.toQueryParam

_emptyToNothing :: Maybe String -> Maybe String Source #

Collapse (Just "") to Nothing

_memptyToNothing :: (Monoid a, Eq a) => Maybe a -> Maybe a Source #

Collapse (Just mempty) to Nothing

DateTime Formatting

newtype DateTime Source #

Constructors

DateTime 

Fields

Instances

Instances details
FromJSON DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

parseJSON :: Value -> Parser DateTime

parseJSONList :: Value -> Parser [DateTime]

ToJSON DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

toJSON :: DateTime -> Value

toEncoding :: DateTime -> Encoding

toJSONList :: [DateTime] -> Value

toEncodingList :: [DateTime] -> Encoding

Data DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DateTime -> c DateTime #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DateTime #

toConstr :: DateTime -> Constr #

dataTypeOf :: DateTime -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DateTime) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DateTime) #

gmapT :: (forall b. Data b => b -> b) -> DateTime -> DateTime #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DateTime -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DateTime -> r #

gmapQ :: (forall d. Data d => d -> u) -> DateTime -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DateTime -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DateTime -> m DateTime #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DateTime -> m DateTime #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DateTime -> m DateTime #

Show DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

NFData DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

rnf :: DateTime -> () #

Eq DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

Ord DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

FromHttpApiData DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

ToHttpApiData DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

_readDateTime :: (MonadFail m, Alternative m) => String -> m DateTime Source #

_parseISO8601

_showDateTime :: (t ~ UTCTime, FormatTime t) => t -> String Source #

TI.formatISO8601Millis

_parseISO8601 :: (ParseTime t, MonadFail m, Alternative m) => String -> m t Source #

parse an ISO8601 date-time string

Date Formatting

newtype Date Source #

Constructors

Date 

Fields

Instances

Instances details
FromJSON Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

parseJSON :: Value -> Parser Date

parseJSONList :: Value -> Parser [Date]

ToJSON Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

toJSON :: Date -> Value

toEncoding :: Date -> Encoding

toJSONList :: [Date] -> Value

toEncodingList :: [Date] -> Encoding

Data Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Date -> c Date #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Date #

toConstr :: Date -> Constr #

dataTypeOf :: Date -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Date) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Date) #

gmapT :: (forall b. Data b => b -> b) -> Date -> Date #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Date -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Date -> r #

gmapQ :: (forall d. Data d => d -> u) -> Date -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Date -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Date -> m Date #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Date -> m Date #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Date -> m Date #

Enum Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

succ :: Date -> Date #

pred :: Date -> Date #

toEnum :: Int -> Date #

fromEnum :: Date -> Int #

enumFrom :: Date -> [Date] #

enumFromThen :: Date -> Date -> [Date] #

enumFromTo :: Date -> Date -> [Date] #

enumFromThenTo :: Date -> Date -> Date -> [Date] #

Ix Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

range :: (Date, Date) -> [Date] #

index :: (Date, Date) -> Date -> Int #

unsafeIndex :: (Date, Date) -> Date -> Int #

inRange :: (Date, Date) -> Date -> Bool #

rangeSize :: (Date, Date) -> Int #

unsafeRangeSize :: (Date, Date) -> Int #

Show Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

showsPrec :: Int -> Date -> ShowS #

show :: Date -> String #

showList :: [Date] -> ShowS #

NFData Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

rnf :: Date -> () #

Eq Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

(==) :: Date -> Date -> Bool #

(/=) :: Date -> Date -> Bool #

Ord Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

compare :: Date -> Date -> Ordering #

(<) :: Date -> Date -> Bool #

(<=) :: Date -> Date -> Bool #

(>) :: Date -> Date -> Bool #

(>=) :: Date -> Date -> Bool #

max :: Date -> Date -> Date #

min :: Date -> Date -> Date #

FromHttpApiData Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

ToHttpApiData Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

_readDate :: MonadFail m => String -> m Date Source #

TI.parseTimeM True TI.defaultTimeLocale "%Y-%m-%d"

_showDate :: FormatTime t => t -> String Source #

TI.formatTime TI.defaultTimeLocale "%Y-%m-%d"

Byte/Binary Formatting

newtype ByteArray Source #

base64 encoded characters

Constructors

ByteArray 

Instances

Instances details
FromJSON ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

parseJSON :: Value -> Parser ByteArray

parseJSONList :: Value -> Parser [ByteArray]

ToJSON ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

toJSON :: ByteArray -> Value

toEncoding :: ByteArray -> Encoding

toJSONList :: [ByteArray] -> Value

toEncodingList :: [ByteArray] -> Encoding

Data ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ByteArray -> c ByteArray #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ByteArray #

toConstr :: ByteArray -> Constr #

dataTypeOf :: ByteArray -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ByteArray) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ByteArray) #

gmapT :: (forall b. Data b => b -> b) -> ByteArray -> ByteArray #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ByteArray -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ByteArray -> r #

gmapQ :: (forall d. Data d => d -> u) -> ByteArray -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ByteArray -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ByteArray -> m ByteArray #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteArray -> m ByteArray #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteArray -> m ByteArray #

Show ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

NFData ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

rnf :: ByteArray -> () #

Eq ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

Ord ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

FromHttpApiData ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

ToHttpApiData ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

_readByteArray :: MonadFail m => Text -> m ByteArray Source #

read base64 encoded characters

_showByteArray :: ByteArray -> Text Source #

show base64 encoded characters

newtype Binary Source #

any sequence of octets

Constructors

Binary 

Fields

Instances

Instances details
FromJSON Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

parseJSON :: Value -> Parser Binary

parseJSONList :: Value -> Parser [Binary]

ToJSON Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

toJSON :: Binary -> Value

toEncoding :: Binary -> Encoding

toJSONList :: [Binary] -> Value

toEncodingList :: [Binary] -> Encoding

Data Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Binary -> c Binary #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Binary #

toConstr :: Binary -> Constr #

dataTypeOf :: Binary -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Binary) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Binary) #

gmapT :: (forall b. Data b => b -> b) -> Binary -> Binary #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Binary -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Binary -> r #

gmapQ :: (forall d. Data d => d -> u) -> Binary -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Binary -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Binary -> m Binary #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Binary -> m Binary #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Binary -> m Binary #

Show Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

NFData Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

rnf :: Binary -> () #

Eq Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

(==) :: Binary -> Binary -> Bool #

(/=) :: Binary -> Binary -> Bool #

Ord Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

FromHttpApiData Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

ToHttpApiData Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

Lens Type Aliases

type Lens_' s a = Lens_ s s a a Source #

type Lens_ s t a b = forall (f :: Type -> Type). Functor f => (a -> f b) -> s -> f t Source #

\ No newline at end of file +OpenAPIPetstore.Core
openapi-petstore-0.1.0.0: Auto-generated openapi-petstore API Client
Safe HaskellSafe-Inferred
LanguageHaskell2010

OpenAPIPetstore.Core

Description

 
Synopsis

OpenAPIPetstoreConfig

data OpenAPIPetstoreConfig Source #

 

Constructors

OpenAPIPetstoreConfig 

Fields

Instances

Instances details
Show OpenAPIPetstoreConfig Source #

display the config

Instance details

Defined in OpenAPIPetstore.Core

newConfig :: IO OpenAPIPetstoreConfig Source #

constructs a default OpenAPIPetstoreConfig

configHost:

http://petstore.swagger.io:80/v2

configUserAgent:

"openapi-petstore/0.1.0.0"

addAuthMethod :: AuthMethod auth => OpenAPIPetstoreConfig -> auth -> OpenAPIPetstoreConfig Source #

updates config use AuthMethod on matching requests

withStdoutLogging :: OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig Source #

updates the config to use stdout logging

withStderrLogging :: OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig Source #

updates the config to use stderr logging

withNoLogging :: OpenAPIPetstoreConfig -> OpenAPIPetstoreConfig Source #

updates the config to disable logging

OpenAPIPetstoreRequest

data OpenAPIPetstoreRequest req contentType res accept Source #

Represents a request.

Type Variables:

  • req - request operation
  • contentType - MimeType associated with request body
  • res - response model
  • accept - MimeType associated with response body

Constructors

OpenAPIPetstoreRequest 

Fields

Instances

Instances details
Show (OpenAPIPetstoreRequest req contentType res accept) Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

showsPrec :: Int -> OpenAPIPetstoreRequest req contentType res accept -> ShowS #

show :: OpenAPIPetstoreRequest req contentType res accept -> String #

showList :: [OpenAPIPetstoreRequest req contentType res accept] -> ShowS #

rMethodL :: Lens_' (OpenAPIPetstoreRequest req contentType res accept) Method Source #

rMethod Lens

rUrlPathL :: Lens_' (OpenAPIPetstoreRequest req contentType res accept) [ByteString] Source #

rParamsL :: Lens_' (OpenAPIPetstoreRequest req contentType res accept) Params Source #

rParams Lens

rAuthTypesL :: Lens_' (OpenAPIPetstoreRequest req contentType res accept) [TypeRep] Source #

rParams Lens

HasBodyParam

class HasBodyParam req param where Source #

Designates the body parameter of a request

Minimal complete definition

Nothing

Methods

setBodyParam :: forall contentType res accept. (Consumes req contentType, MimeRender contentType param) => OpenAPIPetstoreRequest req contentType res accept -> param -> OpenAPIPetstoreRequest req contentType res accept Source #

Instances

Instances details
HasBodyParam Op123testSpecialTags Client Source #

Body Param "body" - client model

Instance details

Defined in OpenAPIPetstore.API.AnotherFake

Methods

setBodyParam :: (Consumes Op123testSpecialTags contentType, MimeRender contentType Client) => OpenAPIPetstoreRequest Op123testSpecialTags contentType res accept -> Client -> OpenAPIPetstoreRequest Op123testSpecialTags contentType res accept Source #

HasBodyParam CreateXmlItem XmlItem Source #

Body Param XmlItem - XmlItem Body

Instance details

Defined in OpenAPIPetstore.API.Fake

Methods

setBodyParam :: (Consumes CreateXmlItem contentType, MimeRender contentType XmlItem) => OpenAPIPetstoreRequest CreateXmlItem contentType res accept -> XmlItem -> OpenAPIPetstoreRequest CreateXmlItem contentType res accept Source #

HasBodyParam FakeOuterBooleanSerialize BodyBool Source #

Body Param "body" - Input boolean as post body

Instance details

Defined in OpenAPIPetstore.API.Fake

HasBodyParam FakeOuterCompositeSerialize OuterComposite Source #

Body Param "body" - Input composite as post body

Instance details

Defined in OpenAPIPetstore.API.Fake

HasBodyParam FakeOuterNumberSerialize BodyDouble Source #

Body Param "body" - Input number as post body

Instance details

Defined in OpenAPIPetstore.API.Fake

HasBodyParam FakeOuterStringSerialize BodyText Source #

Body Param "body" - Input string as post body

Instance details

Defined in OpenAPIPetstore.API.Fake

HasBodyParam TestBodyWithFileSchema FileSchemaTestClass Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

HasBodyParam TestBodyWithQueryParams User Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

HasBodyParam TestClientModel Client Source #

Body Param "body" - client model

Instance details

Defined in OpenAPIPetstore.API.Fake

Methods

setBodyParam :: (Consumes TestClientModel contentType, MimeRender contentType Client) => OpenAPIPetstoreRequest TestClientModel contentType res accept -> Client -> OpenAPIPetstoreRequest TestClientModel contentType res accept Source #

HasBodyParam TestInlineAdditionalProperties ParamMapMapStringText Source #

Body Param "param" - request body

Instance details

Defined in OpenAPIPetstore.API.Fake

HasBodyParam TestClassname Client Source #

Body Param "body" - client model

Instance details

Defined in OpenAPIPetstore.API.FakeClassnameTags123

Methods

setBodyParam :: (Consumes TestClassname contentType, MimeRender contentType Client) => OpenAPIPetstoreRequest TestClassname contentType res accept -> Client -> OpenAPIPetstoreRequest TestClassname contentType res accept Source #

HasBodyParam AddPet Pet Source #

Body Param "body" - Pet object that needs to be added to the store

Instance details

Defined in OpenAPIPetstore.API.Pet

Methods

setBodyParam :: (Consumes AddPet contentType, MimeRender contentType Pet) => OpenAPIPetstoreRequest AddPet contentType res accept -> Pet -> OpenAPIPetstoreRequest AddPet contentType res accept Source #

HasBodyParam UpdatePet Pet Source #

Body Param "body" - Pet object that needs to be added to the store

Instance details

Defined in OpenAPIPetstore.API.Pet

Methods

setBodyParam :: (Consumes UpdatePet contentType, MimeRender contentType Pet) => OpenAPIPetstoreRequest UpdatePet contentType res accept -> Pet -> OpenAPIPetstoreRequest UpdatePet contentType res accept Source #

HasBodyParam PlaceOrder Order Source #

Body Param "body" - order placed for purchasing the pet

Instance details

Defined in OpenAPIPetstore.API.Store

Methods

setBodyParam :: (Consumes PlaceOrder contentType, MimeRender contentType Order) => OpenAPIPetstoreRequest PlaceOrder contentType res accept -> Order -> OpenAPIPetstoreRequest PlaceOrder contentType res accept Source #

HasBodyParam CreateUser User Source #

Body Param "body" - Created user object

Instance details

Defined in OpenAPIPetstore.API.User

Methods

setBodyParam :: (Consumes CreateUser contentType, MimeRender contentType User) => OpenAPIPetstoreRequest CreateUser contentType res accept -> User -> OpenAPIPetstoreRequest CreateUser contentType res accept Source #

HasBodyParam CreateUsersWithArrayInput Body Source #

Body Param "body" - List of user object

Instance details

Defined in OpenAPIPetstore.API.User

HasBodyParam CreateUsersWithListInput Body Source #

Body Param "body" - List of user object

Instance details

Defined in OpenAPIPetstore.API.User

HasBodyParam UpdateUser User Source #

Body Param "body" - Updated user object

Instance details

Defined in OpenAPIPetstore.API.User

Methods

setBodyParam :: (Consumes UpdateUser contentType, MimeRender contentType User) => OpenAPIPetstoreRequest UpdateUser contentType res accept -> User -> OpenAPIPetstoreRequest UpdateUser contentType res accept Source #

HasOptionalParam

class HasOptionalParam req param where Source #

Designates the optional parameters of a request

Minimal complete definition

applyOptionalParam | (-&-)

Methods

applyOptionalParam :: OpenAPIPetstoreRequest req contentType res accept -> param -> OpenAPIPetstoreRequest req contentType res accept Source #

Apply an optional parameter to a request

(-&-) :: OpenAPIPetstoreRequest req contentType res accept -> param -> OpenAPIPetstoreRequest req contentType res accept infixl 2 Source #

infix operator / alias for addOptionalParam

Instances

Instances details
HasOptionalParam TestEndpointParameters Callback Source #

Optional Param "callback" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEndpointParameters Int32 Source #

Optional Param "int32" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEndpointParameters Int64 Source #

Optional Param "int64" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEndpointParameters ParamBinary Source #

Optional Param "binary" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEndpointParameters ParamDate Source #

Optional Param "date" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEndpointParameters ParamDateTime Source #

Optional Param "dateTime" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEndpointParameters ParamFloat Source #

Optional Param "float" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEndpointParameters ParamInteger Source #

Optional Param "integer" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEndpointParameters ParamString Source #

Optional Param "string" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEndpointParameters Password Source #

Optional Param "password" - None

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEnumParameters EnumFormString Source #

Optional Param "enum_form_string" - Form parameter enum test (string)

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEnumParameters EnumFormStringArray Source #

Optional Param "enum_form_string_array" - Form parameter enum test (string array)

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEnumParameters EnumHeaderString Source #

Optional Param "enum_header_string" - Header parameter enum test (string)

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEnumParameters EnumHeaderStringArray Source #

Optional Param "enum_header_string_array" - Header parameter enum test (string array)

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEnumParameters EnumQueryDouble Source #

Optional Param "enum_query_double" - Query parameter enum test (double)

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEnumParameters EnumQueryInteger Source #

Optional Param "enum_query_integer" - Query parameter enum test (double)

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEnumParameters EnumQueryString Source #

Optional Param "enum_query_string" - Query parameter enum test (string)

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestEnumParameters EnumQueryStringArray Source #

Optional Param "enum_query_string_array" - Query parameter enum test (string array)

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestGroupParameters BooleanGroup Source #

Optional Param "boolean_group" - Boolean in group parameters

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestGroupParameters Int64Group Source #

Optional Param "int64_group" - Integer in group parameters

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam TestGroupParameters StringGroup Source #

Optional Param "string_group" - String in group parameters

Instance details

Defined in OpenAPIPetstore.API.Fake

HasOptionalParam DeletePet ApiKey Source # 
Instance details

Defined in OpenAPIPetstore.API.Pet

Methods

applyOptionalParam :: OpenAPIPetstoreRequest DeletePet contentType res accept -> ApiKey -> OpenAPIPetstoreRequest DeletePet contentType res accept Source #

(-&-) :: OpenAPIPetstoreRequest DeletePet contentType res accept -> ApiKey -> OpenAPIPetstoreRequest DeletePet contentType res accept Source #

HasOptionalParam UpdatePetWithForm Name2 Source #

Optional Param "name" - Updated name of the pet

Instance details

Defined in OpenAPIPetstore.API.Pet

HasOptionalParam UpdatePetWithForm StatusText Source #

Optional Param "status" - Updated status of the pet

Instance details

Defined in OpenAPIPetstore.API.Pet

HasOptionalParam UploadFile AdditionalMetadata Source #

Optional Param "additionalMetadata" - Additional data to pass to server

Instance details

Defined in OpenAPIPetstore.API.Pet

HasOptionalParam UploadFile File2 Source #

Optional Param "file" - file to upload

Instance details

Defined in OpenAPIPetstore.API.Pet

Methods

applyOptionalParam :: OpenAPIPetstoreRequest UploadFile contentType res accept -> File2 -> OpenAPIPetstoreRequest UploadFile contentType res accept Source #

(-&-) :: OpenAPIPetstoreRequest UploadFile contentType res accept -> File2 -> OpenAPIPetstoreRequest UploadFile contentType res accept Source #

HasOptionalParam UploadFileWithRequiredFile AdditionalMetadata Source #

Optional Param "additionalMetadata" - Additional data to pass to server

Instance details

Defined in OpenAPIPetstore.API.Pet

data Params Source #

Request Params

Constructors

Params 

Fields

Instances

Instances details
Show Params Source # 
Instance details

Defined in OpenAPIPetstore.Core

data ParamBody Source #

Request Body

Instances

Instances details
Show ParamBody Source # 
Instance details

Defined in OpenAPIPetstore.Core

OpenAPIPetstoreRequest Utils

_mkRequest Source #

Arguments

:: Method

Method

-> [ByteString]

Endpoint

-> OpenAPIPetstoreRequest req contentType res accept

req: Request Type, res: Response Type

setHeader :: OpenAPIPetstoreRequest req contentType res accept -> [Header] -> OpenAPIPetstoreRequest req contentType res accept Source #

addHeader :: OpenAPIPetstoreRequest req contentType res accept -> [Header] -> OpenAPIPetstoreRequest req contentType res accept Source #

removeHeader :: OpenAPIPetstoreRequest req contentType res accept -> [HeaderName] -> OpenAPIPetstoreRequest req contentType res accept Source #

_setContentTypeHeader :: forall req contentType res accept. MimeType contentType => OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept Source #

_setAcceptHeader :: forall req contentType res accept. MimeType accept => OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept Source #

setQuery :: OpenAPIPetstoreRequest req contentType res accept -> [QueryItem] -> OpenAPIPetstoreRequest req contentType res accept Source #

addQuery :: OpenAPIPetstoreRequest req contentType res accept -> [QueryItem] -> OpenAPIPetstoreRequest req contentType res accept Source #

addForm :: OpenAPIPetstoreRequest req contentType res accept -> Form -> OpenAPIPetstoreRequest req contentType res accept Source #

_addMultiFormPart :: OpenAPIPetstoreRequest req contentType res accept -> Part -> OpenAPIPetstoreRequest req contentType res accept Source #

_setBodyBS :: OpenAPIPetstoreRequest req contentType res accept -> ByteString -> OpenAPIPetstoreRequest req contentType res accept Source #

_setBodyLBS :: OpenAPIPetstoreRequest req contentType res accept -> ByteString -> OpenAPIPetstoreRequest req contentType res accept Source #

_hasAuthType :: AuthMethod authMethod => OpenAPIPetstoreRequest req contentType res accept -> Proxy authMethod -> OpenAPIPetstoreRequest req contentType res accept Source #

Params Utils

toPath :: ToHttpApiData a => a -> ByteString Source #

toHeader :: ToHttpApiData a => (HeaderName, a) -> [Header] Source #

toForm :: ToHttpApiData v => (ByteString, v) -> Form Source #

toQuery :: ToHttpApiData a => (ByteString, Maybe a) -> [QueryItem] Source #

toPartialEscapeQuery :: ByteString -> Query -> PartialEscapeQuery Source #

OpenAPI CollectionFormat Utils

data CollectionFormat Source #

Determines the format of the array if type array is used.

Constructors

CommaSeparated

CSV format for multiple parameters.

SpaceSeparated

Also called SSV

TabSeparated

Also called TSV

PipeSeparated

`value1|value2|value2`

MultiParamArray

Using multiple GET parameters, e.g. `foo=bar&foo=baz`. This is valid only for parameters in "query" (Query) or "formData" (Form)

toHeaderColl :: ToHttpApiData a => CollectionFormat -> (HeaderName, [a]) -> [Header] Source #

toFormColl :: ToHttpApiData v => CollectionFormat -> (ByteString, [v]) -> Form Source #

toQueryColl :: ToHttpApiData a => CollectionFormat -> (ByteString, Maybe [a]) -> Query Source #

_toColl :: Traversable f => CollectionFormat -> (f a -> [(b, ByteString)]) -> f [a] -> [(b, ByteString)] Source #

_toCollA :: (Traversable f, Traversable t, Alternative t) => CollectionFormat -> (f (t a) -> [(b, t ByteString)]) -> f (t [a]) -> [(b, t ByteString)] Source #

_toCollA' :: (Monoid c, Traversable f, Traversable t, Alternative t) => CollectionFormat -> (f (t a) -> [(b, t c)]) -> (Char -> c) -> f (t [a]) -> [(b, t c)] Source #

AuthMethods

class Typeable a => AuthMethod a where Source #

Provides a method to apply auth methods to requests

Methods

applyAuthMethod :: OpenAPIPetstoreConfig -> a -> OpenAPIPetstoreRequest req contentType res accept -> IO (OpenAPIPetstoreRequest req contentType res accept) Source #

Instances

Instances details
AuthMethod AnyAuthMethod Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

applyAuthMethod :: OpenAPIPetstoreConfig -> AnyAuthMethod -> OpenAPIPetstoreRequest req contentType res accept -> IO (OpenAPIPetstoreRequest req contentType res accept) Source #

AuthMethod AuthApiKeyApiKey Source # 
Instance details

Defined in OpenAPIPetstore.Model

Methods

applyAuthMethod :: OpenAPIPetstoreConfig -> AuthApiKeyApiKey -> OpenAPIPetstoreRequest req contentType res accept -> IO (OpenAPIPetstoreRequest req contentType res accept) Source #

AuthMethod AuthApiKeyApiKeyQuery Source # 
Instance details

Defined in OpenAPIPetstore.Model

Methods

applyAuthMethod :: OpenAPIPetstoreConfig -> AuthApiKeyApiKeyQuery -> OpenAPIPetstoreRequest req contentType res accept -> IO (OpenAPIPetstoreRequest req contentType res accept) Source #

AuthMethod AuthBasicHttpBasicTest Source # 
Instance details

Defined in OpenAPIPetstore.Model

Methods

applyAuthMethod :: OpenAPIPetstoreConfig -> AuthBasicHttpBasicTest -> OpenAPIPetstoreRequest req contentType res accept -> IO (OpenAPIPetstoreRequest req contentType res accept) Source #

AuthMethod AuthOAuthPetstoreAuth Source # 
Instance details

Defined in OpenAPIPetstore.Model

Methods

applyAuthMethod :: OpenAPIPetstoreConfig -> AuthOAuthPetstoreAuth -> OpenAPIPetstoreRequest req contentType res accept -> IO (OpenAPIPetstoreRequest req contentType res accept) Source #

data AnyAuthMethod Source #

An existential wrapper for any AuthMethod

Constructors

forall a.AuthMethod a => AnyAuthMethod a 

Instances

Instances details
AuthMethod AnyAuthMethod Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

applyAuthMethod :: OpenAPIPetstoreConfig -> AnyAuthMethod -> OpenAPIPetstoreRequest req contentType res accept -> IO (OpenAPIPetstoreRequest req contentType res accept) Source #

_applyAuthMethods :: OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreConfig -> IO (OpenAPIPetstoreRequest req contentType res accept) Source #

apply all matching AuthMethods in config to request

Utils

_omitNulls :: [(Key, Value)] -> Value Source #

Removes Null fields. (OpenAPI-Specification 2.0 does not allow Null in JSON)

_toFormItem :: (ToHttpApiData a, Functor f) => t -> f a -> f (t, [Text]) Source #

Encodes fields using WH.toQueryParam

_emptyToNothing :: Maybe String -> Maybe String Source #

Collapse (Just "") to Nothing

_memptyToNothing :: (Monoid a, Eq a) => Maybe a -> Maybe a Source #

Collapse (Just mempty) to Nothing

DateTime Formatting

newtype DateTime Source #

Constructors

DateTime 

Fields

Instances

Instances details
FromJSON DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

parseJSON :: Value -> Parser DateTime

parseJSONList :: Value -> Parser [DateTime]

ToJSON DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

toJSON :: DateTime -> Value

toEncoding :: DateTime -> Encoding

toJSONList :: [DateTime] -> Value

toEncodingList :: [DateTime] -> Encoding

Data DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DateTime -> c DateTime #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DateTime #

toConstr :: DateTime -> Constr #

dataTypeOf :: DateTime -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DateTime) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DateTime) #

gmapT :: (forall b. Data b => b -> b) -> DateTime -> DateTime #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DateTime -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DateTime -> r #

gmapQ :: (forall d. Data d => d -> u) -> DateTime -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DateTime -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DateTime -> m DateTime #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DateTime -> m DateTime #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DateTime -> m DateTime #

Show DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

NFData DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

rnf :: DateTime -> () #

Eq DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

Ord DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

FromHttpApiData DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

ToHttpApiData DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

_readDateTime :: (MonadFail m, Alternative m) => String -> m DateTime Source #

_parseISO8601

_showDateTime :: (t ~ UTCTime, FormatTime t) => t -> String Source #

TI.formatISO8601Millis

_parseISO8601 :: (ParseTime t, MonadFail m, Alternative m) => String -> m t Source #

parse an ISO8601 date-time string

Date Formatting

newtype Date Source #

Constructors

Date 

Fields

Instances

Instances details
FromJSON Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

parseJSON :: Value -> Parser Date

parseJSONList :: Value -> Parser [Date]

ToJSON Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

toJSON :: Date -> Value

toEncoding :: Date -> Encoding

toJSONList :: [Date] -> Value

toEncodingList :: [Date] -> Encoding

Data Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Date -> c Date #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Date #

toConstr :: Date -> Constr #

dataTypeOf :: Date -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Date) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Date) #

gmapT :: (forall b. Data b => b -> b) -> Date -> Date #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Date -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Date -> r #

gmapQ :: (forall d. Data d => d -> u) -> Date -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Date -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Date -> m Date #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Date -> m Date #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Date -> m Date #

Enum Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

succ :: Date -> Date #

pred :: Date -> Date #

toEnum :: Int -> Date #

fromEnum :: Date -> Int #

enumFrom :: Date -> [Date] #

enumFromThen :: Date -> Date -> [Date] #

enumFromTo :: Date -> Date -> [Date] #

enumFromThenTo :: Date -> Date -> Date -> [Date] #

Ix Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

range :: (Date, Date) -> [Date] #

index :: (Date, Date) -> Date -> Int #

unsafeIndex :: (Date, Date) -> Date -> Int #

inRange :: (Date, Date) -> Date -> Bool #

rangeSize :: (Date, Date) -> Int #

unsafeRangeSize :: (Date, Date) -> Int #

Show Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

showsPrec :: Int -> Date -> ShowS #

show :: Date -> String #

showList :: [Date] -> ShowS #

NFData Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

rnf :: Date -> () #

Eq Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

(==) :: Date -> Date -> Bool #

(/=) :: Date -> Date -> Bool #

Ord Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

compare :: Date -> Date -> Ordering #

(<) :: Date -> Date -> Bool #

(<=) :: Date -> Date -> Bool #

(>) :: Date -> Date -> Bool #

(>=) :: Date -> Date -> Bool #

max :: Date -> Date -> Date #

min :: Date -> Date -> Date #

FromHttpApiData Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

ToHttpApiData Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

_readDate :: MonadFail m => String -> m Date Source #

TI.parseTimeM True TI.defaultTimeLocale "%Y-%m-%d"

_showDate :: FormatTime t => t -> String Source #

TI.formatTime TI.defaultTimeLocale "%Y-%m-%d"

Byte/Binary Formatting

newtype ByteArray Source #

base64 encoded characters

Constructors

ByteArray 

Instances

Instances details
FromJSON ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

parseJSON :: Value -> Parser ByteArray

parseJSONList :: Value -> Parser [ByteArray]

ToJSON ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

toJSON :: ByteArray -> Value

toEncoding :: ByteArray -> Encoding

toJSONList :: [ByteArray] -> Value

toEncodingList :: [ByteArray] -> Encoding

Data ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ByteArray -> c ByteArray #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ByteArray #

toConstr :: ByteArray -> Constr #

dataTypeOf :: ByteArray -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ByteArray) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ByteArray) #

gmapT :: (forall b. Data b => b -> b) -> ByteArray -> ByteArray #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ByteArray -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ByteArray -> r #

gmapQ :: (forall d. Data d => d -> u) -> ByteArray -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ByteArray -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ByteArray -> m ByteArray #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteArray -> m ByteArray #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteArray -> m ByteArray #

Show ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

NFData ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

rnf :: ByteArray -> () #

Eq ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

Ord ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

FromHttpApiData ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

ToHttpApiData ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

_readByteArray :: MonadFail m => Text -> m ByteArray Source #

read base64 encoded characters

_showByteArray :: ByteArray -> Text Source #

show base64 encoded characters

newtype Binary Source #

any sequence of octets

Constructors

Binary 

Fields

Instances

Instances details
FromJSON Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

parseJSON :: Value -> Parser Binary

parseJSONList :: Value -> Parser [Binary]

ToJSON Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

toJSON :: Binary -> Value

toEncoding :: Binary -> Encoding

toJSONList :: [Binary] -> Value

toEncodingList :: [Binary] -> Encoding

Data Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Binary -> c Binary #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Binary #

toConstr :: Binary -> Constr #

dataTypeOf :: Binary -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Binary) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Binary) #

gmapT :: (forall b. Data b => b -> b) -> Binary -> Binary #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Binary -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Binary -> r #

gmapQ :: (forall d. Data d => d -> u) -> Binary -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Binary -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Binary -> m Binary #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Binary -> m Binary #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Binary -> m Binary #

Show Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

NFData Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

rnf :: Binary -> () #

Eq Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

Methods

(==) :: Binary -> Binary -> Bool #

(/=) :: Binary -> Binary -> Bool #

Ord Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

FromHttpApiData Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

ToHttpApiData Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

Lens Type Aliases

type Lens_' s a = Lens_ s s a a Source #

type Lens_ s t a b = forall (f :: Type -> Type). Functor f => (a -> f b) -> s -> f t Source #

\ No newline at end of file diff --git a/samples/client/petstore/haskell-http-client/docs/OpenAPIPetstore-MimeTypes.html b/samples/client/petstore/haskell-http-client/docs/OpenAPIPetstore-MimeTypes.html index 668fc4c78f..e880aebd50 100644 --- a/samples/client/petstore/haskell-http-client/docs/OpenAPIPetstore-MimeTypes.html +++ b/samples/client/petstore/haskell-http-client/docs/OpenAPIPetstore-MimeTypes.html @@ -1 +1 @@ -OpenAPIPetstore.MimeTypes
openapi-petstore-0.1.0.0: Auto-generated openapi-petstore API Client
Safe HaskellSafe-Inferred
LanguageHaskell2010

OpenAPIPetstore.MimeTypes

Description

 

ContentType MimeType

data ContentType a Source #

Constructors

MimeType a => ContentType 

Fields

Accept MimeType

data Accept a Source #

Constructors

MimeType a => Accept 

Fields

Consumes Class

class MimeType mtype => Consumes req mtype Source #

Instances

Instances details
Consumes Op123testSpecialTags MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.AnotherFake

Consumes CreateXmlItem MimeTextXml Source #
text/xml
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes CreateXmlItem MimeTextXmlCharsetutf16 Source #
text/xml; charset=utf-16
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes CreateXmlItem MimeTextXmlCharsetutf8 Source #
text/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes CreateXmlItem MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes CreateXmlItem MimeXmlCharsetutf16 Source #
application/xml; charset=utf-16
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes CreateXmlItem MimeXmlCharsetutf8 Source #
application/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeType mtype => Consumes FakeOuterBooleanSerialize mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeType mtype => Consumes FakeOuterCompositeSerialize mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeType mtype => Consumes FakeOuterNumberSerialize mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeType mtype => Consumes FakeOuterStringSerialize mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestBodyWithFileSchema MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestBodyWithQueryParams MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestClientModel MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestEndpointParameters MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestEnumParameters MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestInlineAdditionalProperties MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestJsonFormData MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestClassname MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.FakeClassnameTags123

Consumes AddPet MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Consumes AddPet MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Consumes UpdatePet MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Consumes UpdatePet MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Consumes UpdatePetWithForm MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.API.Pet

Consumes UploadFile MimeMultipartFormData Source #
multipart/form-data
Instance details

Defined in OpenAPIPetstore.API.Pet

Consumes UploadFileWithRequiredFile MimeMultipartFormData Source #
multipart/form-data
Instance details

Defined in OpenAPIPetstore.API.Pet

MimeType mtype => Consumes PlaceOrder mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.Store

MimeType mtype => Consumes CreateUser mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.User

MimeType mtype => Consumes CreateUsersWithArrayInput mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.User

MimeType mtype => Consumes CreateUsersWithListInput mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.User

MimeType mtype => Consumes UpdateUser mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.User

Produces Class

class MimeType mtype => Produces req mtype Source #

Instances

Instances details
Produces Op123testSpecialTags MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.AnotherFake

Produces CreateXmlItem MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeType mtype => Produces FakeOuterBooleanSerialize mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeType mtype => Produces FakeOuterCompositeSerialize mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeType mtype => Produces FakeOuterNumberSerialize mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeType mtype => Produces FakeOuterStringSerialize mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestBodyWithFileSchema MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestBodyWithQueryParams MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestClientModel MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestEndpointParameters MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestEnumParameters MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestGroupParameters MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestInlineAdditionalProperties MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestJsonFormData MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestQueryParameterCollectionFormat MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestClassname MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.FakeClassnameTags123

Produces AddPet MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces DeletePet MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces FindPetsByStatus MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces FindPetsByStatus MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces FindPetsByTags MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces FindPetsByTags MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces GetPetById MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces GetPetById MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces UpdatePet MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces UpdatePetWithForm MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces UploadFile MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces UploadFileWithRequiredFile MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces DeleteOrder MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Store

Produces GetInventory MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Store

Produces GetOrderById MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Store

Produces GetOrderById MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Store

Produces PlaceOrder MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Store

Produces PlaceOrder MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Store

Produces CreateUser MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces CreateUsersWithArrayInput MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces CreateUsersWithListInput MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces DeleteUser MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces GetUserByName MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.User

Produces GetUserByName MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.User

Produces LoginUser MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.User

Produces LoginUser MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.User

Produces LogoutUser MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces UpdateUser MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Default Mime Types

data MimeJSON Source #

Constructors

MimeJSON 

Instances

Instances details
MimeType MimeJSON Source #
application/json; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeJSON -> [MediaType] Source #

mimeType :: Proxy MimeJSON -> Maybe MediaType Source #

mimeType' :: MimeJSON -> Maybe MediaType Source #

mimeTypes' :: MimeJSON -> [MediaType] Source #

Consumes Op123testSpecialTags MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.AnotherFake

Consumes TestBodyWithFileSchema MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestBodyWithQueryParams MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestClientModel MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestInlineAdditionalProperties MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestClassname MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.FakeClassnameTags123

Consumes AddPet MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Consumes UpdatePet MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

ToJSON a => MimeRender MimeJSON a Source #

encode

Instance details

Defined in OpenAPIPetstore.MimeTypes

FromJSON a => MimeUnrender MimeJSON a Source #
A.eitherDecode
Instance details

Defined in OpenAPIPetstore.MimeTypes

Produces Op123testSpecialTags MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.AnotherFake

Produces TestClientModel MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestClassname MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.FakeClassnameTags123

Produces FindPetsByStatus MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces FindPetsByTags MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces GetPetById MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces UploadFile MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces UploadFileWithRequiredFile MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces GetInventory MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Store

Produces GetOrderById MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Store

Produces PlaceOrder MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Store

Produces GetUserByName MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.User

Produces LoginUser MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.User

data MimeXML Source #

Constructors

MimeXML 

Instances

Instances details
MimeType MimeXML Source #
application/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeXML -> [MediaType] Source #

mimeType :: Proxy MimeXML -> Maybe MediaType Source #

mimeType' :: MimeXML -> Maybe MediaType Source #

mimeTypes' :: MimeXML -> [MediaType] Source #

Consumes CreateXmlItem MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes AddPet MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Consumes UpdatePet MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces FindPetsByStatus MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces FindPetsByTags MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces GetPetById MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces GetOrderById MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Store

Produces PlaceOrder MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Store

Produces GetUserByName MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.User

Produces LoginUser MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.User

data MimePlainText Source #

Constructors

MimePlainText 

Instances

Instances details
MimeType MimePlainText Source #
text/plain; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimePlainText -> [MediaType] Source #

mimeType :: Proxy MimePlainText -> Maybe MediaType Source #

mimeType' :: MimePlainText -> Maybe MediaType Source #

mimeTypes' :: MimePlainText -> [MediaType] Source #

MimeRender MimePlainText ByteString Source #
P.id
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimePlainText Text Source #
BL.fromStrict . T.encodeUtf8
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimePlainText String Source #
BCL.pack
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimePlainText ByteString Source #
P.Right . P.id
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimePlainText Text Source #
P.left P.show . TL.decodeUtf8'
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimePlainText String Source #
P.Right . BCL.unpack
Instance details

Defined in OpenAPIPetstore.MimeTypes

data MimeFormUrlEncoded Source #

Constructors

MimeFormUrlEncoded 

Instances

Instances details
MimeType MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.MimeTypes

Consumes TestEndpointParameters MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestEnumParameters MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestJsonFormData MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes UpdatePetWithForm MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.API.Pet

ToForm a => MimeRender MimeFormUrlEncoded a Source #
WH.urlEncodeAsForm
Instance details

Defined in OpenAPIPetstore.MimeTypes

FromForm a => MimeUnrender MimeFormUrlEncoded a Source #
P.left T.unpack . WH.urlDecodeAsForm
Instance details

Defined in OpenAPIPetstore.MimeTypes

data MimeMultipartFormData Source #

Constructors

MimeMultipartFormData 

Instances

Instances details
MimeType MimeMultipartFormData Source #
multipart/form-data
Instance details

Defined in OpenAPIPetstore.MimeTypes

Consumes UploadFile MimeMultipartFormData Source #
multipart/form-data
Instance details

Defined in OpenAPIPetstore.API.Pet

Consumes UploadFileWithRequiredFile MimeMultipartFormData Source #
multipart/form-data
Instance details

Defined in OpenAPIPetstore.API.Pet

MimeRender MimeMultipartFormData ByteString Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData E'ArrayEnum Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumFormString Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumFormStringArray Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumInteger Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumNumber Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumQueryInteger Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumString Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'Inner Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'JustSymbol Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'Kind Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'Status Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'Status2 Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData EnumClass Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData OuterEnum Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData Text Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData String Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Integer Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Bool Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Char Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Double Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Float Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Int Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

data MimeOctetStream Source #

Constructors

MimeOctetStream 

Instances

Instances details
MimeType MimeOctetStream Source #
application/octet-stream
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeOctetStream ByteString Source #
P.id
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeOctetStream Text Source #
BL.fromStrict . T.encodeUtf8
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeOctetStream String Source #
BCL.pack
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimeOctetStream ByteString Source #
P.Right . P.id
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimeOctetStream Text Source #
P.left P.show . T.decodeUtf8' . BL.toStrict
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimeOctetStream String Source #
P.Right . BCL.unpack
Instance details

Defined in OpenAPIPetstore.MimeTypes

data MimeNoContent Source #

Constructors

MimeNoContent 

Instances

Instances details
MimeType MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeNoContent -> [MediaType] Source #

mimeType :: Proxy MimeNoContent -> Maybe MediaType Source #

mimeType' :: MimeNoContent -> Maybe MediaType Source #

mimeTypes' :: MimeNoContent -> [MediaType] Source #

MimeRender MimeNoContent NoContent Source #
P.Right . P.const NoContent
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimeNoContent NoContent Source #
P.Right . P.const NoContent
Instance details

Defined in OpenAPIPetstore.MimeTypes

Produces CreateXmlItem MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestBodyWithFileSchema MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestBodyWithQueryParams MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestEndpointParameters MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestEnumParameters MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestGroupParameters MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestInlineAdditionalProperties MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestJsonFormData MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestQueryParameterCollectionFormat MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces AddPet MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces DeletePet MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces UpdatePet MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces UpdatePetWithForm MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces DeleteOrder MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Store

Produces CreateUser MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces CreateUsersWithArrayInput MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces CreateUsersWithListInput MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces DeleteUser MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces LogoutUser MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces UpdateUser MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

data MimeAny Source #

Constructors

MimeAny 

Instances

Instances details
MimeType MimeAny Source #
"*/*"
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeAny -> [MediaType] Source #

mimeType :: Proxy MimeAny -> Maybe MediaType Source #

mimeType' :: MimeAny -> Maybe MediaType Source #

mimeTypes' :: MimeAny -> [MediaType] Source #

data NoContent Source #

A type for responses without content-body.

Constructors

NoContent 

MimeType Class

class Typeable mtype => MimeType mtype where Source #

Minimal complete definition

mimeType | mimeTypes

Methods

mimeTypes :: Proxy mtype -> [MediaType] Source #

mimeType :: Proxy mtype -> Maybe MediaType Source #

mimeType' :: mtype -> Maybe MediaType Source #

mimeTypes' :: mtype -> [MediaType] Source #

Instances

Instances details
MimeType MimeAny Source #
"*/*"
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeAny -> [MediaType] Source #

mimeType :: Proxy MimeAny -> Maybe MediaType Source #

mimeType' :: MimeAny -> Maybe MediaType Source #

mimeTypes' :: MimeAny -> [MediaType] Source #

MimeType MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeType MimeJSON Source #
application/json; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeJSON -> [MediaType] Source #

mimeType :: Proxy MimeJSON -> Maybe MediaType Source #

mimeType' :: MimeJSON -> Maybe MediaType Source #

mimeTypes' :: MimeJSON -> [MediaType] Source #

MimeType MimeMultipartFormData Source #
multipart/form-data
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeType MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeNoContent -> [MediaType] Source #

mimeType :: Proxy MimeNoContent -> Maybe MediaType Source #

mimeType' :: MimeNoContent -> Maybe MediaType Source #

mimeTypes' :: MimeNoContent -> [MediaType] Source #

MimeType MimeOctetStream Source #
application/octet-stream
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeType MimePlainText Source #
text/plain; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimePlainText -> [MediaType] Source #

mimeType :: Proxy MimePlainText -> Maybe MediaType Source #

mimeType' :: MimePlainText -> Maybe MediaType Source #

mimeTypes' :: MimePlainText -> [MediaType] Source #

MimeType MimeTextXml Source #
text/xml
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeTextXml -> [MediaType] Source #

mimeType :: Proxy MimeTextXml -> Maybe MediaType Source #

mimeType' :: MimeTextXml -> Maybe MediaType Source #

mimeTypes' :: MimeTextXml -> [MediaType] Source #

MimeType MimeTextXmlCharsetutf16 Source #
text/xml; charset=utf-16
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeType MimeTextXmlCharsetutf8 Source #
text/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeType MimeXML Source #
application/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeXML -> [MediaType] Source #

mimeType :: Proxy MimeXML -> Maybe MediaType Source #

mimeType' :: MimeXML -> Maybe MediaType Source #

mimeTypes' :: MimeXML -> [MediaType] Source #

MimeType MimeXmlCharsetutf16 Source #
application/xml; charset=utf-16
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeType MimeXmlCharsetutf8 Source #
application/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender Class

class MimeType mtype => MimeRender mtype x where Source #

Minimal complete definition

mimeRender

Methods

mimeRender :: Proxy mtype -> x -> ByteString Source #

mimeRender' :: mtype -> x -> ByteString Source #

Instances

Instances details
ToForm a => MimeRender MimeFormUrlEncoded a Source #
WH.urlEncodeAsForm
Instance details

Defined in OpenAPIPetstore.MimeTypes

ToJSON a => MimeRender MimeJSON a Source #

encode

Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData ByteString Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData E'ArrayEnum Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumFormString Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumFormStringArray Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumInteger Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumNumber Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumQueryInteger Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumString Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'Inner Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'JustSymbol Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'Kind Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'Status Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'Status2 Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData EnumClass Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData OuterEnum Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData Text Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData String Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Integer Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Bool Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Char Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Double Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Float Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Int Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeNoContent NoContent Source #
P.Right . P.const NoContent
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeOctetStream ByteString Source #
P.id
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeOctetStream Text Source #
BL.fromStrict . T.encodeUtf8
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeOctetStream String Source #
BCL.pack
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimePlainText ByteString Source #
P.id
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimePlainText Text Source #
BL.fromStrict . T.encodeUtf8
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimePlainText String Source #
BCL.pack
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender Class

class MimeType mtype => MimeUnrender mtype o where Source #

Minimal complete definition

mimeUnrender

Instances

Instances details
FromForm a => MimeUnrender MimeFormUrlEncoded a Source #
P.left T.unpack . WH.urlDecodeAsForm
Instance details

Defined in OpenAPIPetstore.MimeTypes

FromJSON a => MimeUnrender MimeJSON a Source #
A.eitherDecode
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimeNoContent NoContent Source #
P.Right . P.const NoContent
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimeOctetStream ByteString Source #
P.Right . P.id
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimeOctetStream Text Source #
P.left P.show . T.decodeUtf8' . BL.toStrict
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimeOctetStream String Source #
P.Right . BCL.unpack
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimePlainText ByteString Source #
P.Right . P.id
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimePlainText Text Source #
P.left P.show . TL.decodeUtf8'
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimePlainText String Source #
P.Right . BCL.unpack
Instance details

Defined in OpenAPIPetstore.MimeTypes

Custom Mime Types

MimeXmlCharsetutf16

data MimeXmlCharsetutf16 Source #

Constructors

MimeXmlCharsetutf16 

Instances

Instances details
MimeType MimeXmlCharsetutf16 Source #
application/xml; charset=utf-16
Instance details

Defined in OpenAPIPetstore.MimeTypes

Consumes CreateXmlItem MimeXmlCharsetutf16 Source #
application/xml; charset=utf-16
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeXmlCharsetutf8

data MimeXmlCharsetutf8 Source #

Constructors

MimeXmlCharsetutf8 

Instances

Instances details
MimeType MimeXmlCharsetutf8 Source #
application/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

Consumes CreateXmlItem MimeXmlCharsetutf8 Source #
application/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeTextXml

data MimeTextXml Source #

Constructors

MimeTextXml 

Instances

Instances details
MimeType MimeTextXml Source #
text/xml
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeTextXml -> [MediaType] Source #

mimeType :: Proxy MimeTextXml -> Maybe MediaType Source #

mimeType' :: MimeTextXml -> Maybe MediaType Source #

mimeTypes' :: MimeTextXml -> [MediaType] Source #

Consumes CreateXmlItem MimeTextXml Source #
text/xml
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeTextXmlCharsetutf16

data MimeTextXmlCharsetutf16 Source #

Instances

Instances details
MimeType MimeTextXmlCharsetutf16 Source #
text/xml; charset=utf-16
Instance details

Defined in OpenAPIPetstore.MimeTypes

Consumes CreateXmlItem MimeTextXmlCharsetutf16 Source #
text/xml; charset=utf-16
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeTextXmlCharsetutf8

data MimeTextXmlCharsetutf8 Source #

Instances

Instances details
MimeType MimeTextXmlCharsetutf8 Source #
text/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

Consumes CreateXmlItem MimeTextXmlCharsetutf8 Source #
text/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.API.Fake

\ No newline at end of file +OpenAPIPetstore.MimeTypes
openapi-petstore-0.1.0.0: Auto-generated openapi-petstore API Client
Safe HaskellSafe-Inferred
LanguageHaskell2010

OpenAPIPetstore.MimeTypes

Description

 

ContentType MimeType

data ContentType a Source #

Constructors

MimeType a => ContentType 

Fields

Accept MimeType

data Accept a Source #

Constructors

MimeType a => Accept 

Fields

Consumes Class

class MimeType mtype => Consumes req mtype Source #

Instances

Instances details
Consumes Op123testSpecialTags MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.AnotherFake

Consumes CreateXmlItem MimeTextXml Source #
text/xml
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes CreateXmlItem MimeTextXmlCharsetutf16 Source #
text/xml; charset=utf-16
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes CreateXmlItem MimeTextXmlCharsetutf8 Source #
text/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes CreateXmlItem MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes CreateXmlItem MimeXmlCharsetutf16 Source #
application/xml; charset=utf-16
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes CreateXmlItem MimeXmlCharsetutf8 Source #
application/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeType mtype => Consumes FakeOuterBooleanSerialize mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeType mtype => Consumes FakeOuterCompositeSerialize mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeType mtype => Consumes FakeOuterNumberSerialize mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeType mtype => Consumes FakeOuterStringSerialize mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestBodyWithFileSchema MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestBodyWithQueryParams MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestClientModel MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestEndpointParameters MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestEnumParameters MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestInlineAdditionalProperties MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestJsonFormData MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestClassname MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.FakeClassnameTags123

Consumes AddPet MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Consumes AddPet MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Consumes UpdatePet MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Consumes UpdatePet MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Consumes UpdatePetWithForm MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.API.Pet

Consumes UploadFile MimeMultipartFormData Source #
multipart/form-data
Instance details

Defined in OpenAPIPetstore.API.Pet

Consumes UploadFileWithRequiredFile MimeMultipartFormData Source #
multipart/form-data
Instance details

Defined in OpenAPIPetstore.API.Pet

MimeType mtype => Consumes PlaceOrder mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.Store

MimeType mtype => Consumes CreateUser mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.User

MimeType mtype => Consumes CreateUsersWithArrayInput mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.User

MimeType mtype => Consumes CreateUsersWithListInput mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.User

MimeType mtype => Consumes UpdateUser mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.User

Produces Class

class MimeType mtype => Produces req mtype Source #

Instances

Instances details
Produces Op123testSpecialTags MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.AnotherFake

Produces CreateXmlItem MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeType mtype => Produces FakeOuterBooleanSerialize mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeType mtype => Produces FakeOuterCompositeSerialize mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeType mtype => Produces FakeOuterNumberSerialize mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeType mtype => Produces FakeOuterStringSerialize mtype Source #
*/*
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestBodyWithFileSchema MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestBodyWithQueryParams MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestClientModel MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestEndpointParameters MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestEnumParameters MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestGroupParameters MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestInlineAdditionalProperties MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestJsonFormData MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestQueryParameterCollectionFormat MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestClassname MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.FakeClassnameTags123

Produces AddPet MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces DeletePet MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces FindPetsByStatus MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces FindPetsByStatus MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces FindPetsByTags MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces FindPetsByTags MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces GetPetById MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces GetPetById MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces UpdatePet MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces UpdatePetWithForm MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces UploadFile MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces UploadFileWithRequiredFile MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces DeleteOrder MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Store

Produces GetInventory MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Store

Produces GetOrderById MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Store

Produces GetOrderById MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Store

Produces PlaceOrder MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Store

Produces PlaceOrder MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Store

Produces CreateUser MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces CreateUsersWithArrayInput MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces CreateUsersWithListInput MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces DeleteUser MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces GetUserByName MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.User

Produces GetUserByName MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.User

Produces LoginUser MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.User

Produces LoginUser MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.User

Produces LogoutUser MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces UpdateUser MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Default Mime Types

data MimeJSON Source #

Constructors

MimeJSON 

Instances

Instances details
MimeType MimeJSON Source #
application/json; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeJSON -> [MediaType] Source #

mimeType :: Proxy MimeJSON -> Maybe MediaType Source #

mimeType' :: MimeJSON -> Maybe MediaType Source #

mimeTypes' :: MimeJSON -> [MediaType] Source #

Consumes Op123testSpecialTags MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.AnotherFake

Consumes TestBodyWithFileSchema MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestBodyWithQueryParams MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestClientModel MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestInlineAdditionalProperties MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestClassname MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.FakeClassnameTags123

Consumes AddPet MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Consumes UpdatePet MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

ToJSON a => MimeRender MimeJSON a Source #

encode

Instance details

Defined in OpenAPIPetstore.MimeTypes

FromJSON a => MimeUnrender MimeJSON a Source #
A.eitherDecode
Instance details

Defined in OpenAPIPetstore.MimeTypes

Produces Op123testSpecialTags MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.AnotherFake

Produces TestClientModel MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestClassname MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.FakeClassnameTags123

Produces FindPetsByStatus MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces FindPetsByTags MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces GetPetById MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces UploadFile MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces UploadFileWithRequiredFile MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces GetInventory MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Store

Produces GetOrderById MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Store

Produces PlaceOrder MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.Store

Produces GetUserByName MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.User

Produces LoginUser MimeJSON Source #
application/json
Instance details

Defined in OpenAPIPetstore.API.User

data MimeXML Source #

Constructors

MimeXML 

Instances

Instances details
MimeType MimeXML Source #
application/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeXML -> [MediaType] Source #

mimeType :: Proxy MimeXML -> Maybe MediaType Source #

mimeType' :: MimeXML -> Maybe MediaType Source #

mimeTypes' :: MimeXML -> [MediaType] Source #

Consumes CreateXmlItem MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes AddPet MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Consumes UpdatePet MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces FindPetsByStatus MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces FindPetsByTags MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces GetPetById MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces GetOrderById MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Store

Produces PlaceOrder MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.Store

Produces GetUserByName MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.User

Produces LoginUser MimeXML Source #
application/xml
Instance details

Defined in OpenAPIPetstore.API.User

data MimePlainText Source #

Constructors

MimePlainText 

Instances

Instances details
MimeType MimePlainText Source #
text/plain; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimePlainText -> [MediaType] Source #

mimeType :: Proxy MimePlainText -> Maybe MediaType Source #

mimeType' :: MimePlainText -> Maybe MediaType Source #

mimeTypes' :: MimePlainText -> [MediaType] Source #

MimeRender MimePlainText ByteString Source #
P.id
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimePlainText Text Source #
BL.fromStrict . T.encodeUtf8
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimePlainText String Source #
BCL.pack
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimePlainText ByteString Source #
P.Right . P.id
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimePlainText Text Source #
P.left P.show . TL.decodeUtf8'
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimePlainText String Source #
P.Right . BCL.unpack
Instance details

Defined in OpenAPIPetstore.MimeTypes

data MimeFormUrlEncoded Source #

Constructors

MimeFormUrlEncoded 

Instances

Instances details
MimeType MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.MimeTypes

Consumes TestEndpointParameters MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestEnumParameters MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes TestJsonFormData MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.API.Fake

Consumes UpdatePetWithForm MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.API.Pet

ToForm a => MimeRender MimeFormUrlEncoded a Source #
WH.urlEncodeAsForm
Instance details

Defined in OpenAPIPetstore.MimeTypes

FromForm a => MimeUnrender MimeFormUrlEncoded a Source #
P.left T.unpack . WH.urlDecodeAsForm
Instance details

Defined in OpenAPIPetstore.MimeTypes

data MimeMultipartFormData Source #

Constructors

MimeMultipartFormData 

Instances

Instances details
MimeType MimeMultipartFormData Source #
multipart/form-data
Instance details

Defined in OpenAPIPetstore.MimeTypes

Consumes UploadFile MimeMultipartFormData Source #
multipart/form-data
Instance details

Defined in OpenAPIPetstore.API.Pet

Consumes UploadFileWithRequiredFile MimeMultipartFormData Source #
multipart/form-data
Instance details

Defined in OpenAPIPetstore.API.Pet

MimeRender MimeMultipartFormData ByteString Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData E'ArrayEnum Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumFormString Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumFormStringArray Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumInteger Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumNumber Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumQueryInteger Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumString Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'Inner Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'JustSymbol Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'Kind Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'Status Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'Status2 Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData EnumClass Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData OuterEnum Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData Text Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData String Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Integer Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Bool Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Char Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Double Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Float Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Int Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

data MimeOctetStream Source #

Constructors

MimeOctetStream 

Instances

Instances details
MimeType MimeOctetStream Source #
application/octet-stream
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeOctetStream ByteString Source #
P.id
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeOctetStream Text Source #
BL.fromStrict . T.encodeUtf8
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeOctetStream String Source #
BCL.pack
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimeOctetStream ByteString Source #
P.Right . P.id
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimeOctetStream Text Source #
P.left P.show . T.decodeUtf8' . BL.toStrict
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimeOctetStream String Source #
P.Right . BCL.unpack
Instance details

Defined in OpenAPIPetstore.MimeTypes

data MimeNoContent Source #

Constructors

MimeNoContent 

Instances

Instances details
MimeType MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeNoContent -> [MediaType] Source #

mimeType :: Proxy MimeNoContent -> Maybe MediaType Source #

mimeType' :: MimeNoContent -> Maybe MediaType Source #

mimeTypes' :: MimeNoContent -> [MediaType] Source #

MimeRender MimeNoContent NoContent Source #
P.Right . P.const NoContent
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimeNoContent NoContent Source #
P.Right . P.const NoContent
Instance details

Defined in OpenAPIPetstore.MimeTypes

Produces CreateXmlItem MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestBodyWithFileSchema MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestBodyWithQueryParams MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestEndpointParameters MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestEnumParameters MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestGroupParameters MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestInlineAdditionalProperties MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestJsonFormData MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces TestQueryParameterCollectionFormat MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Fake

Produces AddPet MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces DeletePet MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces UpdatePet MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces UpdatePetWithForm MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Pet

Produces DeleteOrder MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.Store

Produces CreateUser MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces CreateUsersWithArrayInput MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces CreateUsersWithListInput MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces DeleteUser MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces LogoutUser MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

Produces UpdateUser MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.API.User

data MimeAny Source #

Constructors

MimeAny 

Instances

Instances details
MimeType MimeAny Source #
"*/*"
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeAny -> [MediaType] Source #

mimeType :: Proxy MimeAny -> Maybe MediaType Source #

mimeType' :: MimeAny -> Maybe MediaType Source #

mimeTypes' :: MimeAny -> [MediaType] Source #

data NoContent Source #

A type for responses without content-body.

Constructors

NoContent 

MimeType Class

class Typeable mtype => MimeType mtype where Source #

Minimal complete definition

mimeType | mimeTypes

Methods

mimeTypes :: Proxy mtype -> [MediaType] Source #

mimeType :: Proxy mtype -> Maybe MediaType Source #

mimeType' :: mtype -> Maybe MediaType Source #

mimeTypes' :: mtype -> [MediaType] Source #

Instances

Instances details
MimeType MimeAny Source #
"*/*"
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeAny -> [MediaType] Source #

mimeType :: Proxy MimeAny -> Maybe MediaType Source #

mimeType' :: MimeAny -> Maybe MediaType Source #

mimeTypes' :: MimeAny -> [MediaType] Source #

MimeType MimeFormUrlEncoded Source #
application/x-www-form-urlencoded
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeType MimeJSON Source #
application/json; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeJSON -> [MediaType] Source #

mimeType :: Proxy MimeJSON -> Maybe MediaType Source #

mimeType' :: MimeJSON -> Maybe MediaType Source #

mimeTypes' :: MimeJSON -> [MediaType] Source #

MimeType MimeMultipartFormData Source #
multipart/form-data
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeType MimeNoContent Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeNoContent -> [MediaType] Source #

mimeType :: Proxy MimeNoContent -> Maybe MediaType Source #

mimeType' :: MimeNoContent -> Maybe MediaType Source #

mimeTypes' :: MimeNoContent -> [MediaType] Source #

MimeType MimeOctetStream Source #
application/octet-stream
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeType MimePlainText Source #
text/plain; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimePlainText -> [MediaType] Source #

mimeType :: Proxy MimePlainText -> Maybe MediaType Source #

mimeType' :: MimePlainText -> Maybe MediaType Source #

mimeTypes' :: MimePlainText -> [MediaType] Source #

MimeType MimeTextXml Source #
text/xml
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeTextXml -> [MediaType] Source #

mimeType :: Proxy MimeTextXml -> Maybe MediaType Source #

mimeType' :: MimeTextXml -> Maybe MediaType Source #

mimeTypes' :: MimeTextXml -> [MediaType] Source #

MimeType MimeTextXmlCharsetutf16 Source #
text/xml; charset=utf-16
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeType MimeTextXmlCharsetutf8 Source #
text/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeType MimeXML Source #
application/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeXML -> [MediaType] Source #

mimeType :: Proxy MimeXML -> Maybe MediaType Source #

mimeType' :: MimeXML -> Maybe MediaType Source #

mimeTypes' :: MimeXML -> [MediaType] Source #

MimeType MimeXmlCharsetutf16 Source #
application/xml; charset=utf-16
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeType MimeXmlCharsetutf8 Source #
application/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender Class

class MimeType mtype => MimeRender mtype x where Source #

Minimal complete definition

mimeRender

Methods

mimeRender :: Proxy mtype -> x -> ByteString Source #

mimeRender' :: mtype -> x -> ByteString Source #

Instances

Instances details
ToForm a => MimeRender MimeFormUrlEncoded a Source #
WH.urlEncodeAsForm
Instance details

Defined in OpenAPIPetstore.MimeTypes

ToJSON a => MimeRender MimeJSON a Source #

encode

Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData ByteString Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Binary Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData ByteArray Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData Date Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData DateTime Source # 
Instance details

Defined in OpenAPIPetstore.Core

MimeRender MimeMultipartFormData E'ArrayEnum Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumFormString Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumFormStringArray Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumInteger Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumNumber Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumQueryInteger Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'EnumString Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'Inner Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'JustSymbol Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'Kind Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'Status Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData E'Status2 Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData EnumClass Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData OuterEnum Source # 
Instance details

Defined in OpenAPIPetstore.Model

MimeRender MimeMultipartFormData Text Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData String Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Integer Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Bool Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Char Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Double Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Float Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeMultipartFormData Int Source # 
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeNoContent NoContent Source #
P.Right . P.const NoContent
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeOctetStream ByteString Source #
P.id
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeOctetStream Text Source #
BL.fromStrict . T.encodeUtf8
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimeOctetStream String Source #
BCL.pack
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimePlainText ByteString Source #
P.id
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimePlainText Text Source #
BL.fromStrict . T.encodeUtf8
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeRender MimePlainText String Source #
BCL.pack
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender Class

class MimeType mtype => MimeUnrender mtype o where Source #

Minimal complete definition

mimeUnrender

Instances

Instances details
FromForm a => MimeUnrender MimeFormUrlEncoded a Source #
P.left T.unpack . WH.urlDecodeAsForm
Instance details

Defined in OpenAPIPetstore.MimeTypes

FromJSON a => MimeUnrender MimeJSON a Source #
A.eitherDecode
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimeNoContent NoContent Source #
P.Right . P.const NoContent
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimeOctetStream ByteString Source #
P.Right . P.id
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimeOctetStream Text Source #
P.left P.show . T.decodeUtf8' . BL.toStrict
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimeOctetStream String Source #
P.Right . BCL.unpack
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimePlainText ByteString Source #
P.Right . P.id
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimePlainText Text Source #
P.left P.show . TL.decodeUtf8'
Instance details

Defined in OpenAPIPetstore.MimeTypes

MimeUnrender MimePlainText String Source #
P.Right . BCL.unpack
Instance details

Defined in OpenAPIPetstore.MimeTypes

Custom Mime Types

MimeXmlCharsetutf16

data MimeXmlCharsetutf16 Source #

Constructors

MimeXmlCharsetutf16 

Instances

Instances details
MimeType MimeXmlCharsetutf16 Source #
application/xml; charset=utf-16
Instance details

Defined in OpenAPIPetstore.MimeTypes

Consumes CreateXmlItem MimeXmlCharsetutf16 Source #
application/xml; charset=utf-16
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeXmlCharsetutf8

data MimeXmlCharsetutf8 Source #

Constructors

MimeXmlCharsetutf8 

Instances

Instances details
MimeType MimeXmlCharsetutf8 Source #
application/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

Consumes CreateXmlItem MimeXmlCharsetutf8 Source #
application/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeTextXml

data MimeTextXml Source #

Constructors

MimeTextXml 

Instances

Instances details
MimeType MimeTextXml Source #
text/xml
Instance details

Defined in OpenAPIPetstore.MimeTypes

Methods

mimeTypes :: Proxy MimeTextXml -> [MediaType] Source #

mimeType :: Proxy MimeTextXml -> Maybe MediaType Source #

mimeType' :: MimeTextXml -> Maybe MediaType Source #

mimeTypes' :: MimeTextXml -> [MediaType] Source #

Consumes CreateXmlItem MimeTextXml Source #
text/xml
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeTextXmlCharsetutf16

data MimeTextXmlCharsetutf16 Source #

Instances

Instances details
MimeType MimeTextXmlCharsetutf16 Source #
text/xml; charset=utf-16
Instance details

Defined in OpenAPIPetstore.MimeTypes

Consumes CreateXmlItem MimeTextXmlCharsetutf16 Source #
text/xml; charset=utf-16
Instance details

Defined in OpenAPIPetstore.API.Fake

MimeTextXmlCharsetutf8

data MimeTextXmlCharsetutf8 Source #

Instances

Instances details
MimeType MimeTextXmlCharsetutf8 Source #
text/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.MimeTypes

Consumes CreateXmlItem MimeTextXmlCharsetutf8 Source #
text/xml; charset=utf-8
Instance details

Defined in OpenAPIPetstore.API.Fake

\ No newline at end of file diff --git a/samples/client/petstore/haskell-http-client/docs/src/OpenAPIPetstore.Core.html b/samples/client/petstore/haskell-http-client/docs/src/OpenAPIPetstore.Core.html index 3d6eea878e..500a2cb931 100644 --- a/samples/client/petstore/haskell-http-client/docs/src/OpenAPIPetstore.Core.html +++ b/samples/client/petstore/haskell-http-client/docs/src/OpenAPIPetstore.Core.html @@ -23,110 +23,111 @@ Module : OpenAPIPetstore.Core {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TupleSections #-} {-# LANGUAGE TypeFamilies #-} -{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-} - -module OpenAPIPetstore.Core where - -import OpenAPIPetstore.MimeTypes -import OpenAPIPetstore.Logging - -import qualified Control.Arrow as P (left) -import qualified Control.DeepSeq as NF -import qualified Control.Exception.Safe as E -import qualified Data.Aeson as A -import qualified Data.ByteString as B -import qualified Data.ByteString.Base64.Lazy as BL64 -import qualified Data.ByteString.Builder as BB -import qualified Data.ByteString.Char8 as BC -import qualified Data.ByteString.Lazy as BL -import qualified Data.ByteString.Lazy.Char8 as BCL -import qualified Data.CaseInsensitive as CI -import qualified Data.Data as P (Data, Typeable, TypeRep, typeRep) -import qualified Data.Foldable as P -import qualified Data.Ix as P -import qualified Data.Kind as K (Type) -import qualified Data.Maybe as P -import qualified Data.Proxy as P (Proxy(..)) -import qualified Data.Text as T -import qualified Data.Text.Encoding as T -import qualified Data.Time as TI -import qualified Data.Time.ISO8601 as TI -import qualified GHC.Base as P (Alternative) -import qualified Lens.Micro as L -import qualified Network.HTTP.Client.MultipartFormData as NH -import qualified Network.HTTP.Types as NH -import qualified Prelude as P -import qualified Text.Printf as T -import qualified Web.FormUrlEncoded as WH -import qualified Web.HttpApiData as WH - -import Control.Applicative ((<|>)) -import Control.Applicative (Alternative) -import Control.Monad.Fail (MonadFail) -import Data.Function ((&)) -import Data.Foldable(foldlM) -import Data.Monoid ((<>)) -import Data.Text (Text) -import Prelude (($), (.), (&&), (<$>), (<*>), Maybe(..), Bool(..), Char, String, fmap, mempty, pure, return, show, IO, Monad, Functor, maybe) - --- * OpenAPIPetstoreConfig - --- | -data OpenAPIPetstoreConfig = OpenAPIPetstoreConfig - { OpenAPIPetstoreConfig -> ByteString +{-# LANGUAGE CPP #-} +{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-} + +module OpenAPIPetstore.Core where + +import OpenAPIPetstore.MimeTypes +import OpenAPIPetstore.Logging + +import qualified Control.Arrow as P (left) +import qualified Control.DeepSeq as NF +import qualified Control.Exception.Safe as E +import qualified Data.Aeson as A +import qualified Data.ByteString as B +import qualified Data.ByteString.Base64.Lazy as BL64 +import qualified Data.ByteString.Builder as BB +import qualified Data.ByteString.Char8 as BC +import qualified Data.ByteString.Lazy as BL +import qualified Data.ByteString.Lazy.Char8 as BCL +import qualified Data.CaseInsensitive as CI +import qualified Data.Data as P (Data, Typeable, TypeRep, typeRep) +import qualified Data.Foldable as P +import qualified Data.Ix as P +import qualified Data.Kind as K (Type) +import qualified Data.Maybe as P +import qualified Data.Proxy as P (Proxy(..)) +import qualified Data.Text as T +import qualified Data.Text.Encoding as T +import qualified Data.Time as TI +import qualified Data.Time.ISO8601 as TI +import qualified GHC.Base as P (Alternative) +import qualified Lens.Micro as L +import qualified Network.HTTP.Client.MultipartFormData as NH +import qualified Network.HTTP.Types as NH +import qualified Prelude as P +import qualified Text.Printf as T +import qualified Web.FormUrlEncoded as WH +import qualified Web.HttpApiData as WH + +import Control.Applicative ((<|>)) +import Control.Applicative (Alternative) +import Control.Monad.Fail (MonadFail) +import Data.Function ((&)) +import Data.Foldable(foldlM) +import Data.Monoid ((<>)) +import Data.Text (Text) +import Prelude (($), (.), (&&), (<$>), (<*>), Maybe(..), Bool(..), Char, String, fmap, mempty, pure, return, show, IO, Monad, Functor, maybe) + +-- * OpenAPIPetstoreConfig + +-- | +data OpenAPIPetstoreConfig = OpenAPIPetstoreConfig + { OpenAPIPetstoreConfig -> ByteString configHost :: BCL.ByteString -- ^ host supplied in the Request - , OpenAPIPetstoreConfig -> Text + , OpenAPIPetstoreConfig -> Text configUserAgent :: Text -- ^ user-agent supplied in the Request - , OpenAPIPetstoreConfig -> LogExecWithContext + , OpenAPIPetstoreConfig -> LogExecWithContext configLogExecWithContext :: LogExecWithContext -- ^ Run a block using a Logger instance - , OpenAPIPetstoreConfig -> LogContext + , OpenAPIPetstoreConfig -> LogContext configLogContext :: LogContext -- ^ Configures the logger - , OpenAPIPetstoreConfig -> [AnyAuthMethod] + , OpenAPIPetstoreConfig -> [AnyAuthMethod] configAuthMethods :: [AnyAuthMethod] -- ^ List of configured auth methods - , OpenAPIPetstoreConfig -> Bool + , OpenAPIPetstoreConfig -> Bool configValidateAuthMethods :: Bool -- ^ throw exceptions if auth methods are not configured - , OpenAPIPetstoreConfig -> ByteString + , OpenAPIPetstoreConfig -> ByteString configQueryExtraUnreserved :: B.ByteString -- ^ Configures additional querystring characters which must not be URI encoded, e.g. '+' or ':' - } - --- | display the config -instance P.Show OpenAPIPetstoreConfig where - show :: OpenAPIPetstoreConfig -> String + } + +-- | display the config +instance P.Show OpenAPIPetstoreConfig where + show :: OpenAPIPetstoreConfig -> String show OpenAPIPetstoreConfig c = - String -> String -> ShowS + String -> String -> ShowS forall r. PrintfType r => String -> r T.printf - String + String "{ configHost = %v, configUserAgent = %v, ..}" - (ByteString -> String + (ByteString -> String forall a. Show a => a -> String show (OpenAPIPetstoreConfig -> ByteString configHost OpenAPIPetstoreConfig c)) - (Text -> String + (Text -> String forall a. Show a => a -> String show (OpenAPIPetstoreConfig -> Text configUserAgent OpenAPIPetstoreConfig c)) - --- | constructs a default OpenAPIPetstoreConfig --- --- configHost: --- --- @http://petstore.swagger.io:80/v2@ --- --- configUserAgent: --- --- @"openapi-petstore/0.1.0.0"@ --- -newConfig :: IO OpenAPIPetstoreConfig -newConfig :: IO OpenAPIPetstoreConfig + +-- | constructs a default OpenAPIPetstoreConfig +-- +-- configHost: +-- +-- @http://petstore.swagger.io:80/v2@ +-- +-- configUserAgent: +-- +-- @"openapi-petstore/0.1.0.0"@ +-- +newConfig :: IO OpenAPIPetstoreConfig +newConfig :: IO OpenAPIPetstoreConfig newConfig = do - LogContext + LogContext logCxt <- IO LogContext initLogContext - OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig + OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig forall (m :: * -> *) a. Monad m => a -> m a return (OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig) -> OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig @@ -140,31 +141,31 @@ forall a b. (a -> b) -> a -> b -> ByteString -> OpenAPIPetstoreConfig OpenAPIPetstoreConfig - { configHost :: ByteString + { configHost :: ByteString configHost = ByteString "http://petstore.swagger.io:80/v2" - , configUserAgent :: Text + , configUserAgent :: Text configUserAgent = Text "openapi-petstore/0.1.0.0" - , configLogExecWithContext :: LogExecWithContext + , configLogExecWithContext :: LogExecWithContext configLogExecWithContext = LogExecWithContext runDefaultLogExecWithContext - , configLogContext :: LogContext + , configLogContext :: LogContext configLogContext = LogContext logCxt - , configAuthMethods :: [AnyAuthMethod] + , configAuthMethods :: [AnyAuthMethod] configAuthMethods = [] - , configValidateAuthMethods :: Bool + , configValidateAuthMethods :: Bool configValidateAuthMethods = Bool True - , configQueryExtraUnreserved :: ByteString + , configQueryExtraUnreserved :: ByteString configQueryExtraUnreserved = ByteString "" - } - --- | updates config use AuthMethod on matching requests -addAuthMethod :: AuthMethod auth => OpenAPIPetstoreConfig -> auth -> OpenAPIPetstoreConfig -addAuthMethod :: forall auth. + } + +-- | updates config use AuthMethod on matching requests +addAuthMethod :: AuthMethod auth => OpenAPIPetstoreConfig -> auth -> OpenAPIPetstoreConfig +addAuthMethod :: forall auth. AuthMethod auth => OpenAPIPetstoreConfig -> auth -> OpenAPIPetstoreConfig addAuthMethod config :: OpenAPIPetstoreConfig @@ -172,7 +173,7 @@ OpenAPIPetstoreConfig -> auth -> OpenAPIPetstoreConfig configAuthMethods = [AnyAuthMethod] as} auth a = - OpenAPIPetstoreConfig + OpenAPIPetstoreConfig config { configAuthMethods :: [AnyAuthMethod] configAuthMethods = auth -> AnyAuthMethod forall a. AuthMethod a => a -> AnyAuthMethod @@ -181,18 +182,18 @@ forall a. AuthMethod a => a -> AnyAuthMethod forall a. a -> [a] -> [a] : [AnyAuthMethod] as} - --- | updates the config to use stdout logging -withStdoutLogging :: OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig -withStdoutLogging :: OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig + +-- | updates the config to use stdout logging +withStdoutLogging :: OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig +withStdoutLogging :: OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig withStdoutLogging OpenAPIPetstoreConfig p = do - LogContext + LogContext logCxt <- LogContext -> IO LogContext stdoutLoggingContext (OpenAPIPetstoreConfig -> LogContext configLogContext OpenAPIPetstoreConfig p) - OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig + OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig forall (m :: * -> *) a. Monad m => a -> m a return (OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig) -> OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig @@ -203,18 +204,18 @@ forall a b. (a -> b) -> a -> b stdoutLoggingExec, configLogContext :: LogContext configLogContext = LogContext logCxt } - --- | updates the config to use stderr logging -withStderrLogging :: OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig -withStderrLogging :: OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig + +-- | updates the config to use stderr logging +withStderrLogging :: OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig +withStderrLogging :: OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig withStderrLogging OpenAPIPetstoreConfig p = do - LogContext + LogContext logCxt <- LogContext -> IO LogContext stderrLoggingContext (OpenAPIPetstoreConfig -> LogContext configLogContext OpenAPIPetstoreConfig p) - OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig + OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig forall (m :: * -> *) a. Monad m => a -> m a return (OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig) -> OpenAPIPetstoreConfig -> IO OpenAPIPetstoreConfig @@ -225,41 +226,41 @@ forall a b. (a -> b) -> a -> b stderrLoggingExec, configLogContext :: LogContext configLogContext = LogContext logCxt } - --- | updates the config to disable logging -withNoLogging :: OpenAPIPetstoreConfig -> OpenAPIPetstoreConfig -withNoLogging :: OpenAPIPetstoreConfig -> OpenAPIPetstoreConfig + +-- | updates the config to disable logging +withNoLogging :: OpenAPIPetstoreConfig -> OpenAPIPetstoreConfig +withNoLogging :: OpenAPIPetstoreConfig -> OpenAPIPetstoreConfig withNoLogging OpenAPIPetstoreConfig p = OpenAPIPetstoreConfig p { configLogExecWithContext :: LogExecWithContext configLogExecWithContext = LogExecWithContext runNullLogExec} - --- * OpenAPIPetstoreRequest - --- | Represents a request. --- --- Type Variables: --- --- * req - request operation --- * contentType - 'MimeType' associated with request body --- * res - response model --- * accept - 'MimeType' associated with response body -data OpenAPIPetstoreRequest req contentType res accept = OpenAPIPetstoreRequest - { forall req contentType res accept. + +-- * OpenAPIPetstoreRequest + +-- | Represents a request. +-- +-- Type Variables: +-- +-- * req - request operation +-- * contentType - 'MimeType' associated with request body +-- * res - response model +-- * accept - 'MimeType' associated with response body +data OpenAPIPetstoreRequest req contentType res accept = OpenAPIPetstoreRequest + { forall req contentType res accept. OpenAPIPetstoreRequest req contentType res accept -> ByteString rMethod :: NH.Method -- ^ Method of OpenAPIPetstoreRequest - , forall req contentType res accept. + , forall req contentType res accept. OpenAPIPetstoreRequest req contentType res accept -> [ByteString] rUrlPath :: [BCL.ByteString] -- ^ Endpoint of OpenAPIPetstoreRequest - , forall req contentType res accept. + , forall req contentType res accept. OpenAPIPetstoreRequest req contentType res accept -> Params rParams :: Params -- ^ params of OpenAPIPetstoreRequest - , forall req contentType res accept. + , forall req contentType res accept. OpenAPIPetstoreRequest req contentType res accept -> [TypeRep] rAuthTypes :: [P.TypeRep] -- ^ types of auth methods - } - deriving (Int -> OpenAPIPetstoreRequest req contentType res accept -> ShowS + } + deriving (Int -> OpenAPIPetstoreRequest req contentType res accept -> ShowS [OpenAPIPetstoreRequest req contentType res accept] -> ShowS OpenAPIPetstoreRequest req contentType res accept -> String (Int -> OpenAPIPetstoreRequest req contentType res accept -> ShowS) @@ -284,10 +285,10 @@ showsPrec :: Int -> OpenAPIPetstoreRequest req contentType res accept -> S $cshowsPrec :: forall req contentType res accept. Int -> OpenAPIPetstoreRequest req contentType res accept -> ShowS P.Show) - --- | 'rMethod' Lens -rMethodL :: Lens_' (OpenAPIPetstoreRequest req contentType res accept) NH.Method -rMethodL :: forall req contentType res accept. + +-- | 'rMethod' Lens +rMethodL :: Lens_' (OpenAPIPetstoreRequest req contentType res accept) NH.Method +rMethodL :: forall req contentType res accept. Lens_' (OpenAPIPetstoreRequest req contentType res accept) ByteString rMethodL ByteString -> f ByteString @@ -333,11 +334,11 @@ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> ByteString -> f ByteString f ByteString rMethod -{-# INLINE rMethodL #-} - --- | 'rUrlPath' Lens -rUrlPathL :: Lens_' (OpenAPIPetstoreRequest req contentType res accept) [BCL.ByteString] -rUrlPathL :: forall req contentType res accept. +{-# INLINE rMethodL #-} + +-- | 'rUrlPath' Lens +rUrlPathL :: Lens_' (OpenAPIPetstoreRequest req contentType res accept) [BCL.ByteString] +rUrlPathL :: forall req contentType res accept. Lens_' (OpenAPIPetstoreRequest req contentType res accept) [ByteString] rUrlPathL [ByteString] -> f [ByteString] @@ -383,11 +384,11 @@ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> [ByteString] -> f [ByteString] f [ByteString] rUrlPath -{-# INLINE rUrlPathL #-} - --- | 'rParams' Lens -rParamsL :: Lens_' (OpenAPIPetstoreRequest req contentType res accept) Params -rParamsL :: forall req contentType res accept. +{-# INLINE rUrlPathL #-} + +-- | 'rParams' Lens +rParamsL :: Lens_' (OpenAPIPetstoreRequest req contentType res accept) Params +rParamsL :: forall req contentType res accept. Lens_' (OpenAPIPetstoreRequest req contentType res accept) Params rParamsL Params -> f Params f OpenAPIPetstoreRequest{[TypeRep] @@ -432,11 +433,11 @@ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Params -> f Params f Params rParams -{-# INLINE rParamsL #-} - --- | 'rParams' Lens -rAuthTypesL :: Lens_' (OpenAPIPetstoreRequest req contentType res accept) [P.TypeRep] -rAuthTypesL :: forall req contentType res accept. +{-# INLINE rParamsL #-} + +-- | 'rParams' Lens +rAuthTypesL :: Lens_' (OpenAPIPetstoreRequest req contentType res accept) [P.TypeRep] +rAuthTypesL :: forall req contentType res accept. Lens_' (OpenAPIPetstoreRequest req contentType res accept) [TypeRep] rAuthTypesL [TypeRep] -> f [TypeRep] @@ -482,17 +483,17 @@ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> [TypeRep] -> f [TypeRep] f [TypeRep] rAuthTypes -{-# INLINE rAuthTypesL #-} - --- * HasBodyParam - --- | Designates the body parameter of a request -class HasBodyParam req param where - setBodyParam :: forall contentType res accept. (Consumes req contentType, MimeRender contentType param) => OpenAPIPetstoreRequest req contentType res accept -> param -> OpenAPIPetstoreRequest req contentType res accept - setBodyParam OpenAPIPetstoreRequest req contentType res accept +{-# INLINE rAuthTypesL #-} + +-- * HasBodyParam + +-- | Designates the body parameter of a request +class HasBodyParam req param where + setBodyParam :: forall contentType res accept. (Consumes req contentType, MimeRender contentType param) => OpenAPIPetstoreRequest req contentType res accept -> param -> OpenAPIPetstoreRequest req contentType res accept + setBodyParam OpenAPIPetstoreRequest req contentType res accept req param xs = - OpenAPIPetstoreRequest req contentType res accept + OpenAPIPetstoreRequest req contentType res accept req OpenAPIPetstoreRequest req contentType res accept -> ByteString -> OpenAPIPetstoreRequest req contentType res accept forall req contentType res accept. @@ -517,47 +518,47 @@ MimeType contentType => OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept _setContentTypeHeader - --- * HasOptionalParam - --- | Designates the optional parameters of a request -class HasOptionalParam req param where - {-# MINIMAL applyOptionalParam | (-&-) #-} - - -- | Apply an optional parameter to a request - applyOptionalParam :: OpenAPIPetstoreRequest req contentType res accept -> param -> OpenAPIPetstoreRequest req contentType res accept - applyOptionalParam = OpenAPIPetstoreRequest req contentType res accept + +-- * HasOptionalParam + +-- | Designates the optional parameters of a request +class HasOptionalParam req param where + {-# MINIMAL applyOptionalParam | (-&-) #-} + + -- | Apply an optional parameter to a request + applyOptionalParam :: OpenAPIPetstoreRequest req contentType res accept -> param -> OpenAPIPetstoreRequest req contentType res accept + applyOptionalParam = OpenAPIPetstoreRequest req contentType res accept -> param -> OpenAPIPetstoreRequest req contentType res accept forall req param contentType res accept. HasOptionalParam req param => OpenAPIPetstoreRequest req contentType res accept -> param -> OpenAPIPetstoreRequest req contentType res accept (-&-) - {-# INLINE applyOptionalParam #-} - - -- | infix operator \/ alias for 'addOptionalParam' - (-&-) :: OpenAPIPetstoreRequest req contentType res accept -> param -> OpenAPIPetstoreRequest req contentType res accept - (-&-) = OpenAPIPetstoreRequest req contentType res accept + {-# INLINE applyOptionalParam #-} + + -- | infix operator \/ alias for 'addOptionalParam' + (-&-) :: OpenAPIPetstoreRequest req contentType res accept -> param -> OpenAPIPetstoreRequest req contentType res accept + (-&-) = OpenAPIPetstoreRequest req contentType res accept -> param -> OpenAPIPetstoreRequest req contentType res accept forall req param contentType res accept. HasOptionalParam req param => OpenAPIPetstoreRequest req contentType res accept -> param -> OpenAPIPetstoreRequest req contentType res accept applyOptionalParam - {-# INLINE (-&-) #-} - -infixl 2 -&- - --- | Request Params -data Params = Params - { Params -> Query + {-# INLINE (-&-) #-} + +infixl 2 -&- + +-- | Request Params +data Params = Params + { Params -> Query paramsQuery :: NH.Query - , Params -> RequestHeaders + , Params -> RequestHeaders paramsHeaders :: NH.RequestHeaders - , Params -> ParamBody + , Params -> ParamBody paramsBody :: ParamBody - } - deriving (Int -> Params -> ShowS + } + deriving (Int -> Params -> ShowS [Params] -> ShowS Params -> String (Int -> Params -> ShowS) @@ -571,10 +572,10 @@ $cshow :: Params -> String showsPrec :: Int -> Params -> ShowS $cshowsPrec :: Int -> Params -> ShowS P.Show) - --- | 'paramsQuery' Lens -paramsQueryL :: Lens_' Params NH.Query -paramsQueryL :: Lens_' Params Query + +-- | 'paramsQuery' Lens +paramsQueryL :: Lens_' Params NH.Query +paramsQueryL :: Lens_' Params Query paramsQueryL Query -> f Query f Params{Query RequestHeaders @@ -601,11 +602,11 @@ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Query -> f Query f Query paramsQuery -{-# INLINE paramsQueryL #-} - --- | 'paramsHeaders' Lens -paramsHeadersL :: Lens_' Params NH.RequestHeaders -paramsHeadersL :: Lens_' Params RequestHeaders +{-# INLINE paramsQueryL #-} + +-- | 'paramsHeaders' Lens +paramsHeadersL :: Lens_' Params NH.RequestHeaders +paramsHeadersL :: Lens_' Params RequestHeaders paramsHeadersL RequestHeaders -> f RequestHeaders f Params{Query RequestHeaders @@ -632,11 +633,11 @@ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> RequestHeaders -> f RequestHeaders f RequestHeaders paramsHeaders -{-# INLINE paramsHeadersL #-} - --- | 'paramsBody' Lens -paramsBodyL :: Lens_' Params ParamBody -paramsBodyL :: Lens_' Params ParamBody +{-# INLINE paramsHeadersL #-} + +-- | 'paramsBody' Lens +paramsBodyL :: Lens_' Params ParamBody +paramsBodyL :: Lens_' Params ParamBody paramsBodyL ParamBody -> f ParamBody f Params{Query RequestHeaders @@ -663,16 +664,16 @@ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> ParamBody -> f ParamBody f ParamBody paramsBody -{-# INLINE paramsBodyL #-} - --- | Request Body -data ParamBody - = ParamBodyNone - | ParamBodyB B.ByteString - | ParamBodyBL BL.ByteString - | ParamBodyFormUrlEncoded WH.Form - | ParamBodyMultipartFormData [NH.Part] - deriving (Int -> ParamBody -> ShowS +{-# INLINE paramsBodyL #-} + +-- | Request Body +data ParamBody + = ParamBodyNone + | ParamBodyB B.ByteString + | ParamBodyBL BL.ByteString + | ParamBodyFormUrlEncoded WH.Form + | ParamBodyMultipartFormData [NH.Part] + deriving (Int -> ParamBody -> ShowS [ParamBody] -> ShowS ParamBody -> String (Int -> ParamBody -> ShowS) @@ -688,13 +689,13 @@ $cshow :: ParamBody -> String showsPrec :: Int -> ParamBody -> ShowS $cshowsPrec :: Int -> ParamBody -> ShowS P.Show) - --- ** OpenAPIPetstoreRequest Utils - -_mkRequest :: NH.Method -- ^ Method - -> [BCL.ByteString] -- ^ Endpoint - -> OpenAPIPetstoreRequest req contentType res accept -- ^ req: Request Type, res: Response Type -_mkRequest :: forall req contentType res accept. + +-- ** OpenAPIPetstoreRequest Utils + +_mkRequest :: NH.Method -- ^ Method + -> [BCL.ByteString] -- ^ Endpoint + -> OpenAPIPetstoreRequest req contentType res accept -- ^ req: Request Type, res: Response Type +_mkRequest :: forall req contentType res accept. ByteString -> [ByteString] -> OpenAPIPetstoreRequest req contentType res accept @@ -715,25 +716,25 @@ ByteString m [ByteString] u Params _mkParams [] - -_mkParams :: Params -_mkParams :: Params + +_mkParams :: Params +_mkParams :: Params _mkParams = Query -> RequestHeaders -> ParamBody -> Params Params [] [] ParamBody ParamBodyNone - -setHeader :: - OpenAPIPetstoreRequest req contentType res accept - -> [NH.Header] - -> OpenAPIPetstoreRequest req contentType res accept -setHeader :: forall req contentType res accept. + +setHeader :: + OpenAPIPetstoreRequest req contentType res accept + -> [NH.Header] + -> OpenAPIPetstoreRequest req contentType res accept +setHeader :: forall req contentType res accept. OpenAPIPetstoreRequest req contentType res accept -> RequestHeaders -> OpenAPIPetstoreRequest req contentType res accept setHeader OpenAPIPetstoreRequest req contentType res accept req RequestHeaders header = - OpenAPIPetstoreRequest req contentType res accept + OpenAPIPetstoreRequest req contentType res accept req OpenAPIPetstoreRequest req contentType res accept -> [HeaderName] -> OpenAPIPetstoreRequest req contentType res accept @@ -748,7 +749,7 @@ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b forall a b. (a, b) -> a P.fst RequestHeaders header - OpenAPIPetstoreRequest req contentType res accept + OpenAPIPetstoreRequest req contentType res accept -> (OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept) -> OpenAPIPetstoreRequest req contentType res accept @@ -762,12 +763,12 @@ OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept `addHeader` RequestHeaders header) - -addHeader :: - OpenAPIPetstoreRequest req contentType res accept - -> [NH.Header] - -> OpenAPIPetstoreRequest req contentType res accept -addHeader :: forall req contentType res accept. + +addHeader :: + OpenAPIPetstoreRequest req contentType res accept + -> [NH.Header] + -> OpenAPIPetstoreRequest req contentType res accept +addHeader :: forall req contentType res accept. OpenAPIPetstoreRequest req contentType res accept -> RequestHeaders -> OpenAPIPetstoreRequest req contentType res accept @@ -806,23 +807,23 @@ Lens_' Params RequestHeaders forall a. [a] -> [a] -> [a] P.++) OpenAPIPetstoreRequest req contentType res accept req - -removeHeader :: OpenAPIPetstoreRequest req contentType res accept -> [NH.HeaderName] -> OpenAPIPetstoreRequest req contentType res accept -removeHeader :: forall req contentType res accept. + +removeHeader :: OpenAPIPetstoreRequest req contentType res accept -> [NH.HeaderName] -> OpenAPIPetstoreRequest req contentType res accept +removeHeader :: forall req contentType res accept. OpenAPIPetstoreRequest req contentType res accept -> [HeaderName] -> OpenAPIPetstoreRequest req contentType res accept removeHeader OpenAPIPetstoreRequest req contentType res accept req [HeaderName] header = - OpenAPIPetstoreRequest req contentType res accept + OpenAPIPetstoreRequest req contentType res accept req OpenAPIPetstoreRequest req contentType res accept -> (OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept) -> OpenAPIPetstoreRequest req contentType res accept forall a b. a -> (a -> b) -> b & - ASetter + ASetter (OpenAPIPetstoreRequest req contentType res accept) (OpenAPIPetstoreRequest req contentType res accept) RequestHeaders @@ -832,7 +833,7 @@ forall a b. a -> (a -> b) -> b -> OpenAPIPetstoreRequest req contentType res accept forall s t a b. ASetter s t a b -> (a -> b) -> s -> t L.over - ((Params -> Identity Params) + ((Params -> Identity Params) -> OpenAPIPetstoreRequest req contentType res accept -> Identity (OpenAPIPetstoreRequest req contentType res accept) forall req contentType res accept. @@ -852,7 +853,7 @@ forall b c a. (b -> c) -> (a -> b) -> a -> c -> Params -> Identity Params Lens_' Params RequestHeaders paramsHeadersL) - (((HeaderName, ByteString) -> Bool) + (((HeaderName, ByteString) -> Bool) -> RequestHeaders -> RequestHeaders forall a. (a -> Bool) -> [a] -> [a] P.filter (\(HeaderName, ByteString) @@ -867,8 +868,8 @@ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b forall s. FoldCase s => s -> CI s CI.mk [HeaderName] header)) - where - cifst :: (HeaderName, b) -> CI HeaderName + where + cifst :: (HeaderName, b) -> CI HeaderName cifst = HeaderName -> CI HeaderName forall s. FoldCase s => s -> CI s CI.mk (HeaderName -> CI HeaderName) @@ -879,21 +880,21 @@ forall b c a. (b -> c) -> (a -> b) -> a -> c . (HeaderName, b) -> HeaderName forall a b. (a, b) -> a P.fst - -_setContentTypeHeader :: forall req contentType res accept. MimeType contentType => OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept -_setContentTypeHeader :: forall req contentType res accept. + +_setContentTypeHeader :: forall req contentType res accept. MimeType contentType => OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept +_setContentTypeHeader :: forall req contentType res accept. MimeType contentType => OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept _setContentTypeHeader OpenAPIPetstoreRequest req contentType res accept req = - case Proxy contentType -> Maybe MediaType + case Proxy contentType -> Maybe MediaType forall mtype. MimeType mtype => Proxy mtype -> Maybe MediaType mimeType (Proxy contentType forall {k} (t :: k). Proxy t P.Proxy :: P.Proxy contentType) of - Just MediaType + Just MediaType m -> OpenAPIPetstoreRequest req contentType res accept req OpenAPIPetstoreRequest req contentType res accept -> RequestHeaders @@ -910,7 +911,7 @@ forall a b. (a -> b) -> a -> b forall a. Show a => a -> String P.show MediaType m)] - Maybe MediaType + Maybe MediaType Nothing -> OpenAPIPetstoreRequest req contentType res accept req OpenAPIPetstoreRequest req contentType res accept -> [HeaderName] @@ -921,20 +922,20 @@ OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept `removeHeader` [HeaderName "content-type"] - -_setAcceptHeader :: forall req contentType res accept. MimeType accept => OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept -_setAcceptHeader :: forall req contentType res accept. + +_setAcceptHeader :: forall req contentType res accept. MimeType accept => OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept +_setAcceptHeader :: forall req contentType res accept. MimeType accept => OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept _setAcceptHeader OpenAPIPetstoreRequest req contentType res accept req = - case Proxy accept -> Maybe MediaType + case Proxy accept -> Maybe MediaType forall mtype. MimeType mtype => Proxy mtype -> Maybe MediaType mimeType (Proxy accept forall {k} (t :: k). Proxy t P.Proxy :: P.Proxy accept) of - Just MediaType + Just MediaType m -> OpenAPIPetstoreRequest req contentType res accept req OpenAPIPetstoreRequest req contentType res accept -> RequestHeaders @@ -951,7 +952,7 @@ forall a b. (a -> b) -> a -> b forall a. Show a => a -> String P.show MediaType m)] - Maybe MediaType + Maybe MediaType Nothing -> OpenAPIPetstoreRequest req contentType res accept req OpenAPIPetstoreRequest req contentType res accept -> [HeaderName] @@ -962,25 +963,25 @@ OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept `removeHeader` [HeaderName "accept"] - -setQuery :: - OpenAPIPetstoreRequest req contentType res accept - -> [NH.QueryItem] - -> OpenAPIPetstoreRequest req contentType res accept -setQuery :: forall req contentType res accept. + +setQuery :: + OpenAPIPetstoreRequest req contentType res accept + -> [NH.QueryItem] + -> OpenAPIPetstoreRequest req contentType res accept +setQuery :: forall req contentType res accept. OpenAPIPetstoreRequest req contentType res accept -> Query -> OpenAPIPetstoreRequest req contentType res accept setQuery OpenAPIPetstoreRequest req contentType res accept req Query query = - OpenAPIPetstoreRequest req contentType res accept + OpenAPIPetstoreRequest req contentType res accept req OpenAPIPetstoreRequest req contentType res accept -> (OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept) -> OpenAPIPetstoreRequest req contentType res accept forall a b. a -> (a -> b) -> b & - ASetter + ASetter (OpenAPIPetstoreRequest req contentType res accept) (OpenAPIPetstoreRequest req contentType res accept) Query @@ -990,7 +991,7 @@ forall a b. a -> (a -> b) -> b -> OpenAPIPetstoreRequest req contentType res accept forall s t a b. ASetter s t a b -> (a -> b) -> s -> t L.over - ((Params -> Identity Params) + ((Params -> Identity Params) -> OpenAPIPetstoreRequest req contentType res accept -> Identity (OpenAPIPetstoreRequest req contentType res accept) forall req contentType res accept. @@ -1008,7 +1009,7 @@ forall b c a. (b -> c) -> (a -> b) -> a -> c . (Query -> Identity Query) -> Params -> Identity Params Lens_' Params Query paramsQueryL) - (((ByteString, Maybe ByteString) -> Bool) -> Query -> Query + (((ByteString, Maybe ByteString) -> Bool) -> Query -> Query forall a. (a -> Bool) -> [a] -> [a] P.filter (\(ByteString, Maybe ByteString) q -> (ByteString, Maybe ByteString) -> HeaderName @@ -1028,15 +1029,15 @@ forall {b}. (ByteString, b) -> HeaderName -> OpenAPIPetstoreRequest req contentType res accept forall a b. a -> (a -> b) -> b & - (OpenAPIPetstoreRequest req contentType res accept + (OpenAPIPetstoreRequest req contentType res accept -> Query -> OpenAPIPetstoreRequest req contentType res accept forall req contentType res accept. OpenAPIPetstoreRequest req contentType res accept -> Query -> OpenAPIPetstoreRequest req contentType res accept `addQuery` Query query) - where - cifst :: (ByteString, b) -> HeaderName + where + cifst :: (ByteString, b) -> HeaderName cifst = ByteString -> HeaderName forall s. FoldCase s => s -> CI s CI.mk (ByteString -> HeaderName) @@ -1045,12 +1046,12 @@ forall b c a. (b -> c) -> (a -> b) -> a -> c . (ByteString, b) -> ByteString forall a b. (a, b) -> a P.fst - -addQuery :: - OpenAPIPetstoreRequest req contentType res accept - -> [NH.QueryItem] - -> OpenAPIPetstoreRequest req contentType res accept -addQuery :: forall req contentType res accept. + +addQuery :: + OpenAPIPetstoreRequest req contentType res accept + -> [NH.QueryItem] + -> OpenAPIPetstoreRequest req contentType res accept +addQuery :: forall req contentType res accept. OpenAPIPetstoreRequest req contentType res accept -> Query -> OpenAPIPetstoreRequest req contentType res accept addQuery OpenAPIPetstoreRequest req contentType res accept @@ -1091,29 +1092,29 @@ Lens_' Params Query query Query -> Query -> Query forall a. [a] -> [a] -> [a] P.++) - -addForm :: OpenAPIPetstoreRequest req contentType res accept -> WH.Form -> OpenAPIPetstoreRequest req contentType res accept -addForm :: forall req contentType res accept. + +addForm :: OpenAPIPetstoreRequest req contentType res accept -> WH.Form -> OpenAPIPetstoreRequest req contentType res accept +addForm :: forall req contentType res accept. OpenAPIPetstoreRequest req contentType res accept -> Form -> OpenAPIPetstoreRequest req contentType res accept addForm OpenAPIPetstoreRequest req contentType res accept req Form newform = - let form :: Form + let form :: Form form = case Params -> ParamBody paramsBody (OpenAPIPetstoreRequest req contentType res accept -> Params forall req contentType res accept. OpenAPIPetstoreRequest req contentType res accept -> Params rParams OpenAPIPetstoreRequest req contentType res accept req) of - ParamBodyFormUrlEncoded Form + ParamBodyFormUrlEncoded Form _form -> Form _form - ParamBody + ParamBody _ -> Form forall a. Monoid a => a mempty - in OpenAPIPetstoreRequest req contentType res accept + in OpenAPIPetstoreRequest req contentType res accept req OpenAPIPetstoreRequest req contentType res accept -> (OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept) @@ -1151,27 +1152,27 @@ Lens_' Params ParamBody forall a. Semigroup a => a -> a -> a <> Form form)) - -_addMultiFormPart :: OpenAPIPetstoreRequest req contentType res accept -> NH.Part -> OpenAPIPetstoreRequest req contentType res accept -_addMultiFormPart :: forall req contentType res accept. + +_addMultiFormPart :: OpenAPIPetstoreRequest req contentType res accept -> NH.Part -> OpenAPIPetstoreRequest req contentType res accept +_addMultiFormPart :: forall req contentType res accept. OpenAPIPetstoreRequest req contentType res accept -> Part -> OpenAPIPetstoreRequest req contentType res accept _addMultiFormPart OpenAPIPetstoreRequest req contentType res accept req Part newpart = - let parts :: [Part] + let parts :: [Part] parts = case Params -> ParamBody paramsBody (OpenAPIPetstoreRequest req contentType res accept -> Params forall req contentType res accept. OpenAPIPetstoreRequest req contentType res accept -> Params rParams OpenAPIPetstoreRequest req contentType res accept req) of - ParamBodyMultipartFormData [Part] + ParamBodyMultipartFormData [Part] _parts -> [Part] _parts - ParamBody + ParamBody _ -> [] - in OpenAPIPetstoreRequest req contentType res accept + in OpenAPIPetstoreRequest req contentType res accept req OpenAPIPetstoreRequest req contentType res accept -> (OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept) @@ -1209,15 +1210,15 @@ Lens_' Params ParamBody forall a. a -> [a] -> [a] : [Part] parts)) - -_setBodyBS :: OpenAPIPetstoreRequest req contentType res accept -> B.ByteString -> OpenAPIPetstoreRequest req contentType res accept -_setBodyBS :: forall req contentType res accept. + +_setBodyBS :: OpenAPIPetstoreRequest req contentType res accept -> B.ByteString -> OpenAPIPetstoreRequest req contentType res accept +_setBodyBS :: forall req contentType res accept. OpenAPIPetstoreRequest req contentType res accept -> ByteString -> OpenAPIPetstoreRequest req contentType res accept _setBodyBS OpenAPIPetstoreRequest req contentType res accept req ByteString body = - OpenAPIPetstoreRequest req contentType res accept + OpenAPIPetstoreRequest req contentType res accept req OpenAPIPetstoreRequest req contentType res accept -> (OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept) @@ -1252,15 +1253,15 @@ Lens_' Params ParamBody paramsBodyL) (ByteString -> ParamBody ParamBodyB ByteString body) - -_setBodyLBS :: OpenAPIPetstoreRequest req contentType res accept -> BL.ByteString -> OpenAPIPetstoreRequest req contentType res accept -_setBodyLBS :: forall req contentType res accept. + +_setBodyLBS :: OpenAPIPetstoreRequest req contentType res accept -> BL.ByteString -> OpenAPIPetstoreRequest req contentType res accept +_setBodyLBS :: forall req contentType res accept. OpenAPIPetstoreRequest req contentType res accept -> ByteString -> OpenAPIPetstoreRequest req contentType res accept _setBodyLBS OpenAPIPetstoreRequest req contentType res accept req ByteString body = - OpenAPIPetstoreRequest req contentType res accept + OpenAPIPetstoreRequest req contentType res accept req OpenAPIPetstoreRequest req contentType res accept -> (OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept) @@ -1295,9 +1296,9 @@ Lens_' Params ParamBody paramsBodyL) (ByteString -> ParamBody ParamBodyBL ByteString body) - -_hasAuthType :: AuthMethod authMethod => OpenAPIPetstoreRequest req contentType res accept -> P.Proxy authMethod -> OpenAPIPetstoreRequest req contentType res accept -_hasAuthType :: forall authMethod req contentType res accept. + +_hasAuthType :: AuthMethod authMethod => OpenAPIPetstoreRequest req contentType res accept -> P.Proxy authMethod -> OpenAPIPetstoreRequest req contentType res accept +_hasAuthType :: forall authMethod req contentType res accept. AuthMethod authMethod => OpenAPIPetstoreRequest req contentType res accept -> Proxy authMethod @@ -1305,7 +1306,7 @@ OpenAPIPetstoreRequest req contentType res accept _hasAuthType OpenAPIPetstoreRequest req contentType res accept req Proxy authMethod proxy = - OpenAPIPetstoreRequest req contentType res accept + OpenAPIPetstoreRequest req contentType res accept req OpenAPIPetstoreRequest req contentType res accept -> (OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreRequest req contentType res accept) @@ -1336,22 +1337,22 @@ proxy a -> TypeRep proxy TypeRep -> [TypeRep] -> [TypeRep] forall a. a -> [a] -> [a] :) - --- ** Params Utils - -toPath - :: WH.ToHttpApiData a - => a -> BCL.ByteString -toPath :: forall a. ToHttpApiData a => a -> ByteString + +-- ** Params Utils + +toPath + :: WH.ToHttpApiData a + => a -> BCL.ByteString +toPath :: forall a. ToHttpApiData a => a -> ByteString toPath = Builder -> ByteString BB.toLazyByteString (Builder -> ByteString) -> (a -> Builder) -> a -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . a -> Builder forall a. ToHttpApiData a => a -> Builder WH.toEncodedUrlPiece - -toHeader :: WH.ToHttpApiData a => (NH.HeaderName, a) -> [NH.Header] -toHeader :: forall a. ToHttpApiData a => (HeaderName, a) -> RequestHeaders + +toHeader :: WH.ToHttpApiData a => (NH.HeaderName, a) -> [NH.Header] +toHeader :: forall a. ToHttpApiData a => (HeaderName, a) -> RequestHeaders toHeader (HeaderName, a) x = [(a -> ByteString) -> (HeaderName, a) -> (HeaderName, ByteString) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b @@ -1359,9 +1360,9 @@ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b forall a. ToHttpApiData a => a -> ByteString WH.toHeader (HeaderName, a) x] - -toForm :: WH.ToHttpApiData v => (BC.ByteString, v) -> WH.Form -toForm :: forall v. ToHttpApiData v => (ByteString, v) -> Form + +toForm :: WH.ToHttpApiData v => (BC.ByteString, v) -> WH.Form +toForm :: forall v. ToHttpApiData v => (ByteString, v) -> Form toForm (ByteString k,v v) = [(String, v)] -> Form @@ -1370,9 +1371,9 @@ forall a. ToForm a => a -> Form BC.unpack ByteString k,v v)] - -toQuery :: WH.ToHttpApiData a => (BC.ByteString, Maybe a) -> [NH.QueryItem] -toQuery :: forall a. ToHttpApiData a => (ByteString, Maybe a) -> Query + +toQuery :: WH.ToHttpApiData a => (BC.ByteString, Maybe a) -> [NH.QueryItem] +toQuery :: forall a. ToHttpApiData a => (ByteString, Maybe a) -> Query toQuery (ByteString, Maybe a) x = [((Maybe a -> Maybe ByteString) -> (ByteString, Maybe a) -> (ByteString, Maybe ByteString) @@ -1389,16 +1390,16 @@ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap) a -> ByteString toQueryParam (ByteString, Maybe a) x] - where toQueryParam :: a -> ByteString + where toQueryParam :: a -> ByteString toQueryParam = Text -> ByteString T.encodeUtf8 (Text -> ByteString) -> (a -> Text) -> a -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . a -> Text forall a. ToHttpApiData a => a -> Text WH.toQueryParam - -toPartialEscapeQuery :: B.ByteString -> NH.Query -> NH.PartialEscapeQuery -toPartialEscapeQuery :: ByteString -> Query -> PartialEscapeQuery + +toPartialEscapeQuery :: B.ByteString -> NH.Query -> NH.PartialEscapeQuery +toPartialEscapeQuery :: ByteString -> Query -> PartialEscapeQuery toPartialEscapeQuery ByteString extraUnreserved Query query = ((ByteString, Maybe ByteString) -> (ByteString, [EscapeItem])) @@ -1414,8 +1415,8 @@ forall b a. b -> (a -> b) -> Maybe a -> b go Maybe ByteString v)) Query query - where go :: B.ByteString -> [NH.EscapeItem] - go :: ByteString -> [EscapeItem] + where go :: B.ByteString -> [NH.EscapeItem] + go :: ByteString -> [EscapeItem] go ByteString v = ByteString v ByteString -> (ByteString -> [ByteString]) -> [ByteString] @@ -1431,7 +1432,7 @@ forall a b. a -> (a -> b) -> b b Word8 -> ByteString -> Bool `B.notElem` ByteString extraUnreserved) - [ByteString] -> ([ByteString] -> [EscapeItem]) -> [EscapeItem] + [ByteString] -> ([ByteString] -> [EscapeItem]) -> [EscapeItem] forall a b. a -> (a -> b) -> b & (ByteString -> EscapeItem) -> [ByteString] -> [EscapeItem] forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b @@ -1441,31 +1442,31 @@ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b xs then ByteString -> EscapeItem NH.QN ByteString xs - else if ByteString -> Word8 + else if ByteString -> Word8 B.head ByteString xs Word8 -> ByteString -> Bool `B.elem` ByteString extraUnreserved - then ByteString -> EscapeItem + then ByteString -> EscapeItem NH.QN ByteString xs -- Not Encoded - else ByteString -> EscapeItem + else ByteString -> EscapeItem NH.QE ByteString xs -- Encoded - ) - --- *** OpenAPI `CollectionFormat` Utils - --- | Determines the format of the array if type array is used. -data CollectionFormat - = CommaSeparated -- ^ CSV format for multiple parameters. - | SpaceSeparated -- ^ Also called "SSV" - | TabSeparated -- ^ Also called "TSV" - | PipeSeparated -- ^ `value1|value2|value2` - | MultiParamArray -- ^ Using multiple GET parameters, e.g. `foo=bar&foo=baz`. This is valid only for parameters in "query" ('NH.Query') or "formData" ('WH.Form') - -toHeaderColl :: WH.ToHttpApiData a => CollectionFormat -> (NH.HeaderName, [a]) -> [NH.Header] -toHeaderColl :: forall a. + ) + +-- *** OpenAPI `CollectionFormat` Utils + +-- | Determines the format of the array if type array is used. +data CollectionFormat + = CommaSeparated -- ^ CSV format for multiple parameters. + | SpaceSeparated -- ^ Also called "SSV" + | TabSeparated -- ^ Also called "TSV" + | PipeSeparated -- ^ `value1|value2|value2` + | MultiParamArray -- ^ Using multiple GET parameters, e.g. `foo=bar&foo=baz`. This is valid only for parameters in "query" ('NH.Query') or "formData" ('WH.Form') + +toHeaderColl :: WH.ToHttpApiData a => CollectionFormat -> (NH.HeaderName, [a]) -> [NH.Header] +toHeaderColl :: forall a. ToHttpApiData a => CollectionFormat -> (HeaderName, [a]) -> RequestHeaders toHeaderColl CollectionFormat @@ -1483,9 +1484,9 @@ CollectionFormat forall a. ToHttpApiData a => (HeaderName, a) -> RequestHeaders toHeader (HeaderName, [a]) xs - -toFormColl :: WH.ToHttpApiData v => CollectionFormat -> (BC.ByteString, [v]) -> WH.Form -toFormColl :: forall v. + +toFormColl :: WH.ToHttpApiData v => CollectionFormat -> (BC.ByteString, [v]) -> WH.Form +toFormColl :: forall v. ToHttpApiData v => CollectionFormat -> (ByteString, [v]) -> Form toFormColl CollectionFormat @@ -1519,8 +1520,8 @@ forall a b. (a -> b) -> a -> b forall {s} {b}. FoldCase s => (s, b) -> (CI s, b) pack (ByteString, [v]) xs - where - pack :: (s, b) -> (CI s, b) + where + pack :: (s, b) -> (CI s, b) pack (s k,b v) = (s -> CI s @@ -1528,7 +1529,7 @@ forall s. FoldCase s => s -> CI s CI.mk s k, b v) - unpack :: (HeaderName, ByteString) -> (String, String) + unpack :: (HeaderName, ByteString) -> (String, String) unpack (HeaderName k,ByteString v) = (ByteString -> String @@ -1538,9 +1539,9 @@ forall s. CI s -> s k), ByteString -> String BC.unpack ByteString v) - -toQueryColl :: WH.ToHttpApiData a => CollectionFormat -> (BC.ByteString, Maybe [a]) -> NH.Query -toQueryColl :: forall a. + +toQueryColl :: WH.ToHttpApiData a => CollectionFormat -> (BC.ByteString, Maybe [a]) -> NH.Query +toQueryColl :: forall a. ToHttpApiData a => CollectionFormat -> (ByteString, Maybe [a]) -> Query toQueryColl CollectionFormat @@ -1560,9 +1561,9 @@ CollectionFormat forall a. ToHttpApiData a => (ByteString, Maybe a) -> Query toQuery (ByteString, Maybe [a]) xs - -_toColl :: P.Traversable f => CollectionFormat -> (f a -> [(b, BC.ByteString)]) -> f [a] -> [(b, BC.ByteString)] -_toColl :: forall (f :: * -> *) a b. + +_toColl :: P.Traversable f => CollectionFormat -> (f a -> [(b, BC.ByteString)]) -> f [a] -> [(b, BC.ByteString)] +_toColl :: forall (f :: * -> *) a b. Traversable f => CollectionFormat -> (f a -> [(b, ByteString)]) -> f [a] -> [(b, ByteString)] @@ -1598,7 +1599,7 @@ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b forall a. a -> Maybe a Just f [a] xs)) - where fencode :: f (Maybe a) -> [(b, Maybe ByteString)] + where fencode :: f (Maybe a) -> [(b, Maybe ByteString)] fencode = ((b, ByteString) -> (b, Maybe ByteString)) -> [(b, ByteString)] -> [(b, Maybe ByteString)] forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b @@ -1621,10 +1622,10 @@ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap Maybe a -> a forall a. HasCallStack => Maybe a -> a P.fromJust - {-# INLINE fencode #-} - -_toCollA :: (P.Traversable f, P.Traversable t, P.Alternative t) => CollectionFormat -> (f (t a) -> [(b, t BC.ByteString)]) -> f (t [a]) -> [(b, t BC.ByteString)] -_toCollA :: forall (f :: * -> *) (t :: * -> *) a b. + {-# INLINE fencode #-} + +_toCollA :: (P.Traversable f, P.Traversable t, P.Alternative t) => CollectionFormat -> (f (t a) -> [(b, t BC.ByteString)]) -> f (t [a]) -> [(b, t BC.ByteString)] +_toCollA :: forall (f :: * -> *) (t :: * -> *) a b. (Traversable f, Traversable t, Alternative t) => CollectionFormat -> (f (t a) -> [(b, t ByteString)]) @@ -1650,9 +1651,9 @@ CollectionFormat encode Char -> ByteString BC.singleton f (t [a]) xs - -_toCollA' :: (P.Monoid c, P.Traversable f, P.Traversable t, P.Alternative t) => CollectionFormat -> (f (t a) -> [(b, t c)]) -> (Char -> c) -> f (t [a]) -> [(b, t c)] -_toCollA' :: forall c (f :: * -> *) (t :: * -> *) a b. + +_toCollA' :: (P.Monoid c, P.Traversable f, P.Traversable t, P.Alternative t) => CollectionFormat -> (f (t a) -> [(b, t c)]) -> (Char -> c) -> f (t [a]) -> [(b, t c)] +_toCollA' :: forall c (f :: * -> *) (t :: * -> *) a b. (Monoid c, Traversable f, Traversable t, Alternative t) => CollectionFormat -> (f (t a) -> [(b, t c)]) @@ -1665,34 +1666,34 @@ CollectionFormat one f (t [a]) xs = case CollectionFormat c of - CollectionFormat + CollectionFormat CommaSeparated -> c -> [(b, t c)] go (Char -> c one Char ',') - CollectionFormat + CollectionFormat SpaceSeparated -> c -> [(b, t c)] go (Char -> c one Char ' ') - CollectionFormat + CollectionFormat TabSeparated -> c -> [(b, t c)] go (Char -> c one Char '\t') - CollectionFormat + CollectionFormat PipeSeparated -> c -> [(b, t c)] go (Char -> c one Char '|') - CollectionFormat + CollectionFormat MultiParamArray -> [(b, t c)] expandList - where - go :: c -> [(b, t c)] + where + go :: c -> [(b, t c)] go c sep = - [((b, t c) -> (b, t c) -> (b, t c)) -> [(b, t c)] -> (b, t c) + [((b, t c) -> (b, t c) -> (b, t c)) -> [(b, t c)] -> (b, t c) forall (t :: * -> *) a. Foldable t => (a -> a -> a) -> t a -> a P.foldl1 (\(b sk, t c @@ -1716,7 +1717,7 @@ forall (f :: * -> *) a. Alternative f => f a -> f a -> f a <|> t c v)) [(b, t c)] expandList] - combine :: a -> a -> a -> a + combine :: a -> a -> a -> a combine a sep a x a @@ -1728,7 +1729,7 @@ forall a. Semigroup a => a -> a -> a forall a. Semigroup a => a -> a -> a <> a y - expandList :: [(b, t c)] + expandList :: [(b, t c)] expandList = ((f (t a) -> [(b, t c)]) -> [f (t a)] -> [(b, t c)] forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b] P.concatMap f (t a) -> [(b, t c)] @@ -1753,25 +1754,25 @@ forall (t :: * -> *) (f :: * -> *) a b. forall (t :: * -> *) a. Foldable t => t a -> [a] P.toList) f (t [a]) xs - {-# INLINE go #-} - {-# INLINE expandList #-} - {-# INLINE combine #-} - --- * AuthMethods - --- | Provides a method to apply auth methods to requests -class P.Typeable a => - AuthMethod a where - applyAuthMethod - :: OpenAPIPetstoreConfig - -> a - -> OpenAPIPetstoreRequest req contentType res accept - -> IO (OpenAPIPetstoreRequest req contentType res accept) - --- | An existential wrapper for any AuthMethod -data AnyAuthMethod = forall a. AuthMethod a => AnyAuthMethod a deriving (P.Typeable) - -instance AuthMethod AnyAuthMethod where applyAuthMethod :: forall req contentType res accept. + {-# INLINE go #-} + {-# INLINE expandList #-} + {-# INLINE combine #-} + +-- * AuthMethods + +-- | Provides a method to apply auth methods to requests +class P.Typeable a => + AuthMethod a where + applyAuthMethod + :: OpenAPIPetstoreConfig + -> a + -> OpenAPIPetstoreRequest req contentType res accept + -> IO (OpenAPIPetstoreRequest req contentType res accept) + +-- | An existential wrapper for any AuthMethod +data AnyAuthMethod = forall a. AuthMethod a => AnyAuthMethod a deriving (P.Typeable) + +instance AuthMethod AnyAuthMethod where applyAuthMethod :: forall req contentType res accept. OpenAPIPetstoreConfig -> AnyAuthMethod -> OpenAPIPetstoreRequest req contentType res accept @@ -1793,9 +1794,9 @@ OpenAPIPetstoreConfig config a a OpenAPIPetstoreRequest req contentType res accept req - --- | indicates exceptions related to AuthMethods -data AuthMethodException = AuthMethodException String deriving (Int -> AuthMethodException -> ShowS + +-- | indicates exceptions related to AuthMethods +data AuthMethodException = AuthMethodException String deriving (Int -> AuthMethodException -> ShowS [AuthMethodException] -> ShowS AuthMethodException -> String (Int -> AuthMethodException -> ShowS) @@ -1811,15 +1812,15 @@ $cshow :: AuthMethodException -> String showsPrec :: Int -> AuthMethodException -> ShowS $cshowsPrec :: Int -> AuthMethodException -> ShowS P.Show, P.Typeable) - -instance E.Exception AuthMethodException - --- | apply all matching AuthMethods in config to request -_applyAuthMethods - :: OpenAPIPetstoreRequest req contentType res accept - -> OpenAPIPetstoreConfig - -> IO (OpenAPIPetstoreRequest req contentType res accept) -_applyAuthMethods :: forall req contentType res accept. + +instance E.Exception AuthMethodException + +-- | apply all matching AuthMethods in config to request +_applyAuthMethods + :: OpenAPIPetstoreRequest req contentType res accept + -> OpenAPIPetstoreConfig + -> IO (OpenAPIPetstoreRequest req contentType res accept) +_applyAuthMethods :: forall req contentType res accept. OpenAPIPetstoreRequest req contentType res accept -> OpenAPIPetstoreConfig -> IO (OpenAPIPetstoreRequest req contentType res accept) @@ -1828,7 +1829,7 @@ OpenAPIPetstoreRequest req contentType res accept config@(OpenAPIPetstoreConfig {configAuthMethods :: OpenAPIPetstoreConfig -> [AnyAuthMethod] configAuthMethods = [AnyAuthMethod] as}) = - (OpenAPIPetstoreRequest req contentType res accept + (OpenAPIPetstoreRequest req contentType res accept -> AnyAuthMethod -> IO (OpenAPIPetstoreRequest req contentType res accept)) -> OpenAPIPetstoreRequest req contentType res accept @@ -1843,8 +1844,8 @@ forall (t :: * -> *) (m :: * -> *) b a. go OpenAPIPetstoreRequest req contentType res accept req [AnyAuthMethod] as - where - go :: OpenAPIPetstoreRequest req contentType res accept + where + go :: OpenAPIPetstoreRequest req contentType res accept -> AnyAuthMethod -> IO (OpenAPIPetstoreRequest req contentType res accept) go OpenAPIPetstoreRequest req contentType res accept @@ -1863,12 +1864,16 @@ OpenAPIPetstoreConfig config a a OpenAPIPetstoreRequest req contentType res accept r - --- * Utils - --- | Removes Null fields. (OpenAPI-Specification 2.0 does not allow Null in JSON) -_omitNulls :: [(A.Key, A.Value)] -> A.Value -_omitNulls :: [(Key, Value)] -> Value + +-- * Utils + +-- | Removes Null fields. (OpenAPI-Specification 2.0 does not allow Null in JSON) +#if MIN_VERSION_aeson(2,0,0) +_omitNulls :: [(A.Key, A.Value)] -> A.Value +#else +_omitNulls :: [(Text, A.Value)] -> A.Value +#endif +_omitNulls :: [(Key, Value)] -> Value _omitNulls = [(Key, Value)] -> Value A.object ([(Key, Value)] -> Value) -> ([(Key, Value)] -> [(Key, Value)]) -> [(Key, Value)] -> Value @@ -1878,19 +1883,19 @@ forall a. (a -> Bool) -> [a] -> [a] P.filter (Key, Value) -> Bool forall {a}. (a, Value) -> Bool notNull - where - notNull :: (a, Value) -> Bool + where + notNull :: (a, Value) -> Bool notNull (a _, Value A.Null) = Bool False - notNull (a, Value) + notNull (a, Value) _ = Bool True - --- | Encodes fields using WH.toQueryParam -_toFormItem :: (WH.ToHttpApiData a, Functor f) => t -> f a -> f (t, [Text]) -_toFormItem :: forall a (f :: * -> *) t. + +-- | Encodes fields using WH.toQueryParam +_toFormItem :: (WH.ToHttpApiData a, Functor f) => t -> f a -> f (t, [Text]) +_toFormItem :: forall a (f :: * -> *) t. (ToHttpApiData a, Functor f) => t -> f a -> f (t, [Text]) _toFormItem t @@ -1908,22 +1913,22 @@ forall a. ToHttpApiData a => a -> Text forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> f a x - --- | Collapse (Just "") to Nothing -_emptyToNothing :: Maybe String -> Maybe String -_emptyToNothing :: Maybe String -> Maybe String + +-- | Collapse (Just "") to Nothing +_emptyToNothing :: Maybe String -> Maybe String +_emptyToNothing :: Maybe String -> Maybe String _emptyToNothing (Just String "") = Maybe String forall a. Maybe a Nothing -_emptyToNothing Maybe String +_emptyToNothing Maybe String x = Maybe String x -{-# INLINE _emptyToNothing #-} - --- | Collapse (Just mempty) to Nothing -_memptyToNothing :: (P.Monoid a, P.Eq a) => Maybe a -> Maybe a -_memptyToNothing :: forall a. (Monoid a, Eq a) => Maybe a -> Maybe a +{-# INLINE _emptyToNothing #-} + +-- | Collapse (Just mempty) to Nothing +_memptyToNothing :: (P.Monoid a, P.Eq a) => Maybe a -> Maybe a +_memptyToNothing :: forall a. (Monoid a, Eq a) => Maybe a -> Maybe a _memptyToNothing (Just a x) | a x a -> a -> Bool @@ -1933,16 +1938,16 @@ forall a. Monoid a => a P.mempty = Maybe a forall a. Maybe a Nothing -_memptyToNothing Maybe a +_memptyToNothing Maybe a x = Maybe a x -{-# INLINE _memptyToNothing #-} - --- * DateTime Formatting - -newtype DateTime = DateTime { DateTime -> UTCTime +{-# INLINE _memptyToNothing #-} + +-- * DateTime Formatting + +newtype DateTime = DateTime { DateTime -> UTCTime unDateTime :: TI.UTCTime } - deriving (DateTime -> DateTime -> Bool + deriving (DateTime -> DateTime -> Bool (DateTime -> DateTime -> Bool) -> (DateTime -> DateTime -> Bool) -> Eq DateTime forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a @@ -2154,8 +2159,8 @@ forall a. (a -> ()) -> NFData a rnf :: DateTime -> () $crnf :: DateTime -> () NF.NFData) -instance A.FromJSON DateTime where - parseJSON :: Value -> Parser DateTime +instance A.FromJSON DateTime where + parseJSON :: Value -> Parser DateTime parseJSON = String -> (Text -> Parser DateTime) -> Value -> Parser DateTime forall a. String -> (Text -> Parser a) -> Value -> Parser a A.withText String @@ -2168,8 +2173,8 @@ String -> m DateTime forall b c a. (b -> c) -> (a -> b) -> a -> c . Text -> String T.unpack) -instance A.ToJSON DateTime where - toJSON :: DateTime -> Value +instance A.ToJSON DateTime where + toJSON :: DateTime -> Value toJSON (DateTime UTCTime t) = String -> Value forall a. ToJSON a => a -> Value @@ -2177,8 +2182,8 @@ forall a. ToJSON a => a -> Value forall t. (t ~ UTCTime, FormatTime t) => t -> String _showDateTime UTCTime t) -instance WH.FromHttpApiData DateTime where - parseUrlPiece :: Text -> Either Text DateTime +instance WH.FromHttpApiData DateTime where + parseUrlPiece :: Text -> Either Text DateTime parseUrlPiece = Either Text DateTime -> (DateTime -> Either Text DateTime) -> Maybe DateTime @@ -2201,36 +2206,36 @@ String -> m DateTime forall b c a. (b -> c) -> (a -> b) -> a -> c . Text -> String T.unpack -instance WH.ToHttpApiData DateTime where - toUrlPiece :: DateTime -> Text +instance WH.ToHttpApiData DateTime where + toUrlPiece :: DateTime -> Text toUrlPiece (DateTime UTCTime t) = String -> Text T.pack (UTCTime -> String forall t. (t ~ UTCTime, FormatTime t) => t -> String _showDateTime UTCTime t) -instance P.Show DateTime where - show :: DateTime -> String +instance P.Show DateTime where + show :: DateTime -> String show (DateTime UTCTime t) = UTCTime -> String forall t. (t ~ UTCTime, FormatTime t) => t -> String _showDateTime UTCTime t -instance MimeRender MimeMultipartFormData DateTime where - mimeRender :: Proxy MimeMultipartFormData -> DateTime -> ByteString +instance MimeRender MimeMultipartFormData DateTime where + mimeRender :: Proxy MimeMultipartFormData -> DateTime -> ByteString mimeRender Proxy MimeMultipartFormData _ = DateTime -> ByteString forall a. ToHttpApiData a => a -> ByteString mimeRenderDefaultMultipartFormData - --- | @_parseISO8601@ -_readDateTime :: (MonadFail m, Alternative m) => String -> m DateTime -_readDateTime :: forall (m :: * -> *). + +-- | @_parseISO8601@ +_readDateTime :: (MonadFail m, Alternative m) => String -> m DateTime +_readDateTime :: forall (m :: * -> *). (MonadFail m, Alternative m) => String -> m DateTime _readDateTime String s = - UTCTime -> DateTime + UTCTime -> DateTime DateTime (UTCTime -> DateTime) -> m UTCTime -> m DateTime forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> String -> m UTCTime @@ -2239,32 +2244,32 @@ forall t (m :: * -> *). String -> m t _parseISO8601 String s -{-# INLINE _readDateTime #-} - --- | @TI.formatISO8601Millis@ -_showDateTime :: (t ~ TI.UTCTime, TI.FormatTime t) => t -> String -_showDateTime :: forall t. (t ~ UTCTime, FormatTime t) => t -> String +{-# INLINE _readDateTime #-} + +-- | @TI.formatISO8601Millis@ +_showDateTime :: (t ~ TI.UTCTime, TI.FormatTime t) => t -> String +_showDateTime :: forall t. (t ~ UTCTime, FormatTime t) => t -> String _showDateTime = - t -> String + t -> String UTCTime -> String TI.formatISO8601Millis -{-# INLINE _showDateTime #-} - --- | parse an ISO8601 date-time string -_parseISO8601 :: (TI.ParseTime t, MonadFail m, Alternative m) => String -> m t -_parseISO8601 :: forall t (m :: * -> *). +{-# INLINE _showDateTime #-} + +-- | parse an ISO8601 date-time string +_parseISO8601 :: (TI.ParseTime t, MonadFail m, Alternative m) => String -> m t +_parseISO8601 :: forall t (m :: * -> *). (ParseTime t, MonadFail m, Alternative m) => String -> m t _parseISO8601 String t = - [m t] -> m t + [m t] -> m t forall (t :: * -> *) (f :: * -> *) a. (Foldable t, Alternative f) => t (f a) -> f a P.asum ([m t] -> m t) -> [m t] -> m t forall a b. (a -> b) -> a -> b $ - (String -> String -> m t) -> String -> String -> m t + (String -> String -> m t) -> String -> String -> m t forall a b c. (a -> b -> c) -> b -> a -> c P.flip (Bool -> TimeLocale -> String -> String -> m t forall (m :: * -> *) t. @@ -2276,17 +2281,17 @@ Bool -> TimeLocale -> String -> String -> m t t (String -> m t) -> [String] -> [m t] forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> - [String + [String "%FT%T%QZ", String "%FT%T%Q%z", String "%FT%T%Q%Z"] -{-# INLINE _parseISO8601 #-} - --- * Date Formatting - -newtype Date = Date { Date -> Day +{-# INLINE _parseISO8601 #-} + +-- * Date Formatting + +newtype Date = Date { Date -> Day unDate :: TI.Day } - deriving (Int -> Date + deriving (Int -> Date Date -> Int Date -> [Date] Date -> Date @@ -2564,8 +2569,8 @@ forall a. (a -> ()) -> NFData a rnf :: Date -> () $crnf :: Date -> () NF.NFData) -instance A.FromJSON Date where - parseJSON :: Value -> Parser Date +instance A.FromJSON Date where + parseJSON :: Value -> Parser Date parseJSON = String -> (Text -> Parser Date) -> Value -> Parser Date forall a. String -> (Text -> Parser a) -> Value -> Parser a A.withText String @@ -2575,8 +2580,8 @@ forall (m :: * -> *). MonadFail m => String -> m Date forall b c a. (b -> c) -> (a -> b) -> a -> c . Text -> String T.unpack) -instance A.ToJSON Date where - toJSON :: Date -> Value +instance A.ToJSON Date where + toJSON :: Date -> Value toJSON (Date Day t) = String -> Value forall a. ToJSON a => a -> Value @@ -2584,8 +2589,8 @@ forall a. ToJSON a => a -> Value forall t. FormatTime t => t -> String _showDate Day t) -instance WH.FromHttpApiData Date where - parseUrlPiece :: Text -> Either Text Date +instance WH.FromHttpApiData Date where + parseUrlPiece :: Text -> Either Text Date parseUrlPiece = Either Text Date -> (Date -> Either Text Date) -> Maybe Date -> Either Text Date forall b a. b -> (a -> b) -> Maybe a -> b @@ -2603,31 +2608,31 @@ forall (m :: * -> *). MonadFail m => String -> m Date forall b c a. (b -> c) -> (a -> b) -> a -> c . Text -> String T.unpack -instance WH.ToHttpApiData Date where - toUrlPiece :: Date -> Text +instance WH.ToHttpApiData Date where + toUrlPiece :: Date -> Text toUrlPiece (Date Day t) = String -> Text T.pack (Day -> String forall t. FormatTime t => t -> String _showDate Day t) -instance P.Show Date where - show :: Date -> String +instance P.Show Date where + show :: Date -> String show (Date Day t) = Day -> String forall t. FormatTime t => t -> String _showDate Day t -instance MimeRender MimeMultipartFormData Date where - mimeRender :: Proxy MimeMultipartFormData -> Date -> ByteString +instance MimeRender MimeMultipartFormData Date where + mimeRender :: Proxy MimeMultipartFormData -> Date -> ByteString mimeRender Proxy MimeMultipartFormData _ = Date -> ByteString forall a. ToHttpApiData a => a -> ByteString mimeRenderDefaultMultipartFormData - --- | @TI.parseTimeM True TI.defaultTimeLocale "%Y-%m-%d"@ -_readDate :: MonadFail m => String -> m Date -_readDate :: forall (m :: * -> *). MonadFail m => String -> m Date + +-- | @TI.parseTimeM True TI.defaultTimeLocale "%Y-%m-%d"@ +_readDate :: MonadFail m => String -> m Date +_readDate :: forall (m :: * -> *). MonadFail m => String -> m Date _readDate String s = Day -> Date Date (Day -> Date) -> m Day -> m Date @@ -2641,26 +2646,26 @@ Bool -> TimeLocale -> String -> String -> m t TI.defaultTimeLocale String "%Y-%m-%d" String s -{-# INLINE _readDate #-} - --- | @TI.formatTime TI.defaultTimeLocale "%Y-%m-%d"@ -_showDate :: TI.FormatTime t => t -> String -_showDate :: forall t. FormatTime t => t -> String +{-# INLINE _readDate #-} + +-- | @TI.formatTime TI.defaultTimeLocale "%Y-%m-%d"@ +_showDate :: TI.FormatTime t => t -> String +_showDate :: forall t. FormatTime t => t -> String _showDate = - TimeLocale -> String -> t -> String + TimeLocale -> String -> t -> String forall t. FormatTime t => TimeLocale -> String -> t -> String TI.formatTime TimeLocale TI.defaultTimeLocale String "%Y-%m-%d" -{-# INLINE _showDate #-} - --- * Byte/Binary Formatting - - --- | base64 encoded characters -newtype ByteArray = ByteArray { ByteArray -> ByteString +{-# INLINE _showDate #-} + +-- * Byte/Binary Formatting + + +-- | base64 encoded characters +newtype ByteArray = ByteArray { ByteArray -> ByteString unByteArray :: BL.ByteString } - deriving (ByteArray -> ByteArray -> Bool + deriving (ByteArray -> ByteArray -> Bool (ByteArray -> ByteArray -> Bool) -> (ByteArray -> ByteArray -> Bool) -> Eq ByteArray forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a @@ -2873,25 +2878,25 @@ forall a. (a -> ()) -> NFData a rnf :: ByteArray -> () $crnf :: ByteArray -> () NF.NFData) - -instance A.FromJSON ByteArray where - parseJSON :: Value -> Parser ByteArray + +instance A.FromJSON ByteArray where + parseJSON :: Value -> Parser ByteArray parseJSON = String -> (Text -> Parser ByteArray) -> Value -> Parser ByteArray forall a. String -> (Text -> Parser a) -> Value -> Parser a A.withText String "ByteArray" Text -> Parser ByteArray forall (m :: * -> *). MonadFail m => Text -> m ByteArray _readByteArray -instance A.ToJSON ByteArray where - toJSON :: ByteArray -> Value +instance A.ToJSON ByteArray where + toJSON :: ByteArray -> Value toJSON = Text -> Value forall a. ToJSON a => a -> Value A.toJSON (Text -> Value) -> (ByteArray -> Text) -> ByteArray -> Value forall b c a. (b -> c) -> (a -> b) -> a -> c . ByteArray -> Text _showByteArray -instance WH.FromHttpApiData ByteArray where - parseUrlPiece :: Text -> Either Text ByteArray +instance WH.FromHttpApiData ByteArray where + parseUrlPiece :: Text -> Either Text ByteArray parseUrlPiece = Either Text ByteArray -> (ByteArray -> Either Text ByteArray) -> Maybe ByteArray @@ -2908,27 +2913,27 @@ forall b c a. (b -> c) -> (a -> b) -> a -> c . Text -> Maybe ByteArray forall (m :: * -> *). MonadFail m => Text -> m ByteArray _readByteArray -instance WH.ToHttpApiData ByteArray where - toUrlPiece :: ByteArray -> Text +instance WH.ToHttpApiData ByteArray where + toUrlPiece :: ByteArray -> Text toUrlPiece = ByteArray -> Text _showByteArray -instance P.Show ByteArray where - show :: ByteArray -> String +instance P.Show ByteArray where + show :: ByteArray -> String show = Text -> String T.unpack (Text -> String) -> (ByteArray -> Text) -> ByteArray -> String forall b c a. (b -> c) -> (a -> b) -> a -> c . ByteArray -> Text _showByteArray -instance MimeRender MimeMultipartFormData ByteArray where - mimeRender :: Proxy MimeMultipartFormData -> ByteArray -> ByteString +instance MimeRender MimeMultipartFormData ByteArray where + mimeRender :: Proxy MimeMultipartFormData -> ByteArray -> ByteString mimeRender Proxy MimeMultipartFormData _ = ByteArray -> ByteString forall a. ToHttpApiData a => a -> ByteString mimeRenderDefaultMultipartFormData - --- | read base64 encoded characters -_readByteArray :: MonadFail m => Text -> m ByteArray -_readByteArray :: forall (m :: * -> *). MonadFail m => Text -> m ByteArray + +-- | read base64 encoded characters +_readByteArray :: MonadFail m => Text -> m ByteArray +_readByteArray :: forall (m :: * -> *). MonadFail m => Text -> m ByteArray _readByteArray = (String -> m ByteArray) -> (ByteString -> m ByteArray) -> Either String ByteString @@ -2955,11 +2960,11 @@ forall b c a. (b -> c) -> (a -> b) -> a -> c forall b c a. (b -> c) -> (a -> b) -> a -> c . Text -> ByteString T.encodeUtf8 -{-# INLINE _readByteArray #-} - --- | show base64 encoded characters -_showByteArray :: ByteArray -> Text -_showByteArray :: ByteArray -> Text +{-# INLINE _readByteArray #-} + +-- | show base64 encoded characters +_showByteArray :: ByteArray -> Text +_showByteArray :: ByteArray -> Text _showByteArray = ByteString -> Text T.decodeUtf8 (ByteString -> Text) -> (ByteArray -> ByteString) -> ByteArray -> Text @@ -2974,12 +2979,12 @@ forall b c a. (b -> c) -> (a -> b) -> a -> c forall b c a. (b -> c) -> (a -> b) -> a -> c . ByteArray -> ByteString unByteArray -{-# INLINE _showByteArray #-} - --- | any sequence of octets -newtype Binary = Binary { Binary -> ByteString +{-# INLINE _showByteArray #-} + +-- | any sequence of octets +newtype Binary = Binary { Binary -> ByteString unBinary :: BL.ByteString } - deriving (Binary -> Binary -> Bool + deriving (Binary -> Binary -> Bool (Binary -> Binary -> Bool) -> (Binary -> Binary -> Bool) -> Eq Binary forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a @@ -3185,25 +3190,25 @@ forall a. (a -> ()) -> NFData a rnf :: Binary -> () $crnf :: Binary -> () NF.NFData) - -instance A.FromJSON Binary where - parseJSON :: Value -> Parser Binary + +instance A.FromJSON Binary where + parseJSON :: Value -> Parser Binary parseJSON = String -> (Text -> Parser Binary) -> Value -> Parser Binary forall a. String -> (Text -> Parser a) -> Value -> Parser a A.withText String "Binary" Text -> Parser Binary forall (m :: * -> *). MonadFail m => Text -> m Binary _readBinaryBase64 -instance A.ToJSON Binary where - toJSON :: Binary -> Value +instance A.ToJSON Binary where + toJSON :: Binary -> Value toJSON = Text -> Value forall a. ToJSON a => a -> Value A.toJSON (Text -> Value) -> (Binary -> Text) -> Binary -> Value forall b c a. (b -> c) -> (a -> b) -> a -> c . Binary -> Text _showBinaryBase64 -instance WH.FromHttpApiData Binary where - parseUrlPiece :: Text -> Either Text Binary +instance WH.FromHttpApiData Binary where + parseUrlPiece :: Text -> Either Text Binary parseUrlPiece = Either Text Binary -> (Binary -> Either Text Binary) -> Maybe Binary @@ -3220,25 +3225,25 @@ forall b c a. (b -> c) -> (a -> b) -> a -> c . Text -> Maybe Binary forall (m :: * -> *). MonadFail m => Text -> m Binary _readBinaryBase64 -instance WH.ToHttpApiData Binary where - toUrlPiece :: Binary -> Text +instance WH.ToHttpApiData Binary where + toUrlPiece :: Binary -> Text toUrlPiece = Binary -> Text _showBinaryBase64 -instance P.Show Binary where - show :: Binary -> String +instance P.Show Binary where + show :: Binary -> String show = Text -> String T.unpack (Text -> String) -> (Binary -> Text) -> Binary -> String forall b c a. (b -> c) -> (a -> b) -> a -> c . Binary -> Text _showBinaryBase64 -instance MimeRender MimeMultipartFormData Binary where - mimeRender :: Proxy MimeMultipartFormData -> Binary -> ByteString +instance MimeRender MimeMultipartFormData Binary where + mimeRender :: Proxy MimeMultipartFormData -> Binary -> ByteString mimeRender Proxy MimeMultipartFormData _ = Binary -> ByteString unBinary - -_readBinaryBase64 :: MonadFail m => Text -> m Binary -_readBinaryBase64 :: forall (m :: * -> *). MonadFail m => Text -> m Binary + +_readBinaryBase64 :: MonadFail m => Text -> m Binary +_readBinaryBase64 :: forall (m :: * -> *). MonadFail m => Text -> m Binary _readBinaryBase64 = (String -> m Binary) -> (ByteString -> m Binary) -> Either String ByteString -> m Binary forall a c b. (a -> c) -> (b -> c) -> Either a b -> c @@ -3263,10 +3268,10 @@ forall b c a. (b -> c) -> (a -> b) -> a -> c forall b c a. (b -> c) -> (a -> b) -> a -> c . Text -> ByteString T.encodeUtf8 -{-# INLINE _readBinaryBase64 #-} - -_showBinaryBase64 :: Binary -> Text -_showBinaryBase64 :: Binary -> Text +{-# INLINE _readBinaryBase64 #-} + +_showBinaryBase64 :: Binary -> Text +_showBinaryBase64 :: Binary -> Text _showBinaryBase64 = ByteString -> Text T.decodeUtf8 (ByteString -> Text) -> (Binary -> ByteString) -> Binary -> Text forall b c a. (b -> c) -> (a -> b) -> a -> c @@ -3280,10 +3285,10 @@ forall b c a. (b -> c) -> (a -> b) -> a -> c forall b c a. (b -> c) -> (a -> b) -> a -> c . Binary -> ByteString unBinary -{-# INLINE _showBinaryBase64 #-} - --- * Lens Type Aliases - -type Lens_' s a = Lens_ s s a a -type Lens_ s t a b = forall (f :: K.Type -> K.Type). Functor f => (a -> f b) -> s -> f t - \ No newline at end of file +{-# INLINE _showBinaryBase64 #-} + +-- * Lens Type Aliases + +type Lens_' s a = Lens_ s s a a +type Lens_ s t a b = forall (f :: K.Type -> K.Type). Functor f => (a -> f b) -> s -> f t + \ No newline at end of file diff --git a/samples/client/petstore/haskell-http-client/example-app/openapi-petstore-app.cabal b/samples/client/petstore/haskell-http-client/example-app/openapi-petstore-app.cabal index cdef6063b7..cc77ed51db 100644 --- a/samples/client/petstore/haskell-http-client/example-app/openapi-petstore-app.cabal +++ b/samples/client/petstore/haskell-http-client/example-app/openapi-petstore-app.cabal @@ -24,7 +24,7 @@ executable openapi-petstore-app Paths_openapi_petstore_app ghc-options: -Wall build-depends: - aeson >=2.0 && <3.0 + aeson >=1.0 && <3.0 , base >=4.7 && <5.0 , bytestring >=0.10.0 && <0.11 , case-insensitive diff --git a/samples/client/petstore/haskell-http-client/example-app/package.yaml b/samples/client/petstore/haskell-http-client/example-app/package.yaml index f181c010c9..f77b8616c2 100644 --- a/samples/client/petstore/haskell-http-client/example-app/package.yaml +++ b/samples/client/petstore/haskell-http-client/example-app/package.yaml @@ -19,7 +19,7 @@ dependencies: - mtl >=2.2.1 - unordered-containers - containers >=0.5.0.0 && <0.8 -- aeson >=2.0 && <3.0 +- aeson >=1.0 && <3.0 - bytestring >=0.10.0 && <0.11 - http-types >=0.8 && <0.13 - http-client >=0.5 && <0.8 diff --git a/samples/client/petstore/haskell-http-client/lib/OpenAPIPetstore/Core.hs b/samples/client/petstore/haskell-http-client/lib/OpenAPIPetstore/Core.hs index 3a30cf046e..50e8f41427 100644 --- a/samples/client/petstore/haskell-http-client/lib/OpenAPIPetstore/Core.hs +++ b/samples/client/petstore/haskell-http-client/lib/OpenAPIPetstore/Core.hs @@ -23,6 +23,7 @@ Module : OpenAPIPetstore.Core {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TupleSections #-} {-# LANGUAGE TypeFamilies #-} +{-# LANGUAGE CPP #-} {-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-} module OpenAPIPetstore.Core where @@ -428,7 +429,11 @@ _applyAuthMethods req config@(OpenAPIPetstoreConfig {configAuthMethods = as}) = -- * Utils -- | Removes Null fields. (OpenAPI-Specification 2.0 does not allow Null in JSON) +#if MIN_VERSION_aeson(2,0,0) _omitNulls :: [(A.Key, A.Value)] -> A.Value +#else +_omitNulls :: [(Text, A.Value)] -> A.Value +#endif _omitNulls = A.object . P.filter notNull where notNull (_, A.Null) = False diff --git a/samples/client/petstore/haskell-http-client/openapi-petstore.cabal b/samples/client/petstore/haskell-http-client/openapi-petstore.cabal index 8955fd7aed..25134dc74b 100644 --- a/samples/client/petstore/haskell-http-client/openapi-petstore.cabal +++ b/samples/client/petstore/haskell-http-client/openapi-petstore.cabal @@ -35,7 +35,7 @@ library lib ghc-options: -Wall -funbox-strict-fields build-depends: - aeson >=2.0 && <3.0 + aeson >=1.0 && <3.0 , base >=4.7 && <5.0 , base64-bytestring >1.0 && <2.0 , bytestring >=0.10.0 diff --git a/samples/client/petstore/haskell-http-client/tests-integration/package.yaml b/samples/client/petstore/haskell-http-client/tests-integration/package.yaml index dfea41b6a0..b2c4a5e937 100644 --- a/samples/client/petstore/haskell-http-client/tests-integration/package.yaml +++ b/samples/client/petstore/haskell-http-client/tests-integration/package.yaml @@ -19,7 +19,7 @@ dependencies: - mtl >=2.2.1 - unordered-containers - containers >=0.5.0.0 && <0.7 -- aeson >=2.0 && <3.0 +- aeson >=1.0 && <3.0 - bytestring >=0.10.0 - http-types >=0.8 && <0.13 - http-client >=0.5 && <0.8 diff --git a/samples/client/petstore/haskell-http-client/tests/Instances.hs b/samples/client/petstore/haskell-http-client/tests/Instances.hs index aeb0f9b771..dd4b65d938 100644 --- a/samples/client/petstore/haskell-http-client/tests/Instances.hs +++ b/samples/client/petstore/haskell-http-client/tests/Instances.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP #-} {-# OPTIONS_GHC -fno-warn-unused-imports -fno-warn-unused-matches #-} module Instances where @@ -52,9 +53,12 @@ instance Arbitrary Date where arbitrary = Date <$> arbitrary shrink (Date xs) = Date <$> shrink xs +#if MIN_VERSION_aeson(2,0,0) +#else -- | A naive Arbitrary instance for A.Value: --- instance Arbitrary A.Value where --- arbitrary = arbitraryValue +instance Arbitrary A.Value where + arbitrary = arbitraryValue +#endif arbitraryValue :: Gen A.Value arbitraryValue = From 05d49d910761280b2bbaf8d7bcdf44dc964cc9b3 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 29 May 2022 07:22:18 +0800 Subject: [PATCH 019/212] Add support for allOf in R client generator (#12487) * add support for all in R client generator * update samples --- .../src/main/resources/r/model.mustache | 3 + .../src/test/resources/3_0/r/petstore.yaml | 35 ++++ .../petstore/R/.openapi-generator/FILES | 12 ++ samples/client/petstore/R/NAMESPACE | 6 + .../petstore/R/R/allof_tag_api_response.R | 156 ++++++++++++++++++ samples/client/petstore/R/R/animal.R | 90 ++++++++++ samples/client/petstore/R/R/cat.R | 113 +++++++++++++ samples/client/petstore/R/R/cat_all_of.R | 68 ++++++++ samples/client/petstore/R/R/dog.R | 113 +++++++++++++ samples/client/petstore/R/R/dog_all_of.R | 68 ++++++++ samples/client/petstore/R/README.md | 6 + .../petstore/R/docs/AllofTagApiResponse.md | 13 ++ samples/client/petstore/R/docs/Animal.md | 10 ++ samples/client/petstore/R/docs/Cat.md | 11 ++ samples/client/petstore/R/docs/CatAllOf.md | 9 + samples/client/petstore/R/docs/Dog.md | 11 ++ samples/client/petstore/R/docs/DogAllOf.md | 9 + .../testthat/test_allof_tag_api_response.R | 41 +++++ .../petstore/R/tests/testthat/test_animal.R | 20 +++ .../petstore/R/tests/testthat/test_cat.R | 27 +++ .../R/tests/testthat/test_cat_all_of.R | 13 ++ .../petstore/R/tests/testthat/test_dog.R | 27 +++ .../R/tests/testthat/test_dog_all_of.R | 13 ++ .../petstore/R/tests/testthat/test_petstore.R | 19 +++ 24 files changed, 893 insertions(+) create mode 100644 samples/client/petstore/R/R/allof_tag_api_response.R create mode 100644 samples/client/petstore/R/R/animal.R create mode 100644 samples/client/petstore/R/R/cat.R create mode 100644 samples/client/petstore/R/R/cat_all_of.R create mode 100644 samples/client/petstore/R/R/dog.R create mode 100644 samples/client/petstore/R/R/dog_all_of.R create mode 100644 samples/client/petstore/R/docs/AllofTagApiResponse.md create mode 100644 samples/client/petstore/R/docs/Animal.md create mode 100644 samples/client/petstore/R/docs/Cat.md create mode 100644 samples/client/petstore/R/docs/CatAllOf.md create mode 100644 samples/client/petstore/R/docs/Dog.md create mode 100644 samples/client/petstore/R/docs/DogAllOf.md create mode 100644 samples/client/petstore/R/tests/testthat/test_allof_tag_api_response.R create mode 100644 samples/client/petstore/R/tests/testthat/test_animal.R create mode 100644 samples/client/petstore/R/tests/testthat/test_cat.R create mode 100644 samples/client/petstore/R/tests/testthat/test_cat_all_of.R create mode 100644 samples/client/petstore/R/tests/testthat/test_dog.R create mode 100644 samples/client/petstore/R/tests/testthat/test_dog_all_of.R diff --git a/modules/openapi-generator/src/main/resources/r/model.mustache b/modules/openapi-generator/src/main/resources/r/model.mustache index caa50d80fd..1585f110d2 100644 --- a/modules/openapi-generator/src/main/resources/r/model.mustache +++ b/modules/openapi-generator/src/main/resources/r/model.mustache @@ -21,6 +21,9 @@ #' @export {{classname}} <- R6::R6Class( '{{classname}}', + {{#parent}} + inherit = {{{.}}}, + {{/parent}} public = list( {{#vars}} `{{{baseName}}}` = NULL, diff --git a/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml b/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml index 502deb56f8..965860d44d 100644 --- a/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml @@ -766,3 +766,38 @@ components: type: string message: type: string + Dog: + allOf: + - $ref: '#/components/schemas/Animal' + - type: object + properties: + breed: + type: string + Cat: + allOf: + - $ref: '#/components/schemas/Animal' + - $ref: '#/components/schemas/Address' + - type: object + properties: + declawed: + type: boolean + Address: + type: object + additionalProperties: + type: integer + Animal: + type: object + discriminator: + propertyName: className + required: + - className + properties: + className: + type: string + color: + type: string + default: red + allof_tag_api_response: + allOf: + - $ref: '#/components/schemas/Tag' + - $ref: '#/components/schemas/ApiResponse' diff --git a/samples/client/petstore/R/.openapi-generator/FILES b/samples/client/petstore/R/.openapi-generator/FILES index b728b3f1d6..7c5f45bad2 100644 --- a/samples/client/petstore/R/.openapi-generator/FILES +++ b/samples/client/petstore/R/.openapi-generator/FILES @@ -3,9 +3,15 @@ .travis.yml DESCRIPTION NAMESPACE +R/allof_tag_api_response.R +R/animal.R R/api_client.R R/api_response.R +R/cat.R +R/cat_all_of.R R/category.R +R/dog.R +R/dog_all_of.R R/fake_api.R R/model_api_response.R R/order.R @@ -16,7 +22,13 @@ R/tag.R R/user.R R/user_api.R README.md +docs/AllofTagApiResponse.md +docs/Animal.md +docs/Cat.md +docs/CatAllOf.md docs/Category.md +docs/Dog.md +docs/DogAllOf.md docs/FakeApi.md docs/ModelApiResponse.md docs/Order.md diff --git a/samples/client/petstore/R/NAMESPACE b/samples/client/petstore/R/NAMESPACE index dc2b03b289..a889c35c70 100644 --- a/samples/client/petstore/R/NAMESPACE +++ b/samples/client/petstore/R/NAMESPACE @@ -11,7 +11,13 @@ export(ApiClient) export(ApiResponse) # Models +export(AllofTagApiResponse) +export(Animal) +export(Cat) +export(CatAllOf) export(Category) +export(Dog) +export(DogAllOf) export(ModelApiResponse) export(Order) export(Pet) diff --git a/samples/client/petstore/R/R/allof_tag_api_response.R b/samples/client/petstore/R/R/allof_tag_api_response.R new file mode 100644 index 0000000000..c3937aacc5 --- /dev/null +++ b/samples/client/petstore/R/R/allof_tag_api_response.R @@ -0,0 +1,156 @@ +# OpenAPI Petstore +# +# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +# +# The version of the OpenAPI document: 1.0.0 +# Generated by: https://openapi-generator.tech + +#' @docType class +#' @title AllofTagApiResponse +#' +#' @description AllofTagApiResponse Class +#' +#' @format An \code{R6Class} generator object +#' +#' @field id integer [optional] +#' +#' @field name character [optional] +#' +#' @field code integer [optional] +#' +#' @field type character [optional] +#' +#' @field message character [optional] +#' +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +AllofTagApiResponse <- R6::R6Class( + 'AllofTagApiResponse', + public = list( + `id` = NULL, + `name` = NULL, + `code` = NULL, + `type` = NULL, + `message` = NULL, + initialize = function( + `id`=NULL, `name`=NULL, `code`=NULL, `type`=NULL, `message`=NULL, ... + ) { + local.optional.var <- list(...) + if (!is.null(`id`)) { + stopifnot(is.numeric(`id`), length(`id`) == 1) + self$`id` <- `id` + } + if (!is.null(`name`)) { + stopifnot(is.character(`name`), length(`name`) == 1) + self$`name` <- `name` + } + if (!is.null(`code`)) { + stopifnot(is.numeric(`code`), length(`code`) == 1) + self$`code` <- `code` + } + if (!is.null(`type`)) { + stopifnot(is.character(`type`), length(`type`) == 1) + self$`type` <- `type` + } + if (!is.null(`message`)) { + stopifnot(is.character(`message`), length(`message`) == 1) + self$`message` <- `message` + } + }, + toJSON = function() { + AllofTagApiResponseObject <- list() + if (!is.null(self$`id`)) { + AllofTagApiResponseObject[['id']] <- + self$`id` + } + if (!is.null(self$`name`)) { + AllofTagApiResponseObject[['name']] <- + self$`name` + } + if (!is.null(self$`code`)) { + AllofTagApiResponseObject[['code']] <- + self$`code` + } + if (!is.null(self$`type`)) { + AllofTagApiResponseObject[['type']] <- + self$`type` + } + if (!is.null(self$`message`)) { + AllofTagApiResponseObject[['message']] <- + self$`message` + } + + AllofTagApiResponseObject + }, + fromJSON = function(AllofTagApiResponseJson) { + AllofTagApiResponseObject <- jsonlite::fromJSON(AllofTagApiResponseJson) + if (!is.null(AllofTagApiResponseObject$`id`)) { + self$`id` <- AllofTagApiResponseObject$`id` + } + if (!is.null(AllofTagApiResponseObject$`name`)) { + self$`name` <- AllofTagApiResponseObject$`name` + } + if (!is.null(AllofTagApiResponseObject$`code`)) { + self$`code` <- AllofTagApiResponseObject$`code` + } + if (!is.null(AllofTagApiResponseObject$`type`)) { + self$`type` <- AllofTagApiResponseObject$`type` + } + if (!is.null(AllofTagApiResponseObject$`message`)) { + self$`message` <- AllofTagApiResponseObject$`message` + } + self + }, + toJSONString = function() { + jsoncontent <- c( + if (!is.null(self$`id`)) { + sprintf( + '"id": + %d + ', + self$`id` + )}, + if (!is.null(self$`name`)) { + sprintf( + '"name": + "%s" + ', + self$`name` + )}, + if (!is.null(self$`code`)) { + sprintf( + '"code": + %d + ', + self$`code` + )}, + if (!is.null(self$`type`)) { + sprintf( + '"type": + "%s" + ', + self$`type` + )}, + if (!is.null(self$`message`)) { + sprintf( + '"message": + "%s" + ', + self$`message` + )} + ) + jsoncontent <- paste(jsoncontent, collapse = ",") + paste('{', jsoncontent, '}', sep = "") + }, + fromJSONString = function(AllofTagApiResponseJson) { + AllofTagApiResponseObject <- jsonlite::fromJSON(AllofTagApiResponseJson) + self$`id` <- AllofTagApiResponseObject$`id` + self$`name` <- AllofTagApiResponseObject$`name` + self$`code` <- AllofTagApiResponseObject$`code` + self$`type` <- AllofTagApiResponseObject$`type` + self$`message` <- AllofTagApiResponseObject$`message` + self + } + ) +) diff --git a/samples/client/petstore/R/R/animal.R b/samples/client/petstore/R/R/animal.R new file mode 100644 index 0000000000..94c7783792 --- /dev/null +++ b/samples/client/petstore/R/R/animal.R @@ -0,0 +1,90 @@ +# OpenAPI Petstore +# +# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +# +# The version of the OpenAPI document: 1.0.0 +# Generated by: https://openapi-generator.tech + +#' @docType class +#' @title Animal +#' +#' @description Animal Class +#' +#' @format An \code{R6Class} generator object +#' +#' @field className character +#' +#' @field color character [optional] +#' +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +Animal <- R6::R6Class( + 'Animal', + public = list( + `className` = NULL, + `color` = NULL, + initialize = function( + `className`, `color`='red', ... + ) { + local.optional.var <- list(...) + if (!missing(`className`)) { + stopifnot(is.character(`className`), length(`className`) == 1) + self$`className` <- `className` + } + if (!is.null(`color`)) { + stopifnot(is.character(`color`), length(`color`) == 1) + self$`color` <- `color` + } + }, + toJSON = function() { + AnimalObject <- list() + if (!is.null(self$`className`)) { + AnimalObject[['className']] <- + self$`className` + } + if (!is.null(self$`color`)) { + AnimalObject[['color']] <- + self$`color` + } + + AnimalObject + }, + fromJSON = function(AnimalJson) { + AnimalObject <- jsonlite::fromJSON(AnimalJson) + if (!is.null(AnimalObject$`className`)) { + self$`className` <- AnimalObject$`className` + } + if (!is.null(AnimalObject$`color`)) { + self$`color` <- AnimalObject$`color` + } + self + }, + toJSONString = function() { + jsoncontent <- c( + if (!is.null(self$`className`)) { + sprintf( + '"className": + "%s" + ', + self$`className` + )}, + if (!is.null(self$`color`)) { + sprintf( + '"color": + "%s" + ', + self$`color` + )} + ) + jsoncontent <- paste(jsoncontent, collapse = ",") + paste('{', jsoncontent, '}', sep = "") + }, + fromJSONString = function(AnimalJson) { + AnimalObject <- jsonlite::fromJSON(AnimalJson) + self$`className` <- AnimalObject$`className` + self$`color` <- AnimalObject$`color` + self + } + ) +) diff --git a/samples/client/petstore/R/R/cat.R b/samples/client/petstore/R/R/cat.R new file mode 100644 index 0000000000..b321a7a75f --- /dev/null +++ b/samples/client/petstore/R/R/cat.R @@ -0,0 +1,113 @@ +# OpenAPI Petstore +# +# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +# +# The version of the OpenAPI document: 1.0.0 +# Generated by: https://openapi-generator.tech + +#' @docType class +#' @title Cat +#' +#' @description Cat Class +#' +#' @format An \code{R6Class} generator object +#' +#' @field className character +#' +#' @field color character [optional] +#' +#' @field declawed character [optional] +#' +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +Cat <- R6::R6Class( + 'Cat', + inherit = Animal, + public = list( + `className` = NULL, + `color` = NULL, + `declawed` = NULL, + initialize = function( + `className`, `color`='red', `declawed`=NULL, ... + ) { + local.optional.var <- list(...) + if (!missing(`className`)) { + stopifnot(is.character(`className`), length(`className`) == 1) + self$`className` <- `className` + } + if (!is.null(`color`)) { + stopifnot(is.character(`color`), length(`color`) == 1) + self$`color` <- `color` + } + if (!is.null(`declawed`)) { + stopifnot(is.logical(`declawed`), length(`declawed`) == 1) + self$`declawed` <- `declawed` + } + }, + toJSON = function() { + CatObject <- list() + if (!is.null(self$`className`)) { + CatObject[['className']] <- + self$`className` + } + if (!is.null(self$`color`)) { + CatObject[['color']] <- + self$`color` + } + if (!is.null(self$`declawed`)) { + CatObject[['declawed']] <- + self$`declawed` + } + + CatObject + }, + fromJSON = function(CatJson) { + CatObject <- jsonlite::fromJSON(CatJson) + if (!is.null(CatObject$`className`)) { + self$`className` <- CatObject$`className` + } + if (!is.null(CatObject$`color`)) { + self$`color` <- CatObject$`color` + } + if (!is.null(CatObject$`declawed`)) { + self$`declawed` <- CatObject$`declawed` + } + self + }, + toJSONString = function() { + jsoncontent <- c( + if (!is.null(self$`className`)) { + sprintf( + '"className": + "%s" + ', + self$`className` + )}, + if (!is.null(self$`color`)) { + sprintf( + '"color": + "%s" + ', + self$`color` + )}, + if (!is.null(self$`declawed`)) { + sprintf( + '"declawed": + %s + ', + tolower(self$`declawed`) + )} + ) + jsoncontent <- paste(jsoncontent, collapse = ",") + paste('{', jsoncontent, '}', sep = "") + }, + fromJSONString = function(CatJson) { + CatObject <- jsonlite::fromJSON(CatJson) + self$`className` <- CatObject$`className` + self$`color` <- CatObject$`color` + self$`declawed` <- CatObject$`declawed` + self + } + ) +) diff --git a/samples/client/petstore/R/R/cat_all_of.R b/samples/client/petstore/R/R/cat_all_of.R new file mode 100644 index 0000000000..ae4892a880 --- /dev/null +++ b/samples/client/petstore/R/R/cat_all_of.R @@ -0,0 +1,68 @@ +# OpenAPI Petstore +# +# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +# +# The version of the OpenAPI document: 1.0.0 +# Generated by: https://openapi-generator.tech + +#' @docType class +#' @title CatAllOf +#' +#' @description CatAllOf Class +#' +#' @format An \code{R6Class} generator object +#' +#' @field declawed character [optional] +#' +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +CatAllOf <- R6::R6Class( + 'CatAllOf', + public = list( + `declawed` = NULL, + initialize = function( + `declawed`=NULL, ... + ) { + local.optional.var <- list(...) + if (!is.null(`declawed`)) { + stopifnot(is.logical(`declawed`), length(`declawed`) == 1) + self$`declawed` <- `declawed` + } + }, + toJSON = function() { + CatAllOfObject <- list() + if (!is.null(self$`declawed`)) { + CatAllOfObject[['declawed']] <- + self$`declawed` + } + + CatAllOfObject + }, + fromJSON = function(CatAllOfJson) { + CatAllOfObject <- jsonlite::fromJSON(CatAllOfJson) + if (!is.null(CatAllOfObject$`declawed`)) { + self$`declawed` <- CatAllOfObject$`declawed` + } + self + }, + toJSONString = function() { + jsoncontent <- c( + if (!is.null(self$`declawed`)) { + sprintf( + '"declawed": + %s + ', + tolower(self$`declawed`) + )} + ) + jsoncontent <- paste(jsoncontent, collapse = ",") + paste('{', jsoncontent, '}', sep = "") + }, + fromJSONString = function(CatAllOfJson) { + CatAllOfObject <- jsonlite::fromJSON(CatAllOfJson) + self$`declawed` <- CatAllOfObject$`declawed` + self + } + ) +) diff --git a/samples/client/petstore/R/R/dog.R b/samples/client/petstore/R/R/dog.R new file mode 100644 index 0000000000..09c782a819 --- /dev/null +++ b/samples/client/petstore/R/R/dog.R @@ -0,0 +1,113 @@ +# OpenAPI Petstore +# +# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +# +# The version of the OpenAPI document: 1.0.0 +# Generated by: https://openapi-generator.tech + +#' @docType class +#' @title Dog +#' +#' @description Dog Class +#' +#' @format An \code{R6Class} generator object +#' +#' @field className character +#' +#' @field color character [optional] +#' +#' @field breed character [optional] +#' +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +Dog <- R6::R6Class( + 'Dog', + inherit = Animal, + public = list( + `className` = NULL, + `color` = NULL, + `breed` = NULL, + initialize = function( + `className`, `color`='red', `breed`=NULL, ... + ) { + local.optional.var <- list(...) + if (!missing(`className`)) { + stopifnot(is.character(`className`), length(`className`) == 1) + self$`className` <- `className` + } + if (!is.null(`color`)) { + stopifnot(is.character(`color`), length(`color`) == 1) + self$`color` <- `color` + } + if (!is.null(`breed`)) { + stopifnot(is.character(`breed`), length(`breed`) == 1) + self$`breed` <- `breed` + } + }, + toJSON = function() { + DogObject <- list() + if (!is.null(self$`className`)) { + DogObject[['className']] <- + self$`className` + } + if (!is.null(self$`color`)) { + DogObject[['color']] <- + self$`color` + } + if (!is.null(self$`breed`)) { + DogObject[['breed']] <- + self$`breed` + } + + DogObject + }, + fromJSON = function(DogJson) { + DogObject <- jsonlite::fromJSON(DogJson) + if (!is.null(DogObject$`className`)) { + self$`className` <- DogObject$`className` + } + if (!is.null(DogObject$`color`)) { + self$`color` <- DogObject$`color` + } + if (!is.null(DogObject$`breed`)) { + self$`breed` <- DogObject$`breed` + } + self + }, + toJSONString = function() { + jsoncontent <- c( + if (!is.null(self$`className`)) { + sprintf( + '"className": + "%s" + ', + self$`className` + )}, + if (!is.null(self$`color`)) { + sprintf( + '"color": + "%s" + ', + self$`color` + )}, + if (!is.null(self$`breed`)) { + sprintf( + '"breed": + "%s" + ', + self$`breed` + )} + ) + jsoncontent <- paste(jsoncontent, collapse = ",") + paste('{', jsoncontent, '}', sep = "") + }, + fromJSONString = function(DogJson) { + DogObject <- jsonlite::fromJSON(DogJson) + self$`className` <- DogObject$`className` + self$`color` <- DogObject$`color` + self$`breed` <- DogObject$`breed` + self + } + ) +) diff --git a/samples/client/petstore/R/R/dog_all_of.R b/samples/client/petstore/R/R/dog_all_of.R new file mode 100644 index 0000000000..243d542f39 --- /dev/null +++ b/samples/client/petstore/R/R/dog_all_of.R @@ -0,0 +1,68 @@ +# OpenAPI Petstore +# +# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +# +# The version of the OpenAPI document: 1.0.0 +# Generated by: https://openapi-generator.tech + +#' @docType class +#' @title DogAllOf +#' +#' @description DogAllOf Class +#' +#' @format An \code{R6Class} generator object +#' +#' @field breed character [optional] +#' +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +DogAllOf <- R6::R6Class( + 'DogAllOf', + public = list( + `breed` = NULL, + initialize = function( + `breed`=NULL, ... + ) { + local.optional.var <- list(...) + if (!is.null(`breed`)) { + stopifnot(is.character(`breed`), length(`breed`) == 1) + self$`breed` <- `breed` + } + }, + toJSON = function() { + DogAllOfObject <- list() + if (!is.null(self$`breed`)) { + DogAllOfObject[['breed']] <- + self$`breed` + } + + DogAllOfObject + }, + fromJSON = function(DogAllOfJson) { + DogAllOfObject <- jsonlite::fromJSON(DogAllOfJson) + if (!is.null(DogAllOfObject$`breed`)) { + self$`breed` <- DogAllOfObject$`breed` + } + self + }, + toJSONString = function() { + jsoncontent <- c( + if (!is.null(self$`breed`)) { + sprintf( + '"breed": + "%s" + ', + self$`breed` + )} + ) + jsoncontent <- paste(jsoncontent, collapse = ",") + paste('{', jsoncontent, '}', sep = "") + }, + fromJSONString = function(DogAllOfJson) { + DogAllOfObject <- jsonlite::fromJSON(DogAllOfJson) + self$`breed` <- DogAllOfObject$`breed` + self + } + ) +) diff --git a/samples/client/petstore/R/README.md b/samples/client/petstore/R/README.md index 66e82ab48e..cb277954ff 100644 --- a/samples/client/petstore/R/README.md +++ b/samples/client/petstore/R/README.md @@ -81,7 +81,13 @@ Class | Method | HTTP request | Description ## Documentation for Models + - [AllofTagApiResponse](docs/AllofTagApiResponse.md) + - [Animal](docs/Animal.md) + - [Cat](docs/Cat.md) + - [CatAllOf](docs/CatAllOf.md) - [Category](docs/Category.md) + - [Dog](docs/Dog.md) + - [DogAllOf](docs/DogAllOf.md) - [ModelApiResponse](docs/ModelApiResponse.md) - [Order](docs/Order.md) - [Pet](docs/Pet.md) diff --git a/samples/client/petstore/R/docs/AllofTagApiResponse.md b/samples/client/petstore/R/docs/AllofTagApiResponse.md new file mode 100644 index 0000000000..14bcc1e22c --- /dev/null +++ b/samples/client/petstore/R/docs/AllofTagApiResponse.md @@ -0,0 +1,13 @@ +# petstore::AllofTagApiResponse + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **integer** | | [optional] +**name** | **character** | | [optional] +**code** | **integer** | | [optional] +**type** | **character** | | [optional] +**message** | **character** | | [optional] + + diff --git a/samples/client/petstore/R/docs/Animal.md b/samples/client/petstore/R/docs/Animal.md new file mode 100644 index 0000000000..f21cc2147b --- /dev/null +++ b/samples/client/petstore/R/docs/Animal.md @@ -0,0 +1,10 @@ +# petstore::Animal + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**className** | **character** | | +**color** | **character** | | [optional] [default to 'red'] + + diff --git a/samples/client/petstore/R/docs/Cat.md b/samples/client/petstore/R/docs/Cat.md new file mode 100644 index 0000000000..d6e99c85c6 --- /dev/null +++ b/samples/client/petstore/R/docs/Cat.md @@ -0,0 +1,11 @@ +# petstore::Cat + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**className** | **character** | | +**color** | **character** | | [optional] [default to 'red'] +**declawed** | **character** | | [optional] + + diff --git a/samples/client/petstore/R/docs/CatAllOf.md b/samples/client/petstore/R/docs/CatAllOf.md new file mode 100644 index 0000000000..ab2f71b88e --- /dev/null +++ b/samples/client/petstore/R/docs/CatAllOf.md @@ -0,0 +1,9 @@ +# petstore::CatAllOf + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**declawed** | **character** | | [optional] + + diff --git a/samples/client/petstore/R/docs/Dog.md b/samples/client/petstore/R/docs/Dog.md new file mode 100644 index 0000000000..6a7c1f53a1 --- /dev/null +++ b/samples/client/petstore/R/docs/Dog.md @@ -0,0 +1,11 @@ +# petstore::Dog + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**className** | **character** | | +**color** | **character** | | [optional] [default to 'red'] +**breed** | **character** | | [optional] + + diff --git a/samples/client/petstore/R/docs/DogAllOf.md b/samples/client/petstore/R/docs/DogAllOf.md new file mode 100644 index 0000000000..76783e8800 --- /dev/null +++ b/samples/client/petstore/R/docs/DogAllOf.md @@ -0,0 +1,9 @@ +# petstore::DogAllOf + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**breed** | **character** | | [optional] + + diff --git a/samples/client/petstore/R/tests/testthat/test_allof_tag_api_response.R b/samples/client/petstore/R/tests/testthat/test_allof_tag_api_response.R new file mode 100644 index 0000000000..90a5d04d3f --- /dev/null +++ b/samples/client/petstore/R/tests/testthat/test_allof_tag_api_response.R @@ -0,0 +1,41 @@ +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate + +context("Test AllofTagApiResponse") + +model_instance <- AllofTagApiResponse$new() + +test_that("id", { + # tests for the property `id` (integer) + + # uncomment below to test the property + #expect_equal(model.instance$`id`, "EXPECTED_RESULT") +}) + +test_that("name", { + # tests for the property `name` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`name`, "EXPECTED_RESULT") +}) + +test_that("code", { + # tests for the property `code` (integer) + + # uncomment below to test the property + #expect_equal(model.instance$`code`, "EXPECTED_RESULT") +}) + +test_that("type", { + # tests for the property `type` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`type`, "EXPECTED_RESULT") +}) + +test_that("message", { + # tests for the property `message` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`message`, "EXPECTED_RESULT") +}) diff --git a/samples/client/petstore/R/tests/testthat/test_animal.R b/samples/client/petstore/R/tests/testthat/test_animal.R new file mode 100644 index 0000000000..4402cf03c5 --- /dev/null +++ b/samples/client/petstore/R/tests/testthat/test_animal.R @@ -0,0 +1,20 @@ +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate + +context("Test Animal") + +model_instance <- Animal$new() + +test_that("className", { + # tests for the property `className` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`className`, "EXPECTED_RESULT") +}) + +test_that("color", { + # tests for the property `color` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`color`, "EXPECTED_RESULT") +}) diff --git a/samples/client/petstore/R/tests/testthat/test_cat.R b/samples/client/petstore/R/tests/testthat/test_cat.R new file mode 100644 index 0000000000..ab85fe3340 --- /dev/null +++ b/samples/client/petstore/R/tests/testthat/test_cat.R @@ -0,0 +1,27 @@ +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate + +context("Test Cat") + +model_instance <- Cat$new() + +test_that("className", { + # tests for the property `className` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`className`, "EXPECTED_RESULT") +}) + +test_that("color", { + # tests for the property `color` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`color`, "EXPECTED_RESULT") +}) + +test_that("declawed", { + # tests for the property `declawed` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`declawed`, "EXPECTED_RESULT") +}) diff --git a/samples/client/petstore/R/tests/testthat/test_cat_all_of.R b/samples/client/petstore/R/tests/testthat/test_cat_all_of.R new file mode 100644 index 0000000000..83ee2fb835 --- /dev/null +++ b/samples/client/petstore/R/tests/testthat/test_cat_all_of.R @@ -0,0 +1,13 @@ +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate + +context("Test CatAllOf") + +model_instance <- CatAllOf$new() + +test_that("declawed", { + # tests for the property `declawed` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`declawed`, "EXPECTED_RESULT") +}) diff --git a/samples/client/petstore/R/tests/testthat/test_dog.R b/samples/client/petstore/R/tests/testthat/test_dog.R new file mode 100644 index 0000000000..9c04cc7806 --- /dev/null +++ b/samples/client/petstore/R/tests/testthat/test_dog.R @@ -0,0 +1,27 @@ +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate + +context("Test Dog") + +model_instance <- Dog$new() + +test_that("className", { + # tests for the property `className` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`className`, "EXPECTED_RESULT") +}) + +test_that("color", { + # tests for the property `color` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`color`, "EXPECTED_RESULT") +}) + +test_that("breed", { + # tests for the property `breed` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`breed`, "EXPECTED_RESULT") +}) diff --git a/samples/client/petstore/R/tests/testthat/test_dog_all_of.R b/samples/client/petstore/R/tests/testthat/test_dog_all_of.R new file mode 100644 index 0000000000..6d11847f66 --- /dev/null +++ b/samples/client/petstore/R/tests/testthat/test_dog_all_of.R @@ -0,0 +1,13 @@ +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate + +context("Test DogAllOf") + +model_instance <- DogAllOf$new() + +test_that("breed", { + # tests for the property `breed` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`breed`, "EXPECTED_RESULT") +}) diff --git a/samples/client/petstore/R/tests/testthat/test_petstore.R b/samples/client/petstore/R/tests/testthat/test_petstore.R index 8ce2edfd5c..88319edf3f 100644 --- a/samples/client/petstore/R/tests/testthat/test_petstore.R +++ b/samples/client/petstore/R/tests/testthat/test_petstore.R @@ -100,6 +100,25 @@ test_that("GetPetById with data_file", { expect_equal(response$name, "name_test") }) +test_that("Tests allOf", { + # test allOf without discriminator + a1 <- AllofTagApiResponse$new(id = 450, name = "test_cat", code = 200, type = "test_type", message = "test_message") + + expect_true(!is.null(a1)) + expect_equal(a1$id, 450) + expect_equal(a1$name, "test_cat") +}) + +test_that("Tests allOf with discriminator", { + # test allOf without discriminator + c1 <- Cat$new(className = "cat", color = "red", declawed = TRUE) + + expect_true(!is.null(c1)) + expect_equal(c1$className, "cat") + expect_equal(c1$color, "red") + expect_true(c1$declawed) +}) + #test_that("GetPetById", { # pet.id <- pet.id # pet <- Pet$new(pet.id, NULL, "name_test2", From f0ea10f239ceace2a776b08891a368f7fd1312cf Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 29 May 2022 10:01:44 +0800 Subject: [PATCH 020/212] Update R auto-generated doc (#12488) * update r doc, tests * add new files --- bin/configs/r-client.yaml | 3 + .../src/main/resources/r/api_doc.mustache | 34 +- .../petstore/R/.openapi-generator/FILES | 1 + samples/client/petstore/R/DESCRIPTION | 2 +- samples/client/petstore/R/NAMESPACE | 1 + samples/client/petstore/R/R/api_client.R | 3 +- samples/client/petstore/R/R/api_exception.R | 54 ++++ samples/client/petstore/R/R/fake_api.R | 40 ++- samples/client/petstore/R/R/pet_api.R | 305 +++++++++++++++--- samples/client/petstore/R/R/store_api.R | 151 +++++++-- samples/client/petstore/R/R/user_api.R | 291 ++++++++++++++--- samples/client/petstore/R/docs/FakeApi.md | 23 +- samples/client/petstore/R/docs/PetApi.md | 188 ++++++++--- samples/client/petstore/R/docs/StoreApi.md | 81 ++++- samples/client/petstore/R/docs/UserApi.md | 164 ++++++++-- samples/client/petstore/R/test_petstore.R | 24 ++ 16 files changed, 1133 insertions(+), 232 deletions(-) create mode 100644 samples/client/petstore/R/R/api_exception.R create mode 100644 samples/client/petstore/R/test_petstore.R diff --git a/bin/configs/r-client.yaml b/bin/configs/r-client.yaml index 9043e19da7..ca3d74c45d 100644 --- a/bin/configs/r-client.yaml +++ b/bin/configs/r-client.yaml @@ -5,3 +5,6 @@ templateDir: modules/openapi-generator/src/main/resources/r httpUserAgent: PetstoreAgent additionalProperties: packageName: petstore + exceptionPackage: rlang + useRlangExceptionHandling: true + returnExceptionOnFailure: true diff --git a/modules/openapi-generator/src/main/resources/r/api_doc.mustache b/modules/openapi-generator/src/main/resources/r/api_doc.mustache index a00d06208e..40b0075334 100644 --- a/modules/openapi-generator/src/main/resources/r/api_doc.mustache +++ b/modules/openapi-generator/src/main/resources/r/api_doc.mustache @@ -22,53 +22,53 @@ Method | HTTP request | Description library({{{packageName}}}) {{#allParams}} -var.{{{paramName}}} <- {{{vendorExtensions.x-r-example}}} # {{{dataType}}} | {{{description}}} +var_{{{paramName}}} <- {{{vendorExtensions.x-r-example}}} # {{{dataType}}} | {{{description}}} {{/allParams}} {{#summary}} #{{{.}}} {{/summary}} -api.instance <- {{{classname}}}$new() +api_instance <- {{{classname}}}$new() {{#hasAuthMethods}} {{#authMethods}} {{#isBasic}} # Configure HTTP basic authorization: {{{name}}} -api.instance$apiClient$username <- 'TODO_YOUR_USERNAME'; -api.instance$apiClient$password <- 'TODO_YOUR_PASSWORD'; +api_instance$api_client$username <- 'TODO_YOUR_USERNAME'; +api_instance$api_client$password <- 'TODO_YOUR_PASSWORD'; {{/isBasic}} {{#isApiKey}} # Configure API key authorization: {{{name}}} -api.instance$apiClient$apiKeys['{{{keyParamName}}}'] <- 'TODO_YOUR_API_KEY'; +api_instance$api_client$api_keys['{{{keyParamName}}}'] <- 'TODO_YOUR_API_KEY'; {{/isApiKey}} {{#isOAuth}} # Configure OAuth2 access token for authorization: {{{name}}} -api.instance$apiClient$accessToken <- 'TODO_YOUR_ACCESS_TOKEN'; +api_instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; {{/isOAuth}} {{/authMethods}} {{/hasAuthMethods}} {{#returnExceptionOnFailure}} {{#useRlangExceptionHandling}} result <- tryCatch( - api.instance${{{operationId}}}({{#requiredParams}}var.{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}}=var.{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}), + api_instance${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}}=var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}), ApiException = function(ex) ex ) # In case of error, print the error object if(!is.null(result$ApiException)) { cat(result$ApiException$toString()) - } else { -{{#returnType}} -# deserialized response object -response.object <- result$content -{{/returnType}} -# response headers -response.headers <- result$response$headers -# response status code -response.status.code <- result$response$status_code +} else { + {{#returnType}} + # deserialized response object + response.object <- result$content + {{/returnType}} + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code } {{/useRlangExceptionHandling}} {{/returnExceptionOnFailure}} {{^useRlangExceptionHandling}} -{{#returnType}}result <- {{/returnType}}api.instance${{{operationId}}}({{#requiredParams}}var.{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}}=var.{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}) +{{#returnType}}result <- {{/returnType}}api_instance${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}}=var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}) {{#returnType}} dput(result) {{/returnType}} diff --git a/samples/client/petstore/R/.openapi-generator/FILES b/samples/client/petstore/R/.openapi-generator/FILES index 7c5f45bad2..77f97df74e 100644 --- a/samples/client/petstore/R/.openapi-generator/FILES +++ b/samples/client/petstore/R/.openapi-generator/FILES @@ -6,6 +6,7 @@ NAMESPACE R/allof_tag_api_response.R R/animal.R R/api_client.R +R/api_exception.R R/api_response.R R/cat.R R/cat_all_of.R diff --git a/samples/client/petstore/R/DESCRIPTION b/samples/client/petstore/R/DESCRIPTION index 6293ab707f..30778f884d 100644 --- a/samples/client/petstore/R/DESCRIPTION +++ b/samples/client/petstore/R/DESCRIPTION @@ -11,5 +11,5 @@ Encoding: UTF-8 License: Apache License 2.0 LazyData: true Suggests: testthat -Imports: jsonlite, httr, R6, base64enc +Imports: jsonlite, httr, R6, base64enc, rlang RoxygenNote: 6.0.1.9000 diff --git a/samples/client/petstore/R/NAMESPACE b/samples/client/petstore/R/NAMESPACE index a889c35c70..78afe3ec04 100644 --- a/samples/client/petstore/R/NAMESPACE +++ b/samples/client/petstore/R/NAMESPACE @@ -9,6 +9,7 @@ import(base64enc) # Core export(ApiClient) export(ApiResponse) +export(ApiException) # Models export(AllofTagApiResponse) diff --git a/samples/client/petstore/R/R/api_client.R b/samples/client/petstore/R/R/api_client.R index 4da8ff9154..299da07512 100644 --- a/samples/client/petstore/R/R/api_client.R +++ b/samples/client/petstore/R/R/api_client.R @@ -33,6 +33,7 @@ #' @field retry_status_codes vector of status codes to retry #' @field max_retry_attempts maximum number of retries for the status codes #' @importFrom httr add_headers accept timeout content +#' @importFrom rlang abort #' @export ApiClient <- R6::R6Class( "ApiClient", @@ -152,7 +153,7 @@ ApiClient <- R6::R6Class( httr::DELETE(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) } else { err_msg <- "Http method must be `GET`, `HEAD`, `OPTIONS`, `POST`, `PATCH`, `PUT` or `DELETE`." - stop(err_msg) + rlang::abort(message = err_msg, .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = err_msg)) } }, diff --git a/samples/client/petstore/R/R/api_exception.R b/samples/client/petstore/R/R/api_exception.R new file mode 100644 index 0000000000..fccd709014 --- /dev/null +++ b/samples/client/petstore/R/R/api_exception.R @@ -0,0 +1,54 @@ +#' @docType class +#' @title ApiException +#' @description ApiException Class +#' @format An \code{R6Class} generator object +#' @field status Status of the ApiException +#' @field reason Reason of the ApiException +#' @field body Body of the http response +#' @field headers Headers of the http response +#' @export +ApiException <- R6::R6Class( + "ApiException", + public = list( + status = NULL, + reason = NULL, + body = NULL, + headers = NULL, + + initialize = function(status = NULL, reason = NULL, http_response = NULL) { + if (!is.null(http_response)) { + self$status <- http_response$status_code + errorMsg <- toString(content(http_response)) + if(errorMsg == ""){ + errorMsg <- "Api exception encountered." + } + self$body <- errorMsg + self$headers <- http_response$headers + self$reason <- httr::http_status(http_response)$reason + } else { + self$status <- status + self$reason <- reason + self$body <- NULL + self$headers <- NULL + } + }, + + # returns the string format of ApiException + toString = function() { + errorMsg <- "" + errorMsg <- paste("status : ", self$status, "\n", sep = "") + errorMsg <- paste(errorMsg, "Reason : ", self$reason, "\n", sep = "") + if (!is.null(self$headers)) { + errorMsg <- paste(errorMsg, "Headers : ", "\n", sep = "") + for (name in names(self$headers)) { + errorMsg <- paste(errorMsg, name, " : ", self$headers[[name]], "\n", sep = " ") + } + } + if (!is.null(self$body)) { + errorMsg <- paste(errorMsg, "Body : ", "\n", sep = "") + errorMsg <- paste(errorMsg, self$body,"\n") + } + errorMsg + } + ) +) \ No newline at end of file diff --git a/samples/client/petstore/R/R/fake_api.R b/samples/client/petstore/R/R/fake_api.R index b956b43ec9..46e377cb8f 100644 --- a/samples/client/petstore/R/R/fake_api.R +++ b/samples/client/petstore/R/R/fake_api.R @@ -21,6 +21,7 @@ #' \item \emph{ @param } var_data_file character #' \item \emph{ @returnType } \link{User} \cr #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 200 | successful operation #' @@ -45,12 +46,27 @@ #' #test data_file to ensure it's escaped correctly #' api.instance <- FakeApi$new() #' -#' result <- api.instance$FakeDataFile(var.dummy, var_data_file=var.var_data_file) +#'result <- tryCatch( +#' api.instance$FakeDataFile(var.dummy, var_data_file=var.var_data_file), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # deserialized response object +#' response.object <- result$content +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' } #' @importFrom R6 R6Class #' @importFrom base64enc base64encode +#' @importFrom rlang abort #' @export FakeApi <- R6::R6Class( "FakeApi", @@ -84,7 +100,7 @@ FakeApi <- R6::R6Class( header_params <- c() if (missing(`dummy`)) { - stop("Missing required parameter `dummy`.") + rlang::abort(message = "Missing required parameter `dummy`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `dummy`.")) } body <- NULL @@ -106,16 +122,28 @@ FakeApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "User", loadNamespace("petstore")), error = function(e) { - stop("Failed to deserialize response") + rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } } ) diff --git a/samples/client/petstore/R/R/pet_api.R b/samples/client/petstore/R/R/pet_api.R index d8c0a81a23..3045dd77df 100644 --- a/samples/client/petstore/R/R/pet_api.R +++ b/samples/client/petstore/R/R/pet_api.R @@ -20,6 +20,7 @@ #' \item \emph{ @param } pet \link{Pet} #' \item \emph{ @returnType } \link{Pet} \cr #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 200 | successful operation #' @@ -44,6 +45,7 @@ #' \item \emph{ @param } pet_id integer #' \item \emph{ @param } api_key character #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 400 | Invalid pet value #' @@ -61,6 +63,7 @@ #' \item \emph{ @param } status Enum < [available, pending, sold] > #' \item \emph{ @returnType } list( \link{Pet} ) \cr #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 200 | successful operation #' @@ -85,6 +88,7 @@ #' \item \emph{ @param } tags list( character ) #' \item \emph{ @returnType } list( \link{Pet} ) \cr #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 200 | successful operation #' @@ -109,6 +113,7 @@ #' \item \emph{ @param } pet_id integer #' \item \emph{ @returnType } \link{Pet} \cr #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 200 | successful operation #' @@ -140,6 +145,7 @@ #' \item \emph{ @param } pet \link{Pet} #' \item \emph{ @returnType } \link{Pet} \cr #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 200 | successful operation #' @@ -179,6 +185,7 @@ #' \item \emph{ @param } name character #' \item \emph{ @param } status character #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 405 | Invalid input #' @@ -198,6 +205,7 @@ #' \item \emph{ @param } file data.frame #' \item \emph{ @returnType } \link{ModelApiResponse} \cr #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 200 | successful operation #' @@ -224,7 +232,21 @@ #' # Configure OAuth2 access token for authorization: petstore_auth #' api.instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; #' -#' result <- api.instance$AddPet(var.pet) +#'result <- tryCatch( +#' api.instance$AddPet(var.pet), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # deserialized response object +#' response.object <- result$content +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' #################### DeletePet #################### @@ -239,7 +261,19 @@ #' # Configure OAuth2 access token for authorization: petstore_auth #' api.instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; #' -#' result <- api.instance$DeletePet(var.pet_id, api_key=var.api_key) +#'result <- tryCatch( +#' api.instance$DeletePet(var.pet_id, api_key=var.api_key), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' #################### FindPetsByStatus #################### @@ -253,7 +287,21 @@ #' # Configure OAuth2 access token for authorization: petstore_auth #' api.instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; #' -#' result <- api.instance$FindPetsByStatus(var.status) +#'result <- tryCatch( +#' api.instance$FindPetsByStatus(var.status), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # deserialized response object +#' response.object <- result$content +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' #################### FindPetsByTags #################### @@ -267,7 +315,21 @@ #' # Configure OAuth2 access token for authorization: petstore_auth #' api.instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; #' -#' result <- api.instance$FindPetsByTags(var.tags) +#'result <- tryCatch( +#' api.instance$FindPetsByTags(var.tags), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # deserialized response object +#' response.object <- result$content +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' #################### GetPetById #################### @@ -281,7 +343,21 @@ #' #Configure API key authorization: api_key #' api.instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; #' -#' result <- api.instance$GetPetById(var.pet_id) +#'result <- tryCatch( +#' api.instance$GetPetById(var.pet_id), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # deserialized response object +#' response.object <- result$content +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' #################### UpdatePet #################### @@ -295,7 +371,21 @@ #' # Configure OAuth2 access token for authorization: petstore_auth #' api.instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; #' -#' result <- api.instance$UpdatePet(var.pet) +#'result <- tryCatch( +#' api.instance$UpdatePet(var.pet), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # deserialized response object +#' response.object <- result$content +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' #################### UpdatePetWithForm #################### @@ -311,7 +401,19 @@ #' # Configure OAuth2 access token for authorization: petstore_auth #' api.instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; #' -#' result <- api.instance$UpdatePetWithForm(var.pet_id, name=var.name, status=var.status) +#'result <- tryCatch( +#' api.instance$UpdatePetWithForm(var.pet_id, name=var.name, status=var.status), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' #################### UploadFile #################### @@ -327,12 +429,27 @@ #' # Configure OAuth2 access token for authorization: petstore_auth #' api.instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; #' -#' result <- api.instance$UploadFile(var.pet_id, additional_metadata=var.additional_metadata, file=var.file) +#'result <- tryCatch( +#' api.instance$UploadFile(var.pet_id, additional_metadata=var.additional_metadata, file=var.file), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # deserialized response object +#' response.object <- result$content +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' } #' @importFrom R6 R6Class #' @importFrom base64enc base64encode +#' @importFrom rlang abort #' @export PetApi <- R6::R6Class( "PetApi", @@ -366,7 +483,7 @@ PetApi <- R6::R6Class( header_params <- c() if (missing(`pet`)) { - stop("Missing required parameter `pet`.") + rlang::abort(message = "Missing required parameter `pet`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `pet`.")) } if (!missing(`pet`)) { @@ -395,16 +512,28 @@ PetApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "Pet", loadNamespace("petstore")), error = function(e) { - stop("Failed to deserialize response") + rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, DeletePet = function(pet_id, api_key=NULL, ...) { @@ -427,7 +556,7 @@ PetApi <- R6::R6Class( header_params <- c() if (missing(`pet_id`)) { - stop("Missing required parameter `pet_id`.") + rlang::abort(message = "Missing required parameter `pet_id`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `pet_id`.")) } body <- NULL @@ -449,11 +578,23 @@ PetApi <- R6::R6Class( if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { ApiResponse$new(NULL, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, FindPetsByStatus = function(status, data_file=NULL, ...) { @@ -476,7 +617,7 @@ PetApi <- R6::R6Class( header_params <- c() if (missing(`status`)) { - stop("Missing required parameter `status`.") + rlang::abort(message = "Missing required parameter `status`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `status`.")) } body <- NULL @@ -500,16 +641,28 @@ PetApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "array[Pet]", loadNamespace("petstore")), error = function(e) { - stop("Failed to deserialize response") + rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, FindPetsByTags = function(tags, data_file=NULL, ...) { @@ -532,7 +685,7 @@ PetApi <- R6::R6Class( header_params <- c() if (missing(`tags`)) { - stop("Missing required parameter `tags`.") + rlang::abort(message = "Missing required parameter `tags`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `tags`.")) } body <- NULL @@ -556,16 +709,28 @@ PetApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "array[Pet]", loadNamespace("petstore")), error = function(e) { - stop("Failed to deserialize response") + rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, GetPetById = function(pet_id, data_file=NULL, ...) { @@ -588,7 +753,7 @@ PetApi <- R6::R6Class( header_params <- c() if (missing(`pet_id`)) { - stop("Missing required parameter `pet_id`.") + rlang::abort(message = "Missing required parameter `pet_id`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `pet_id`.")) } body <- NULL @@ -618,16 +783,28 @@ PetApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "Pet", loadNamespace("petstore")), error = function(e) { - stop("Failed to deserialize response") + rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, UpdatePet = function(pet, data_file=NULL, ...) { @@ -650,7 +827,7 @@ PetApi <- R6::R6Class( header_params <- c() if (missing(`pet`)) { - stop("Missing required parameter `pet`.") + rlang::abort(message = "Missing required parameter `pet`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `pet`.")) } if (!missing(`pet`)) { @@ -679,16 +856,28 @@ PetApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "Pet", loadNamespace("petstore")), error = function(e) { - stop("Failed to deserialize response") + rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, UpdatePetWithForm = function(pet_id, name=NULL, status=NULL, ...) { @@ -711,7 +900,7 @@ PetApi <- R6::R6Class( header_params <- c() if (missing(`pet_id`)) { - stop("Missing required parameter `pet_id`.") + rlang::abort(message = "Missing required parameter `pet_id`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `pet_id`.")) } body <- list( @@ -737,11 +926,23 @@ PetApi <- R6::R6Class( if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { ApiResponse$new(NULL, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, UploadFile = function(pet_id, additional_metadata=NULL, file=NULL, data_file=NULL, ...) { @@ -764,7 +965,7 @@ PetApi <- R6::R6Class( header_params <- c() if (missing(`pet_id`)) { - stop("Missing required parameter `pet_id`.") + rlang::abort(message = "Missing required parameter `pet_id`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `pet_id`.")) } body <- list( @@ -796,16 +997,28 @@ PetApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "ModelApiResponse", loadNamespace("petstore")), error = function(e) { - stop("Failed to deserialize response") + rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } } ) diff --git a/samples/client/petstore/R/R/store_api.R b/samples/client/petstore/R/R/store_api.R index a44fe31a20..64a85f6fdd 100644 --- a/samples/client/petstore/R/R/store_api.R +++ b/samples/client/petstore/R/R/store_api.R @@ -19,6 +19,7 @@ #' \itemize{ #' \item \emph{ @param } order_id character #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 400 | Invalid ID supplied #' @@ -41,6 +42,7 @@ #' #' \itemize{ #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 200 | successful operation #' @@ -58,6 +60,7 @@ #' \item \emph{ @param } order_id integer #' \item \emph{ @returnType } \link{Order} \cr #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 200 | successful operation #' @@ -89,6 +92,7 @@ #' \item \emph{ @param } order \link{Order} #' \item \emph{ @returnType } \link{Order} \cr #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 200 | successful operation #' @@ -119,7 +123,19 @@ #' #Delete purchase order by ID #' api.instance <- StoreApi$new() #' -#' result <- api.instance$DeleteOrder(var.order_id) +#'result <- tryCatch( +#' api.instance$DeleteOrder(var.order_id), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' #################### GetInventory #################### @@ -132,7 +148,21 @@ #' #Configure API key authorization: api_key #' api.instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; #' -#' result <- api.instance$GetInventory() +#'result <- tryCatch( +#' api.instance$GetInventory(), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # deserialized response object +#' response.object <- result$content +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' #################### GetOrderById #################### @@ -143,7 +173,21 @@ #' #Find purchase order by ID #' api.instance <- StoreApi$new() #' -#' result <- api.instance$GetOrderById(var.order_id) +#'result <- tryCatch( +#' api.instance$GetOrderById(var.order_id), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # deserialized response object +#' response.object <- result$content +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' #################### PlaceOrder #################### @@ -154,12 +198,27 @@ #' #Place an order for a pet #' api.instance <- StoreApi$new() #' -#' result <- api.instance$PlaceOrder(var.order) +#'result <- tryCatch( +#' api.instance$PlaceOrder(var.order), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # deserialized response object +#' response.object <- result$content +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' } #' @importFrom R6 R6Class #' @importFrom base64enc base64encode +#' @importFrom rlang abort #' @export StoreApi <- R6::R6Class( "StoreApi", @@ -193,7 +252,7 @@ StoreApi <- R6::R6Class( header_params <- c() if (missing(`order_id`)) { - stop("Missing required parameter `order_id`.") + rlang::abort(message = "Missing required parameter `order_id`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `order_id`.")) } body <- NULL @@ -213,11 +272,23 @@ StoreApi <- R6::R6Class( if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { ApiResponse$new(NULL, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, GetInventory = function(data_file=NULL, ...) { @@ -262,16 +333,28 @@ StoreApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "map(integer)", loadNamespace("petstore")), error = function(e) { - stop("Failed to deserialize response") + rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, GetOrderById = function(order_id, data_file=NULL, ...) { @@ -294,7 +377,7 @@ StoreApi <- R6::R6Class( header_params <- c() if (missing(`order_id`)) { - stop("Missing required parameter `order_id`.") + rlang::abort(message = "Missing required parameter `order_id`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `order_id`.")) } body <- NULL @@ -320,16 +403,28 @@ StoreApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "Order", loadNamespace("petstore")), error = function(e) { - stop("Failed to deserialize response") + rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, PlaceOrder = function(order, data_file=NULL, ...) { @@ -352,7 +447,7 @@ StoreApi <- R6::R6Class( header_params <- c() if (missing(`order`)) { - stop("Missing required parameter `order`.") + rlang::abort(message = "Missing required parameter `order`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `order`.")) } if (!missing(`order`)) { @@ -379,16 +474,28 @@ StoreApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "Order", loadNamespace("petstore")), error = function(e) { - stop("Failed to deserialize response") + rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } } ) diff --git a/samples/client/petstore/R/R/user_api.R b/samples/client/petstore/R/R/user_api.R index 8bfa31cc4c..8ac0f4d37d 100644 --- a/samples/client/petstore/R/R/user_api.R +++ b/samples/client/petstore/R/R/user_api.R @@ -19,6 +19,7 @@ #' \itemize{ #' \item \emph{ @param } user \link{User} #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 0 | successful operation #' @@ -35,6 +36,7 @@ #' \itemize{ #' \item \emph{ @param } user list( \link{User} ) #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 0 | successful operation #' @@ -51,6 +53,7 @@ #' \itemize{ #' \item \emph{ @param } user list( \link{User} ) #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 0 | successful operation #' @@ -67,6 +70,7 @@ #' \itemize{ #' \item \emph{ @param } username character #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 400 | Invalid username supplied #' @@ -91,6 +95,7 @@ #' \item \emph{ @param } username character #' \item \emph{ @returnType } \link{User} \cr #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 200 | successful operation #' @@ -122,6 +127,7 @@ #' \item \emph{ @param } username character #' \item \emph{ @param } password character #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 200 | successful operation #' @@ -147,6 +153,7 @@ #' #' \itemize{ #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 0 | successful operation #' @@ -164,6 +171,7 @@ #' \item \emph{ @param } username character #' \item \emph{ @param } user \link{User} #' +#' \item On encountering errors, an error of subclass ApiException will be thrown. #' #' \item status code : 400 | Invalid user supplied #' @@ -197,7 +205,19 @@ #' #Configure API key authorization: api_key #' api.instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; #' -#' result <- api.instance$CreateUser(var.user) +#'result <- tryCatch( +#' api.instance$CreateUser(var.user), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' #################### CreateUsersWithArrayInput #################### @@ -211,7 +231,19 @@ #' #Configure API key authorization: api_key #' api.instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; #' -#' result <- api.instance$CreateUsersWithArrayInput(var.user) +#'result <- tryCatch( +#' api.instance$CreateUsersWithArrayInput(var.user), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' #################### CreateUsersWithListInput #################### @@ -225,7 +257,19 @@ #' #Configure API key authorization: api_key #' api.instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; #' -#' result <- api.instance$CreateUsersWithListInput(var.user) +#'result <- tryCatch( +#' api.instance$CreateUsersWithListInput(var.user), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' #################### DeleteUser #################### @@ -239,7 +283,19 @@ #' #Configure API key authorization: api_key #' api.instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; #' -#' result <- api.instance$DeleteUser(var.username) +#'result <- tryCatch( +#' api.instance$DeleteUser(var.username), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' #################### GetUserByName #################### @@ -250,7 +306,21 @@ #' #Get user by user name #' api.instance <- UserApi$new() #' -#' result <- api.instance$GetUserByName(var.username) +#'result <- tryCatch( +#' api.instance$GetUserByName(var.username), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # deserialized response object +#' response.object <- result$content +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' #################### LoginUser #################### @@ -262,7 +332,21 @@ #' #Logs user into the system #' api.instance <- UserApi$new() #' -#' result <- api.instance$LoginUser(var.username, var.password) +#'result <- tryCatch( +#' api.instance$LoginUser(var.username, var.password), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # deserialized response object +#' response.object <- result$content +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' #################### LogoutUser #################### @@ -275,7 +359,19 @@ #' #Configure API key authorization: api_key #' api.instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; #' -#' result <- api.instance$LogoutUser() +#'result <- tryCatch( +#' api.instance$LogoutUser(), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' #################### UpdateUser #################### @@ -290,12 +386,25 @@ #' #Configure API key authorization: api_key #' api.instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; #' -#' result <- api.instance$UpdateUser(var.username, var.user) +#'result <- tryCatch( +#' api.instance$UpdateUser(var.username, var.user), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } #' #' #' } #' @importFrom R6 R6Class #' @importFrom base64enc base64encode +#' @importFrom rlang abort #' @export UserApi <- R6::R6Class( "UserApi", @@ -329,7 +438,7 @@ UserApi <- R6::R6Class( header_params <- c() if (missing(`user`)) { - stop("Missing required parameter `user`.") + rlang::abort(message = "Missing required parameter `user`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `user`.")) } if (!missing(`user`)) { @@ -354,11 +463,23 @@ UserApi <- R6::R6Class( if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { ApiResponse$new(NULL, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, CreateUsersWithArrayInput = function(user, ...) { @@ -381,7 +502,7 @@ UserApi <- R6::R6Class( header_params <- c() if (missing(`user`)) { - stop("Missing required parameter `user`.") + rlang::abort(message = "Missing required parameter `user`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `user`.")) } if (!missing(`user`)) { @@ -407,11 +528,23 @@ UserApi <- R6::R6Class( if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { ApiResponse$new(NULL, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, CreateUsersWithListInput = function(user, ...) { @@ -434,7 +567,7 @@ UserApi <- R6::R6Class( header_params <- c() if (missing(`user`)) { - stop("Missing required parameter `user`.") + rlang::abort(message = "Missing required parameter `user`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `user`.")) } if (!missing(`user`)) { @@ -460,11 +593,23 @@ UserApi <- R6::R6Class( if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { ApiResponse$new(NULL, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, DeleteUser = function(username, ...) { @@ -487,7 +632,7 @@ UserApi <- R6::R6Class( header_params <- c() if (missing(`username`)) { - stop("Missing required parameter `username`.") + rlang::abort(message = "Missing required parameter `username`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `username`.")) } body <- NULL @@ -511,11 +656,23 @@ UserApi <- R6::R6Class( if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { ApiResponse$new(NULL, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, GetUserByName = function(username, data_file=NULL, ...) { @@ -538,7 +695,7 @@ UserApi <- R6::R6Class( header_params <- c() if (missing(`username`)) { - stop("Missing required parameter `username`.") + rlang::abort(message = "Missing required parameter `username`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `username`.")) } body <- NULL @@ -564,16 +721,28 @@ UserApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "User", loadNamespace("petstore")), error = function(e) { - stop("Failed to deserialize response") + rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, LoginUser = function(username, password, data_file=NULL, ...) { @@ -596,11 +765,11 @@ UserApi <- R6::R6Class( header_params <- c() if (missing(`username`)) { - stop("Missing required parameter `username`.") + rlang::abort(message = "Missing required parameter `username`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `username`.")) } if (missing(`password`)) { - stop("Missing required parameter `password`.") + rlang::abort(message = "Missing required parameter `password`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `password`.")) } body <- NULL @@ -622,16 +791,28 @@ UserApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "character", loadNamespace("petstore")), error = function(e) { - stop("Failed to deserialize response") + rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, LogoutUser = function(...) { @@ -670,11 +851,23 @@ UserApi <- R6::R6Class( if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { ApiResponse$new(NULL, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, UpdateUser = function(username, user, ...) { @@ -697,11 +890,11 @@ UserApi <- R6::R6Class( header_params <- c() if (missing(`username`)) { - stop("Missing required parameter `username`.") + rlang::abort(message = "Missing required parameter `username`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `username`.")) } if (missing(`user`)) { - stop("Missing required parameter `user`.") + rlang::abort(message = "Missing required parameter `user`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `user`.")) } if (!missing(`user`)) { @@ -730,11 +923,23 @@ UserApi <- R6::R6Class( if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { ApiResponse$new(NULL, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { - ApiResponse$new(paste("Server returned ", httr::status_code(resp), " response status code."), resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { - ApiResponse$new("API client error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { - ApiResponse$new("API server error", resp) + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } } ) diff --git a/samples/client/petstore/R/docs/FakeApi.md b/samples/client/petstore/R/docs/FakeApi.md index 02b3eba91d..8de1fc175c 100644 --- a/samples/client/petstore/R/docs/FakeApi.md +++ b/samples/client/petstore/R/docs/FakeApi.md @@ -18,13 +18,26 @@ test data_file to ensure it's escaped correctly ```R library(petstore) -var.dummy <- 'dummy_example' # character | dummy required parameter -var.var_data_file <- 'var_data_file_example' # character | header data file +var_dummy <- 'dummy_example' # character | dummy required parameter +var_var_data_file <- 'var_data_file_example' # character | header data file #test data_file to ensure it's escaped correctly -api.instance <- FakeApi$new() -result <- api.instance$FakeDataFile(var.dummy, var_data_file=var.var_data_file) -dput(result) +api_instance <- FakeApi$new() +result <- tryCatch( + api_instance$FakeDataFile(var_dummy, var_data_file=var_var_data_file), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # deserialized response object + response.object <- result$content + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters diff --git a/samples/client/petstore/R/docs/PetApi.md b/samples/client/petstore/R/docs/PetApi.md index cbd6e49c2f..d67f8fe20a 100644 --- a/samples/client/petstore/R/docs/PetApi.md +++ b/samples/client/petstore/R/docs/PetApi.md @@ -25,14 +25,27 @@ Add a new pet to the store ```R library(petstore) -var.pet <- Pet$new("name_example", list("photoUrls_example"), 123, Category$new(123, "name_example"), list(Tag$new(123, "name_example")), "available") # Pet | Pet object that needs to be added to the store +var_pet <- Pet$new("name_example", list("photoUrls_example"), 123, Category$new(123, "name_example"), list(Tag$new(123, "name_example")), "available") # Pet | Pet object that needs to be added to the store #Add a new pet to the store -api.instance <- PetApi$new() +api_instance <- PetApi$new() # Configure OAuth2 access token for authorization: petstore_auth -api.instance$apiClient$accessToken <- 'TODO_YOUR_ACCESS_TOKEN'; -result <- api.instance$AddPet(var.pet) -dput(result) +api_instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; +result <- tryCatch( + api_instance$AddPet(var_pet), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # deserialized response object + response.object <- result$content + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters @@ -71,14 +84,26 @@ Deletes a pet ```R library(petstore) -var.pet_id <- 56 # integer | Pet id to delete -var.api_key <- 'api_key_example' # character | +var_pet_id <- 56 # integer | Pet id to delete +var_api_key <- 'api_key_example' # character | #Deletes a pet -api.instance <- PetApi$new() +api_instance <- PetApi$new() # Configure OAuth2 access token for authorization: petstore_auth -api.instance$apiClient$accessToken <- 'TODO_YOUR_ACCESS_TOKEN'; -api.instance$DeletePet(var.pet_id, api_key=var.api_key) +api_instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; +result <- tryCatch( + api_instance$DeletePet(var_pet_id, api_key=var_api_key), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters @@ -117,14 +142,27 @@ Multiple status values can be provided with comma separated strings ```R library(petstore) -var.status <- list("available") # array[character] | Status values that need to be considered for filter +var_status <- list("available") # array[character] | Status values that need to be considered for filter #Finds Pets by status -api.instance <- PetApi$new() +api_instance <- PetApi$new() # Configure OAuth2 access token for authorization: petstore_auth -api.instance$apiClient$accessToken <- 'TODO_YOUR_ACCESS_TOKEN'; -result <- api.instance$FindPetsByStatus(var.status) -dput(result) +api_instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; +result <- tryCatch( + api_instance$FindPetsByStatus(var_status), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # deserialized response object + response.object <- result$content + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters @@ -163,14 +201,27 @@ Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 ```R library(petstore) -var.tags <- list("inner_example") # array[character] | Tags to filter by +var_tags <- list("inner_example") # array[character] | Tags to filter by #Finds Pets by tags -api.instance <- PetApi$new() +api_instance <- PetApi$new() # Configure OAuth2 access token for authorization: petstore_auth -api.instance$apiClient$accessToken <- 'TODO_YOUR_ACCESS_TOKEN'; -result <- api.instance$FindPetsByTags(var.tags) -dput(result) +api_instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; +result <- tryCatch( + api_instance$FindPetsByTags(var_tags), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # deserialized response object + response.object <- result$content + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters @@ -209,14 +260,27 @@ Returns a single pet ```R library(petstore) -var.pet_id <- 56 # integer | ID of pet to return +var_pet_id <- 56 # integer | ID of pet to return #Find pet by ID -api.instance <- PetApi$new() +api_instance <- PetApi$new() # Configure API key authorization: api_key -api.instance$apiClient$apiKeys['api_key'] <- 'TODO_YOUR_API_KEY'; -result <- api.instance$GetPetById(var.pet_id) -dput(result) +api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; +result <- tryCatch( + api_instance$GetPetById(var_pet_id), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # deserialized response object + response.object <- result$content + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters @@ -256,14 +320,27 @@ Update an existing pet ```R library(petstore) -var.pet <- Pet$new("name_example", list("photoUrls_example"), 123, Category$new(123, "name_example"), list(Tag$new(123, "name_example")), "available") # Pet | Pet object that needs to be added to the store +var_pet <- Pet$new("name_example", list("photoUrls_example"), 123, Category$new(123, "name_example"), list(Tag$new(123, "name_example")), "available") # Pet | Pet object that needs to be added to the store #Update an existing pet -api.instance <- PetApi$new() +api_instance <- PetApi$new() # Configure OAuth2 access token for authorization: petstore_auth -api.instance$apiClient$accessToken <- 'TODO_YOUR_ACCESS_TOKEN'; -result <- api.instance$UpdatePet(var.pet) -dput(result) +api_instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; +result <- tryCatch( + api_instance$UpdatePet(var_pet), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # deserialized response object + response.object <- result$content + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters @@ -304,15 +381,27 @@ Updates a pet in the store with form data ```R library(petstore) -var.pet_id <- 56 # integer | ID of pet that needs to be updated -var.name <- 'name_example' # character | Updated name of the pet -var.status <- 'status_example' # character | Updated status of the pet +var_pet_id <- 56 # integer | ID of pet that needs to be updated +var_name <- 'name_example' # character | Updated name of the pet +var_status <- 'status_example' # character | Updated status of the pet #Updates a pet in the store with form data -api.instance <- PetApi$new() +api_instance <- PetApi$new() # Configure OAuth2 access token for authorization: petstore_auth -api.instance$apiClient$accessToken <- 'TODO_YOUR_ACCESS_TOKEN'; -api.instance$UpdatePetWithForm(var.pet_id, name=var.name, status=var.status) +api_instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; +result <- tryCatch( + api_instance$UpdatePetWithForm(var_pet_id, name=var_name, status=var_status), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters @@ -352,16 +441,29 @@ uploads an image ```R library(petstore) -var.pet_id <- 56 # integer | ID of pet to update -var.additional_metadata <- 'additional_metadata_example' # character | Additional data to pass to server -var.file <- File.new('/path/to/file') # data.frame | file to upload +var_pet_id <- 56 # integer | ID of pet to update +var_additional_metadata <- 'additional_metadata_example' # character | Additional data to pass to server +var_file <- File.new('/path/to/file') # data.frame | file to upload #uploads an image -api.instance <- PetApi$new() +api_instance <- PetApi$new() # Configure OAuth2 access token for authorization: petstore_auth -api.instance$apiClient$accessToken <- 'TODO_YOUR_ACCESS_TOKEN'; -result <- api.instance$UploadFile(var.pet_id, additional_metadata=var.additional_metadata, file=var.file) -dput(result) +api_instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; +result <- tryCatch( + api_instance$UploadFile(var_pet_id, additional_metadata=var_additional_metadata, file=var_file), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # deserialized response object + response.object <- result$content + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters diff --git a/samples/client/petstore/R/docs/StoreApi.md b/samples/client/petstore/R/docs/StoreApi.md index 1c7d982fc1..f62dcf6e76 100644 --- a/samples/client/petstore/R/docs/StoreApi.md +++ b/samples/client/petstore/R/docs/StoreApi.md @@ -21,11 +21,23 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or non ```R library(petstore) -var.order_id <- 'order_id_example' # character | ID of the order that needs to be deleted +var_order_id <- 'order_id_example' # character | ID of the order that needs to be deleted #Delete purchase order by ID -api.instance <- StoreApi$new() -api.instance$DeleteOrder(var.order_id) +api_instance <- StoreApi$new() +result <- tryCatch( + api_instance$DeleteOrder(var_order_id), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters @@ -66,11 +78,24 @@ library(petstore) #Returns pet inventories by status -api.instance <- StoreApi$new() +api_instance <- StoreApi$new() # Configure API key authorization: api_key -api.instance$apiClient$apiKeys['api_key'] <- 'TODO_YOUR_API_KEY'; -result <- api.instance$GetInventory() -dput(result) +api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; +result <- tryCatch( + api_instance$GetInventory(), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # deserialized response object + response.object <- result$content + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters @@ -105,12 +130,25 @@ For valid response try integer IDs with value <= 5 or > 10. Other values will ge ```R library(petstore) -var.order_id <- 56 # integer | ID of pet that needs to be fetched +var_order_id <- 56 # integer | ID of pet that needs to be fetched #Find purchase order by ID -api.instance <- StoreApi$new() -result <- api.instance$GetOrderById(var.order_id) -dput(result) +api_instance <- StoreApi$new() +result <- tryCatch( + api_instance$GetOrderById(var_order_id), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # deserialized response object + response.object <- result$content + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters @@ -150,12 +188,25 @@ Place an order for a pet ```R library(petstore) -var.order <- Order$new(123, 123, 123, "shipDate_example", "placed", "complete_example") # Order | order placed for purchasing the pet +var_order <- Order$new(123, 123, 123, "shipDate_example", "placed", "complete_example") # Order | order placed for purchasing the pet #Place an order for a pet -api.instance <- StoreApi$new() -result <- api.instance$PlaceOrder(var.order) -dput(result) +api_instance <- StoreApi$new() +result <- tryCatch( + api_instance$PlaceOrder(var_order), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # deserialized response object + response.object <- result$content + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters diff --git a/samples/client/petstore/R/docs/UserApi.md b/samples/client/petstore/R/docs/UserApi.md index 31e599f28c..62fbbe4970 100644 --- a/samples/client/petstore/R/docs/UserApi.md +++ b/samples/client/petstore/R/docs/UserApi.md @@ -25,13 +25,25 @@ This can only be done by the logged in user. ```R library(petstore) -var.user <- User$new(123, "username_example", "firstName_example", "lastName_example", "email_example", "password_example", "phone_example", 123) # User | Created user object +var_user <- User$new(123, "username_example", "firstName_example", "lastName_example", "email_example", "password_example", "phone_example", 123) # User | Created user object #Create user -api.instance <- UserApi$new() +api_instance <- UserApi$new() # Configure API key authorization: api_key -api.instance$apiClient$apiKeys['api_key'] <- 'TODO_YOUR_API_KEY'; -api.instance$CreateUser(var.user) +api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; +result <- tryCatch( + api_instance$CreateUser(var_user), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters @@ -69,13 +81,25 @@ Creates list of users with given input array ```R library(petstore) -var.user <- list(User$new(123, "username_example", "firstName_example", "lastName_example", "email_example", "password_example", "phone_example", 123)) # array[User] | List of user object +var_user <- list(User$new(123, "username_example", "firstName_example", "lastName_example", "email_example", "password_example", "phone_example", 123)) # array[User] | List of user object #Creates list of users with given input array -api.instance <- UserApi$new() +api_instance <- UserApi$new() # Configure API key authorization: api_key -api.instance$apiClient$apiKeys['api_key'] <- 'TODO_YOUR_API_KEY'; -api.instance$CreateUsersWithArrayInput(var.user) +api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; +result <- tryCatch( + api_instance$CreateUsersWithArrayInput(var_user), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters @@ -113,13 +137,25 @@ Creates list of users with given input array ```R library(petstore) -var.user <- list(User$new(123, "username_example", "firstName_example", "lastName_example", "email_example", "password_example", "phone_example", 123)) # array[User] | List of user object +var_user <- list(User$new(123, "username_example", "firstName_example", "lastName_example", "email_example", "password_example", "phone_example", 123)) # array[User] | List of user object #Creates list of users with given input array -api.instance <- UserApi$new() +api_instance <- UserApi$new() # Configure API key authorization: api_key -api.instance$apiClient$apiKeys['api_key'] <- 'TODO_YOUR_API_KEY'; -api.instance$CreateUsersWithListInput(var.user) +api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; +result <- tryCatch( + api_instance$CreateUsersWithListInput(var_user), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters @@ -157,13 +193,25 @@ This can only be done by the logged in user. ```R library(petstore) -var.username <- 'username_example' # character | The name that needs to be deleted +var_username <- 'username_example' # character | The name that needs to be deleted #Delete user -api.instance <- UserApi$new() +api_instance <- UserApi$new() # Configure API key authorization: api_key -api.instance$apiClient$apiKeys['api_key'] <- 'TODO_YOUR_API_KEY'; -api.instance$DeleteUser(var.username) +api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; +result <- tryCatch( + api_instance$DeleteUser(var_username), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters @@ -202,12 +250,25 @@ Get user by user name ```R library(petstore) -var.username <- 'username_example' # character | The name that needs to be fetched. Use user1 for testing. +var_username <- 'username_example' # character | The name that needs to be fetched. Use user1 for testing. #Get user by user name -api.instance <- UserApi$new() -result <- api.instance$GetUserByName(var.username) -dput(result) +api_instance <- UserApi$new() +result <- tryCatch( + api_instance$GetUserByName(var_username), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # deserialized response object + response.object <- result$content + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters @@ -247,13 +308,26 @@ Logs user into the system ```R library(petstore) -var.username <- 'username_example' # character | The user name for login -var.password <- 'password_example' # character | The password for login in clear text +var_username <- 'username_example' # character | The user name for login +var_password <- 'password_example' # character | The password for login in clear text #Logs user into the system -api.instance <- UserApi$new() -result <- api.instance$LoginUser(var.username, var.password) -dput(result) +api_instance <- UserApi$new() +result <- tryCatch( + api_instance$LoginUser(var_username, var_password), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # deserialized response object + response.object <- result$content + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters @@ -295,10 +369,22 @@ library(petstore) #Logs out current logged in user session -api.instance <- UserApi$new() +api_instance <- UserApi$new() # Configure API key authorization: api_key -api.instance$apiClient$apiKeys['api_key'] <- 'TODO_YOUR_API_KEY'; -api.instance$LogoutUser() +api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; +result <- tryCatch( + api_instance$LogoutUser(), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters @@ -333,14 +419,26 @@ This can only be done by the logged in user. ```R library(petstore) -var.username <- 'username_example' # character | name that need to be deleted -var.user <- User$new(123, "username_example", "firstName_example", "lastName_example", "email_example", "password_example", "phone_example", 123) # User | Updated user object +var_username <- 'username_example' # character | name that need to be deleted +var_user <- User$new(123, "username_example", "firstName_example", "lastName_example", "email_example", "password_example", "phone_example", 123) # User | Updated user object #Updated user -api.instance <- UserApi$new() +api_instance <- UserApi$new() # Configure API key authorization: api_key -api.instance$apiClient$apiKeys['api_key'] <- 'TODO_YOUR_API_KEY'; -api.instance$UpdateUser(var.username, var.user) +api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; +result <- tryCatch( + api_instance$UpdateUser(var_username, var_user), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} ``` ### Parameters diff --git a/samples/client/petstore/R/test_petstore.R b/samples/client/petstore/R/test_petstore.R new file mode 100644 index 0000000000..f0be473986 --- /dev/null +++ b/samples/client/petstore/R/test_petstore.R @@ -0,0 +1,24 @@ +library(petstore) + +var_pet_id <- 56 # integer | ID of pet to return + +#Find pet by ID +api_instance <- PetApi$new() +# Configure API key authorization: api_key +api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; +result <- tryCatch( + api_instance$GetPetById(var_pet_id), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # deserialized response object + response.object <- result$content + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} + From 4cfc32e4264d9adf56527d1c3210eebae790f972 Mon Sep 17 00:00:00 2001 From: julienlavigne <56667882+julienlavigne@users.noreply.github.com> Date: Mon, 30 May 2022 10:40:58 +0100 Subject: [PATCH 021/212] Kotlin-client: Pass OkHttpClient instance to the base class (ApiClient) (#12493) * Pass client to the base clase * Regen samples --- .../resources/kotlin-client/libraries/jvm-okhttp/api.mustache | 2 +- .../src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/PetApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/StoreApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/UserApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/PetApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/StoreApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/UserApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/PetApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/StoreApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/UserApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/PetApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/StoreApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/UserApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/PetApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/StoreApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/UserApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/PetApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/StoreApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/UserApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/PetApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/StoreApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/UserApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/PetApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/StoreApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/UserApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/PetApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/StoreApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/UserApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/PetApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/StoreApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/UserApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/PetApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/StoreApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/UserApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/EnumApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/PetApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/StoreApi.kt | 2 +- .../src/main/kotlin/org/openapitools/client/apis/UserApi.kt | 2 +- 44 files changed, 44 insertions(+), 44 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/api.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/api.mustache index 25844a4051..9646bc778b 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/api.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/api.mustache @@ -47,7 +47,7 @@ import {{packageName}}.infrastructure.Success import {{packageName}}.infrastructure.toMultiValue {{#operations}} -{{#nonPublicApi}}internal {{/nonPublicApi}}class {{classname}}(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +{{#nonPublicApi}}internal {{/nonPublicApi}}class {{classname}}(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt index 1a11cb170f..50854f326b 100644 --- a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt +++ b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt @@ -40,7 +40,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class DefaultApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class DefaultApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt index 1a11cb170f..50854f326b 100644 --- a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt +++ b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt @@ -40,7 +40,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class DefaultApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class DefaultApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt b/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt index 8bb626a78b..a9d705e857 100644 --- a/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt +++ b/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class DefaultApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class DefaultApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-default-values-jvm-okhttp3/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt b/samples/client/petstore/kotlin-default-values-jvm-okhttp3/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt index d8bd360932..522b5c21ab 100644 --- a/samples/client/petstore/kotlin-default-values-jvm-okhttp3/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt +++ b/samples/client/petstore/kotlin-default-values-jvm-okhttp3/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt @@ -40,7 +40,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class DefaultApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class DefaultApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt index d8bd360932..522b5c21ab 100644 --- a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt +++ b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt @@ -40,7 +40,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class DefaultApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class DefaultApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-enum-default-value/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt b/samples/client/petstore/kotlin-enum-default-value/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt index 28df82d349..28d8935251 100644 --- a/samples/client/petstore/kotlin-enum-default-value/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt +++ b/samples/client/petstore/kotlin-enum-default-value/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class DefaultApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class DefaultApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index 5e3d6cc396..a98d99cb10 100644 --- a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -42,7 +42,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index a61275b321..716d4bafd9 100644 --- a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index fbb0eff191..d73f68f0c9 100644 --- a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index 33f5dab169..ef9127ad87 100644 --- a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -42,7 +42,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 5f776ce013..5b0422375b 100644 --- a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index 82490cf9f4..29c926cde0 100644 --- a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index c3b8ddbf62..2494f48086 100644 --- a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -42,7 +42,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 86d67e070c..1ec69c56ef 100644 --- a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index aa9d392051..521b3e3d33 100644 --- a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index a5ec6a6092..a1f9adaf69 100644 --- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -44,7 +44,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 7fc20d875c..d9337b01c8 100644 --- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -43,7 +43,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index 381aa77a0c..62cd408343 100644 --- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -43,7 +43,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index e14d6e348d..8090fb0697 100644 --- a/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -42,7 +42,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 8ece8c7a3d..98fb42a178 100644 --- a/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index daba140f42..1cba8a4241 100644 --- a/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index 3c942c7a47..deffa29d50 100644 --- a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -42,7 +42,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 86d67e070c..1ec69c56ef 100644 --- a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index aa9d392051..521b3e3d33 100644 --- a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index 76b30e6ad3..5c32b11603 100644 --- a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -42,7 +42,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -internal class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +internal class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index e8d7325b89..99bc291bed 100644 --- a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -internal class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +internal class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index 47475f7efb..84cde3e20e 100644 --- a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -internal class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +internal class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index 08de93eb76..c0cf6b8f47 100644 --- a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -42,7 +42,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 26588f3542..e984ba8cdc 100644 --- a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index ec8c01057e..6025f68eb3 100644 --- a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index bbdd9ed5dc..1591c5ede4 100644 --- a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -42,7 +42,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 86d67e070c..1ec69c56ef 100644 --- a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index aa9d392051..521b3e3d33 100644 --- a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index b907e0a203..785cf09a3f 100644 --- a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -42,7 +42,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 86d67e070c..1ec69c56ef 100644 --- a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index aa9d392051..521b3e3d33 100644 --- a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index 3c942c7a47..deffa29d50 100644 --- a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -42,7 +42,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 86d67e070c..1ec69c56ef 100644 --- a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index aa9d392051..521b3e3d33 100644 --- a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/apis/EnumApi.kt b/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/apis/EnumApi.kt index a39a65f81d..7f1765943b 100644 --- a/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/apis/EnumApi.kt +++ b/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/apis/EnumApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class EnumApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class EnumApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index 3c942c7a47..deffa29d50 100644 --- a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -42,7 +42,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 86d67e070c..1ec69c56ef 100644 --- a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { diff --git a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index aa9d392051..521b3e3d33 100644 --- a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -41,7 +41,7 @@ import org.openapitools.client.infrastructure.ResponseType import org.openapitools.client.infrastructure.Success import org.openapitools.client.infrastructure.toMultiValue -class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath) { +class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { companion object { @JvmStatic val defaultBasePath: String by lazy { From 89193074e28ceaa04bdbc95c2a50df361e493972 Mon Sep 17 00:00:00 2001 From: mkusaka Date: Mon, 30 May 2022 18:48:12 +0900 Subject: [PATCH 022/212] [typescript-angular] remove outdated angular samples (#12134) * [typescript-angular] remove outdated angular samples * [typescript-angular] remove unused sample * [typescript-angular] remove unused ref * [typescript-angular] add oneof & provided in any examples * [typescript-angular] update samples * [typescirpt-angular] migrate test to angular 12/13 * [typescript-angular] update samples --- .../openapi3/typescript-angular-default.yaml | 4 +- .../openapi3/typescript-angular-npm.yaml | 4 +- .../typescript-angular-with-interfaces.yaml | 4 +- ...angular-v10-provided-in-root-with-npm.yaml | 10 - ...angular-v11-provided-in-root-with-npm.yaml | 10 - ...pescript-angular-v11-provided-in-root.yaml | 6 - ...yaml => typescript-angular-v12-oneOf.yaml} | 4 +- ...pescript-angular-v12-provided-in-any.yaml} | 4 +- bin/configs/typescript-angular-v13-oneOf.yaml | 6 + ...pescript-angular-v13-provided-in-any.yaml} | 5 +- ...-angular-v9-provided-in-root-with-npm.yaml | 10 - ...ypescript-angular-v9-provided-in-root.yaml | 6 - pom.xml | 2 +- .../builds/default/api/pet.service.ts | 672 - .../builds/default/api/user.service.ts | 555 - .../builds/with-npm/.openapi-generator/FILES | 22 - .../builds/with-npm/README.md | 203 - .../builds/with-npm/api/pet.service.ts | 672 - .../builds/with-npm/api/store.service.ts | 313 - .../builds/with-npm/ng-package.json | 6 - .../builds/with-npm/package.json | 38 - .../builds/with-npm/tsconfig.json | 28 - .../builds/default/api.module.ts | 33 - .../builds/default/api/api.ts | 7 - .../builds/default/api/store.service.ts | 313 - .../builds/default/api/user.service.ts | 555 - .../builds/default/configuration.ts | 141 - .../builds/default/model/apiResponse.ts | 22 - .../builds/default/model/category.ts | 21 - .../builds/default/model/models.ts | 6 - .../builds/default/model/order.ts | 37 - .../builds/default/model/pet.ts | 39 - .../builds/default/model/tag.ts | 21 - .../builds/default/model/user.ts | 30 - .../builds/with-npm/.gitignore | 4 - .../builds/with-npm/.openapi-generator-ignore | 23 - .../builds/with-npm/.openapi-generator/FILES | 22 - .../with-npm/.openapi-generator/VERSION | 1 - .../builds/with-npm/README.md | 203 - .../builds/with-npm/api/api.ts | 7 - .../builds/with-npm/api/pet.service.ts | 672 - .../builds/with-npm/api/store.service.ts | 313 - .../builds/with-npm/api/user.service.ts | 555 - .../builds/with-npm/encoder.ts | 20 - .../builds/with-npm/git_push.sh | 57 - .../builds/with-npm/index.ts | 5 - .../builds/with-npm/model/apiResponse.ts | 22 - .../builds/with-npm/model/category.ts | 21 - .../builds/with-npm/model/models.ts | 6 - .../builds/with-npm/model/order.ts | 37 - .../builds/with-npm/model/pet.ts | 39 - .../builds/with-npm/model/tag.ts | 21 - .../builds/with-npm/model/user.ts | 30 - .../builds/with-npm/ng-package.json | 6 - .../builds/with-npm/package.json | 38 - .../builds/with-npm/tsconfig.json | 28 - .../builds/with-npm/variables.ts | 9 - .../builds/default/.gitignore | 0 .../builds/default/.openapi-generator-ignore | 0 .../builds/default/.openapi-generator/FILES | 0 .../builds/default/.openapi-generator/VERSION | 0 .../builds/default/README.md | 0 .../builds/default/api.module.ts | 0 .../builds/default/api/api.ts | 0 .../builds/default/api/default.service.ts | 28 +- .../builds/default/configuration.ts | 0 .../builds/default/encoder.ts | 0 .../builds/default/git_push.sh | 0 .../builds/default/index.ts | 0 .../builds/default/model/apple.ts | 0 .../builds/default/model/fruit.ts | 0 .../builds/default/model/grape.ts | 0 .../builds/default/model/models.ts | 0 .../builds/default/variables.ts | 0 .../builds/default}/.gitignore | 0 .../builds/default}/.openapi-generator-ignore | 0 .../builds/default/.openapi-generator/FILES | 0 .../default}/.openapi-generator/VERSION | 0 .../builds/default/README.md | 0 .../builds/default/api.module.ts | 0 .../builds/default/api/api.ts | 0 .../builds/default/api/pet.service.ts | 106 +- .../builds/default/api/store.service.ts | 54 +- .../builds/default/api/user.service.ts | 106 +- .../builds/default/configuration.ts | 0 .../builds/default}/encoder.ts | 0 .../builds/default}/git_push.sh | 0 .../builds/default}/index.ts | 0 .../builds/default/model/apiResponse.ts | 0 .../builds/default/model/category.ts | 0 .../builds/default/model/models.ts | 0 .../builds/default/model/order.ts | 0 .../builds/default/model/pet.ts | 0 .../builds/default/model/tag.ts | 0 .../builds/default/model/user.ts | 0 .../builds/default}/variables.ts | 0 .../.editorconfig | 0 .../.gitignore | 0 .../angular.json | 13 +- .../package-lock.json | 14977 ++++++----- .../package.json | 47 + .../pom.xml | 4 +- .../tests/default/.browserslistrc | 0 .../tests/default/src/app/app.component.css | 0 .../tests/default/src/app/app.component.html | 0 .../default/src/app/app.component.spec.ts | 0 .../tests/default/src/app/app.component.ts | 0 .../tests/default/src/app/app.module.ts | 0 .../src/environments/environment.prod.ts | 0 .../default/src/environments/environment.ts | 0 .../tests/default/src/favicon.ico | Bin .../tests/default/src/index.html | 0 .../tests/default/src/karma.conf.js | 0 .../tests/default/src/main.ts | 0 .../tests/default/src/polyfills.ts | 0 .../tests/default/src/styles.css | 0 .../tests/default/src/test.ts | 0 .../tests/default/src/test/api.spec.ts | 0 .../tests/default/src/test/basePath.spec.ts | 0 .../default/src/test/configuration.spec.ts | 0 .../tests/default/src/test/fakeBackend.ts | 0 .../default/src/test/no-configuration.spec.ts | 0 .../tests/default/src/tsconfig.app.json | 0 .../tests/default/src/tsconfig.spec.json | 0 .../tests/default/src/tslint.json | 0 .../tsconfig.json | 0 .../tslint.json | 0 .../builds/default/.gitignore | 0 .../builds/default/.openapi-generator-ignore | 0 .../builds/default/.openapi-generator/FILES | 14 + .../builds/default/.openapi-generator/VERSION | 0 .../builds/default/README.md | 0 .../builds/default}/api.module.ts | 4 +- .../builds/default/api/api.ts | 3 + .../builds/default/api/default.service.ts | 203 + .../builds/default}/configuration.ts | 20 - .../builds/default/encoder.ts | 0 .../builds/default/git_push.sh | 0 .../builds/default/index.ts | 0 .../builds/default/model/apple.ts} | 4 +- .../builds/default/model/fruit.ts | 21 + .../builds/default/model/grape.ts | 17 + .../builds/default/model/models.ts | 3 + .../builds/default/variables.ts | 0 .../builds/default/.gitignore | 0 .../builds/default/.openapi-generator-ignore | 0 .../builds/default/.openapi-generator/FILES | 0 .../builds/default/.openapi-generator/VERSION | 0 .../builds/default/README.md | 0 .../builds/default}/api.module.ts | 0 .../builds/default}/api/api.ts | 0 .../builds/default/api/pet.service.ts | 108 +- .../builds/default/api/store.service.ts | 56 +- .../builds/default}/api/user.service.ts | 108 +- .../builds/default}/configuration.ts | 0 .../builds/default/encoder.ts | 0 .../builds/default/git_push.sh | 0 .../builds/default/index.ts | 0 .../builds/default}/model/apiResponse.ts | 0 .../builds/default}/model/category.ts | 0 .../builds/default}/model/models.ts | 0 .../builds/default}/model/order.ts | 0 .../builds/default}/model/pet.ts | 0 .../builds/default}/model/tag.ts | 0 .../builds/default}/model/user.ts | 0 .../builds/default/variables.ts | 0 .../.editorconfig | 13 + .../.gitignore | 41 + .../angular.json | 111 + .../package-lock.json | 20981 ++++++++++++++++ .../package.json | 35 +- .../pom.xml | 52 + .../tests/default/.browserslistrc | 9 + .../tests/default/src/app/app.component.css | 0 .../tests/default/src/app/app.component.html | 44 + .../default/src/app/app.component.spec.ts | 94 + .../tests/default/src/app/app.component.ts | 71 + .../tests/default/src/app/app.module.ts | 36 + .../src/environments/environment.prod.ts | 3 + .../default/src/environments/environment.ts | 15 + .../tests/default/src/favicon.ico | Bin 0 -> 5430 bytes .../tests/default/src/index.html | 14 + .../tests/default/src/karma.conf.js | 31 + .../tests/default/src/main.ts | 12 + .../tests/default/src/polyfills.ts | 63 + .../tests/default/src/styles.css | 1 + .../tests/default/src/test.ts | 20 + .../tests/default/src/test/api.spec.ts | 152 + .../tests/default/src/test/basePath.spec.ts | 63 + .../default/src/test/configuration.spec.ts | 140 + .../tests/default/src/test/fakeBackend.ts | 92 + .../default/src/test/no-configuration.spec.ts | 61 + .../tests/default/src/tsconfig.app.json | 14 + .../tests/default/src/tsconfig.spec.json | 18 + .../tests/default/src/tslint.json | 17 + .../tsconfig.json | 25 + .../tslint.json | 129 + .../builds/default/.gitignore | 4 - .../builds/default/.openapi-generator-ignore | 23 - .../builds/default/.openapi-generator/FILES | 19 - .../builds/default/.openapi-generator/VERSION | 1 - .../builds/default/api.module.ts | 33 - .../builds/default/api/api.ts | 7 - .../builds/default/configuration.ts | 141 - .../builds/default/encoder.ts | 20 - .../builds/default/git_push.sh | 57 - .../builds/default/index.ts | 5 - .../builds/default/model/apiResponse.ts | 22 - .../builds/default/model/category.ts | 21 - .../builds/default/model/models.ts | 6 - .../builds/default/model/order.ts | 37 - .../builds/default/model/pet.ts | 39 - .../builds/default/model/tag.ts | 21 - .../builds/default/model/user.ts | 30 - .../builds/default/variables.ts | 9 - .../builds/default/.gitignore | 4 - .../builds/default/.openapi-generator-ignore | 23 - .../builds/default/.openapi-generator/FILES | 19 - .../builds/default/.openapi-generator/VERSION | 1 - .../builds/default/README.md | 203 - .../builds/default/api.module.ts | 33 - .../builds/default/api/api.ts | 7 - .../builds/default/api/pet.service.ts | 672 - .../builds/default/api/store.service.ts | 313 - .../builds/default/api/user.service.ts | 555 - .../builds/default/configuration.ts | 141 - .../builds/default/encoder.ts | 20 - .../builds/default/git_push.sh | 57 - .../builds/default/index.ts | 5 - .../builds/default/model/apiResponse.ts | 22 - .../builds/default/model/category.ts | 21 - .../builds/default/model/models.ts | 6 - .../builds/default/model/order.ts | 37 - .../builds/default/model/pet.ts | 39 - .../builds/default/model/tag.ts | 21 - .../builds/default/model/user.ts | 30 - .../builds/default/variables.ts | 9 - .../builds/with-npm/.gitignore | 4 - .../builds/with-npm/.openapi-generator-ignore | 23 - .../builds/with-npm/.openapi-generator/FILES | 22 - .../with-npm/.openapi-generator/VERSION | 1 - .../builds/with-npm/README.md | 203 - .../builds/with-npm/api.module.ts | 33 - .../builds/with-npm/api/api.ts | 7 - .../builds/with-npm/api/pet.service.ts | 672 - .../builds/with-npm/api/store.service.ts | 313 - .../builds/with-npm/api/user.service.ts | 555 - .../builds/with-npm/configuration.ts | 141 - .../builds/with-npm/encoder.ts | 20 - .../builds/with-npm/git_push.sh | 57 - .../builds/with-npm/index.ts | 5 - .../builds/with-npm/model/apiResponse.ts | 22 - .../builds/with-npm/model/category.ts | 21 - .../builds/with-npm/model/models.ts | 6 - .../builds/with-npm/model/order.ts | 37 - .../builds/with-npm/model/pet.ts | 39 - .../builds/with-npm/model/tag.ts | 21 - .../builds/with-npm/model/user.ts | 30 - .../builds/with-npm/ng-package.json | 6 - .../builds/with-npm/package.json | 38 - .../builds/with-npm/tsconfig.json | 28 - .../builds/with-npm/variables.ts | 9 - .../petstore/typescript-angularjs/.gitignore | 3 - .../.openapi-generator-ignore | 23 - .../.openapi-generator/FILES | 15 - .../.openapi-generator/VERSION | 1 - .../petstore/typescript-angularjs/README.md | 19 - .../typescript-angularjs/api.module.ts | 9 - .../typescript-angularjs/api/PetApi.ts | 292 - .../typescript-angularjs/api/StoreApi.ts | 138 - .../typescript-angularjs/api/UserApi.ts | 274 - .../petstore/typescript-angularjs/api/api.ts | 7 - .../petstore/typescript-angularjs/git_push.sh | 58 - .../petstore/typescript-angularjs/index.ts | 2 - .../typescript-angularjs/model/ApiResponse.ts | 23 - .../typescript-angularjs/model/Category.ts | 22 - .../typescript-angularjs/model/Order.ts | 36 - .../typescript-angularjs/model/Pet.ts | 36 - .../typescript-angularjs/model/Tag.ts | 22 - .../typescript-angularjs/model/User.ts | 31 - .../typescript-angularjs/model/models.ts | 6 - .../typescript-angularjs/package.json | 22 - .../petstore/typescript-angularjs/pom.xml | 59 - .../typescript-angularjs/tsconfig.json | 11 - .../petstore/typescript-angularjs/tsd.json | 24 - .../builds/enum/models/InlineObject.ts | 24 +- .../builds/enum/models/InlineResponse200.ts | 24 +- .../with-string-enums/models/InlineObject.ts | 22 +- .../models/InlineResponse200.ts | 22 +- 289 files changed, 30090 insertions(+), 20382 deletions(-) delete mode 100644 bin/configs/typescript-angular-v10-provided-in-root-with-npm.yaml delete mode 100644 bin/configs/typescript-angular-v11-provided-in-root-with-npm.yaml delete mode 100644 bin/configs/typescript-angular-v11-provided-in-root.yaml rename bin/configs/{typescript-angular-v11-oneOf.yaml => typescript-angular-v12-oneOf.yaml} (73%) rename bin/configs/{typescript-angular-v9-provided-in-any.yaml => typescript-angular-v12-provided-in-any.yaml} (67%) create mode 100644 bin/configs/typescript-angular-v13-oneOf.yaml rename bin/configs/{typescript-angular-v10-provided-in-root.yaml => typescript-angular-v13-provided-in-any.yaml} (61%) delete mode 100644 bin/configs/typescript-angular-v9-provided-in-root-with-npm.yaml delete mode 100644 bin/configs/typescript-angular-v9-provided-in-root.yaml delete mode 100644 samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/api/pet.service.ts delete mode 100644 samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/api/user.service.ts delete mode 100644 samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/.openapi-generator/FILES delete mode 100644 samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/README.md delete mode 100644 samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/api/pet.service.ts delete mode 100644 samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/api/store.service.ts delete mode 100644 samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/ng-package.json delete mode 100644 samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/package.json delete mode 100644 samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/tsconfig.json delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/api.module.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/api/api.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/api/store.service.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/api/user.service.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/configuration.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/apiResponse.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/category.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/models.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/order.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/pet.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/tag.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/user.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.gitignore delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.openapi-generator-ignore delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.openapi-generator/FILES delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.openapi-generator/VERSION delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/README.md delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/api/api.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/api/pet.service.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/api/store.service.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/api/user.service.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/encoder.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/git_push.sh delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/index.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/apiResponse.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/category.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/models.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/order.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/pet.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/tag.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/user.ts delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/ng-package.json delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/package.json delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/tsconfig.json delete mode 100644 samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/variables.ts rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v12-oneOf}/builds/default/.gitignore (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v12-oneOf}/builds/default/.openapi-generator-ignore (100%) rename samples/client/petstore/{typescript-angular-v11-oneOf => typescript-angular-v12-oneOf}/builds/default/.openapi-generator/FILES (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v12-oneOf}/builds/default/.openapi-generator/VERSION (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v12-oneOf}/builds/default/README.md (100%) rename samples/client/petstore/{typescript-angular-v11-oneOf => typescript-angular-v12-oneOf}/builds/default/api.module.ts (100%) rename samples/client/petstore/{typescript-angular-v11-oneOf => typescript-angular-v12-oneOf}/builds/default/api/api.ts (100%) rename samples/client/petstore/{typescript-angular-v11-oneOf => typescript-angular-v12-oneOf}/builds/default/api/default.service.ts (84%) rename samples/client/petstore/{typescript-angular-v11-oneOf => typescript-angular-v12-oneOf}/builds/default/configuration.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v12-oneOf}/builds/default/encoder.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v12-oneOf}/builds/default/git_push.sh (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v12-oneOf}/builds/default/index.ts (100%) rename samples/client/petstore/{typescript-angular-v11-oneOf => typescript-angular-v12-oneOf}/builds/default/model/apple.ts (100%) rename samples/client/petstore/{typescript-angular-v11-oneOf => typescript-angular-v12-oneOf}/builds/default/model/fruit.ts (100%) rename samples/client/petstore/{typescript-angular-v11-oneOf => typescript-angular-v12-oneOf}/builds/default/model/grape.ts (100%) rename samples/client/petstore/{typescript-angular-v11-oneOf => typescript-angular-v12-oneOf}/builds/default/model/models.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v12-oneOf}/builds/default/variables.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root/builds/with-npm => typescript-angular-v12-provided-in-any/builds/default}/.gitignore (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root/builds/with-npm => typescript-angular-v12-provided-in-any/builds/default}/.openapi-generator-ignore (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v12-provided-in-any}/builds/default/.openapi-generator/FILES (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root/builds/with-npm => typescript-angular-v12-provided-in-any/builds/default}/.openapi-generator/VERSION (100%) rename samples/client/petstore/{typescript-angular-v11-oneOf => typescript-angular-v12-provided-in-any}/builds/default/README.md (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v12-provided-in-any}/builds/default/api.module.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v12-provided-in-any}/builds/default/api/api.ts (100%) rename samples/client/petstore/{typescript-angular-v9-provided-in-any => typescript-angular-v12-provided-in-any}/builds/default/api/pet.service.ts (86%) rename samples/client/petstore/{typescript-angular-v9-provided-in-any => typescript-angular-v12-provided-in-any}/builds/default/api/store.service.ts (84%) rename samples/client/petstore/{typescript-angular-v9-provided-in-any => typescript-angular-v12-provided-in-any}/builds/default/api/user.service.ts (84%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v12-provided-in-any}/builds/default/configuration.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root/builds/with-npm => typescript-angular-v12-provided-in-any/builds/default}/encoder.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root/builds/with-npm => typescript-angular-v12-provided-in-any/builds/default}/git_push.sh (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root/builds/with-npm => typescript-angular-v12-provided-in-any/builds/default}/index.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v12-provided-in-any}/builds/default/model/apiResponse.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v12-provided-in-any}/builds/default/model/category.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v12-provided-in-any}/builds/default/model/models.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v12-provided-in-any}/builds/default/model/order.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v12-provided-in-any}/builds/default/model/pet.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v12-provided-in-any}/builds/default/model/tag.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v12-provided-in-any}/builds/default/model/user.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root/builds/with-npm => typescript-angular-v12-provided-in-any/builds/default}/variables.ts (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/.editorconfig (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/.gitignore (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/angular.json (92%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/package-lock.json (75%) create mode 100644 samples/client/petstore/typescript-angular-v12-provided-in-root/package.json rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/pom.xml (95%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/.browserslistrc (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/app/app.component.css (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/app/app.component.html (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/app/app.component.spec.ts (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/app/app.component.ts (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/app/app.module.ts (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/environments/environment.prod.ts (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/environments/environment.ts (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/favicon.ico (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/index.html (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/karma.conf.js (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/main.ts (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/polyfills.ts (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/styles.css (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/test.ts (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/test/api.spec.ts (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/test/basePath.spec.ts (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/test/configuration.spec.ts (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/test/fakeBackend.ts (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/test/no-configuration.spec.ts (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/tsconfig.app.json (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/tsconfig.spec.json (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tests/default/src/tslint.json (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tsconfig.json (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v12-provided-in-root}/tslint.json (100%) rename samples/client/petstore/{typescript-angular-v11-oneOf => typescript-angular-v13-oneOf}/builds/default/.gitignore (100%) rename samples/client/petstore/{typescript-angular-v11-oneOf => typescript-angular-v13-oneOf}/builds/default/.openapi-generator-ignore (100%) create mode 100644 samples/client/petstore/typescript-angular-v13-oneOf/builds/default/.openapi-generator/FILES rename samples/client/petstore/{typescript-angular-v11-oneOf => typescript-angular-v13-oneOf}/builds/default/.openapi-generator/VERSION (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v13-oneOf}/builds/default/README.md (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root/builds/with-npm => typescript-angular-v13-oneOf/builds/default}/api.module.ts (87%) create mode 100644 samples/client/petstore/typescript-angular-v13-oneOf/builds/default/api/api.ts create mode 100644 samples/client/petstore/typescript-angular-v13-oneOf/builds/default/api/default.service.ts rename samples/client/petstore/{typescript-angular-v11-provided-in-root/builds/with-npm => typescript-angular-v13-oneOf/builds/default}/configuration.ts (86%) rename samples/client/petstore/{typescript-angular-v11-oneOf => typescript-angular-v13-oneOf}/builds/default/encoder.ts (100%) rename samples/client/petstore/{typescript-angular-v11-oneOf => typescript-angular-v13-oneOf}/builds/default/git_push.sh (100%) rename samples/client/petstore/{typescript-angular-v11-oneOf => typescript-angular-v13-oneOf}/builds/default/index.ts (100%) rename samples/client/petstore/{typescript-angular-v11-oneOf/builds/default/model/banana.ts => typescript-angular-v13-oneOf/builds/default/model/apple.ts} (88%) create mode 100644 samples/client/petstore/typescript-angular-v13-oneOf/builds/default/model/fruit.ts create mode 100644 samples/client/petstore/typescript-angular-v13-oneOf/builds/default/model/grape.ts create mode 100644 samples/client/petstore/typescript-angular-v13-oneOf/builds/default/model/models.ts rename samples/client/petstore/{typescript-angular-v11-oneOf => typescript-angular-v13-oneOf}/builds/default/variables.ts (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v13-provided-in-any}/builds/default/.gitignore (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v13-provided-in-any}/builds/default/.openapi-generator-ignore (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v13-provided-in-any}/builds/default/.openapi-generator/FILES (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v13-provided-in-any}/builds/default/.openapi-generator/VERSION (100%) rename samples/client/petstore/{typescript-angular-v9-provided-in-any => typescript-angular-v13-provided-in-any}/builds/default/README.md (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root/builds/with-npm => typescript-angular-v13-provided-in-any/builds/default}/api.module.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root/builds/with-npm => typescript-angular-v13-provided-in-any/builds/default}/api/api.ts (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v13-provided-in-any}/builds/default/api/pet.service.ts (86%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root => typescript-angular-v13-provided-in-any}/builds/default/api/store.service.ts (84%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root/builds/with-npm => typescript-angular-v13-provided-in-any/builds/default}/api/user.service.ts (84%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root/builds/with-npm => typescript-angular-v13-provided-in-any/builds/default}/configuration.ts (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v13-provided-in-any}/builds/default/encoder.ts (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v13-provided-in-any}/builds/default/git_push.sh (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v13-provided-in-any}/builds/default/index.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root/builds/with-npm => typescript-angular-v13-provided-in-any/builds/default}/model/apiResponse.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root/builds/with-npm => typescript-angular-v13-provided-in-any/builds/default}/model/category.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root/builds/with-npm => typescript-angular-v13-provided-in-any/builds/default}/model/models.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root/builds/with-npm => typescript-angular-v13-provided-in-any/builds/default}/model/order.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root/builds/with-npm => typescript-angular-v13-provided-in-any/builds/default}/model/pet.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root/builds/with-npm => typescript-angular-v13-provided-in-any/builds/default}/model/tag.ts (100%) rename samples/client/petstore/{typescript-angular-v10-provided-in-root/builds/with-npm => typescript-angular-v13-provided-in-any/builds/default}/model/user.ts (100%) rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v13-provided-in-any}/builds/default/variables.ts (100%) create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/.editorconfig create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/.gitignore create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/angular.json create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/package-lock.json rename samples/client/petstore/{typescript-angular-v11-provided-in-root => typescript-angular-v13-provided-in-root}/package.json (53%) create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/.browserslistrc create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/app/app.component.css create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/app/app.component.html create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/app/app.component.spec.ts create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/app/app.component.ts create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/app/app.module.ts create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/environments/environment.prod.ts create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/environments/environment.ts create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/favicon.ico create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/index.html create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/karma.conf.js create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/main.ts create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/polyfills.ts create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/styles.css create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test.ts create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/api.spec.ts create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/basePath.spec.ts create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/configuration.spec.ts create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/fakeBackend.ts create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/no-configuration.spec.ts create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/tsconfig.app.json create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/tsconfig.spec.json create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/tslint.json create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tsconfig.json create mode 100644 samples/client/petstore/typescript-angular-v13-provided-in-root/tslint.json delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.gitignore delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.openapi-generator-ignore delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.openapi-generator/FILES delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.openapi-generator/VERSION delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/api.module.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/api/api.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/configuration.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/encoder.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/git_push.sh delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/index.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/apiResponse.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/category.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/models.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/order.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/pet.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/tag.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/user.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/variables.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.gitignore delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.openapi-generator-ignore delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.openapi-generator/FILES delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.openapi-generator/VERSION delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/README.md delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api.module.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api/api.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api/pet.service.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api/store.service.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api/user.service.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/configuration.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/encoder.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/git_push.sh delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/index.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/apiResponse.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/category.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/models.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/order.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/pet.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/tag.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/user.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/variables.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.gitignore delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.openapi-generator-ignore delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.openapi-generator/FILES delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.openapi-generator/VERSION delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/README.md delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api.module.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api/api.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api/pet.service.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api/store.service.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api/user.service.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/configuration.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/encoder.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/git_push.sh delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/index.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/apiResponse.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/category.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/models.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/order.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/pet.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/tag.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/user.ts delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/ng-package.json delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/package.json delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/tsconfig.json delete mode 100644 samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/variables.ts delete mode 100644 samples/client/petstore/typescript-angularjs/.gitignore delete mode 100644 samples/client/petstore/typescript-angularjs/.openapi-generator-ignore delete mode 100644 samples/client/petstore/typescript-angularjs/.openapi-generator/FILES delete mode 100644 samples/client/petstore/typescript-angularjs/.openapi-generator/VERSION delete mode 100644 samples/client/petstore/typescript-angularjs/README.md delete mode 100644 samples/client/petstore/typescript-angularjs/api.module.ts delete mode 100644 samples/client/petstore/typescript-angularjs/api/PetApi.ts delete mode 100644 samples/client/petstore/typescript-angularjs/api/StoreApi.ts delete mode 100644 samples/client/petstore/typescript-angularjs/api/UserApi.ts delete mode 100644 samples/client/petstore/typescript-angularjs/api/api.ts delete mode 100644 samples/client/petstore/typescript-angularjs/git_push.sh delete mode 100644 samples/client/petstore/typescript-angularjs/index.ts delete mode 100644 samples/client/petstore/typescript-angularjs/model/ApiResponse.ts delete mode 100644 samples/client/petstore/typescript-angularjs/model/Category.ts delete mode 100644 samples/client/petstore/typescript-angularjs/model/Order.ts delete mode 100644 samples/client/petstore/typescript-angularjs/model/Pet.ts delete mode 100644 samples/client/petstore/typescript-angularjs/model/Tag.ts delete mode 100644 samples/client/petstore/typescript-angularjs/model/User.ts delete mode 100644 samples/client/petstore/typescript-angularjs/model/models.ts delete mode 100644 samples/client/petstore/typescript-angularjs/package.json delete mode 100644 samples/client/petstore/typescript-angularjs/pom.xml delete mode 100644 samples/client/petstore/typescript-angularjs/tsconfig.json delete mode 100644 samples/client/petstore/typescript-angularjs/tsd.json diff --git a/bin/configs/other/openapi3/typescript-angular-default.yaml b/bin/configs/other/openapi3/typescript-angular-default.yaml index 7870bdd592..0fefcc8f6f 100644 --- a/bin/configs/other/openapi3/typescript-angular-default.yaml +++ b/bin/configs/other/openapi3/typescript-angular-default.yaml @@ -1,6 +1,6 @@ generatorName: typescript-angular -outputDir: samples/client/petstore/typescript-angular-v2/default +outputDir: samples/client/petstore/typescript-angular/default inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml templateDir: modules/openapi-generator/src/main/resources/typescript-angular additionalProperties: - ngVersion: "2" + ngVersion: 13.3.2 diff --git a/bin/configs/other/openapi3/typescript-angular-npm.yaml b/bin/configs/other/openapi3/typescript-angular-npm.yaml index 4234f40f8e..4533bbcd6c 100644 --- a/bin/configs/other/openapi3/typescript-angular-npm.yaml +++ b/bin/configs/other/openapi3/typescript-angular-npm.yaml @@ -1,10 +1,10 @@ generatorName: typescript-angular -outputDir: samples/client/petstore/typescript-angular-v4.3/npm +outputDir: samples/client/petstore/typescript-angular/npm inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml templateDir: modules/openapi-generator/src/main/resources/typescript-angular additionalProperties: npmVersion: 0.0.1 - ngVersion: "4.3" + ngVersion: 13.3.2 npmName: '@openapitools/angular2-typescript-petstore' npmRepository: https://skimdb.npmjs.com/registry snapshot: false diff --git a/bin/configs/other/openapi3/typescript-angular-with-interfaces.yaml b/bin/configs/other/openapi3/typescript-angular-with-interfaces.yaml index 8b5ce23861..2b860ba10b 100644 --- a/bin/configs/other/openapi3/typescript-angular-with-interfaces.yaml +++ b/bin/configs/other/openapi3/typescript-angular-with-interfaces.yaml @@ -1,7 +1,7 @@ generatorName: typescript-angular -outputDir: samples/client/petstore/typescript-angular-v2/with-interfaces +outputDir: samples/client/petstore/typescript-angular/with-interfaces inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml templateDir: modules/openapi-generator/src/main/resources/typescript-angular additionalProperties: withInterfaces: "true" - ngVersion: "2" + ngVersion: 13.3.2 diff --git a/bin/configs/typescript-angular-v10-provided-in-root-with-npm.yaml b/bin/configs/typescript-angular-v10-provided-in-root-with-npm.yaml deleted file mode 100644 index e94546bca6..0000000000 --- a/bin/configs/typescript-angular-v10-provided-in-root-with-npm.yaml +++ /dev/null @@ -1,10 +0,0 @@ -generatorName: typescript-angular -outputDir: samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm -inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml -templateDir: modules/openapi-generator/src/main/resources/typescript-angular -additionalProperties: - ngVersion: 10.0.0 - npmVersion: 1.0.0 - npmName: '@openapitools/typescript-angular-petstore' - npmRepository: https://skimdb.npmjs.com/registry - snapshot: false diff --git a/bin/configs/typescript-angular-v11-provided-in-root-with-npm.yaml b/bin/configs/typescript-angular-v11-provided-in-root-with-npm.yaml deleted file mode 100644 index 7e3bcbbf3c..0000000000 --- a/bin/configs/typescript-angular-v11-provided-in-root-with-npm.yaml +++ /dev/null @@ -1,10 +0,0 @@ -generatorName: typescript-angular -outputDir: samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm -inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml -templateDir: modules/openapi-generator/src/main/resources/typescript-angular -additionalProperties: - ngVersion: 11.0.0 - npmVersion: 1.0.0 - npmName: '@openapitools/typescript-angular-petstore' - npmRepository: https://skimdb.npmjs.com/registry - snapshot: false diff --git a/bin/configs/typescript-angular-v11-provided-in-root.yaml b/bin/configs/typescript-angular-v11-provided-in-root.yaml deleted file mode 100644 index a25b4cbe32..0000000000 --- a/bin/configs/typescript-angular-v11-provided-in-root.yaml +++ /dev/null @@ -1,6 +0,0 @@ -generatorName: typescript-angular -outputDir: samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default -inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml -templateDir: modules/openapi-generator/src/main/resources/typescript-angular -additionalProperties: - ngVersion: 11.0.0 diff --git a/bin/configs/typescript-angular-v11-oneOf.yaml b/bin/configs/typescript-angular-v12-oneOf.yaml similarity index 73% rename from bin/configs/typescript-angular-v11-oneOf.yaml rename to bin/configs/typescript-angular-v12-oneOf.yaml index e86a596865..7d355b753c 100644 --- a/bin/configs/typescript-angular-v11-oneOf.yaml +++ b/bin/configs/typescript-angular-v12-oneOf.yaml @@ -1,6 +1,6 @@ generatorName: typescript-angular -outputDir: samples/client/petstore/typescript-angular-v11-oneOf/builds/default +outputDir: samples/client/petstore/typescript-angular-v12-oneOf/builds/default inputSpec: modules/openapi-generator/src/test/resources/3_0/oneOfArrayMapImport.yaml templateDir: modules/openapi-generator/src/main/resources/typescript-angular additionalProperties: - ngVersion: 11.0.0 + ngVersion: 12.2.0 diff --git a/bin/configs/typescript-angular-v9-provided-in-any.yaml b/bin/configs/typescript-angular-v12-provided-in-any.yaml similarity index 67% rename from bin/configs/typescript-angular-v9-provided-in-any.yaml rename to bin/configs/typescript-angular-v12-provided-in-any.yaml index 22bee99305..3cc0d756b3 100644 --- a/bin/configs/typescript-angular-v9-provided-in-any.yaml +++ b/bin/configs/typescript-angular-v12-provided-in-any.yaml @@ -1,7 +1,7 @@ generatorName: typescript-angular -outputDir: samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default +outputDir: samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml templateDir: modules/openapi-generator/src/main/resources/typescript-angular additionalProperties: - ngVersion: 9.0.0 + ngVersion: 12.2.0 providedIn: any diff --git a/bin/configs/typescript-angular-v13-oneOf.yaml b/bin/configs/typescript-angular-v13-oneOf.yaml new file mode 100644 index 0000000000..7bc65fcbdd --- /dev/null +++ b/bin/configs/typescript-angular-v13-oneOf.yaml @@ -0,0 +1,6 @@ +generatorName: typescript-angular +outputDir: samples/client/petstore/typescript-angular-v13-oneOf/builds/default +inputSpec: modules/openapi-generator/src/test/resources/3_0/oneOfArrayMapImport.yaml +templateDir: modules/openapi-generator/src/main/resources/typescript-angular +additionalProperties: + ngVersion: 13.0.1 diff --git a/bin/configs/typescript-angular-v10-provided-in-root.yaml b/bin/configs/typescript-angular-v13-provided-in-any.yaml similarity index 61% rename from bin/configs/typescript-angular-v10-provided-in-root.yaml rename to bin/configs/typescript-angular-v13-provided-in-any.yaml index 65a195cb46..5cf16a7e0e 100644 --- a/bin/configs/typescript-angular-v10-provided-in-root.yaml +++ b/bin/configs/typescript-angular-v13-provided-in-any.yaml @@ -1,6 +1,7 @@ generatorName: typescript-angular -outputDir: samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default +outputDir: samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml templateDir: modules/openapi-generator/src/main/resources/typescript-angular additionalProperties: - ngVersion: 10.0.0 + ngVersion: 13.0.1 + providedIn: any diff --git a/bin/configs/typescript-angular-v9-provided-in-root-with-npm.yaml b/bin/configs/typescript-angular-v9-provided-in-root-with-npm.yaml deleted file mode 100644 index df3775b9dd..0000000000 --- a/bin/configs/typescript-angular-v9-provided-in-root-with-npm.yaml +++ /dev/null @@ -1,10 +0,0 @@ -generatorName: typescript-angular -outputDir: samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm -inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml -templateDir: modules/openapi-generator/src/main/resources/typescript-angular -additionalProperties: - ngVersion: 9.0.0 - npmVersion: 1.0.0 - npmName: '@openapitools/typescript-angular-petstore' - npmRepository: https://skimdb.npmjs.com/registry - snapshot: false diff --git a/bin/configs/typescript-angular-v9-provided-in-root.yaml b/bin/configs/typescript-angular-v9-provided-in-root.yaml deleted file mode 100644 index f32176dc72..0000000000 --- a/bin/configs/typescript-angular-v9-provided-in-root.yaml +++ /dev/null @@ -1,6 +0,0 @@ -generatorName: typescript-angular -outputDir: samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default -inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml -templateDir: modules/openapi-generator/src/main/resources/typescript-angular -additionalProperties: - ngVersion: 9.0.0 diff --git a/pom.xml b/pom.xml index f62d968ab6..3ad05ef1fb 100644 --- a/pom.xml +++ b/pom.xml @@ -1208,7 +1208,7 @@ samples/client/petstore/typescript-nestjs-v6-provided-in-root--> - samples/client/petstore/typescript-angular-v11-provided-in-root + samples/client/petstore/typescript-angular-v12-provided-in-root samples/client/petstore/typescript-angular-v13-provided-in-root samples/openapi3/client/petstore/typescript/builds/default samples/openapi3/client/petstore/typescript/tests/default diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/api/pet.service.ts b/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/api/pet.service.ts deleted file mode 100644 index e7a21a8ff1..0000000000 --- a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/api/pet.service.ts +++ /dev/null @@ -1,672 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/* tslint:disable:no-unused-variable member-ordering */ - -import { Inject, Injectable, Optional } from '@angular/core'; -import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec - } from '@angular/common/http'; -import { CustomHttpParameterCodec } from '../encoder'; -import { Observable } from 'rxjs'; - -// @ts-ignore -import { ApiResponse } from '../model/apiResponse'; -// @ts-ignore -import { Pet } from '../model/pet'; - -// @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; - - - -@Injectable({ - providedIn: 'root' -}) -export class PetService { - - protected basePath = 'http://petstore.swagger.io/v2'; - public defaultHeaders = new HttpHeaders(); - public configuration = new Configuration(); - public encoder: HttpParameterCodec; - - constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { - if (configuration) { - this.configuration = configuration; - } - if (typeof this.configuration.basePath !== 'string') { - if (typeof basePath !== 'string') { - basePath = this.basePath; - } - this.configuration.basePath = basePath; - } - this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); - } - - /** - * @param consumes string[] mime-types - * @return true: consumes contains 'multipart/form-data', false: otherwise - */ - private canConsumeForm(consumes: string[]): boolean { - const form = 'multipart/form-data'; - for (const consume of consumes) { - if (form === consume) { - return true; - } - } - return false; - } - - private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { - if (typeof value === "object" && value instanceof Date === false) { - httpParams = this.addToHttpParamsRecursive(httpParams, value); - } else { - httpParams = this.addToHttpParamsRecursive(httpParams, value, key); - } - return httpParams; - } - - private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { - if (value == null) { - return httpParams; - } - - if (typeof value === "object") { - if (Array.isArray(value)) { - (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); - } else if (value instanceof Date) { - if (key != null) { - httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10)); - } else { - throw Error("key may not be null if value is Date"); - } - } else { - Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( - httpParams, value[k], key != null ? `${key}.${k}` : k)); - } - } else if (key != null) { - httpParams = httpParams.append(key, value); - } else { - throw Error("key may not be null if value is not object or array"); - } - return httpParams; - } - - /** - * Add a new pet to the store - * @param body Pet object that needs to be added to the store - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public addPet(body: Pet, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public addPet(body: Pet, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public addPet(body: Pet, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public addPet(body: Pet, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling addPet.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/json', - 'application/xml' - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/pet`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Deletes a pet - * @param petId Pet id to delete - * @param apiKey - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public deletePet(petId: number, apiKey?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deletePet(petId: number, apiKey?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deletePet(petId: number, apiKey?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deletePet(petId: number, apiKey?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling deletePet.'); - } - - let localVarHeaders = this.defaultHeaders; - if (apiKey !== undefined && apiKey !== null) { - localVarHeaders = localVarHeaders.set('api_key', String(apiKey)); - } - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.delete(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Finds Pets by status - * Multiple status values can be provided with comma separated strings - * @param status Status values that need to be considered for filter - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (status === null || status === undefined) { - throw new Error('Required parameter status was null or undefined when calling findPetsByStatus.'); - } - - let localVarQueryParameters = new HttpParams({encoder: this.encoder}); - if (status) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - status.join(COLLECTION_FORMATS['csv']), 'status'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get>(`${this.configuration.basePath}/pet/findByStatus`, - { - params: localVarQueryParameters, - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Finds Pets by tags - * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. - * @param tags Tags to filter by - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - * @deprecated - */ - public findPetsByTags(tags: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public findPetsByTags(tags: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByTags(tags: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByTags(tags: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (tags === null || tags === undefined) { - throw new Error('Required parameter tags was null or undefined when calling findPetsByTags.'); - } - - let localVarQueryParameters = new HttpParams({encoder: this.encoder}); - if (tags) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - tags.join(COLLECTION_FORMATS['csv']), 'tags'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get>(`${this.configuration.basePath}/pet/findByTags`, - { - params: localVarQueryParameters, - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Find pet by ID - * Returns a single pet - * @param petId ID of pet to return - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getPetById(petId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getPetById(petId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getPetById(petId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getPetById(petId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling getPetById.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (api_key) required - localVarCredential = this.configuration.lookupCredential('api_key'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('api_key', localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Update an existing pet - * @param body Pet object that needs to be added to the store - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public updatePet(body: Pet, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updatePet(body: Pet, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePet(body: Pet, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePet(body: Pet, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling updatePet.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/json', - 'application/xml' - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.put(`${this.configuration.basePath}/pet`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Updates a pet in the store with form data - * @param petId ID of pet that needs to be updated - * @param name Updated name of the pet - * @param status Updated status of the pet - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePetWithForm(petId: number, name?: string, status?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling updatePetWithForm.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/x-www-form-urlencoded' - ]; - - const canConsumeForm = this.canConsumeForm(consumes); - - let localVarFormParams: { append(param: string, value: any): any; }; - let localVarUseForm = false; - let localVarConvertFormParamsToString = false; - if (localVarUseForm) { - localVarFormParams = new FormData(); - } else { - localVarFormParams = new HttpParams({encoder: this.encoder}); - } - - if (name !== undefined) { - localVarFormParams = localVarFormParams.append('name', name) as any || localVarFormParams; - } - if (status !== undefined) { - localVarFormParams = localVarFormParams.append('status', status) as any || localVarFormParams; - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, - localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * uploads an image - * @param petId ID of pet to update - * @param additionalMetadata Additional data to pass to server - * @param file file to upload - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json',}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling uploadFile.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - // to determine the Content-Type header - const consumes: string[] = [ - 'multipart/form-data' - ]; - - const canConsumeForm = this.canConsumeForm(consumes); - - let localVarFormParams: { append(param: string, value: any): any; }; - let localVarUseForm = false; - let localVarConvertFormParamsToString = false; - // use FormData to transmit files using content-type "multipart/form-data" - // see https://stackoverflow.com/questions/4007969/application-x-www-form-urlencoded-or-multipart-form-data - localVarUseForm = canConsumeForm; - if (localVarUseForm) { - localVarFormParams = new FormData(); - } else { - localVarFormParams = new HttpParams({encoder: this.encoder}); - } - - if (additionalMetadata !== undefined) { - localVarFormParams = localVarFormParams.append('additionalMetadata', additionalMetadata) as any || localVarFormParams; - } - if (file !== undefined) { - localVarFormParams = localVarFormParams.append('file', file) as any || localVarFormParams; - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}/uploadImage`, - localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - -} diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/api/user.service.ts b/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/api/user.service.ts deleted file mode 100644 index 2a3277c524..0000000000 --- a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/api/user.service.ts +++ /dev/null @@ -1,555 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/* tslint:disable:no-unused-variable member-ordering */ - -import { Inject, Injectable, Optional } from '@angular/core'; -import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec - } from '@angular/common/http'; -import { CustomHttpParameterCodec } from '../encoder'; -import { Observable } from 'rxjs'; - -// @ts-ignore -import { User } from '../model/user'; - -// @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; - - - -@Injectable({ - providedIn: 'root' -}) -export class UserService { - - protected basePath = 'http://petstore.swagger.io/v2'; - public defaultHeaders = new HttpHeaders(); - public configuration = new Configuration(); - public encoder: HttpParameterCodec; - - constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { - if (configuration) { - this.configuration = configuration; - } - if (typeof this.configuration.basePath !== 'string') { - if (typeof basePath !== 'string') { - basePath = this.basePath; - } - this.configuration.basePath = basePath; - } - this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); - } - - - private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { - if (typeof value === "object" && value instanceof Date === false) { - httpParams = this.addToHttpParamsRecursive(httpParams, value); - } else { - httpParams = this.addToHttpParamsRecursive(httpParams, value, key); - } - return httpParams; - } - - private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { - if (value == null) { - return httpParams; - } - - if (typeof value === "object") { - if (Array.isArray(value)) { - (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); - } else if (value instanceof Date) { - if (key != null) { - httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10)); - } else { - throw Error("key may not be null if value is Date"); - } - } else { - Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( - httpParams, value[k], key != null ? `${key}.${k}` : k)); - } - } else if (key != null) { - httpParams = httpParams.append(key, value); - } else { - throw Error("key may not be null if value is not object or array"); - } - return httpParams; - } - - /** - * Create user - * This can only be done by the logged in user. - * @param body Created user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public createUser(body: User, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUser(body: User, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUser(body: User, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUser(body: User, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling createUser.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/user`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Creates list of users with given input array - * @param body List of user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public createUsersWithArrayInput(body: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUsersWithArrayInput(body: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithArrayInput(body: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithArrayInput(body: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling createUsersWithArrayInput.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/user/createWithArray`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Creates list of users with given input array - * @param body List of user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public createUsersWithListInput(body: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUsersWithListInput(body: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithListInput(body: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithListInput(body: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling createUsersWithListInput.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/user/createWithList`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Delete user - * This can only be done by the logged in user. - * @param username The name that needs to be deleted - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public deleteUser(username: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deleteUser(username: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteUser(username: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteUser(username: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling deleteUser.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.delete(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Get user by user name - * @param username The name that needs to be fetched. Use user1 for testing. - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getUserByName(username: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getUserByName(username: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getUserByName(username: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getUserByName(username: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling getUserByName.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Logs user into the system - * @param username The user name for login - * @param password The password for login in clear text - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public loginUser(username: string, password: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public loginUser(username: string, password: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public loginUser(username: string, password: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public loginUser(username: string, password: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling loginUser.'); - } - if (password === null || password === undefined) { - throw new Error('Required parameter password was null or undefined when calling loginUser.'); - } - - let localVarQueryParameters = new HttpParams({encoder: this.encoder}); - if (username !== undefined && username !== null) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - username, 'username'); - } - if (password !== undefined && password !== null) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - password, 'password'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/user/login`, - { - params: localVarQueryParameters, - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Logs out current logged in user session - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public logoutUser(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public logoutUser(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public logoutUser(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public logoutUser(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/user/logout`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Updated user - * This can only be done by the logged in user. - * @param username name that need to be deleted - * @param body Updated user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public updateUser(username: string, body: User, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updateUser(username: string, body: User, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updateUser(username: string, body: User, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updateUser(username: string, body: User, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling updateUser.'); - } - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling updateUser.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.put(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - -} diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/.openapi-generator/FILES deleted file mode 100644 index 5db7bd7636..0000000000 --- a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/.openapi-generator/FILES +++ /dev/null @@ -1,22 +0,0 @@ -.gitignore -README.md -api.module.ts -api/api.ts -api/pet.service.ts -api/store.service.ts -api/user.service.ts -configuration.ts -encoder.ts -git_push.sh -index.ts -model/apiResponse.ts -model/category.ts -model/models.ts -model/order.ts -model/pet.ts -model/tag.ts -model/user.ts -ng-package.json -package.json -tsconfig.json -variables.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/README.md b/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/README.md deleted file mode 100644 index 000c51d694..0000000000 --- a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/README.md +++ /dev/null @@ -1,203 +0,0 @@ -## @openapitools/typescript-angular-petstore@1.0.0 - -### Building - -To install the required dependencies and to build the typescript sources run: -``` -npm install -npm run build -``` - -### publishing - -First build the package then run ```npm publish dist``` (don't forget to specify the `dist` folder!) - -### consuming - -Navigate to the folder of your consuming project and run one of next commands. - -_published:_ - -``` -npm install @openapitools/typescript-angular-petstore@1.0.0 --save -``` - -_without publishing (not recommended):_ - -``` -npm install PATH_TO_GENERATED_PACKAGE/dist.tgz --save -``` - -_It's important to take the tgz file, otherwise you'll get trouble with links on windows_ - -_using `npm link`:_ - -In PATH_TO_GENERATED_PACKAGE/dist: -``` -npm link -``` - -In your project: -``` -npm link @openapitools/typescript-angular-petstore -``` - -__Note for Windows users:__ The Angular CLI has troubles to use linked npm packages. -Please refer to this issue https://github.com/angular/angular-cli/issues/8284 for a solution / workaround. -Published packages are not effected by this issue. - - -#### General usage - -In your Angular project: - - -``` -// without configuring providers -import { ApiModule } from '@openapitools/typescript-angular-petstore'; -import { HttpClientModule } from '@angular/common/http'; - -@NgModule({ - imports: [ - ApiModule, - // make sure to import the HttpClientModule in the AppModule only, - // see https://github.com/angular/angular/issues/20575 - HttpClientModule - ], - declarations: [ AppComponent ], - providers: [], - bootstrap: [ AppComponent ] -}) -export class AppModule {} -``` - -``` -// configuring providers -import { ApiModule, Configuration, ConfigurationParameters } from '@openapitools/typescript-angular-petstore'; - -export function apiConfigFactory (): Configuration { - const params: ConfigurationParameters = { - // set configuration parameters here. - } - return new Configuration(params); -} - -@NgModule({ - imports: [ ApiModule.forRoot(apiConfigFactory) ], - declarations: [ AppComponent ], - providers: [], - bootstrap: [ AppComponent ] -}) -export class AppModule {} -``` - -``` -// configuring providers with an authentication service that manages your access tokens -import { ApiModule, Configuration } from '@openapitools/typescript-angular-petstore'; - -@NgModule({ - imports: [ ApiModule ], - declarations: [ AppComponent ], - providers: [ - { - provide: Configuration, - useFactory: (authService: AuthService) => new Configuration( - { - basePath: environment.apiUrl, - accessToken: authService.getAccessToken.bind(authService) - } - ), - deps: [AuthService], - multi: false - } - ], - bootstrap: [ AppComponent ] -}) -export class AppModule {} -``` - -``` -import { DefaultApi } from '@openapitools/typescript-angular-petstore'; - -export class AppComponent { - constructor(private apiGateway: DefaultApi) { } -} -``` - -Note: The ApiModule is restricted to being instantiated once app wide. -This is to ensure that all services are treated as singletons. - -#### Using multiple OpenAPI files / APIs / ApiModules -In order to use multiple `ApiModules` generated from different OpenAPI files, -you can create an alias name when importing the modules -in order to avoid naming conflicts: -``` -import { ApiModule } from 'my-api-path'; -import { ApiModule as OtherApiModule } from 'my-other-api-path'; -import { HttpClientModule } from '@angular/common/http'; - -@NgModule({ - imports: [ - ApiModule, - OtherApiModule, - // make sure to import the HttpClientModule in the AppModule only, - // see https://github.com/angular/angular/issues/20575 - HttpClientModule - ] -}) -export class AppModule { - -} -``` - - -### Set service base path -If different than the generated base path, during app bootstrap, you can provide the base path to your service. - -``` -import { BASE_PATH } from '@openapitools/typescript-angular-petstore'; - -bootstrap(AppComponent, [ - { provide: BASE_PATH, useValue: 'https://your-web-service.com' }, -]); -``` -or - -``` -import { BASE_PATH } from '@openapitools/typescript-angular-petstore'; - -@NgModule({ - imports: [], - declarations: [ AppComponent ], - providers: [ provide: BASE_PATH, useValue: 'https://your-web-service.com' ], - bootstrap: [ AppComponent ] -}) -export class AppModule {} -``` - - -#### Using @angular/cli -First extend your `src/environments/*.ts` files by adding the corresponding base path: - -``` -export const environment = { - production: false, - API_BASE_PATH: 'http://127.0.0.1:8080' -}; -``` - -In the src/app/app.module.ts: -``` -import { BASE_PATH } from '@openapitools/typescript-angular-petstore'; -import { environment } from '../environments/environment'; - -@NgModule({ - declarations: [ - AppComponent - ], - imports: [ ], - providers: [{ provide: BASE_PATH, useValue: environment.API_BASE_PATH }], - bootstrap: [ AppComponent ] -}) -export class AppModule { } -``` diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/api/pet.service.ts b/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/api/pet.service.ts deleted file mode 100644 index e7a21a8ff1..0000000000 --- a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/api/pet.service.ts +++ /dev/null @@ -1,672 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/* tslint:disable:no-unused-variable member-ordering */ - -import { Inject, Injectable, Optional } from '@angular/core'; -import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec - } from '@angular/common/http'; -import { CustomHttpParameterCodec } from '../encoder'; -import { Observable } from 'rxjs'; - -// @ts-ignore -import { ApiResponse } from '../model/apiResponse'; -// @ts-ignore -import { Pet } from '../model/pet'; - -// @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; - - - -@Injectable({ - providedIn: 'root' -}) -export class PetService { - - protected basePath = 'http://petstore.swagger.io/v2'; - public defaultHeaders = new HttpHeaders(); - public configuration = new Configuration(); - public encoder: HttpParameterCodec; - - constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { - if (configuration) { - this.configuration = configuration; - } - if (typeof this.configuration.basePath !== 'string') { - if (typeof basePath !== 'string') { - basePath = this.basePath; - } - this.configuration.basePath = basePath; - } - this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); - } - - /** - * @param consumes string[] mime-types - * @return true: consumes contains 'multipart/form-data', false: otherwise - */ - private canConsumeForm(consumes: string[]): boolean { - const form = 'multipart/form-data'; - for (const consume of consumes) { - if (form === consume) { - return true; - } - } - return false; - } - - private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { - if (typeof value === "object" && value instanceof Date === false) { - httpParams = this.addToHttpParamsRecursive(httpParams, value); - } else { - httpParams = this.addToHttpParamsRecursive(httpParams, value, key); - } - return httpParams; - } - - private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { - if (value == null) { - return httpParams; - } - - if (typeof value === "object") { - if (Array.isArray(value)) { - (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); - } else if (value instanceof Date) { - if (key != null) { - httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10)); - } else { - throw Error("key may not be null if value is Date"); - } - } else { - Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( - httpParams, value[k], key != null ? `${key}.${k}` : k)); - } - } else if (key != null) { - httpParams = httpParams.append(key, value); - } else { - throw Error("key may not be null if value is not object or array"); - } - return httpParams; - } - - /** - * Add a new pet to the store - * @param body Pet object that needs to be added to the store - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public addPet(body: Pet, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public addPet(body: Pet, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public addPet(body: Pet, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public addPet(body: Pet, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling addPet.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/json', - 'application/xml' - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/pet`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Deletes a pet - * @param petId Pet id to delete - * @param apiKey - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public deletePet(petId: number, apiKey?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deletePet(petId: number, apiKey?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deletePet(petId: number, apiKey?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deletePet(petId: number, apiKey?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling deletePet.'); - } - - let localVarHeaders = this.defaultHeaders; - if (apiKey !== undefined && apiKey !== null) { - localVarHeaders = localVarHeaders.set('api_key', String(apiKey)); - } - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.delete(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Finds Pets by status - * Multiple status values can be provided with comma separated strings - * @param status Status values that need to be considered for filter - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (status === null || status === undefined) { - throw new Error('Required parameter status was null or undefined when calling findPetsByStatus.'); - } - - let localVarQueryParameters = new HttpParams({encoder: this.encoder}); - if (status) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - status.join(COLLECTION_FORMATS['csv']), 'status'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get>(`${this.configuration.basePath}/pet/findByStatus`, - { - params: localVarQueryParameters, - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Finds Pets by tags - * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. - * @param tags Tags to filter by - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - * @deprecated - */ - public findPetsByTags(tags: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public findPetsByTags(tags: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByTags(tags: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByTags(tags: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (tags === null || tags === undefined) { - throw new Error('Required parameter tags was null or undefined when calling findPetsByTags.'); - } - - let localVarQueryParameters = new HttpParams({encoder: this.encoder}); - if (tags) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - tags.join(COLLECTION_FORMATS['csv']), 'tags'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get>(`${this.configuration.basePath}/pet/findByTags`, - { - params: localVarQueryParameters, - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Find pet by ID - * Returns a single pet - * @param petId ID of pet to return - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getPetById(petId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getPetById(petId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getPetById(petId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getPetById(petId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling getPetById.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (api_key) required - localVarCredential = this.configuration.lookupCredential('api_key'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('api_key', localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Update an existing pet - * @param body Pet object that needs to be added to the store - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public updatePet(body: Pet, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updatePet(body: Pet, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePet(body: Pet, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePet(body: Pet, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling updatePet.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/json', - 'application/xml' - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.put(`${this.configuration.basePath}/pet`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Updates a pet in the store with form data - * @param petId ID of pet that needs to be updated - * @param name Updated name of the pet - * @param status Updated status of the pet - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePetWithForm(petId: number, name?: string, status?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling updatePetWithForm.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/x-www-form-urlencoded' - ]; - - const canConsumeForm = this.canConsumeForm(consumes); - - let localVarFormParams: { append(param: string, value: any): any; }; - let localVarUseForm = false; - let localVarConvertFormParamsToString = false; - if (localVarUseForm) { - localVarFormParams = new FormData(); - } else { - localVarFormParams = new HttpParams({encoder: this.encoder}); - } - - if (name !== undefined) { - localVarFormParams = localVarFormParams.append('name', name) as any || localVarFormParams; - } - if (status !== undefined) { - localVarFormParams = localVarFormParams.append('status', status) as any || localVarFormParams; - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, - localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * uploads an image - * @param petId ID of pet to update - * @param additionalMetadata Additional data to pass to server - * @param file file to upload - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json',}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling uploadFile.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - // to determine the Content-Type header - const consumes: string[] = [ - 'multipart/form-data' - ]; - - const canConsumeForm = this.canConsumeForm(consumes); - - let localVarFormParams: { append(param: string, value: any): any; }; - let localVarUseForm = false; - let localVarConvertFormParamsToString = false; - // use FormData to transmit files using content-type "multipart/form-data" - // see https://stackoverflow.com/questions/4007969/application-x-www-form-urlencoded-or-multipart-form-data - localVarUseForm = canConsumeForm; - if (localVarUseForm) { - localVarFormParams = new FormData(); - } else { - localVarFormParams = new HttpParams({encoder: this.encoder}); - } - - if (additionalMetadata !== undefined) { - localVarFormParams = localVarFormParams.append('additionalMetadata', additionalMetadata) as any || localVarFormParams; - } - if (file !== undefined) { - localVarFormParams = localVarFormParams.append('file', file) as any || localVarFormParams; - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}/uploadImage`, - localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - -} diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/api/store.service.ts b/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/api/store.service.ts deleted file mode 100644 index 942714e216..0000000000 --- a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/api/store.service.ts +++ /dev/null @@ -1,313 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/* tslint:disable:no-unused-variable member-ordering */ - -import { Inject, Injectable, Optional } from '@angular/core'; -import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec - } from '@angular/common/http'; -import { CustomHttpParameterCodec } from '../encoder'; -import { Observable } from 'rxjs'; - -// @ts-ignore -import { Order } from '../model/order'; - -// @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; - - - -@Injectable({ - providedIn: 'root' -}) -export class StoreService { - - protected basePath = 'http://petstore.swagger.io/v2'; - public defaultHeaders = new HttpHeaders(); - public configuration = new Configuration(); - public encoder: HttpParameterCodec; - - constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { - if (configuration) { - this.configuration = configuration; - } - if (typeof this.configuration.basePath !== 'string') { - if (typeof basePath !== 'string') { - basePath = this.basePath; - } - this.configuration.basePath = basePath; - } - this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); - } - - - private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { - if (typeof value === "object" && value instanceof Date === false) { - httpParams = this.addToHttpParamsRecursive(httpParams, value); - } else { - httpParams = this.addToHttpParamsRecursive(httpParams, value, key); - } - return httpParams; - } - - private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { - if (value == null) { - return httpParams; - } - - if (typeof value === "object") { - if (Array.isArray(value)) { - (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); - } else if (value instanceof Date) { - if (key != null) { - httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10)); - } else { - throw Error("key may not be null if value is Date"); - } - } else { - Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( - httpParams, value[k], key != null ? `${key}.${k}` : k)); - } - } else if (key != null) { - httpParams = httpParams.append(key, value); - } else { - throw Error("key may not be null if value is not object or array"); - } - return httpParams; - } - - /** - * Delete purchase order by ID - * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - * @param orderId ID of the order that needs to be deleted - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public deleteOrder(orderId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deleteOrder(orderId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteOrder(orderId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteOrder(orderId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (orderId === null || orderId === undefined) { - throw new Error('Required parameter orderId was null or undefined when calling deleteOrder.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.delete(`${this.configuration.basePath}/store/order/${encodeURIComponent(String(orderId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Returns pet inventories by status - * Returns a map of status codes to quantities - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getInventory(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable<{ [key: string]: number; }>; - public getInventory(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public getInventory(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public getInventory(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json',}): Observable { - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (api_key) required - localVarCredential = this.configuration.lookupCredential('api_key'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('api_key', localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get<{ [key: string]: number; }>(`${this.configuration.basePath}/store/inventory`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Find purchase order by ID - * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions - * @param orderId ID of pet that needs to be fetched - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getOrderById(orderId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getOrderById(orderId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getOrderById(orderId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getOrderById(orderId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (orderId === null || orderId === undefined) { - throw new Error('Required parameter orderId was null or undefined when calling getOrderById.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/store/order/${encodeURIComponent(String(orderId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Place an order for a pet - * @param body order placed for purchasing the pet - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public placeOrder(body: Order, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public placeOrder(body: Order, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public placeOrder(body: Order, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public placeOrder(body: Order, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling placeOrder.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/store/order`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - -} diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/ng-package.json b/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/ng-package.json deleted file mode 100644 index 3b17900dc9..0000000000 --- a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/ng-package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "./node_modules/ng-packagr/ng-package.schema.json", - "lib": { - "entryFile": "index.ts" - } -} diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/package.json b/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/package.json deleted file mode 100644 index 609606d8f0..0000000000 --- a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/package.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "@openapitools/typescript-angular-petstore", - "version": "1.0.0", - "description": "OpenAPI client for @openapitools/typescript-angular-petstore", - "author": "OpenAPI-Generator Contributors", - "repository": { - "type": "git", - "url": "https://github.com/GIT_USER_ID/GIT_REPO_ID.git" - }, - "keywords": [ - "openapi-client", - "openapi-generator" - ], - "license": "Unlicense", - "scripts": { - "build": "ng-packagr -p ng-package.json" - }, - "peerDependencies": { - "@angular/core": "^10.0.0", - "rxjs": "^6.6.0" - }, - "devDependencies": { - "@angular/common": "^10.0.0", - "@angular/compiler": "^10.0.0", - "@angular/compiler-cli": "^10.0.0", - "@angular/core": "^10.0.0", - "@angular/platform-browser": "^10.0.0", - "ng-packagr": "^10.0.3", - "reflect-metadata": "^0.1.3", - "rxjs": "^6.6.0", - "tsickle": "^0.39.1", - "typescript": ">=3.9.2 <4.0.0", - "zone.js": "^0.10.2" - }, - "publishConfig": { - "registry": "https://skimdb.npmjs.com/registry" - } -} diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/tsconfig.json b/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/tsconfig.json deleted file mode 100644 index c01ebe255d..0000000000 --- a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/tsconfig.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "noImplicitAny": false, - "suppressImplicitAnyIndexErrors": true, - "target": "es5", - "module": "commonjs", - "moduleResolution": "node", - "removeComments": true, - "sourceMap": true, - "outDir": "./dist", - "noLib": false, - "declaration": true, - "lib": [ "es6", "dom" ], - "typeRoots": [ - "node_modules/@types" - ] - }, - "exclude": [ - "node_modules", - "dist" - ], - "filesGlob": [ - "./model/*.ts", - "./api/*.ts" - ] -} diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/api.module.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/api.module.ts deleted file mode 100644 index 2afb8f64e9..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/api.module.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; -import { Configuration } from './configuration'; -import { HttpClient } from '@angular/common/http'; - -import { PetService } from './api/pet.service'; -import { StoreService } from './api/store.service'; -import { UserService } from './api/user.service'; - -@NgModule({ - imports: [], - declarations: [], - exports: [], - providers: [] -}) -export class ApiModule { - public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders { - return { - ngModule: ApiModule, - providers: [ { provide: Configuration, useFactory: configurationFactory } ] - }; - } - - constructor( @Optional() @SkipSelf() parentModule: ApiModule, - @Optional() http: HttpClient) { - if (parentModule) { - throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); - } - if (!http) { - throw new Error('You need to import the HttpClientModule in your AppModule! \n' + - 'See also https://github.com/angular/angular/issues/20575'); - } - } -} diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/api/api.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/api/api.ts deleted file mode 100644 index 8e44b64083..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/api/api.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './pet.service'; -import { PetService } from './pet.service'; -export * from './store.service'; -import { StoreService } from './store.service'; -export * from './user.service'; -import { UserService } from './user.service'; -export const APIS = [PetService, StoreService, UserService]; diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/api/store.service.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/api/store.service.ts deleted file mode 100644 index 942714e216..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/api/store.service.ts +++ /dev/null @@ -1,313 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/* tslint:disable:no-unused-variable member-ordering */ - -import { Inject, Injectable, Optional } from '@angular/core'; -import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec - } from '@angular/common/http'; -import { CustomHttpParameterCodec } from '../encoder'; -import { Observable } from 'rxjs'; - -// @ts-ignore -import { Order } from '../model/order'; - -// @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; - - - -@Injectable({ - providedIn: 'root' -}) -export class StoreService { - - protected basePath = 'http://petstore.swagger.io/v2'; - public defaultHeaders = new HttpHeaders(); - public configuration = new Configuration(); - public encoder: HttpParameterCodec; - - constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { - if (configuration) { - this.configuration = configuration; - } - if (typeof this.configuration.basePath !== 'string') { - if (typeof basePath !== 'string') { - basePath = this.basePath; - } - this.configuration.basePath = basePath; - } - this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); - } - - - private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { - if (typeof value === "object" && value instanceof Date === false) { - httpParams = this.addToHttpParamsRecursive(httpParams, value); - } else { - httpParams = this.addToHttpParamsRecursive(httpParams, value, key); - } - return httpParams; - } - - private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { - if (value == null) { - return httpParams; - } - - if (typeof value === "object") { - if (Array.isArray(value)) { - (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); - } else if (value instanceof Date) { - if (key != null) { - httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10)); - } else { - throw Error("key may not be null if value is Date"); - } - } else { - Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( - httpParams, value[k], key != null ? `${key}.${k}` : k)); - } - } else if (key != null) { - httpParams = httpParams.append(key, value); - } else { - throw Error("key may not be null if value is not object or array"); - } - return httpParams; - } - - /** - * Delete purchase order by ID - * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - * @param orderId ID of the order that needs to be deleted - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public deleteOrder(orderId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deleteOrder(orderId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteOrder(orderId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteOrder(orderId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (orderId === null || orderId === undefined) { - throw new Error('Required parameter orderId was null or undefined when calling deleteOrder.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.delete(`${this.configuration.basePath}/store/order/${encodeURIComponent(String(orderId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Returns pet inventories by status - * Returns a map of status codes to quantities - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getInventory(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable<{ [key: string]: number; }>; - public getInventory(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public getInventory(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public getInventory(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json',}): Observable { - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (api_key) required - localVarCredential = this.configuration.lookupCredential('api_key'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('api_key', localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get<{ [key: string]: number; }>(`${this.configuration.basePath}/store/inventory`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Find purchase order by ID - * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions - * @param orderId ID of pet that needs to be fetched - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getOrderById(orderId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getOrderById(orderId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getOrderById(orderId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getOrderById(orderId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (orderId === null || orderId === undefined) { - throw new Error('Required parameter orderId was null or undefined when calling getOrderById.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/store/order/${encodeURIComponent(String(orderId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Place an order for a pet - * @param body order placed for purchasing the pet - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public placeOrder(body: Order, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public placeOrder(body: Order, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public placeOrder(body: Order, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public placeOrder(body: Order, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling placeOrder.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/store/order`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - -} diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/api/user.service.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/api/user.service.ts deleted file mode 100644 index 2a3277c524..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/api/user.service.ts +++ /dev/null @@ -1,555 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/* tslint:disable:no-unused-variable member-ordering */ - -import { Inject, Injectable, Optional } from '@angular/core'; -import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec - } from '@angular/common/http'; -import { CustomHttpParameterCodec } from '../encoder'; -import { Observable } from 'rxjs'; - -// @ts-ignore -import { User } from '../model/user'; - -// @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; - - - -@Injectable({ - providedIn: 'root' -}) -export class UserService { - - protected basePath = 'http://petstore.swagger.io/v2'; - public defaultHeaders = new HttpHeaders(); - public configuration = new Configuration(); - public encoder: HttpParameterCodec; - - constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { - if (configuration) { - this.configuration = configuration; - } - if (typeof this.configuration.basePath !== 'string') { - if (typeof basePath !== 'string') { - basePath = this.basePath; - } - this.configuration.basePath = basePath; - } - this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); - } - - - private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { - if (typeof value === "object" && value instanceof Date === false) { - httpParams = this.addToHttpParamsRecursive(httpParams, value); - } else { - httpParams = this.addToHttpParamsRecursive(httpParams, value, key); - } - return httpParams; - } - - private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { - if (value == null) { - return httpParams; - } - - if (typeof value === "object") { - if (Array.isArray(value)) { - (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); - } else if (value instanceof Date) { - if (key != null) { - httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10)); - } else { - throw Error("key may not be null if value is Date"); - } - } else { - Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( - httpParams, value[k], key != null ? `${key}.${k}` : k)); - } - } else if (key != null) { - httpParams = httpParams.append(key, value); - } else { - throw Error("key may not be null if value is not object or array"); - } - return httpParams; - } - - /** - * Create user - * This can only be done by the logged in user. - * @param body Created user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public createUser(body: User, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUser(body: User, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUser(body: User, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUser(body: User, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling createUser.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/user`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Creates list of users with given input array - * @param body List of user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public createUsersWithArrayInput(body: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUsersWithArrayInput(body: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithArrayInput(body: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithArrayInput(body: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling createUsersWithArrayInput.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/user/createWithArray`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Creates list of users with given input array - * @param body List of user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public createUsersWithListInput(body: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUsersWithListInput(body: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithListInput(body: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithListInput(body: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling createUsersWithListInput.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/user/createWithList`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Delete user - * This can only be done by the logged in user. - * @param username The name that needs to be deleted - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public deleteUser(username: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deleteUser(username: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteUser(username: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteUser(username: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling deleteUser.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.delete(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Get user by user name - * @param username The name that needs to be fetched. Use user1 for testing. - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getUserByName(username: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getUserByName(username: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getUserByName(username: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getUserByName(username: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling getUserByName.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Logs user into the system - * @param username The user name for login - * @param password The password for login in clear text - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public loginUser(username: string, password: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public loginUser(username: string, password: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public loginUser(username: string, password: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public loginUser(username: string, password: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling loginUser.'); - } - if (password === null || password === undefined) { - throw new Error('Required parameter password was null or undefined when calling loginUser.'); - } - - let localVarQueryParameters = new HttpParams({encoder: this.encoder}); - if (username !== undefined && username !== null) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - username, 'username'); - } - if (password !== undefined && password !== null) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - password, 'password'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/user/login`, - { - params: localVarQueryParameters, - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Logs out current logged in user session - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public logoutUser(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public logoutUser(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public logoutUser(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public logoutUser(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/user/logout`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Updated user - * This can only be done by the logged in user. - * @param username name that need to be deleted - * @param body Updated user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public updateUser(username: string, body: User, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updateUser(username: string, body: User, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updateUser(username: string, body: User, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updateUser(username: string, body: User, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling updateUser.'); - } - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling updateUser.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.put(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - -} diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/configuration.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/configuration.ts deleted file mode 100644 index 6fc0f80d97..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/configuration.ts +++ /dev/null @@ -1,141 +0,0 @@ -import { HttpParameterCodec } from '@angular/common/http'; - -export interface ConfigurationParameters { - /** - * @deprecated Since 5.0. Use credentials instead - */ - apiKeys?: {[ key: string ]: string}; - username?: string; - password?: string; - /** - * @deprecated Since 5.0. Use credentials instead - */ - accessToken?: string | (() => string); - basePath?: string; - withCredentials?: boolean; - encoder?: HttpParameterCodec; - /** - * The keys are the names in the securitySchemes section of the OpenAPI - * document. They should map to the value used for authentication - * minus any standard prefixes such as 'Basic' or 'Bearer'. - */ - credentials?: {[ key: string ]: string | (() => string | undefined)}; -} - -export class Configuration { - /** - * @deprecated Since 5.0. Use credentials instead - */ - apiKeys?: {[ key: string ]: string}; - username?: string; - password?: string; - /** - * @deprecated Since 5.0. Use credentials instead - */ - accessToken?: string | (() => string); - basePath?: string; - withCredentials?: boolean; - encoder?: HttpParameterCodec; - /** - * The keys are the names in the securitySchemes section of the OpenAPI - * document. They should map to the value used for authentication - * minus any standard prefixes such as 'Basic' or 'Bearer'. - */ - credentials: {[ key: string ]: string | (() => string | undefined)}; - - constructor(configurationParameters: ConfigurationParameters = {}) { - this.apiKeys = configurationParameters.apiKeys; - this.username = configurationParameters.username; - this.password = configurationParameters.password; - this.accessToken = configurationParameters.accessToken; - this.basePath = configurationParameters.basePath; - this.withCredentials = configurationParameters.withCredentials; - this.encoder = configurationParameters.encoder; - if (configurationParameters.credentials) { - this.credentials = configurationParameters.credentials; - } - else { - this.credentials = {}; - } - - // init default api_key credential - if (!this.credentials['api_key']) { - this.credentials['api_key'] = () => { - if (this.apiKeys === null || this.apiKeys === undefined) { - return undefined; - } else { - return this.apiKeys['api_key'] || this.apiKeys['api_key']; - } - }; - } - - // init default petstore_auth credential - if (!this.credentials['petstore_auth']) { - this.credentials['petstore_auth'] = () => { - return typeof this.accessToken === 'function' - ? this.accessToken() - : this.accessToken; - }; - } - } - - /** - * Select the correct content-type to use for a request. - * Uses {@link Configuration#isJsonMime} to determine the correct content-type. - * If no content type is found return the first found type if the contentTypes is not empty - * @param contentTypes - the array of content types that are available for selection - * @returns the selected content-type or undefined if no selection could be made. - */ - public selectHeaderContentType (contentTypes: string[]): string | undefined { - if (contentTypes.length === 0) { - return undefined; - } - - const type = contentTypes.find((x: string) => this.isJsonMime(x)); - if (type === undefined) { - return contentTypes[0]; - } - return type; - } - - /** - * Select the correct accept content-type to use for a request. - * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type. - * If no content type is found return the first found type if the contentTypes is not empty - * @param accepts - the array of content types that are available for selection. - * @returns the selected content-type or undefined if no selection could be made. - */ - public selectHeaderAccept(accepts: string[]): string | undefined { - if (accepts.length === 0) { - return undefined; - } - - const type = accepts.find((x: string) => this.isJsonMime(x)); - if (type === undefined) { - return accepts[0]; - } - return type; - } - - /** - * Check if the given MIME is a JSON MIME. - * JSON MIME examples: - * application/json - * application/json; charset=UTF8 - * APPLICATION/JSON - * application/vnd.company+json - * @param mime - MIME (Multipurpose Internet Mail Extensions) - * @return True if the given MIME is JSON, false otherwise. - */ - public isJsonMime(mime: string): boolean { - const jsonMime: RegExp = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i'); - return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json'); - } - - public lookupCredential(key: string): string | undefined { - const value = this.credentials[key]; - return typeof value === 'function' - ? value() - : value; - } -} diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/apiResponse.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/apiResponse.ts deleted file mode 100644 index 682ba47892..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/apiResponse.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * Describes the result of uploading an image resource - */ -export interface ApiResponse { - code?: number; - type?: string; - message?: string; -} - diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/category.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/category.ts deleted file mode 100644 index b988b6827a..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/category.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * A category for a pet - */ -export interface Category { - id?: number; - name?: string; -} - diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/models.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/models.ts deleted file mode 100644 index 8607c5dabd..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/models.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from './apiResponse'; -export * from './category'; -export * from './order'; -export * from './pet'; -export * from './tag'; -export * from './user'; diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/order.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/order.ts deleted file mode 100644 index a29bebe490..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/order.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * An order for a pets from the pet store - */ -export interface Order { - id?: number; - petId?: number; - quantity?: number; - shipDate?: string; - /** - * Order Status - */ - status?: Order.StatusEnum; - complete?: boolean; -} -export namespace Order { - export type StatusEnum = 'placed' | 'approved' | 'delivered'; - export const StatusEnum = { - Placed: 'placed' as StatusEnum, - Approved: 'approved' as StatusEnum, - Delivered: 'delivered' as StatusEnum - }; -} - - diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/pet.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/pet.ts deleted file mode 100644 index e0404395f9..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/pet.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { Category } from './category'; -import { Tag } from './tag'; - - -/** - * A pet for sale in the pet store - */ -export interface Pet { - id?: number; - category?: Category; - name: string; - photoUrls: Array; - tags?: Array; - /** - * pet status in the store - */ - status?: Pet.StatusEnum; -} -export namespace Pet { - export type StatusEnum = 'available' | 'pending' | 'sold'; - export const StatusEnum = { - Available: 'available' as StatusEnum, - Pending: 'pending' as StatusEnum, - Sold: 'sold' as StatusEnum - }; -} - - diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/tag.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/tag.ts deleted file mode 100644 index b6ff210e8d..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/tag.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * A tag for a pet - */ -export interface Tag { - id?: number; - name?: string; -} - diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/user.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/user.ts deleted file mode 100644 index fce5100530..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/model/user.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * A User who is purchasing from the pet store - */ -export interface User { - id?: number; - username?: string; - firstName?: string; - lastName?: string; - email?: string; - password?: string; - phone?: string; - /** - * User Status - */ - userStatus?: number; -} - diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.gitignore b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.gitignore deleted file mode 100644 index 149b576547..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -wwwroot/*.js -node_modules -typings -dist diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.openapi-generator-ignore b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.openapi-generator-ignore deleted file mode 100644 index 7484ee590a..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.openapi-generator-ignore +++ /dev/null @@ -1,23 +0,0 @@ -# OpenAPI Generator Ignore -# Generated by openapi-generator https://github.com/openapitools/openapi-generator - -# Use this file to prevent files from being overwritten by the generator. -# The patterns follow closely to .gitignore or .dockerignore. - -# As an example, the C# client generator defines ApiClient.cs. -# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: -#ApiClient.cs - -# You can match any string of characters against a directory, file or extension with a single asterisk (*): -#foo/*/qux -# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux - -# You can recursively match patterns against a directory, file or extension with a double asterisk (**): -#foo/**/qux -# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux - -# You can also negate patterns with an exclamation (!). -# For example, you can ignore all files in a docs folder with the file extension .md: -#docs/*.md -# Then explicitly reverse the ignore rule for a single file: -#!docs/README.md diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.openapi-generator/FILES deleted file mode 100644 index 5db7bd7636..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.openapi-generator/FILES +++ /dev/null @@ -1,22 +0,0 @@ -.gitignore -README.md -api.module.ts -api/api.ts -api/pet.service.ts -api/store.service.ts -api/user.service.ts -configuration.ts -encoder.ts -git_push.sh -index.ts -model/apiResponse.ts -model/category.ts -model/models.ts -model/order.ts -model/pet.ts -model/tag.ts -model/user.ts -ng-package.json -package.json -tsconfig.json -variables.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.openapi-generator/VERSION deleted file mode 100644 index 89648de331..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/.openapi-generator/VERSION +++ /dev/null @@ -1 +0,0 @@ -6.0.1-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/README.md b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/README.md deleted file mode 100644 index 000c51d694..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/README.md +++ /dev/null @@ -1,203 +0,0 @@ -## @openapitools/typescript-angular-petstore@1.0.0 - -### Building - -To install the required dependencies and to build the typescript sources run: -``` -npm install -npm run build -``` - -### publishing - -First build the package then run ```npm publish dist``` (don't forget to specify the `dist` folder!) - -### consuming - -Navigate to the folder of your consuming project and run one of next commands. - -_published:_ - -``` -npm install @openapitools/typescript-angular-petstore@1.0.0 --save -``` - -_without publishing (not recommended):_ - -``` -npm install PATH_TO_GENERATED_PACKAGE/dist.tgz --save -``` - -_It's important to take the tgz file, otherwise you'll get trouble with links on windows_ - -_using `npm link`:_ - -In PATH_TO_GENERATED_PACKAGE/dist: -``` -npm link -``` - -In your project: -``` -npm link @openapitools/typescript-angular-petstore -``` - -__Note for Windows users:__ The Angular CLI has troubles to use linked npm packages. -Please refer to this issue https://github.com/angular/angular-cli/issues/8284 for a solution / workaround. -Published packages are not effected by this issue. - - -#### General usage - -In your Angular project: - - -``` -// without configuring providers -import { ApiModule } from '@openapitools/typescript-angular-petstore'; -import { HttpClientModule } from '@angular/common/http'; - -@NgModule({ - imports: [ - ApiModule, - // make sure to import the HttpClientModule in the AppModule only, - // see https://github.com/angular/angular/issues/20575 - HttpClientModule - ], - declarations: [ AppComponent ], - providers: [], - bootstrap: [ AppComponent ] -}) -export class AppModule {} -``` - -``` -// configuring providers -import { ApiModule, Configuration, ConfigurationParameters } from '@openapitools/typescript-angular-petstore'; - -export function apiConfigFactory (): Configuration { - const params: ConfigurationParameters = { - // set configuration parameters here. - } - return new Configuration(params); -} - -@NgModule({ - imports: [ ApiModule.forRoot(apiConfigFactory) ], - declarations: [ AppComponent ], - providers: [], - bootstrap: [ AppComponent ] -}) -export class AppModule {} -``` - -``` -// configuring providers with an authentication service that manages your access tokens -import { ApiModule, Configuration } from '@openapitools/typescript-angular-petstore'; - -@NgModule({ - imports: [ ApiModule ], - declarations: [ AppComponent ], - providers: [ - { - provide: Configuration, - useFactory: (authService: AuthService) => new Configuration( - { - basePath: environment.apiUrl, - accessToken: authService.getAccessToken.bind(authService) - } - ), - deps: [AuthService], - multi: false - } - ], - bootstrap: [ AppComponent ] -}) -export class AppModule {} -``` - -``` -import { DefaultApi } from '@openapitools/typescript-angular-petstore'; - -export class AppComponent { - constructor(private apiGateway: DefaultApi) { } -} -``` - -Note: The ApiModule is restricted to being instantiated once app wide. -This is to ensure that all services are treated as singletons. - -#### Using multiple OpenAPI files / APIs / ApiModules -In order to use multiple `ApiModules` generated from different OpenAPI files, -you can create an alias name when importing the modules -in order to avoid naming conflicts: -``` -import { ApiModule } from 'my-api-path'; -import { ApiModule as OtherApiModule } from 'my-other-api-path'; -import { HttpClientModule } from '@angular/common/http'; - -@NgModule({ - imports: [ - ApiModule, - OtherApiModule, - // make sure to import the HttpClientModule in the AppModule only, - // see https://github.com/angular/angular/issues/20575 - HttpClientModule - ] -}) -export class AppModule { - -} -``` - - -### Set service base path -If different than the generated base path, during app bootstrap, you can provide the base path to your service. - -``` -import { BASE_PATH } from '@openapitools/typescript-angular-petstore'; - -bootstrap(AppComponent, [ - { provide: BASE_PATH, useValue: 'https://your-web-service.com' }, -]); -``` -or - -``` -import { BASE_PATH } from '@openapitools/typescript-angular-petstore'; - -@NgModule({ - imports: [], - declarations: [ AppComponent ], - providers: [ provide: BASE_PATH, useValue: 'https://your-web-service.com' ], - bootstrap: [ AppComponent ] -}) -export class AppModule {} -``` - - -#### Using @angular/cli -First extend your `src/environments/*.ts` files by adding the corresponding base path: - -``` -export const environment = { - production: false, - API_BASE_PATH: 'http://127.0.0.1:8080' -}; -``` - -In the src/app/app.module.ts: -``` -import { BASE_PATH } from '@openapitools/typescript-angular-petstore'; -import { environment } from '../environments/environment'; - -@NgModule({ - declarations: [ - AppComponent - ], - imports: [ ], - providers: [{ provide: BASE_PATH, useValue: environment.API_BASE_PATH }], - bootstrap: [ AppComponent ] -}) -export class AppModule { } -``` diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/api/api.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/api/api.ts deleted file mode 100644 index 8e44b64083..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/api/api.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './pet.service'; -import { PetService } from './pet.service'; -export * from './store.service'; -import { StoreService } from './store.service'; -export * from './user.service'; -import { UserService } from './user.service'; -export const APIS = [PetService, StoreService, UserService]; diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/api/pet.service.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/api/pet.service.ts deleted file mode 100644 index e7a21a8ff1..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/api/pet.service.ts +++ /dev/null @@ -1,672 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/* tslint:disable:no-unused-variable member-ordering */ - -import { Inject, Injectable, Optional } from '@angular/core'; -import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec - } from '@angular/common/http'; -import { CustomHttpParameterCodec } from '../encoder'; -import { Observable } from 'rxjs'; - -// @ts-ignore -import { ApiResponse } from '../model/apiResponse'; -// @ts-ignore -import { Pet } from '../model/pet'; - -// @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; - - - -@Injectable({ - providedIn: 'root' -}) -export class PetService { - - protected basePath = 'http://petstore.swagger.io/v2'; - public defaultHeaders = new HttpHeaders(); - public configuration = new Configuration(); - public encoder: HttpParameterCodec; - - constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { - if (configuration) { - this.configuration = configuration; - } - if (typeof this.configuration.basePath !== 'string') { - if (typeof basePath !== 'string') { - basePath = this.basePath; - } - this.configuration.basePath = basePath; - } - this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); - } - - /** - * @param consumes string[] mime-types - * @return true: consumes contains 'multipart/form-data', false: otherwise - */ - private canConsumeForm(consumes: string[]): boolean { - const form = 'multipart/form-data'; - for (const consume of consumes) { - if (form === consume) { - return true; - } - } - return false; - } - - private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { - if (typeof value === "object" && value instanceof Date === false) { - httpParams = this.addToHttpParamsRecursive(httpParams, value); - } else { - httpParams = this.addToHttpParamsRecursive(httpParams, value, key); - } - return httpParams; - } - - private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { - if (value == null) { - return httpParams; - } - - if (typeof value === "object") { - if (Array.isArray(value)) { - (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); - } else if (value instanceof Date) { - if (key != null) { - httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10)); - } else { - throw Error("key may not be null if value is Date"); - } - } else { - Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( - httpParams, value[k], key != null ? `${key}.${k}` : k)); - } - } else if (key != null) { - httpParams = httpParams.append(key, value); - } else { - throw Error("key may not be null if value is not object or array"); - } - return httpParams; - } - - /** - * Add a new pet to the store - * @param body Pet object that needs to be added to the store - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public addPet(body: Pet, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public addPet(body: Pet, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public addPet(body: Pet, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public addPet(body: Pet, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling addPet.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/json', - 'application/xml' - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/pet`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Deletes a pet - * @param petId Pet id to delete - * @param apiKey - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public deletePet(petId: number, apiKey?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deletePet(petId: number, apiKey?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deletePet(petId: number, apiKey?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deletePet(petId: number, apiKey?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling deletePet.'); - } - - let localVarHeaders = this.defaultHeaders; - if (apiKey !== undefined && apiKey !== null) { - localVarHeaders = localVarHeaders.set('api_key', String(apiKey)); - } - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.delete(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Finds Pets by status - * Multiple status values can be provided with comma separated strings - * @param status Status values that need to be considered for filter - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (status === null || status === undefined) { - throw new Error('Required parameter status was null or undefined when calling findPetsByStatus.'); - } - - let localVarQueryParameters = new HttpParams({encoder: this.encoder}); - if (status) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - status.join(COLLECTION_FORMATS['csv']), 'status'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get>(`${this.configuration.basePath}/pet/findByStatus`, - { - params: localVarQueryParameters, - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Finds Pets by tags - * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. - * @param tags Tags to filter by - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - * @deprecated - */ - public findPetsByTags(tags: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public findPetsByTags(tags: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByTags(tags: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByTags(tags: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (tags === null || tags === undefined) { - throw new Error('Required parameter tags was null or undefined when calling findPetsByTags.'); - } - - let localVarQueryParameters = new HttpParams({encoder: this.encoder}); - if (tags) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - tags.join(COLLECTION_FORMATS['csv']), 'tags'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get>(`${this.configuration.basePath}/pet/findByTags`, - { - params: localVarQueryParameters, - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Find pet by ID - * Returns a single pet - * @param petId ID of pet to return - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getPetById(petId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getPetById(petId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getPetById(petId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getPetById(petId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling getPetById.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (api_key) required - localVarCredential = this.configuration.lookupCredential('api_key'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('api_key', localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Update an existing pet - * @param body Pet object that needs to be added to the store - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public updatePet(body: Pet, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updatePet(body: Pet, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePet(body: Pet, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePet(body: Pet, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling updatePet.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/json', - 'application/xml' - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.put(`${this.configuration.basePath}/pet`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Updates a pet in the store with form data - * @param petId ID of pet that needs to be updated - * @param name Updated name of the pet - * @param status Updated status of the pet - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePetWithForm(petId: number, name?: string, status?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling updatePetWithForm.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/x-www-form-urlencoded' - ]; - - const canConsumeForm = this.canConsumeForm(consumes); - - let localVarFormParams: { append(param: string, value: any): any; }; - let localVarUseForm = false; - let localVarConvertFormParamsToString = false; - if (localVarUseForm) { - localVarFormParams = new FormData(); - } else { - localVarFormParams = new HttpParams({encoder: this.encoder}); - } - - if (name !== undefined) { - localVarFormParams = localVarFormParams.append('name', name) as any || localVarFormParams; - } - if (status !== undefined) { - localVarFormParams = localVarFormParams.append('status', status) as any || localVarFormParams; - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, - localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * uploads an image - * @param petId ID of pet to update - * @param additionalMetadata Additional data to pass to server - * @param file file to upload - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json',}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling uploadFile.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - // to determine the Content-Type header - const consumes: string[] = [ - 'multipart/form-data' - ]; - - const canConsumeForm = this.canConsumeForm(consumes); - - let localVarFormParams: { append(param: string, value: any): any; }; - let localVarUseForm = false; - let localVarConvertFormParamsToString = false; - // use FormData to transmit files using content-type "multipart/form-data" - // see https://stackoverflow.com/questions/4007969/application-x-www-form-urlencoded-or-multipart-form-data - localVarUseForm = canConsumeForm; - if (localVarUseForm) { - localVarFormParams = new FormData(); - } else { - localVarFormParams = new HttpParams({encoder: this.encoder}); - } - - if (additionalMetadata !== undefined) { - localVarFormParams = localVarFormParams.append('additionalMetadata', additionalMetadata) as any || localVarFormParams; - } - if (file !== undefined) { - localVarFormParams = localVarFormParams.append('file', file) as any || localVarFormParams; - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}/uploadImage`, - localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - -} diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/api/store.service.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/api/store.service.ts deleted file mode 100644 index 942714e216..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/api/store.service.ts +++ /dev/null @@ -1,313 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/* tslint:disable:no-unused-variable member-ordering */ - -import { Inject, Injectable, Optional } from '@angular/core'; -import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec - } from '@angular/common/http'; -import { CustomHttpParameterCodec } from '../encoder'; -import { Observable } from 'rxjs'; - -// @ts-ignore -import { Order } from '../model/order'; - -// @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; - - - -@Injectable({ - providedIn: 'root' -}) -export class StoreService { - - protected basePath = 'http://petstore.swagger.io/v2'; - public defaultHeaders = new HttpHeaders(); - public configuration = new Configuration(); - public encoder: HttpParameterCodec; - - constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { - if (configuration) { - this.configuration = configuration; - } - if (typeof this.configuration.basePath !== 'string') { - if (typeof basePath !== 'string') { - basePath = this.basePath; - } - this.configuration.basePath = basePath; - } - this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); - } - - - private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { - if (typeof value === "object" && value instanceof Date === false) { - httpParams = this.addToHttpParamsRecursive(httpParams, value); - } else { - httpParams = this.addToHttpParamsRecursive(httpParams, value, key); - } - return httpParams; - } - - private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { - if (value == null) { - return httpParams; - } - - if (typeof value === "object") { - if (Array.isArray(value)) { - (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); - } else if (value instanceof Date) { - if (key != null) { - httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10)); - } else { - throw Error("key may not be null if value is Date"); - } - } else { - Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( - httpParams, value[k], key != null ? `${key}.${k}` : k)); - } - } else if (key != null) { - httpParams = httpParams.append(key, value); - } else { - throw Error("key may not be null if value is not object or array"); - } - return httpParams; - } - - /** - * Delete purchase order by ID - * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - * @param orderId ID of the order that needs to be deleted - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public deleteOrder(orderId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deleteOrder(orderId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteOrder(orderId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteOrder(orderId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (orderId === null || orderId === undefined) { - throw new Error('Required parameter orderId was null or undefined when calling deleteOrder.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.delete(`${this.configuration.basePath}/store/order/${encodeURIComponent(String(orderId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Returns pet inventories by status - * Returns a map of status codes to quantities - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getInventory(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable<{ [key: string]: number; }>; - public getInventory(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public getInventory(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public getInventory(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json',}): Observable { - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (api_key) required - localVarCredential = this.configuration.lookupCredential('api_key'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('api_key', localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get<{ [key: string]: number; }>(`${this.configuration.basePath}/store/inventory`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Find purchase order by ID - * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions - * @param orderId ID of pet that needs to be fetched - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getOrderById(orderId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getOrderById(orderId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getOrderById(orderId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getOrderById(orderId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (orderId === null || orderId === undefined) { - throw new Error('Required parameter orderId was null or undefined when calling getOrderById.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/store/order/${encodeURIComponent(String(orderId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Place an order for a pet - * @param body order placed for purchasing the pet - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public placeOrder(body: Order, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public placeOrder(body: Order, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public placeOrder(body: Order, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public placeOrder(body: Order, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling placeOrder.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/store/order`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - -} diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/api/user.service.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/api/user.service.ts deleted file mode 100644 index 2a3277c524..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/api/user.service.ts +++ /dev/null @@ -1,555 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/* tslint:disable:no-unused-variable member-ordering */ - -import { Inject, Injectable, Optional } from '@angular/core'; -import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec - } from '@angular/common/http'; -import { CustomHttpParameterCodec } from '../encoder'; -import { Observable } from 'rxjs'; - -// @ts-ignore -import { User } from '../model/user'; - -// @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; - - - -@Injectable({ - providedIn: 'root' -}) -export class UserService { - - protected basePath = 'http://petstore.swagger.io/v2'; - public defaultHeaders = new HttpHeaders(); - public configuration = new Configuration(); - public encoder: HttpParameterCodec; - - constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { - if (configuration) { - this.configuration = configuration; - } - if (typeof this.configuration.basePath !== 'string') { - if (typeof basePath !== 'string') { - basePath = this.basePath; - } - this.configuration.basePath = basePath; - } - this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); - } - - - private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { - if (typeof value === "object" && value instanceof Date === false) { - httpParams = this.addToHttpParamsRecursive(httpParams, value); - } else { - httpParams = this.addToHttpParamsRecursive(httpParams, value, key); - } - return httpParams; - } - - private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { - if (value == null) { - return httpParams; - } - - if (typeof value === "object") { - if (Array.isArray(value)) { - (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); - } else if (value instanceof Date) { - if (key != null) { - httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10)); - } else { - throw Error("key may not be null if value is Date"); - } - } else { - Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( - httpParams, value[k], key != null ? `${key}.${k}` : k)); - } - } else if (key != null) { - httpParams = httpParams.append(key, value); - } else { - throw Error("key may not be null if value is not object or array"); - } - return httpParams; - } - - /** - * Create user - * This can only be done by the logged in user. - * @param body Created user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public createUser(body: User, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUser(body: User, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUser(body: User, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUser(body: User, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling createUser.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/user`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Creates list of users with given input array - * @param body List of user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public createUsersWithArrayInput(body: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUsersWithArrayInput(body: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithArrayInput(body: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithArrayInput(body: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling createUsersWithArrayInput.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/user/createWithArray`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Creates list of users with given input array - * @param body List of user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public createUsersWithListInput(body: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUsersWithListInput(body: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithListInput(body: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithListInput(body: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling createUsersWithListInput.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/user/createWithList`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Delete user - * This can only be done by the logged in user. - * @param username The name that needs to be deleted - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public deleteUser(username: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deleteUser(username: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteUser(username: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteUser(username: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling deleteUser.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.delete(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Get user by user name - * @param username The name that needs to be fetched. Use user1 for testing. - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getUserByName(username: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getUserByName(username: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getUserByName(username: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getUserByName(username: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling getUserByName.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Logs user into the system - * @param username The user name for login - * @param password The password for login in clear text - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public loginUser(username: string, password: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public loginUser(username: string, password: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public loginUser(username: string, password: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public loginUser(username: string, password: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling loginUser.'); - } - if (password === null || password === undefined) { - throw new Error('Required parameter password was null or undefined when calling loginUser.'); - } - - let localVarQueryParameters = new HttpParams({encoder: this.encoder}); - if (username !== undefined && username !== null) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - username, 'username'); - } - if (password !== undefined && password !== null) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - password, 'password'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/user/login`, - { - params: localVarQueryParameters, - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Logs out current logged in user session - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public logoutUser(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public logoutUser(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public logoutUser(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public logoutUser(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/user/logout`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Updated user - * This can only be done by the logged in user. - * @param username name that need to be deleted - * @param body Updated user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public updateUser(username: string, body: User, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updateUser(username: string, body: User, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updateUser(username: string, body: User, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updateUser(username: string, body: User, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling updateUser.'); - } - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling updateUser.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.put(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - -} diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/encoder.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/encoder.ts deleted file mode 100644 index 138c4d5cf2..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/encoder.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { HttpParameterCodec } from '@angular/common/http'; - -/** - * Custom HttpParameterCodec - * Workaround for https://github.com/angular/angular/issues/18261 - */ -export class CustomHttpParameterCodec implements HttpParameterCodec { - encodeKey(k: string): string { - return encodeURIComponent(k); - } - encodeValue(v: string): string { - return encodeURIComponent(v); - } - decodeKey(k: string): string { - return decodeURIComponent(k); - } - decodeValue(v: string): string { - return decodeURIComponent(v); - } -} diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/git_push.sh b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/git_push.sh deleted file mode 100644 index f53a75d4fa..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/git_push.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ -# -# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" - -git_user_id=$1 -git_repo_id=$2 -release_note=$3 -git_host=$4 - -if [ "$git_host" = "" ]; then - git_host="github.com" - echo "[INFO] No command line input provided. Set \$git_host to $git_host" -fi - -if [ "$git_user_id" = "" ]; then - git_user_id="GIT_USER_ID" - echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" -fi - -if [ "$git_repo_id" = "" ]; then - git_repo_id="GIT_REPO_ID" - echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" -fi - -if [ "$release_note" = "" ]; then - release_note="Minor update" - echo "[INFO] No command line input provided. Set \$release_note to $release_note" -fi - -# Initialize the local directory as a Git repository -git init - -# Adds the files in the local repository and stages them for commit. -git add . - -# Commits the tracked changes and prepares them to be pushed to a remote repository. -git commit -m "$release_note" - -# Sets the new remote -git_remote=$(git remote) -if [ "$git_remote" = "" ]; then # git remote not defined - - if [ "$GIT_TOKEN" = "" ]; then - echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." - git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git - else - git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git - fi - -fi - -git pull origin master - -# Pushes (Forces) the changes in the local repository up to the remote repository -echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" -git push origin master 2>&1 | grep -v 'To https' diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/index.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/index.ts deleted file mode 100644 index c312b70fa3..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from './api/api'; -export * from './model/models'; -export * from './variables'; -export * from './configuration'; -export * from './api.module'; \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/apiResponse.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/apiResponse.ts deleted file mode 100644 index 682ba47892..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/apiResponse.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * Describes the result of uploading an image resource - */ -export interface ApiResponse { - code?: number; - type?: string; - message?: string; -} - diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/category.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/category.ts deleted file mode 100644 index b988b6827a..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/category.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * A category for a pet - */ -export interface Category { - id?: number; - name?: string; -} - diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/models.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/models.ts deleted file mode 100644 index 8607c5dabd..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/models.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from './apiResponse'; -export * from './category'; -export * from './order'; -export * from './pet'; -export * from './tag'; -export * from './user'; diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/order.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/order.ts deleted file mode 100644 index a29bebe490..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/order.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * An order for a pets from the pet store - */ -export interface Order { - id?: number; - petId?: number; - quantity?: number; - shipDate?: string; - /** - * Order Status - */ - status?: Order.StatusEnum; - complete?: boolean; -} -export namespace Order { - export type StatusEnum = 'placed' | 'approved' | 'delivered'; - export const StatusEnum = { - Placed: 'placed' as StatusEnum, - Approved: 'approved' as StatusEnum, - Delivered: 'delivered' as StatusEnum - }; -} - - diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/pet.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/pet.ts deleted file mode 100644 index e0404395f9..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/pet.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { Category } from './category'; -import { Tag } from './tag'; - - -/** - * A pet for sale in the pet store - */ -export interface Pet { - id?: number; - category?: Category; - name: string; - photoUrls: Array; - tags?: Array; - /** - * pet status in the store - */ - status?: Pet.StatusEnum; -} -export namespace Pet { - export type StatusEnum = 'available' | 'pending' | 'sold'; - export const StatusEnum = { - Available: 'available' as StatusEnum, - Pending: 'pending' as StatusEnum, - Sold: 'sold' as StatusEnum - }; -} - - diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/tag.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/tag.ts deleted file mode 100644 index b6ff210e8d..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/tag.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * A tag for a pet - */ -export interface Tag { - id?: number; - name?: string; -} - diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/user.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/user.ts deleted file mode 100644 index fce5100530..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/model/user.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * A User who is purchasing from the pet store - */ -export interface User { - id?: number; - username?: string; - firstName?: string; - lastName?: string; - email?: string; - password?: string; - phone?: string; - /** - * User Status - */ - userStatus?: number; -} - diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/ng-package.json b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/ng-package.json deleted file mode 100644 index 3b17900dc9..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/ng-package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "./node_modules/ng-packagr/ng-package.schema.json", - "lib": { - "entryFile": "index.ts" - } -} diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/package.json b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/package.json deleted file mode 100644 index 266399c16b..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/package.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "@openapitools/typescript-angular-petstore", - "version": "1.0.0", - "description": "OpenAPI client for @openapitools/typescript-angular-petstore", - "author": "OpenAPI-Generator Contributors", - "repository": { - "type": "git", - "url": "https://github.com/GIT_USER_ID/GIT_REPO_ID.git" - }, - "keywords": [ - "openapi-client", - "openapi-generator" - ], - "license": "Unlicense", - "scripts": { - "build": "ng-packagr -p ng-package.json" - }, - "peerDependencies": { - "@angular/core": "^11.0.0", - "rxjs": "^6.6.0" - }, - "devDependencies": { - "@angular/common": "^11.0.0", - "@angular/compiler": "^11.0.0", - "@angular/compiler-cli": "^11.0.0", - "@angular/core": "^11.0.0", - "@angular/platform-browser": "^11.0.0", - "ng-packagr": "^11.0.2", - "reflect-metadata": "^0.1.3", - "rxjs": "^6.6.0", - "tsickle": "^0.39.1", - "typescript": ">=4.0.0 <4.1.0", - "zone.js": "^0.11.3" - }, - "publishConfig": { - "registry": "https://skimdb.npmjs.com/registry" - } -} diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/tsconfig.json b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/tsconfig.json deleted file mode 100644 index c01ebe255d..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/tsconfig.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "noImplicitAny": false, - "suppressImplicitAnyIndexErrors": true, - "target": "es5", - "module": "commonjs", - "moduleResolution": "node", - "removeComments": true, - "sourceMap": true, - "outDir": "./dist", - "noLib": false, - "declaration": true, - "lib": [ "es6", "dom" ], - "typeRoots": [ - "node_modules/@types" - ] - }, - "exclude": [ - "node_modules", - "dist" - ], - "filesGlob": [ - "./model/*.ts", - "./api/*.ts" - ] -} diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/variables.ts b/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/variables.ts deleted file mode 100644 index 6fe58549f3..0000000000 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/variables.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { InjectionToken } from '@angular/core'; - -export const BASE_PATH = new InjectionToken('basePath'); -export const COLLECTION_FORMATS = { - 'csv': ',', - 'tsv': ' ', - 'ssv': ' ', - 'pipes': '|' -} diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/.gitignore b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/.gitignore similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/.gitignore rename to samples/client/petstore/typescript-angular-v12-oneOf/builds/default/.gitignore diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/.openapi-generator-ignore b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/.openapi-generator-ignore similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/.openapi-generator-ignore rename to samples/client/petstore/typescript-angular-v12-oneOf/builds/default/.openapi-generator-ignore diff --git a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/.openapi-generator/FILES similarity index 100% rename from samples/client/petstore/typescript-angular-v11-oneOf/builds/default/.openapi-generator/FILES rename to samples/client/petstore/typescript-angular-v12-oneOf/builds/default/.openapi-generator/FILES diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/.openapi-generator/VERSION similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/.openapi-generator/VERSION rename to samples/client/petstore/typescript-angular-v12-oneOf/builds/default/.openapi-generator/VERSION diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/README.md b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/README.md similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/README.md rename to samples/client/petstore/typescript-angular-v12-oneOf/builds/default/README.md diff --git a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/api.module.ts b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/api.module.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-oneOf/builds/default/api.module.ts rename to samples/client/petstore/typescript-angular-v12-oneOf/builds/default/api.module.ts diff --git a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/api/api.ts b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/api/api.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-oneOf/builds/default/api/api.ts rename to samples/client/petstore/typescript-angular-v12-oneOf/builds/default/api/api.ts diff --git a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/api/default.service.ts b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/api/default.service.ts similarity index 84% rename from samples/client/petstore/typescript-angular-v11-oneOf/builds/default/api/default.service.ts rename to samples/client/petstore/typescript-angular-v12-oneOf/builds/default/api/default.service.ts index 9a90656061..d5ed81e37c 100644 --- a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/api/default.service.ts +++ b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/api/default.service.ts @@ -13,7 +13,7 @@ import { Inject, Injectable, Optional } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http'; import { CustomHttpParameterCodec } from '../encoder'; import { Observable } from 'rxjs'; @@ -90,10 +90,10 @@ export class DefaultService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public rootGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable; - public rootGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public rootGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public rootGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json',}): Observable { + public rootGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable; + public rootGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public rootGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public rootGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable { let localVarHeaders = this.defaultHeaders; @@ -109,6 +109,10 @@ export class DefaultService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -124,6 +128,7 @@ export class DefaultService { return this.httpClient.get(`${this.configuration.basePath}/`, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -138,10 +143,10 @@ export class DefaultService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public test(body?: any, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public test(body?: any, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public test(body?: any, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public test(body?: any, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public test(body?: any, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public test(body?: any, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public test(body?: any, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public test(body?: any, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { let localVarHeaders = this.defaultHeaders; @@ -156,6 +161,10 @@ export class DefaultService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } // to determine the Content-Type header @@ -181,6 +190,7 @@ export class DefaultService { return this.httpClient.put(`${this.configuration.basePath}/`, body, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, diff --git a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/configuration.ts b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/configuration.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-oneOf/builds/default/configuration.ts rename to samples/client/petstore/typescript-angular-v12-oneOf/builds/default/configuration.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/encoder.ts b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/encoder.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/encoder.ts rename to samples/client/petstore/typescript-angular-v12-oneOf/builds/default/encoder.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/git_push.sh b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/git_push.sh similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/git_push.sh rename to samples/client/petstore/typescript-angular-v12-oneOf/builds/default/git_push.sh diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/index.ts b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/index.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/index.ts rename to samples/client/petstore/typescript-angular-v12-oneOf/builds/default/index.ts diff --git a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/model/apple.ts b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/model/apple.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-oneOf/builds/default/model/apple.ts rename to samples/client/petstore/typescript-angular-v12-oneOf/builds/default/model/apple.ts diff --git a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/model/fruit.ts b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/model/fruit.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-oneOf/builds/default/model/fruit.ts rename to samples/client/petstore/typescript-angular-v12-oneOf/builds/default/model/fruit.ts diff --git a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/model/grape.ts b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/model/grape.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-oneOf/builds/default/model/grape.ts rename to samples/client/petstore/typescript-angular-v12-oneOf/builds/default/model/grape.ts diff --git a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/model/models.ts b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/model/models.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-oneOf/builds/default/model/models.ts rename to samples/client/petstore/typescript-angular-v12-oneOf/builds/default/model/models.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/variables.ts b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/variables.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/variables.ts rename to samples/client/petstore/typescript-angular-v12-oneOf/builds/default/variables.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/.gitignore b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/.gitignore similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/.gitignore rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/.gitignore diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/.openapi-generator-ignore b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/.openapi-generator-ignore similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/.openapi-generator-ignore rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/.openapi-generator-ignore diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/.openapi-generator/FILES similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/.openapi-generator/FILES rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/.openapi-generator/FILES diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/.openapi-generator/VERSION similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/.openapi-generator/VERSION rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/.openapi-generator/VERSION diff --git a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/README.md b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/README.md similarity index 100% rename from samples/client/petstore/typescript-angular-v11-oneOf/builds/default/README.md rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/README.md diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/api.module.ts b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api.module.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/api.module.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api.module.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/api/api.ts b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/api.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/api/api.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/api.ts diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/api/pet.service.ts b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/pet.service.ts similarity index 86% rename from samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/api/pet.service.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/pet.service.ts index ee89701333..bca953c42d 100644 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/pet.service.ts @@ -13,7 +13,7 @@ import { Inject, Injectable, Optional } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http'; import { CustomHttpParameterCodec } from '../encoder'; import { Observable } from 'rxjs'; @@ -107,10 +107,10 @@ export class PetService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public addPet(body: Pet, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public addPet(body: Pet, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public addPet(body: Pet, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public addPet(body: Pet, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public addPet(body: Pet, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public addPet(body: Pet, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public addPet(body: Pet, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public addPet(body: Pet, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (body === null || body === undefined) { throw new Error('Required parameter body was null or undefined when calling addPet.'); } @@ -135,6 +135,10 @@ export class PetService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } // to determine the Content-Type header @@ -161,6 +165,7 @@ export class PetService { return this.httpClient.post(`${this.configuration.basePath}/pet`, body, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -177,10 +182,10 @@ export class PetService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public deletePet(petId: number, apiKey?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deletePet(petId: number, apiKey?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deletePet(petId: number, apiKey?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deletePet(petId: number, apiKey?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public deletePet(petId: number, apiKey?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public deletePet(petId: number, apiKey?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public deletePet(petId: number, apiKey?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public deletePet(petId: number, apiKey?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (petId === null || petId === undefined) { throw new Error('Required parameter petId was null or undefined when calling deletePet.'); } @@ -208,6 +213,10 @@ export class PetService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -223,6 +232,7 @@ export class PetService { return this.httpClient.delete(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -239,10 +249,10 @@ export class PetService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { + public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>>; + public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>>; + public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable { if (status === null || status === undefined) { throw new Error('Required parameter status was null or undefined when calling findPetsByStatus.'); } @@ -275,6 +285,10 @@ export class PetService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -290,6 +304,7 @@ export class PetService { return this.httpClient.get>(`${this.configuration.basePath}/pet/findByStatus`, { + context: localVarHttpContext, params: localVarQueryParameters, responseType: responseType_, withCredentials: this.configuration.withCredentials, @@ -308,10 +323,10 @@ export class PetService { * @param reportProgress flag to report request and response progress. * @deprecated */ - public findPetsByTags(tags: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public findPetsByTags(tags: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByTags(tags: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByTags(tags: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { + public findPetsByTags(tags: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public findPetsByTags(tags: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>>; + public findPetsByTags(tags: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>>; + public findPetsByTags(tags: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable { if (tags === null || tags === undefined) { throw new Error('Required parameter tags was null or undefined when calling findPetsByTags.'); } @@ -344,6 +359,10 @@ export class PetService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -359,6 +378,7 @@ export class PetService { return this.httpClient.get>(`${this.configuration.basePath}/pet/findByTags`, { + context: localVarHttpContext, params: localVarQueryParameters, responseType: responseType_, withCredentials: this.configuration.withCredentials, @@ -376,10 +396,10 @@ export class PetService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getPetById(petId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getPetById(petId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getPetById(petId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getPetById(petId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { + public getPetById(petId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable; + public getPetById(petId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public getPetById(petId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public getPetById(petId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable { if (petId === null || petId === undefined) { throw new Error('Required parameter petId was null or undefined when calling getPetById.'); } @@ -406,6 +426,10 @@ export class PetService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -421,6 +445,7 @@ export class PetService { return this.httpClient.get(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -436,10 +461,10 @@ export class PetService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public updatePet(body: Pet, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updatePet(body: Pet, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePet(body: Pet, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePet(body: Pet, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public updatePet(body: Pet, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public updatePet(body: Pet, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public updatePet(body: Pet, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public updatePet(body: Pet, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (body === null || body === undefined) { throw new Error('Required parameter body was null or undefined when calling updatePet.'); } @@ -464,6 +489,10 @@ export class PetService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } // to determine the Content-Type header @@ -490,6 +519,7 @@ export class PetService { return this.httpClient.put(`${this.configuration.basePath}/pet`, body, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -507,10 +537,10 @@ export class PetService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePetWithForm(petId: number, name?: string, status?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public updatePetWithForm(petId: number, name?: string, status?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (petId === null || petId === undefined) { throw new Error('Required parameter petId was null or undefined when calling updatePetWithForm.'); } @@ -535,6 +565,10 @@ export class PetService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } // to determine the Content-Type header const consumes: string[] = [ @@ -573,6 +607,7 @@ export class PetService { return this.httpClient.post(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -590,10 +625,10 @@ export class PetService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json',}): Observable { + public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable; + public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable { if (petId === null || petId === undefined) { throw new Error('Required parameter petId was null or undefined when calling uploadFile.'); } @@ -619,6 +654,10 @@ export class PetService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } // to determine the Content-Type header const consumes: string[] = [ @@ -660,6 +699,7 @@ export class PetService { return this.httpClient.post(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}/uploadImage`, localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/api/store.service.ts b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/store.service.ts similarity index 84% rename from samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/api/store.service.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/store.service.ts index 8e07ce669f..c04b024e3f 100644 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/api/store.service.ts +++ b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/store.service.ts @@ -13,7 +13,7 @@ import { Inject, Injectable, Optional } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http'; import { CustomHttpParameterCodec } from '../encoder'; import { Observable } from 'rxjs'; @@ -93,10 +93,10 @@ export class StoreService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public deleteOrder(orderId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deleteOrder(orderId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteOrder(orderId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteOrder(orderId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public deleteOrder(orderId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public deleteOrder(orderId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public deleteOrder(orderId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public deleteOrder(orderId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (orderId === null || orderId === undefined) { throw new Error('Required parameter orderId was null or undefined when calling deleteOrder.'); } @@ -114,6 +114,10 @@ export class StoreService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -129,6 +133,7 @@ export class StoreService { return this.httpClient.delete(`${this.configuration.basePath}/store/order/${encodeURIComponent(String(orderId))}`, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -144,10 +149,10 @@ export class StoreService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getInventory(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable<{ [key: string]: number; }>; - public getInventory(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public getInventory(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public getInventory(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json',}): Observable { + public getInventory(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<{ [key: string]: number; }>; + public getInventory(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public getInventory(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public getInventory(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable { let localVarHeaders = this.defaultHeaders; @@ -170,6 +175,10 @@ export class StoreService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -185,6 +194,7 @@ export class StoreService { return this.httpClient.get<{ [key: string]: number; }>(`${this.configuration.basePath}/store/inventory`, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -201,10 +211,10 @@ export class StoreService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getOrderById(orderId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getOrderById(orderId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getOrderById(orderId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getOrderById(orderId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { + public getOrderById(orderId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable; + public getOrderById(orderId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public getOrderById(orderId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public getOrderById(orderId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable { if (orderId === null || orderId === undefined) { throw new Error('Required parameter orderId was null or undefined when calling getOrderById.'); } @@ -224,6 +234,10 @@ export class StoreService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -239,6 +253,7 @@ export class StoreService { return this.httpClient.get(`${this.configuration.basePath}/store/order/${encodeURIComponent(String(orderId))}`, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -254,10 +269,10 @@ export class StoreService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public placeOrder(body: Order, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public placeOrder(body: Order, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public placeOrder(body: Order, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public placeOrder(body: Order, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { + public placeOrder(body: Order, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable; + public placeOrder(body: Order, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public placeOrder(body: Order, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public placeOrder(body: Order, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable { if (body === null || body === undefined) { throw new Error('Required parameter body was null or undefined when calling placeOrder.'); } @@ -277,6 +292,10 @@ export class StoreService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } // to determine the Content-Type header @@ -301,6 +320,7 @@ export class StoreService { return this.httpClient.post(`${this.configuration.basePath}/store/order`, body, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/api/user.service.ts b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/user.service.ts similarity index 84% rename from samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/api/user.service.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/user.service.ts index 7440ef86e1..706dcc2685 100644 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/api/user.service.ts +++ b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/user.service.ts @@ -13,7 +13,7 @@ import { Inject, Injectable, Optional } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http'; import { CustomHttpParameterCodec } from '../encoder'; import { Observable } from 'rxjs'; @@ -93,10 +93,10 @@ export class UserService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public createUser(body: User, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUser(body: User, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUser(body: User, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUser(body: User, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public createUser(body: User, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public createUser(body: User, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public createUser(body: User, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public createUser(body: User, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (body === null || body === undefined) { throw new Error('Required parameter body was null or undefined when calling createUser.'); } @@ -114,6 +114,10 @@ export class UserService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } // to determine the Content-Type header @@ -138,6 +142,7 @@ export class UserService { return this.httpClient.post(`${this.configuration.basePath}/user`, body, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -153,10 +158,10 @@ export class UserService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public createUsersWithArrayInput(body: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUsersWithArrayInput(body: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithArrayInput(body: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithArrayInput(body: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public createUsersWithArrayInput(body: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public createUsersWithArrayInput(body: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public createUsersWithArrayInput(body: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public createUsersWithArrayInput(body: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (body === null || body === undefined) { throw new Error('Required parameter body was null or undefined when calling createUsersWithArrayInput.'); } @@ -174,6 +179,10 @@ export class UserService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } // to determine the Content-Type header @@ -198,6 +207,7 @@ export class UserService { return this.httpClient.post(`${this.configuration.basePath}/user/createWithArray`, body, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -213,10 +223,10 @@ export class UserService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public createUsersWithListInput(body: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUsersWithListInput(body: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithListInput(body: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithListInput(body: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public createUsersWithListInput(body: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public createUsersWithListInput(body: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public createUsersWithListInput(body: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public createUsersWithListInput(body: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (body === null || body === undefined) { throw new Error('Required parameter body was null or undefined when calling createUsersWithListInput.'); } @@ -234,6 +244,10 @@ export class UserService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } // to determine the Content-Type header @@ -258,6 +272,7 @@ export class UserService { return this.httpClient.post(`${this.configuration.basePath}/user/createWithList`, body, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -274,10 +289,10 @@ export class UserService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public deleteUser(username: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deleteUser(username: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteUser(username: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteUser(username: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public deleteUser(username: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public deleteUser(username: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public deleteUser(username: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public deleteUser(username: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (username === null || username === undefined) { throw new Error('Required parameter username was null or undefined when calling deleteUser.'); } @@ -295,6 +310,10 @@ export class UserService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -310,6 +329,7 @@ export class UserService { return this.httpClient.delete(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -325,10 +345,10 @@ export class UserService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getUserByName(username: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getUserByName(username: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getUserByName(username: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getUserByName(username: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { + public getUserByName(username: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable; + public getUserByName(username: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public getUserByName(username: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public getUserByName(username: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable { if (username === null || username === undefined) { throw new Error('Required parameter username was null or undefined when calling getUserByName.'); } @@ -348,6 +368,10 @@ export class UserService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -363,6 +387,7 @@ export class UserService { return this.httpClient.get(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -379,10 +404,10 @@ export class UserService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public loginUser(username: string, password: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public loginUser(username: string, password: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public loginUser(username: string, password: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public loginUser(username: string, password: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { + public loginUser(username: string, password: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable; + public loginUser(username: string, password: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public loginUser(username: string, password: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public loginUser(username: string, password: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable { if (username === null || username === undefined) { throw new Error('Required parameter username was null or undefined when calling loginUser.'); } @@ -415,6 +440,10 @@ export class UserService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -430,6 +459,7 @@ export class UserService { return this.httpClient.get(`${this.configuration.basePath}/user/login`, { + context: localVarHttpContext, params: localVarQueryParameters, responseType: responseType_, withCredentials: this.configuration.withCredentials, @@ -445,10 +475,10 @@ export class UserService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public logoutUser(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public logoutUser(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public logoutUser(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public logoutUser(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public logoutUser(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public logoutUser(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public logoutUser(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public logoutUser(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { let localVarHeaders = this.defaultHeaders; @@ -463,6 +493,10 @@ export class UserService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -478,6 +512,7 @@ export class UserService { return this.httpClient.get(`${this.configuration.basePath}/user/logout`, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -495,10 +530,10 @@ export class UserService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public updateUser(username: string, body: User, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updateUser(username: string, body: User, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updateUser(username: string, body: User, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updateUser(username: string, body: User, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public updateUser(username: string, body: User, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public updateUser(username: string, body: User, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public updateUser(username: string, body: User, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public updateUser(username: string, body: User, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (username === null || username === undefined) { throw new Error('Required parameter username was null or undefined when calling updateUser.'); } @@ -519,6 +554,10 @@ export class UserService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } // to determine the Content-Type header @@ -543,6 +582,7 @@ export class UserService { return this.httpClient.put(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, body, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/configuration.ts b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/configuration.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/configuration.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/configuration.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/encoder.ts b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/encoder.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/encoder.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/encoder.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/git_push.sh b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/git_push.sh similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/git_push.sh rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/git_push.sh diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/index.ts b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/index.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/index.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/index.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/model/apiResponse.ts b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/model/apiResponse.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/model/apiResponse.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/model/apiResponse.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/model/category.ts b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/model/category.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/model/category.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/model/category.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/model/models.ts b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/model/models.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/model/models.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/model/models.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/model/order.ts b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/model/order.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/model/order.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/model/order.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/model/pet.ts b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/model/pet.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/model/pet.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/model/pet.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/model/tag.ts b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/model/tag.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/model/tag.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/model/tag.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/model/user.ts b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/model/user.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/model/user.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/model/user.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/variables.ts b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/variables.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/variables.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/variables.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/.editorconfig b/samples/client/petstore/typescript-angular-v12-provided-in-root/.editorconfig similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/.editorconfig rename to samples/client/petstore/typescript-angular-v12-provided-in-root/.editorconfig diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/.gitignore b/samples/client/petstore/typescript-angular-v12-provided-in-root/.gitignore similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/.gitignore rename to samples/client/petstore/typescript-angular-v12-provided-in-root/.gitignore diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/angular.json b/samples/client/petstore/typescript-angular-v12-provided-in-root/angular.json similarity index 92% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/angular.json rename to samples/client/petstore/typescript-angular-v12-provided-in-root/angular.json index e1db1fbb5b..899df27278 100644 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/angular.json +++ b/samples/client/petstore/typescript-angular-v12-provided-in-root/angular.json @@ -50,19 +50,24 @@ "extractLicenses": true, "vendorChunk": false, "buildOptimizer": true - } - } + }, + "development": {} + }, + "defaultConfiguration": "production" }, "serve": { "builder": "@angular-devkit/build-angular:dev-server", "options": { - "browserTarget": "test-default:build" }, "configurations": { "production": { "browserTarget": "test-default:build:production" + }, + "development": { + "browserTarget": "test-default:build:development" } - } + }, + "defaultConfiguration": "development" }, "extract-i18n": { "builder": "@angular-devkit/build-angular:extract-i18n", diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/package-lock.json b/samples/client/petstore/typescript-angular-v12-provided-in-root/package-lock.json similarity index 75% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/package-lock.json rename to samples/client/petstore/typescript-angular-v12-provided-in-root/package-lock.json index 2914613496..6874ecad68 100644 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/package-lock.json +++ b/samples/client/petstore/typescript-angular-v12-provided-in-root/package-lock.json @@ -1,31 +1,31 @@ { - "name": "typescript-angular-v11-unit-tests", + "name": "typescript-angular-v12-unit-tests", "version": "0.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "typescript-angular-v11-unit-tests", + "name": "typescript-angular-v12-unit-tests", "version": "0.0.0", "dependencies": { - "@angular/animations": "^11.2.14", - "@angular/common": "^11.2.14", - "@angular/compiler": "^11.2.14", - "@angular/core": "^11.2.14", - "@angular/forms": "^11.2.14", - "@angular/platform-browser": "^11.2.14", - "@angular/platform-browser-dynamic": "^11.2.14", - "@angular/router": "^11.2.14", + "@angular/animations": "^12.2.16", + "@angular/common": "^12.2.16", + "@angular/compiler": "^12.2.16", + "@angular/core": "^12.2.16", + "@angular/forms": "^12.2.16", + "@angular/platform-browser": "^12.2.16", + "@angular/platform-browser-dynamic": "^12.2.16", + "@angular/router": "^12.2.16", "core-js": "^2.5.4", "rxjs": "^6.6.7", "tslib": "^2.0.0", - "zone.js": "~0.10.2" + "zone.js": "~0.11.5" }, "devDependencies": { - "@angular-devkit/build-angular": "~0.1102.14", - "@angular/cli": "~11.2.14", - "@angular/compiler-cli": "^11.2.14", - "@angular/language-service": "^11.2.14", + "@angular-devkit/build-angular": "^12.2.16", + "@angular/cli": "^12.2.16", + "@angular/compiler-cli": "^12.2.16", + "@angular/language-service": "^12.2.16", "@types/jasmine": "~3.6.0", "@types/jasminewd2": "~2.0.3", "@types/node": "^12.11.1", @@ -39,137 +39,131 @@ "karma-jasmine-html-reporter": "^1.7.0", "ts-node": "~7.0.0", "tslint": "~6.1.0", - "typescript": "~4.0.8" + "typescript": "^4.3.5" + } + }, + "node_modules/@ampproject/remapping": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-1.0.1.tgz", + "integrity": "sha512-Ta9bMA3EtUHDaZJXqUoT5cn/EecwOp+SXpKJqxDbDuMbLvEMu6YTyDDuvTWeStODfdmXyfMo7LymQyPkN3BicA==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "1.0.0", + "sourcemap-codec": "1.4.8" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/@angular-devkit/architect": { - "version": "0.1102.18", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1102.18.tgz", - "integrity": "sha512-W561li5FM4LWuKPUA5fZxJqBRfOuqE3UL/HXSD8ivDErtyVE70oLF3bjPRW1S5UFeNPfaK+EAeoMss1DXz9DnQ==", + "version": "0.1202.17", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1202.17.tgz", + "integrity": "sha512-uUQcHcLbPvr9adALQSLU1MTDduVUR2kZAHi2e7SmL9ioel84pPVXBoD0WpSBeUMKwPiDs3TQDaxDB49hl0nBSQ==", "dev": true, "dependencies": { - "@angular-devkit/core": "11.2.18", - "rxjs": "6.6.3" + "@angular-devkit/core": "12.2.17", + "rxjs": "6.6.7" }, "engines": { - "node": ">= 10.13.0", - "npm": "^6.11.0 || ^7.5.6", + "node": "^12.14.1 || >=14.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } }, - "node_modules/@angular-devkit/architect/node_modules/rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/@angular-devkit/architect/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, "node_modules/@angular-devkit/build-angular": { - "version": "0.1102.18", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.1102.18.tgz", - "integrity": "sha512-RsLen4BSq94y69mEk3Y+VQeWu2O6yHYcJsyV0+7FohRDVQVDHH4zjmSOsJNQzOb+naTWg6+NYRaNSAUHsTpPHw==", + "version": "12.2.17", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-12.2.17.tgz", + "integrity": "sha512-uc3HGHVQyatqQ/M53oxYBvhz0jx0hgdc7WT+L56GLHvgz7Ct2VEbpWaMfwHkFfE1F1iHkIgnTKHKWacJl1yQIg==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1102.18", - "@angular-devkit/build-optimizer": "0.1102.18", - "@angular-devkit/build-webpack": "0.1102.18", - "@angular-devkit/core": "11.2.18", - "@babel/core": "7.12.10", - "@babel/generator": "7.12.11", - "@babel/plugin-transform-async-to-generator": "7.12.1", - "@babel/plugin-transform-runtime": "7.12.10", - "@babel/preset-env": "7.12.11", - "@babel/runtime": "7.12.5", - "@babel/template": "7.12.7", - "@discoveryjs/json-ext": "0.5.2", + "@ampproject/remapping": "1.0.1", + "@angular-devkit/architect": "0.1202.17", + "@angular-devkit/build-optimizer": "0.1202.17", + "@angular-devkit/build-webpack": "0.1202.17", + "@angular-devkit/core": "12.2.17", + "@babel/core": "7.14.8", + "@babel/generator": "7.14.8", + "@babel/helper-annotate-as-pure": "7.14.5", + "@babel/plugin-proposal-async-generator-functions": "7.14.7", + "@babel/plugin-transform-async-to-generator": "7.14.5", + "@babel/plugin-transform-runtime": "7.14.5", + "@babel/preset-env": "7.14.8", + "@babel/runtime": "7.14.8", + "@babel/template": "7.14.5", + "@discoveryjs/json-ext": "0.5.3", "@jsdevtools/coverage-istanbul-loader": "3.0.5", - "@ngtools/webpack": "11.2.18", + "@ngtools/webpack": "12.2.17", "ansi-colors": "4.1.1", - "autoprefixer": "10.2.4", "babel-loader": "8.2.2", "browserslist": "^4.9.1", - "cacache": "15.0.5", + "cacache": "15.2.0", "caniuse-lite": "^1.0.30001032", "circular-dependency-plugin": "5.2.2", - "copy-webpack-plugin": "6.3.2", - "core-js": "3.8.3", + "copy-webpack-plugin": "9.0.1", + "core-js": "3.16.0", "critters": "0.0.12", - "css-loader": "5.0.1", - "cssnano": "5.0.2", - "file-loader": "6.2.0", + "css-loader": "6.2.0", + "css-minimizer-webpack-plugin": "3.0.2", + "esbuild-wasm": "0.13.8", "find-cache-dir": "3.3.1", - "glob": "7.1.6", + "glob": "7.1.7", "https-proxy-agent": "5.0.0", - "inquirer": "7.3.3", - "jest-worker": "26.6.2", + "inquirer": "8.1.2", "karma-source-map-support": "1.4.0", "less": "4.1.1", - "less-loader": "7.3.0", - "license-webpack-plugin": "2.3.11", + "less-loader": "10.0.1", + "license-webpack-plugin": "2.3.20", "loader-utils": "2.0.0", - "mini-css-extract-plugin": "1.3.5", + "mini-css-extract-plugin": "2.4.2", "minimatch": "3.0.4", - "open": "7.4.0", - "ora": "5.3.0", + "open": "8.2.1", + "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", - "pnp-webpack-plugin": "1.6.4", - "postcss": "8.2.15", - "postcss-import": "14.0.0", - "postcss-loader": "4.2.0", - "raw-loader": "4.0.2", - "regenerator-runtime": "0.13.7", + "piscina": "3.1.0", + "postcss": "8.3.6", + "postcss-import": "14.0.2", + "postcss-loader": "6.1.1", + "postcss-preset-env": "6.7.0", + "regenerator-runtime": "0.13.9", "resolve-url-loader": "4.0.0", - "rimraf": "3.0.2", - "rollup": "2.38.4", - "rxjs": "6.6.3", - "sass": "1.32.6", - "sass-loader": "10.1.1", - "semver": "7.3.4", - "source-map": "0.7.3", - "source-map-loader": "1.1.3", + "rxjs": "6.6.7", + "sass": "1.36.0", + "sass-loader": "12.1.0", + "semver": "7.3.5", + "source-map-loader": "3.0.0", "source-map-support": "0.5.19", - "speed-measure-webpack-plugin": "1.4.2", - "style-loader": "2.0.0", + "style-loader": "3.2.1", "stylus": "0.54.8", - "stylus-loader": "4.3.3", - "terser": "5.5.1", - "terser-webpack-plugin": "4.2.3", + "stylus-loader": "6.1.0", + "terser": "5.7.1", + "terser-webpack-plugin": "5.1.4", "text-table": "0.2.0", "tree-kill": "1.2.2", - "webpack": "4.44.2", - "webpack-dev-middleware": "3.7.2", + "tslib": "2.3.0", + "webpack": "5.50.0", + "webpack-dev-middleware": "5.0.0", "webpack-dev-server": "3.11.3", - "webpack-merge": "5.7.3", - "webpack-sources": "2.2.0", - "webpack-subresource-integrity": "1.5.2", - "worker-plugin": "5.0.0" + "webpack-merge": "5.8.0", + "webpack-subresource-integrity": "1.5.2" }, "engines": { - "node": ">= 10.13.0", - "npm": "^6.11.0 || ^7.5.6", + "node": "^12.14.1 || >=14.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, + "optionalDependencies": { + "esbuild": "0.13.8" + }, "peerDependencies": { - "@angular/compiler-cli": "^11.0.0 || ^11.2.0-next", - "@angular/localize": "^11.0.0 || ^11.2.0-next", - "@angular/service-worker": "^11.0.0 || ^11.2.0-next", - "karma": "^5.2.0 || ^6.0.0", - "ng-packagr": "^11.0.0 || ^11.2.0-next", + "@angular/compiler-cli": "^12.0.0", + "@angular/localize": "^12.0.0", + "@angular/service-worker": "^12.0.0", + "karma": "^6.3.0", + "ng-packagr": "^12.0.0", "protractor": "^7.0.0", "tailwindcss": "^2.0.0", "tslint": "^6.1.0", - "typescript": "~4.0.0 || ~4.1.0" + "typescript": "~4.2.3 || ~4.3.2" }, "peerDependenciesMeta": { "@angular/localize": { @@ -195,31 +189,10 @@ } } }, - "node_modules/@angular-devkit/build-angular/node_modules/@ngtools/webpack": { - "version": "11.2.18", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-11.2.18.tgz", - "integrity": "sha512-5CsCQRc11g7sGGQzelnfrS7zQFVt9Ps7SiajJhUqI2hyNptdItzbc9TVyNMIy4cHIAT+j7kVwqdBSRhiylZcCw==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "11.2.18", - "enhanced-resolve": "5.7.0", - "webpack-sources": "2.2.0" - }, - "engines": { - "node": ">= 10.13.0", - "npm": "^6.11.0 || ^7.5.6", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "@angular/compiler-cli": "^11.0.0 || ^11.2.0-next", - "typescript": "~4.0.0 || ~4.1.0", - "webpack": "^4.0.0" - } - }, "node_modules/@angular-devkit/build-angular/node_modules/core-js": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz", - "integrity": "sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==", + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.0.tgz", + "integrity": "sha512-5+5VxRFmSf97nM8Jr2wzOwLqRo6zphH2aX+7KsAUONObyzakDNq2G/bgbhinxB4PoV9L3aXQYhiDKyIKWd2c8g==", "dev": true, "hasInstallScript": true, "funding": { @@ -227,268 +200,248 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/@angular-devkit/build-angular/node_modules/enhanced-resolve": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz", - "integrity": "sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==", + "node_modules/@angular-devkit/build-angular/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" + "node": ">=10" } }, "node_modules/@angular-devkit/build-angular/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", "dev": true }, "node_modules/@angular-devkit/build-optimizer": { - "version": "0.1102.18", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.18.tgz", - "integrity": "sha512-bZ+Ma31Bkcm3Bp7RL08ltGD9k+m5qe6JpQgN9oKjfc0WwB5ldux7mgE1lz6OfxCaY5wsnLRCl1SdKWJDkyAz3A==", + "version": "0.1202.17", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.17.tgz", + "integrity": "sha512-1qWGWw7cCNADB4LZ/zjiSK0GLmr2kebYyNG0KutCE8GNVxv2h6w6dJP6t1C/BgskRuBPCAhvE+lEKN8ljSutag==", "dev": true, "dependencies": { - "loader-utils": "2.0.0", "source-map": "0.7.3", - "tslib": "2.1.0", - "typescript": "4.1.5", - "webpack-sources": "2.2.0" + "tslib": "2.3.0", + "typescript": "4.3.5" }, "bin": { "build-optimizer": "src/build-optimizer/cli.js" }, "engines": { - "node": ">= 10.13.0", - "npm": "^6.11.0 || ^7.5.6", + "node": "^12.14.1 || >=14.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "webpack": "^5.30.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } } }, "node_modules/@angular-devkit/build-optimizer/node_modules/tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", "dev": true }, - "node_modules/@angular-devkit/build-optimizer/node_modules/typescript": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.5.tgz", - "integrity": "sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1102.18", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1102.18.tgz", - "integrity": "sha512-a/n4BoIb3A7imMupkvCA1bJRoP5zs9vuwAT2xmCM8QikE+mUURotz/PqBycuUCFVquG7bmj7qowSSp99z3RKGQ==", + "version": "0.1202.17", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1202.17.tgz", + "integrity": "sha512-z7FW43DJ4p8UZwbFRmMrh2ohqhI2Wtdg3+FZiTnl4opb3zYheGiNxPlTuiyKjG21JUkGCdthkkBLCNfaUU0U/Q==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1102.18", - "@angular-devkit/core": "11.2.18", - "rxjs": "6.6.3" + "@angular-devkit/architect": "0.1202.17", + "rxjs": "6.6.7" }, "engines": { - "node": ">= 10.13.0", - "npm": "^6.11.0 || ^7.5.6", + "node": "^12.14.1 || >=14.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, "peerDependencies": { - "webpack": "^4.6.0", + "webpack": "^5.30.0", "webpack-dev-server": "^3.1.4" } }, - "node_modules/@angular-devkit/build-webpack/node_modules/rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/@angular-devkit/build-webpack/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, "node_modules/@angular-devkit/core": { - "version": "11.2.18", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-11.2.18.tgz", - "integrity": "sha512-w7llSJfLg9/+Qb7kvFIZeUomt2kopt1Ujh6nsm/JGEoZWB6Ay63gtuj/IU/0i96Hw4UWkk6Oe7wKSKuDNMIO/w==", + "version": "12.2.17", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.17.tgz", + "integrity": "sha512-PyOY7LGUPPd6rakxUYbfQN6zAdOCMCouVp5tERY1WTdMdEiuULOtHsPee8kNbh75pD59KbJNU+fwozPRMuIm5g==", "dev": true, "dependencies": { - "ajv": "6.12.6", + "ajv": "8.6.2", + "ajv-formats": "2.1.0", "fast-json-stable-stringify": "2.1.0", "magic-string": "0.25.7", - "rxjs": "6.6.3", + "rxjs": "6.6.7", "source-map": "0.7.3" }, "engines": { - "node": ">= 10.13.0", - "npm": "^6.11.0 || ^7.5.6", + "node": "^12.14.1 || >=14.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } }, - "node_modules/@angular-devkit/core/node_modules/rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "node_modules/@angular-devkit/core/node_modules/ajv": { + "version": "8.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", + "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", "dev": true, "dependencies": { - "tslib": "^1.9.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "npm": ">=2.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@angular-devkit/core/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "node_modules/@angular-devkit/core/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, "node_modules/@angular-devkit/schematics": { - "version": "11.2.18", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-11.2.18.tgz", - "integrity": "sha512-MqqW/Ef1wp6yrdHEWSCWegjIBIQA9BblQ4eP6urjNaGnLRRawIrVJtzZQTcEgwIWJTbr0vIXJOdgKSIsqgPVTg==", + "version": "12.2.17", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.2.17.tgz", + "integrity": "sha512-c0eNu/nx1Mnu7KcZgYTYHP736H4Y9pSyLBSmLAHYZv3t3m0dIPbhifRcLQX7hHQ8fGT2ZFxmOpaQG5/DcIghSw==", "dev": true, "dependencies": { - "@angular-devkit/core": "11.2.18", - "ora": "5.3.0", - "rxjs": "6.6.3" + "@angular-devkit/core": "12.2.17", + "ora": "5.4.1", + "rxjs": "6.6.7" }, "engines": { - "node": ">= 10.13.0", - "npm": "^6.11.0 || ^7.5.6", + "node": "^12.14.1 || >=14.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } }, - "node_modules/@angular-devkit/schematics/node_modules/rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, + "node_modules/@angular/animations": { + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-12.2.16.tgz", + "integrity": "sha512-Kf6C7Ta+fCMq5DvT9JNVhBkcECrqFa3wumiC6ssGo5sNaEzXz+tlep9ZgEbqfxSn7gAN7L1DgsbS9u0O6tbUkg==", "dependencies": { - "tslib": "^1.9.0" + "tslib": "^2.2.0" }, "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/@angular-devkit/schematics/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@angular/animations": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-11.2.14.tgz", - "integrity": "sha512-Heq/nNrCmb3jbkusu+BQszOecfFI/31Oxxj+CDQkqqYpBcswk6bOJLoEE472o+vmgxaXbgeflU9qbIiCQhpMFA==", - "dependencies": { - "tslib": "^2.0.0" + "node": "^12.14.1 || >=14.0.0" }, "peerDependencies": { - "@angular/core": "11.2.14" + "@angular/core": "12.2.16" } }, "node_modules/@angular/cli": { - "version": "11.2.18", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-11.2.18.tgz", - "integrity": "sha512-+62LVEjS737nUnd03YcMAynP5INpQmUf7k2LHgXFcdXfilTE6tv35GRecVHugGxa7m0pqm5atGiQOM26bllylw==", + "version": "12.2.17", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-12.2.17.tgz", + "integrity": "sha512-mubRPp5hRIK/q0J8q6kVAqbYYuBUKMMBljUCqT4fHsl+qXYD27rgG3EqNzycKBMHUIlykotrDSdy47voD+atOg==", "dev": true, "hasInstallScript": true, "dependencies": { - "@angular-devkit/architect": "0.1102.18", - "@angular-devkit/core": "11.2.18", - "@angular-devkit/schematics": "11.2.18", - "@schematics/angular": "11.2.18", - "@schematics/update": "0.1102.18", + "@angular-devkit/architect": "0.1202.17", + "@angular-devkit/core": "12.2.17", + "@angular-devkit/schematics": "12.2.17", + "@schematics/angular": "12.2.17", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", - "debug": "4.3.1", + "debug": "4.3.2", "ini": "2.0.0", - "inquirer": "7.3.3", + "inquirer": "8.1.2", "jsonc-parser": "3.0.0", - "npm-package-arg": "8.1.0", - "npm-pick-manifest": "6.1.0", - "open": "7.4.0", - "ora": "5.3.0", - "pacote": "11.2.4", - "resolve": "1.19.0", - "rimraf": "3.0.2", - "semver": "7.3.4", - "symbol-observable": "3.0.0", - "universal-analytics": "0.4.23", + "npm-package-arg": "8.1.5", + "npm-pick-manifest": "6.1.1", + "open": "8.2.1", + "ora": "5.4.1", + "pacote": "12.0.2", + "resolve": "1.20.0", + "semver": "7.3.5", + "symbol-observable": "4.0.0", "uuid": "8.3.2" }, "bin": { "ng": "bin/ng" }, "engines": { - "node": ">= 10.13.0", - "npm": "^6.11.0 || ^7.5.6", + "node": "^12.14.1 || >=14.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } }, - "node_modules/@angular/common": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-11.2.14.tgz", - "integrity": "sha512-ZSLV/3j7eCTyLf/8g4yBFLWySjiLz3vLJAGWscYoUpnJWMnug1VRu6zoF/COxCbtORgE+Wz6K0uhfS6MziBGVw==", + "node_modules/@angular/cli/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, "dependencies": { - "tslib": "^2.0.0" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@angular/cli/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular/common": { + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-12.2.16.tgz", + "integrity": "sha512-FEqTXTEsnbDInqV1yFlm97Tz1OFqZS5t0TUkm8gzXRgpIce/F/jLwAg0u1VQkgOsno6cNm0xTWPoZgu85NI4ug==", + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": "^12.14.1 || >=14.0.0" }, "peerDependencies": { - "@angular/core": "11.2.14", - "rxjs": "^6.5.3" + "@angular/core": "12.2.16", + "rxjs": "^6.5.3 || ^7.0.0" } }, "node_modules/@angular/compiler": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-11.2.14.tgz", - "integrity": "sha512-XBOK3HgA+/y6Cz7kOX4zcJYmgJ264XnfcbXUMU2cD7Ac+mbNhLPKohWrEiSWalfcjnpf5gRfufQrQP7lpAGu0A==", + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-12.2.16.tgz", + "integrity": "sha512-nsYEw+yu8QyeqPf9nAmG419i1mtGM4v8+U+S3eQHQFXTgJzLymMykWHYu2ETdjUpNSLK6xcIQDBWtWnWSfJjAA==", "dependencies": { - "tslib": "^2.0.0" + "tslib": "^2.2.0" + }, + "engines": { + "node": "^12.14.1 || >=14.0.0" } }, "node_modules/@angular/compiler-cli": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-11.2.14.tgz", - "integrity": "sha512-A7ltnCp03/EVqK/Q3tVUDsokgz5GHW3dSPGl0Csk7Ys5uBB9ibHTmVt4eiXA4jt0+6Bk+mKxwe5BEDqLvwYFAg==", + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-12.2.16.tgz", + "integrity": "sha512-tlalh8SJvdCWbUPRUR5GamaP+wSc/GuCsoUZpSbcczGKgSlbaEVXUYtVXm8/wuT6Slk2sSEbRs7tXGF2i7qxVw==", "dev": true, "dependencies": { "@babel/core": "^7.8.6", @@ -496,16 +449,15 @@ "canonical-path": "1.0.0", "chokidar": "^3.0.0", "convert-source-map": "^1.5.1", - "dependency-graph": "^0.7.2", - "fs-extra": "4.0.2", + "dependency-graph": "^0.11.0", "magic-string": "^0.25.0", "minimist": "^1.2.0", "reflect-metadata": "^0.1.2", - "semver": "^6.3.0", + "semver": "^7.0.0", "source-map": "^0.6.1", "sourcemap-codec": "^1.4.8", - "tslib": "^2.0.0", - "yargs": "^16.2.0" + "tslib": "^2.2.0", + "yargs": "^17.0.0" }, "bin": { "ivy-ngcc": "ngcc/main-ivy-ngcc.js", @@ -514,20 +466,11 @@ "ngcc": "ngcc/main-ngcc.js" }, "engines": { - "node": ">=10.0" + "node": "^12.14.1 || >=14.0.0" }, "peerDependencies": { - "@angular/compiler": "11.2.14", - "typescript": ">=4.0 <4.2" - } - }, - "node_modules/@angular/compiler-cli/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "@angular/compiler": "12.2.16", + "typescript": ">=4.2.3 <4.4" } }, "node_modules/@angular/compiler-cli/node_modules/source-map": { @@ -539,49 +482,88 @@ "node": ">=0.10.0" } }, - "node_modules/@angular/core": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-11.2.14.tgz", - "integrity": "sha512-vpR4XqBGitk1Faph37CSpemwIYTmJ3pdIVNoHKP6jLonpWu+0azkchf0f7oD8/2ivj2F81opcIw0tcsy/D/5Vg==", + "node_modules/@angular/compiler-cli/node_modules/yargs": { + "version": "17.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", + "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==", + "dev": true, "dependencies": { - "tslib": "^2.0.0" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular/compiler-cli/node_modules/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular/core": { + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-12.2.16.tgz", + "integrity": "sha512-jsmvaRdAfng99z2a9mAmkfcsCE1wm+tBYVDxnc5JquSXznwtncjzcoc2X0J0dzrkCDvzFfpTsZ9vehylytBc+A==", + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": "^12.14.1 || >=14.0.0" }, "peerDependencies": { - "rxjs": "^6.5.3", - "zone.js": "^0.10.2 || ^0.11.3" + "rxjs": "^6.5.3 || ^7.0.0", + "zone.js": "~0.11.4" } }, "node_modules/@angular/forms": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-11.2.14.tgz", - "integrity": "sha512-4LWqY6KEIk1AZQFnk+4PJSOCamlD4tumuVN06gO4D0dZo9Cx+GcvW6pM6N0CPubRvPs3sScCnu20WT11HNWC1w==", + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-12.2.16.tgz", + "integrity": "sha512-sb+gpNun5aN7CZfHXS6X7vJcd/0A1P/gRBZpYtQTzBYnqEFCOFIvR62eb05aHQ4JhgKaSPpIXrbz/bAwY/njZw==", "dependencies": { - "tslib": "^2.0.0" + "tslib": "^2.2.0" + }, + "engines": { + "node": "^12.14.1 || >=14.0.0" }, "peerDependencies": { - "@angular/common": "11.2.14", - "@angular/core": "11.2.14", - "@angular/platform-browser": "11.2.14", - "rxjs": "^6.5.3" + "@angular/common": "12.2.16", + "@angular/core": "12.2.16", + "@angular/platform-browser": "12.2.16", + "rxjs": "^6.5.3 || ^7.0.0" } }, "node_modules/@angular/language-service": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-11.2.14.tgz", - "integrity": "sha512-3+0F0X4r1WeNOV6VmaMzYnJENPVmLX2/MX3/lugwZPNYKVXl/oGyh/4PB8ktntIj0tnxQuErzqRSeucNStNGRw==", - "dev": true + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-12.2.16.tgz", + "integrity": "sha512-eDOd46Lu+4Nc/UA9q4G1xUTeIT2JXDdpedSRCk1fM+trYUZm7Xy2FZasP3pUSdtz04wt0kV9Mi5i3oCxfqU2Wg==", + "dev": true, + "engines": { + "node": "^12.14.1 || >=14.0.0" + } }, "node_modules/@angular/platform-browser": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-11.2.14.tgz", - "integrity": "sha512-fb7b7ss/gRoP8wLAN17W62leMgjynuyjEPU2eUoAAazsG9f2cgM+z3rK29GYncDVyYQxZUZYnjSqvL6GSXx86A==", + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-12.2.16.tgz", + "integrity": "sha512-T855ppLeQO6hRHi7lGf5fwPoUVt+c0h2rgkV5jHElc3ylaGnhecmZc6fnWLX4pw82TMJUgUV88CY8JCFabJWwg==", "dependencies": { - "tslib": "^2.0.0" + "tslib": "^2.2.0" + }, + "engines": { + "node": "^12.14.1 || >=14.0.0" }, "peerDependencies": { - "@angular/animations": "11.2.14", - "@angular/common": "11.2.14", - "@angular/core": "11.2.14" + "@angular/animations": "12.2.16", + "@angular/common": "12.2.16", + "@angular/core": "12.2.16" }, "peerDependenciesMeta": { "@angular/animations": { @@ -590,33 +572,45 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-11.2.14.tgz", - "integrity": "sha512-TWTPdFs6iBBcp+/YMsgCRQwdHpWGq8KjeJDJ2tfatGgBD3Gqt2YaHOMST1zPW6RkrmupytTejuVqXzeaKWFxuw==", + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-12.2.16.tgz", + "integrity": "sha512-XGxoACAMW/bc3atiVRpaiYwU4LkobYwVzwlxTT/BxOfsdt8ILb5wU8Fx1TMKNECOQHSGdK0qqhch4pTBZ3cb2g==", "dependencies": { - "tslib": "^2.0.0" + "tslib": "^2.2.0" + }, + "engines": { + "node": "^12.14.1 || >=14.0.0" }, "peerDependencies": { - "@angular/common": "11.2.14", - "@angular/compiler": "11.2.14", - "@angular/core": "11.2.14", - "@angular/platform-browser": "11.2.14" + "@angular/common": "12.2.16", + "@angular/compiler": "12.2.16", + "@angular/core": "12.2.16", + "@angular/platform-browser": "12.2.16" } }, "node_modules/@angular/router": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-11.2.14.tgz", - "integrity": "sha512-3aYBmj+zrEL9yf/ntIQxHIYaWShZOBKP3U07X2mX+TPMpGlvHDnR7L6bWhQVZwewzMMz7YVR16ldg50IFuAlfA==", + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-12.2.16.tgz", + "integrity": "sha512-LuFXSMIvX/VrB4jbYhigG2Y2pGQ9ULsSBUwDWwQCf4kr0eVI37LBJ2Vr74GBEznjgQ0UmWE89E+XYI80UhERTw==", "dependencies": { - "tslib": "^2.0.0" + "tslib": "^2.2.0" + }, + "engines": { + "node": "^12.14.1 || >=14.0.0" }, "peerDependencies": { - "@angular/common": "11.2.14", - "@angular/core": "11.2.14", - "@angular/platform-browser": "11.2.14", - "rxjs": "^6.5.3" + "@angular/common": "12.2.16", + "@angular/core": "12.2.16", + "@angular/platform-browser": "12.2.16", + "rxjs": "^6.5.3 || ^7.0.0" } }, + "node_modules/@assemblyscript/loader": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", + "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==", + "dev": true + }, "node_modules/@babel/code-frame": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", @@ -630,34 +624,34 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.0.tgz", - "integrity": "sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", + "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", - "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.8.tgz", + "integrity": "sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.10", + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.8", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.8", + "@babel/helpers": "^7.14.8", + "@babel/parser": "^7.14.8", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.8", + "@babel/types": "^7.14.8", "convert-source-map": "^1.7.0", "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", + "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", - "lodash": "^4.17.19", - "semver": "^5.4.1", + "semver": "^6.3.0", "source-map": "^0.5.0" }, "engines": { @@ -669,12 +663,12 @@ } }, "node_modules/@babel/core/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "bin": { - "semver": "bin/semver" + "semver": "bin/semver.js" } }, "node_modules/@babel/core/node_modules/source-map": { @@ -687,14 +681,17 @@ } }, "node_modules/@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.8.tgz", + "integrity": "sha512-cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg==", "dev": true, "dependencies": { - "@babel/types": "^7.12.11", + "@babel/types": "^7.14.8", "jsesc": "^2.5.1", "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/generator/node_modules/source-map": { @@ -707,12 +704,12 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", - "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", + "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -732,12 +729,12 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", - "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", + "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.16.4", + "@babel/compat-data": "^7.17.7", "@babel/helper-validator-option": "^7.16.7", "browserslist": "^4.17.5", "semver": "^6.3.0" @@ -759,15 +756,15 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.17.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz", - "integrity": "sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz", + "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-member-expression-to-functions": "^7.17.7", "@babel/helper-optimise-call-expression": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7" @@ -779,6 +776,18 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-create-regexp-features-plugin": { "version": "7.17.0", "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", @@ -795,6 +804,46 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.4.tgz", + "integrity": "sha512-OrpPZ97s+aPi6h2n1OXzdhVis1SGSsMU2aMHgLcOKfsp4/v1NWpx3CWT3lBj5eeBq9cDkPkh+YCfdF7O12uNDQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/helper-environment-visitor": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", @@ -820,14 +869,13 @@ } }, "node_modules/@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", + "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", "dev": true, "dependencies": { - "@babel/helper-get-function-arity": "^7.16.7", "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" @@ -847,18 +895,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-hoist-variables": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", @@ -872,12 +908,12 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", - "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", + "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" @@ -896,14 +932,14 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.17.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz", - "integrity": "sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", + "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", "@babel/helper-split-export-declaration": "^7.16.7", "@babel/helper-validator-identifier": "^7.16.7", "@babel/template": "^7.16.7", @@ -963,6 +999,18 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-remap-async-to-generator/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-replace-supers": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", @@ -980,12 +1028,12 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", - "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", + "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" @@ -1116,14 +1164,31 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", - "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", + "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz", + "integrity": "sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5", "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { @@ -1149,6 +1214,23 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", + "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.17.6", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, "node_modules/@babel/plugin-proposal-dynamic-import": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", @@ -1313,6 +1395,36 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", + "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/plugin-proposal-unicode-property-regex": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", @@ -1353,6 +1465,21 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", @@ -1461,6 +1588,21 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", @@ -1492,14 +1634,17 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", - "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1" + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -1557,6 +1702,18 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", @@ -1573,9 +1730,9 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.3.tgz", - "integrity": "sha512-dDFzegDYKlPqa72xIlbmSkly5MluLoaC1JswABGktyt6NTXSBcUuse/kWE/wvKFWJHPETpi158qJZFS3JmykJg==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", + "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" @@ -1714,14 +1871,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz", - "integrity": "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz", + "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.7", "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -1732,13 +1889,13 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz", - "integrity": "sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", + "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", "dev": true, "dependencies": { "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-validator-identifier": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" @@ -1843,12 +2000,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", - "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", + "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", "dev": true, "dependencies": { - "regenerator-transform": "^0.14.2" + "regenerator-transform": "^0.15.0" }, "engines": { "node": ">=6.9.0" @@ -1873,26 +2030,32 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz", - "integrity": "sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.5.tgz", + "integrity": "sha512-fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "semver": "^5.5.1" + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "bin": { - "semver": "bin/semver" + "semver": "bin/semver.js" } }, "node_modules/@babel/plugin-transform-shorthand-properties": { @@ -2003,89 +2166,99 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", - "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.8.tgz", + "integrity": "sha512-a9aOppDU93oArQ51H+B8M1vH+tayZbuBqzjOhntGetZVa+4tTu5jp+XTwqHGG2lxslqomPYVSjIxQkFwXzgnxg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.12.7", - "@babel/helper-compilation-targets": "^7.12.5", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.11", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.7", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.7", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-async-generator-functions": "^7.14.7", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.11", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.7", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.10", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.11", - "core-js-compat": "^3.8.0", - "semver": "^5.5.0" + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.14.5", + "@babel/plugin-transform-classes": "^7.14.5", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.14.5", + "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.7", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.14.8", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.15.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/preset-env/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "bin": { - "semver": "bin/semver" + "semver": "bin/semver.js" } }, "node_modules/@babel/preset-modules": { @@ -2105,23 +2278,29 @@ } }, "node_modules/@babel/runtime": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", - "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.8.tgz", + "integrity": "sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg==", "dev": true, "dependencies": { "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { @@ -2190,10 +2369,19 @@ "node": ">=0.1.90" } }, + "node_modules/@csstools/convert-colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", + "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/@discoveryjs/json-ext": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", - "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz", + "integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==", "dev": true, "engines": { "node": ">=10.0.0" @@ -2208,6 +2396,15 @@ "node": ">=8" } }, + "node_modules/@jridgewell/resolve-uri": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-1.0.0.tgz", + "integrity": "sha512-9oLAnygRMi8Q5QkYEU4XWK04B+nuoXoxjRvRxgjuChkLZFBja0YPSgdZ7dZtwhncLBcQe/I/E+fLuk5qxcYVJA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@jsdevtools/coverage-istanbul-loader": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz", @@ -2221,6 +2418,22 @@ "schema-utils": "^2.7.0" } }, + "node_modules/@ngtools/webpack": { + "version": "12.2.17", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-12.2.17.tgz", + "integrity": "sha512-uaS+2YZgPDW3VmUuwh4/yfIFV1KRVGWefc6xLWIqKRKs6mlRYs65m3ib9dX7CTS4kQMCbhxkxMbpBO2yXlzfvA==", + "dev": true, + "engines": { + "node": "^12.14.1 || >=14.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^12.0.0", + "typescript": "~4.2.3 || ~4.3.2", + "webpack": "^5.30.0" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -2256,12 +2469,6 @@ "node": ">= 8" } }, - "node_modules/@npmcli/ci-detect": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.4.0.tgz", - "integrity": "sha512-3BGrt6FLjqM6br5AhWRKTr3u5GIVkjRYeAFrMp3HjnfICrg4xOrVRwFavKT6tsp++bq5dluL5t8ME/Nha/6c1Q==", - "dev": true - }, "node_modules/@npmcli/git": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", @@ -2278,76 +2485,10 @@ "which": "^2.0.2" } }, - "node_modules/@npmcli/git/node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true - }, - "node_modules/@npmcli/git/node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/git/node_modules/npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/git/node_modules/npm-pick-manifest": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", - "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", - "dev": true, - "dependencies": { - "npm-install-checks": "^4.0.0", - "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^8.1.2", - "semver": "^7.3.4" - } - }, - "node_modules/@npmcli/git/node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/git/node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/@npmcli/git/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -2419,64 +2560,30 @@ } }, "node_modules/@npmcli/run-script": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.6.tgz", - "integrity": "sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-2.0.0.tgz", + "integrity": "sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig==", "dev": true, "dependencies": { "@npmcli/node-gyp": "^1.0.2", "@npmcli/promise-spawn": "^1.3.2", - "node-gyp": "^7.1.0", + "node-gyp": "^8.2.0", "read-package-json-fast": "^2.0.1" } }, - "node_modules/@npmcli/run-script/node_modules/read-package-json-fast": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", - "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", - "dev": true, - "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@schematics/angular": { - "version": "11.2.18", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-11.2.18.tgz", - "integrity": "sha512-i1cTkpLzXmm9/lD6jaBW5fJe0eDNjr7ie+0/cCsNVuYEIs71j1y3n/iezlBifeQr83/odDniG/k75GQX410xrA==", + "version": "12.2.17", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-12.2.17.tgz", + "integrity": "sha512-HM/4KkQu944KL5ebhIyy1Ot5OV6prHNW7kmGeMVeQefLSbbfMQCHLa1psB9UU9BoahwGhUBvleLylNSitOBCgg==", "dev": true, "dependencies": { - "@angular-devkit/core": "11.2.18", - "@angular-devkit/schematics": "11.2.18", + "@angular-devkit/core": "12.2.17", + "@angular-devkit/schematics": "12.2.17", "jsonc-parser": "3.0.0" }, "engines": { - "node": ">= 10.13.0", - "npm": "^6.11.0 || ^7.5.6", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@schematics/update": { - "version": "0.1102.18", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.1102.18.tgz", - "integrity": "sha512-w3jM/0C3c2+KKLGCilraYzOyJkvLfY5hegFR8NVoaF2FH7UV14YfkQJh15HLi4ItC3l0tG0B5p2hef+qAhfaEA==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "11.2.18", - "@angular-devkit/schematics": "11.2.18", - "@yarnpkg/lockfile": "1.1.0", - "ini": "2.0.0", - "npm-package-arg": "^8.0.0", - "pacote": "11.2.4", - "semver": "7.3.4", - "semver-intersect": "1.4.0" - }, - "engines": { - "node": ">= 10.13.0", - "npm": "^6.11.0 || ^7.5.6", + "node": "^12.14.1 || >=14.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } }, @@ -2525,6 +2632,32 @@ "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", "dev": true }, + "node_modules/@types/eslint": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", + "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", + "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", + "dev": true + }, "node_modules/@types/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", @@ -2601,177 +2734,148 @@ } }, "node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", "dev": true, "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", "dev": true }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", "dev": true }, - "node_modules/@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", "dev": true, "dependencies": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "node_modules/@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0" + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", "dev": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", "dev": true, "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", + "@webassemblyjs/ast": "1.11.1", "@xtuc/long": "4.2.2" } }, @@ -2794,9 +2898,9 @@ "dev": true }, "node_modules/abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", "dev": true }, "node_modules/abbrev": { @@ -2819,9 +2923,9 @@ } }, "node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -2830,6 +2934,15 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, "node_modules/adjust-sourcemap-loader": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", @@ -2907,6 +3020,45 @@ "ajv": ">=5.0.0" } }, + "node_modules/ajv-formats": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.0.tgz", + "integrity": "sha512-USH2jBb+C/hIpwD2iRjp0pe0k+MvzG0mlSn/FIdCgQhUb9ALPRjt2KIQdfZDS9r0ZIeUAg7gOu9KL0PFqGqr5Q==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, "node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", @@ -2996,43 +3148,22 @@ } }, "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", "dev": true }, "node_modules/are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", + "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==", "dev": true, "dependencies": { "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/are-we-there-yet/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" } }, "node_modules/argparse": { @@ -3129,67 +3260,6 @@ "node": ">=0.10.0" } }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "dependencies": { - "inherits": "2.0.1" - } - }, "node_modules/assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -3206,9 +3276,9 @@ "dev": true }, "node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dev": true, "dependencies": { "lodash": "^4.17.14" @@ -3226,12 +3296,6 @@ "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", "dev": true }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, "node_modules/atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -3245,47 +3309,59 @@ } }, "node_modules/autoprefixer": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.2.4.tgz", - "integrity": "sha512-DCCdUQiMD+P/as8m3XkeTUkUKuuRqLGcwD0nll7wevhqoJfMRpJlkFd1+MQh1pvupjiQuip42lc/VFvfUTMSKw==", + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", "dev": true, "dependencies": { - "browserslist": "^4.16.1", - "caniuse-lite": "^1.0.30001181", - "colorette": "^1.2.1", - "fraction.js": "^4.0.13", + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", "postcss-value-parser": "^4.1.0" }, "bin": { "autoprefixer": "bin/autoprefixer" }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + }, + "node_modules/autoprefixer/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/autoprefixer/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.1.0" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "node_modules/autoprefixer/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, "node_modules/axobject-query": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", @@ -3349,6 +3425,54 @@ "object.assign": "^4.1.0" } }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.3.tgz", + "integrity": "sha512-NDZ0auNRzmAfE1oDDPW2JhzIMXUk+FFe2ICejmt5T4ocKgiQx3e0VCRx9NCAidcMtL2RUZaWtXnmjTCkx0tcbA==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.4", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz", + "integrity": "sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.16.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.3.tgz", + "integrity": "sha512-JVE78oRZPKFIeUqFGrSORNzQnrDwZR16oiWeGM8ZyjBn2XAT5OjP+wXx5ESuo33nUsFUEJYjtklnsKbxW5L+7g==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.2.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -3420,15 +3544,6 @@ "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", "dev": true }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -3468,37 +3583,28 @@ "readable-stream": "^3.4.0" } }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "node_modules/bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true - }, "node_modules/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", "dev": true, "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.7", - "raw-body": "2.4.3", - "type-is": "~1.6.18" + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, "node_modules/body-parser/node_modules/debug": { @@ -3510,12 +3616,33 @@ "ms": "2.0.0" } }, + "node_modules/body-parser/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, + "node_modules/body-parser/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/bonjour": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", @@ -3558,115 +3685,26 @@ "node": ">=8" } }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, - "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "node_modules/browserify-sign/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/browserslist": { + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", + "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", "dev": true, "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/feross" + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" } - ] - }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, + ], "dependencies": { - "pako": "~1.0.5" - } - }, - "node_modules/browserslist": { - "version": "4.19.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.3.tgz", - "integrity": "sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg==", - "dev": true, - "dependencies": { - "caniuse-lite": "^1.0.30001312", - "electron-to-chromium": "^1.4.71", + "caniuse-lite": "^1.0.30001332", + "electron-to-chromium": "^1.4.118", "escalade": "^3.1.1", - "node-releases": "^2.0.2", + "node-releases": "^2.0.3", "picocolors": "^1.0.0" }, "bin": { @@ -3674,10 +3712,6 @@ }, "engines": { "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" } }, "node_modules/buffer": { @@ -3716,12 +3750,6 @@ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, "node_modules/builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", @@ -3731,12 +3759,6 @@ "node": ">=0.10.0" } }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, "node_modules/builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", @@ -3753,9 +3775,9 @@ } }, "node_modules/cacache": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", - "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.2.0.tgz", + "integrity": "sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw==", "dev": true, "dependencies": { "@npmcli/move-file": "^1.0.1", @@ -3772,7 +3794,7 @@ "p-map": "^4.0.0", "promise-inflight": "^1.0.1", "rimraf": "^3.0.2", - "ssri": "^8.0.0", + "ssri": "^8.0.1", "tar": "^6.0.2", "unique-filename": "^1.1.1" }, @@ -3823,15 +3845,12 @@ } }, "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, "node_modules/caniuse-api": { @@ -3847,14 +3866,20 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001312", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz", - "integrity": "sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==", + "version": "1.0.30001332", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz", + "integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==", "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] }, "node_modules/canonical-path": { "version": "1.0.0", @@ -3862,12 +3887,6 @@ "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==", "dev": true }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -3933,16 +3952,6 @@ "node": ">=6.0" } }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, "node_modules/circular-dependency-plugin": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", @@ -4129,15 +4138,6 @@ "node": ">=6" } }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/codelyzer": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.2.tgz", @@ -4200,6 +4200,12 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, + "node_modules/codelyzer/node_modules/zone.js": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", + "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==", + "dev": true + }, "node_modules/collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -4228,6 +4234,15 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, "node_modules/colord": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", @@ -4249,18 +4264,6 @@ "node": ">=0.1.90" } }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -4339,45 +4342,6 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/concat-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/connect": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", @@ -4417,24 +4381,12 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, "node_modules/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, "node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -4512,44 +4464,6 @@ "url": "https://github.com/sponsors/mesqueeb" } }, - "node_modules/copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "dependencies": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "node_modules/copy-concurrently/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/copy-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, "node_modules/copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", @@ -4560,32 +4474,40 @@ } }, "node_modules/copy-webpack-plugin": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.3.2.tgz", - "integrity": "sha512-MgJ1uouLIbDg4ST1GzqrGQyKoXY5iPqi6fghFqarijam7FQcBa/r6Rg0VkoIuzx75Xq8iAMghyOueMkWUQ5OaA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz", + "integrity": "sha512-14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw==", "dev": true, "dependencies": { - "cacache": "^15.0.5", - "fast-glob": "^3.2.4", - "find-cache-dir": "^3.3.1", - "glob-parent": "^5.1.1", - "globby": "^11.0.1", - "loader-utils": "^2.0.0", + "fast-glob": "^3.2.5", + "glob-parent": "^6.0.0", + "globby": "^11.0.3", "normalize-path": "^3.0.0", - "p-limit": "^3.0.2", + "p-limit": "^3.1.0", "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "webpack-sources": "^1.4.3" + "serialize-javascript": "^6.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" } }, "node_modules/copy-webpack-plugin/node_modules/schema-utils": { @@ -4606,25 +4528,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/copy-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, "node_modules/core-js": { "version": "2.6.12", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", @@ -4633,12 +4536,12 @@ "hasInstallScript": true }, "node_modules/core-js-compat": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.1.tgz", - "integrity": "sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g==", + "version": "3.22.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.2.tgz", + "integrity": "sha512-Fns9lU06ZJ07pdfmPMu7OnkIKGPKDzXKIiuGlSvHHapwqMUF2QnnsWwtueFZtSyZEilP0o6iUeHQwpn7LxtLUw==", "dev": true, "dependencies": { - "browserslist": "^4.19.1", + "browserslist": "^4.20.2", "semver": "7.0.0" }, "funding": { @@ -4656,9 +4559,9 @@ } }, "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, "node_modules/cors": { @@ -4690,49 +4593,6 @@ "node": ">=10" } }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, "node_modules/critters": { "version": "0.0.12", "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.12.tgz", @@ -4860,28 +4720,6 @@ "semver": "bin/semver" } }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" - } - }, "node_modules/css": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", @@ -4894,52 +4732,214 @@ "urix": "^0.1.0" } }, - "node_modules/css-declaration-sorter": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz", - "integrity": "sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==", + "node_modules/css-blank-pseudo": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", + "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", "dev": true, "dependencies": { - "timsort": "^0.3.0" + "postcss": "^7.0.5" + }, + "bin": { + "css-blank-pseudo": "cli.js" }, "engines": { - "node": ">= 10" + "node": ">=6.0.0" + } + }, + "node_modules/css-blank-pseudo/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/css-blank-pseudo/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/css-blank-pseudo/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz", + "integrity": "sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14" }, "peerDependencies": { "postcss": "^8.0.9" } }, - "node_modules/css-loader": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.0.1.tgz", - "integrity": "sha512-cXc2ti9V234cq7rJzFKhirb2L2iPy8ZjALeVJAozXYz9te3r4eqLSixNAbMDJSgJEQywqXzs8gonxaboeKqwiw==", + "node_modules/css-has-pseudo": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", + "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", "dev": true, "dependencies": { - "camelcase": "^6.2.0", - "cssesc": "^3.0.0", - "icss-utils": "^5.0.0", - "loader-utils": "^2.0.0", - "postcss": "^8.1.4", + "postcss": "^7.0.6", + "postcss-selector-parser": "^5.0.0-rc.4" + }, + "bin": { + "css-has-pseudo": "cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/css-has-pseudo/node_modules/cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-has-pseudo/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/css-has-pseudo/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-has-pseudo/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.2.0.tgz", + "integrity": "sha512-/rvHfYRjIpymZblf49w8jYcRo2y9gj6rV8UroHGmBxKrIyGLokpycyKzp9OkitvqT29ZSpzJ0Ic7SpnJX3sC8g==", + "dev": true, + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.2.15", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.2" + "semver": "^7.3.5" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.27.0 || ^5.0.0" + "webpack": "^5.0.0" } }, - "node_modules/css-loader/node_modules/schema-utils": { + "node_modules/css-loader/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.0.2.tgz", + "integrity": "sha512-B3I5e17RwvKPJwsxjjWcdgpU/zqylzK1bPVghcmpFHRL48DXiBgrtqz1BJsn68+t/zzaLp9kYAaEDvQ7GyanFQ==", + "dev": true, + "dependencies": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "p-limit": "^3.0.2", + "postcss": "^8.3.5", + "schema-utils": "^3.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", @@ -4957,6 +4957,15 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/css-parse": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", @@ -4966,6 +4975,53 @@ "css": "^2.0.0" } }, + "node_modules/css-prefers-color-scheme": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", + "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", + "dev": true, + "dependencies": { + "postcss": "^7.0.5" + }, + "bin": { + "css-prefers-color-scheme": "cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/css-prefers-color-scheme/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/css-prefers-color-scheme/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/css-prefers-color-scheme/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/css-select": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", @@ -5044,6 +5100,12 @@ "through": "X.X.X" } }, + "node_modules/cssdb": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", + "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==", + "dev": true + }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -5057,14 +5119,14 @@ } }, "node_modules/cssnano": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.2.tgz", - "integrity": "sha512-8JK3EnPsjQsULme9/e5M2hF564f/480hwsdcHvQ7ZtAIMfQ1O3SCfs+b8Mjf5KJxhYApyRshR2QSovEJi2K72Q==", + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.7.tgz", + "integrity": "sha512-pVsUV6LcTXif7lvKKW9ZrmX+rGRzxkEdJuVJcp5ftUjWITgwam5LMZOgaTvUrWPkcORBey6he7JKb4XAJvrpKg==", "dev": true, "dependencies": { - "cosmiconfig": "^7.0.0", - "cssnano-preset-default": "^5.0.1", - "is-resolvable": "^1.1.0" + "cssnano-preset-default": "^5.2.7", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -5074,29 +5136,29 @@ "url": "https://opencollective.com/cssnano" }, "peerDependencies": { - "postcss": "^8.2.1" + "postcss": "^8.2.15" } }, "node_modules/cssnano-preset-default": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.0.tgz", - "integrity": "sha512-3N5Vcptj2pqVKpHVqH6ezOJvqikR2PdLTbTrsrhF61FbLRQuujAqZ2sKN5rvcMsb7hFjrNnjZT8CGEkxoN/Pwg==", + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.7.tgz", + "integrity": "sha512-JiKP38ymZQK+zVKevphPzNSGHSlTI+AOwlasoSRtSVMUU285O7/6uZyd5NbW92ZHp41m0sSHe6JoZosakj63uA==", "dev": true, "dependencies": { - "css-declaration-sorter": "^6.0.3", + "css-declaration-sorter": "^6.2.2", "cssnano-utils": "^3.1.0", "postcss-calc": "^8.2.3", "postcss-colormin": "^5.3.0", "postcss-convert-values": "^5.1.0", - "postcss-discard-comments": "^5.1.0", + "postcss-discard-comments": "^5.1.1", "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.0", + "postcss-discard-empty": "^5.1.1", "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.0", - "postcss-merge-rules": "^5.1.0", + "postcss-merge-longhand": "^5.1.4", + "postcss-merge-rules": "^5.1.1", "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.0", - "postcss-minify-params": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.2", "postcss-minify-selectors": "^5.2.0", "postcss-normalize-charset": "^5.1.0", "postcss-normalize-display-values": "^5.1.0", @@ -5106,12 +5168,12 @@ "postcss-normalize-timing-functions": "^5.1.0", "postcss-normalize-unicode": "^5.1.0", "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.0", - "postcss-ordered-values": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.1", "postcss-reduce-initial": "^5.1.0", "postcss-reduce-transforms": "^5.1.0", "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.0" + "postcss-unique-selectors": "^5.1.1" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -5150,30 +5212,12 @@ "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", "dev": true }, - "node_modules/cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", "dev": true }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/date-format": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.3.tgz", @@ -5257,16 +5301,29 @@ "clone": "^1.0.2" } }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "dev": true, "dependencies": { - "object-keys": "^1.0.12" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-property": { @@ -5367,15 +5424,6 @@ "rimraf": "bin.js" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -5392,29 +5440,23 @@ } }, "node_modules/dependency-graph": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.7.2.tgz", - "integrity": "sha512-KqtH4/EZdtdfWX0p6MGP9jljvxSY6msy/pRUD4jgNwVpv3v1QmNLlsB3LDSSUg79BRVSn7jI1QPRtArGABovAQ==", + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", "dev": true, "engines": { "node": ">= 0.6.0" } }, - "node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } }, "node_modules/detect-node": { "version": "2.1.0", @@ -5437,23 +5479,6 @@ "node": ">=0.3.1" } }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -5517,16 +5542,6 @@ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true, - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, "node_modules/domelementtype": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", @@ -5568,52 +5583,6 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/duplexify/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/duplexify/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -5621,30 +5590,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.75", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.75.tgz", - "integrity": "sha512-LxgUNeu3BVU7sXaKjUDD9xivocQLxFtq6wgERrutdY/yIOps3ODOZExK1jg8DTEg4U8TUCb5MLGeWFOYuxjF3Q==", - "dev": true - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "1.4.122", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.122.tgz", + "integrity": "sha512-VuLNxTIt8sBWIT2sd186xPd18Y8KcK8myLd9nMdSJOYZwFUxxbLVmX/T1VX+qqaytRlrYYQv39myxJdXtu7Ysw==", "dev": true }, "node_modules/emoji-regex": { @@ -5737,54 +5685,16 @@ } }, "node_modules/enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", + "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/enhanced-resolve/node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/enhanced-resolve/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/enhanced-resolve/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "node": ">=10.13.0" } }, "node_modules/ent": { @@ -5812,9 +5722,9 @@ } }, "node_modules/err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", "dev": true }, "node_modules/errno": { @@ -5838,6 +5748,275 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/es-module-lexer": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", + "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.8.tgz", + "integrity": "sha512-A4af7G7YZLfG5OnARJRMtlpEsCkq/zHZQXewgPA864l9D6VjjbH1SuFYK/OSV6BtHwDGkdwyRrX0qQFLnMfUcw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "optionalDependencies": { + "esbuild-android-arm64": "0.13.8", + "esbuild-darwin-64": "0.13.8", + "esbuild-darwin-arm64": "0.13.8", + "esbuild-freebsd-64": "0.13.8", + "esbuild-freebsd-arm64": "0.13.8", + "esbuild-linux-32": "0.13.8", + "esbuild-linux-64": "0.13.8", + "esbuild-linux-arm": "0.13.8", + "esbuild-linux-arm64": "0.13.8", + "esbuild-linux-mips64le": "0.13.8", + "esbuild-linux-ppc64le": "0.13.8", + "esbuild-netbsd-64": "0.13.8", + "esbuild-openbsd-64": "0.13.8", + "esbuild-sunos-64": "0.13.8", + "esbuild-windows-32": "0.13.8", + "esbuild-windows-64": "0.13.8", + "esbuild-windows-arm64": "0.13.8" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.8.tgz", + "integrity": "sha512-AilbChndywpk7CdKkNSZ9klxl+9MboLctXd9LwLo3b0dawmOF/i/t2U5d8LM6SbT1Xw36F8yngSUPrd8yPs2RA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/esbuild-darwin-64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.8.tgz", + "integrity": "sha512-b6sdiT84zV5LVaoF+UoMVGJzR/iE2vNUfUDfFQGrm4LBwM/PWXweKpuu6RD9mcyCq18cLxkP6w/LD/w9DtX3ng==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.8.tgz", + "integrity": "sha512-R8YuPiiJayuJJRUBG4H0VwkEKo6AvhJs2m7Tl0JaIer3u1FHHXwGhMxjJDmK+kXwTFPriSysPvcobXC/UrrZCQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.8.tgz", + "integrity": "sha512-zBn6urrn8FnKC+YSgDxdof9jhPCeU8kR/qaamlV4gI8R3KUaUK162WYM7UyFVAlj9N0MyD3AtB+hltzu4cysTw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.8.tgz", + "integrity": "sha512-pWW2slN7lGlkx0MOEBoUGwRX5UgSCLq3dy2c8RIOpiHtA87xAUpDBvZK10MykbT+aMfXc0NI2lu1X+6kI34xng==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/esbuild-linux-32": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.8.tgz", + "integrity": "sha512-T0I0ueeKVO/Is0CAeSEOG9s2jeNNb8jrrMwG9QBIm3UU18MRB60ERgkS2uV3fZ1vP2F8i3Z2e3Zju4lg9dhVmw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.8.tgz", + "integrity": "sha512-Bm8SYmFtvfDCIu9sjKppFXzRXn2BVpuCinU1ChTuMtdKI/7aPpXIrkqBNOgPTOQO9AylJJc1Zw6EvtKORhn64w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-arm": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.8.tgz", + "integrity": "sha512-4/HfcC40LJ4GPyboHA+db0jpFarTB628D1ifU+/5bunIgY+t6mHkJWyxWxAAE8wl/ZIuRYB9RJFdYpu1AXGPdg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.8.tgz", + "integrity": "sha512-X4pWZ+SL+FJ09chWFgRNO3F+YtvAQRcWh0uxKqZSWKiWodAB20flsW/OWFYLXBKiVCTeoGMvENZS/GeVac7+tQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.8.tgz", + "integrity": "sha512-o7e0D+sqHKT31v+mwFircJFjwSKVd2nbkHEn4l9xQ1hLR+Bv8rnt3HqlblY3+sBdlrOTGSwz0ReROlKUMJyldA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.8.tgz", + "integrity": "sha512-eZSQ0ERsWkukJp2px/UWJHVNuy0lMoz/HZcRWAbB6reoaBw7S9vMzYNUnflfL3XA6WDs+dZn3ekHE4Y2uWLGig==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.8.tgz", + "integrity": "sha512-gZX4kP7gVvOrvX0ZwgHmbuHczQUwqYppxqtoyC7VNd80t5nBHOFXVhWo2Ad/Lms0E8b+wwgI/WjZFTCpUHOg9Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ] + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.8.tgz", + "integrity": "sha512-afzza308X4WmcebexbTzAgfEWt9MUkdTvwIa8xOu4CM2qGbl2LanqEl8/LUs8jh6Gqw6WsicEK52GPrS9wvkcw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/esbuild-sunos-64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.8.tgz", + "integrity": "sha512-mWPZibmBbuMKD+LDN23LGcOZ2EawMYBONMXXHmbuxeT0XxCNwadbCVwUQ/2p5Dp5Kvf6mhrlIffcnWOiCBpiVw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ] + }, + "node_modules/esbuild-wasm": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.13.8.tgz", + "integrity": "sha512-UbD+3nloiSpJWXTCInZQrqPe8Y+RLfDkY/5kEHiXsw/lmaEvibe69qTzQu16m5R9je/0bF7VYQ5jaEOq0z9lLA==", + "dev": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.8.tgz", + "integrity": "sha512-QsZ1HnWIcnIEApETZWw8HlOhDSWqdZX2SylU7IzGxOYyVcX7QI06ety/aDcn437mwyO7Ph4RrbhB+2ntM8kX8A==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/esbuild-windows-64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.8.tgz", + "integrity": "sha512-76Fb57B9eE/JmJi1QmUW0tRLQZfGo0it+JeYoCDTSlbTn7LV44ecOHIMJSSgZADUtRMWT9z0Kz186bnaB3amSg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.8.tgz", + "integrity": "sha512-HW6Mtq5eTudllxY2YgT62MrVcn7oq2o8TAoAvDUhyiEmRmDY8tPwAhb1vxw5/cdkbukM3KdMYtksnUhF/ekWeg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -5863,16 +6042,16 @@ } }, "node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "dependencies": { - "esrecurse": "^4.1.0", + "esrecurse": "^4.3.0", "estraverse": "^4.1.1" }, "engines": { - "node": ">=4.0.0" + "node": ">=8.0.0" } }, "node_modules/esprima": { @@ -5936,6 +6115,12 @@ "node": ">= 0.6" } }, + "node_modules/eventemitter-asyncresource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", + "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", + "dev": true + }, "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", @@ -5963,16 +6148,6 @@ "node": ">=0.12.0" } }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, "node_modules/execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", @@ -6129,38 +6304,39 @@ "dev": true }, "node_modules/express": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", - "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.0.tgz", + "integrity": "sha512-EJEXxiTQJS3lIPrU1AE2vRuT7X7E+0KBbpm5GSoK524yl0K8X+er8zS2P14E64eqsVNoWbMCT7MpmQ+ErAhgRg==", "dev": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.2", + "body-parser": "1.20.0", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.2", + "cookie": "0.5.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.9.7", + "qs": "6.10.3", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", + "send": "0.18.0", + "serve-static": "1.15.0", "setprototypeof": "1.2.0", - "statuses": "~1.5.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -6175,6 +6351,15 @@ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, + "node_modules/express/node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -6184,12 +6369,51 @@ "ms": "2.0.0" } }, + "node_modules/express/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, + "node_modules/express/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/express/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -6210,6 +6434,15 @@ } ] }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -6295,15 +6528,6 @@ "node": ">=0.10.0" } }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -6359,12 +6583,6 @@ "node": ">=0.8.0" } }, - "node_modules/figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, "node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -6380,44 +6598,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -6506,39 +6686,12 @@ "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", "dev": true }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "node_modules/flush-write-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/flush-write-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } + "node_modules/flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", + "deprecated": "flatten is deprecated in favor of utility frameworks such as lodash.", + "dev": true }, "node_modules/follow-redirects": { "version": "1.14.9", @@ -6569,29 +6722,6 @@ "node": ">=0.10.0" } }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -6601,19 +6731,6 @@ "node": ">= 0.6" } }, - "node_modules/fraction.js": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.3.tgz", - "integrity": "sha512-pUHWWt6vHzZZiQJcM6S/0PXfS+g6FM4BF5rj9wZyreivhQPdsh5PpE25VtSNxq80wHS5RfY51Ii+8Z0Zl/pmzg==", - "dev": true, - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://www.patreon.com/infusion" - } - }, "node_modules/fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", @@ -6635,51 +6752,6 @@ "node": ">= 0.6" } }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "node_modules/from2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/from2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/fs-extra": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz", - "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, "node_modules/fs-minipass": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", @@ -6692,41 +6764,11 @@ "node": ">= 8" } }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } + "node_modules/fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true }, "node_modules/fs.realpath": { "version": "1.0.0", @@ -6754,67 +6796,32 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", "dev": true, "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "dependencies": { - "number-is-nan": "^1.0.0" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/gensync": { @@ -6870,19 +6877,10 @@ "node": ">=0.10.0" } }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - } - }, "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -6911,6 +6909,12 @@ "node": ">= 6" } }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -6952,29 +6956,6 @@ "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", "dev": true }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dev": true, - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -6996,6 +6977,18 @@ "node": ">=4" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -7092,65 +7085,27 @@ "node": ">=0.10.0" } }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "node_modules/hdr-histogram-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", + "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==", "dev": true, "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" + "@assemblyscript/loader": "^0.10.1", + "base64-js": "^1.2.0", + "pako": "^1.0.3" } }, - "node_modules/hash-base/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } + "node_modules/hdr-histogram-percentiles-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", + "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", + "dev": true }, "node_modules/hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -7220,25 +7175,43 @@ "dev": true }, "node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "dependencies": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" } }, "node_modules/http-parser-js": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", - "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==", "dev": true }, "node_modules/http-proxy": { @@ -7414,27 +7387,6 @@ "node": ">=0.10.0" } }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, "node_modules/https-proxy-agent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", @@ -7501,12 +7453,6 @@ } ] }, - "node_modules/iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, "node_modules/ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -7517,12 +7463,15 @@ } }, "node_modules/ignore-walk": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", - "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-4.0.1.tgz", + "integrity": "sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==", "dev": true, "dependencies": { "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10" } }, "node_modules/image-size": { @@ -7661,6 +7610,12 @@ "node": ">=8" } }, + "node_modules/indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, "node_modules/infer-owner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", @@ -7693,21 +7648,22 @@ } }, "node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.1.2.tgz", + "integrity": "sha512-DHLKJwLPNgkfwNmsuEUKSejJFbkv0FMO9SMiQbjI3n5NQuCrSIBqP66ggqyz2a6t2qEolKrMjhQ3+W/xXgUQ+Q==", "dev": true, "dependencies": { "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", + "chalk": "^4.1.1", "cli-cursor": "^3.1.0", "cli-width": "^3.0.0", "external-editor": "^3.0.3", "figures": "^3.0.0", - "lodash": "^4.17.19", + "lodash": "^4.17.21", "mute-stream": "0.0.8", + "ora": "^5.3.0", "run-async": "^2.4.0", - "rxjs": "^6.6.0", + "rxjs": "^7.2.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0", "through": "^2.3.6" @@ -7774,6 +7730,15 @@ "node": ">=8" } }, + "node_modules/inquirer/node_modules/rxjs": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", + "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/inquirer/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -8079,12 +8044,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, "node_modules/is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -8094,12 +8053,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", @@ -8172,12 +8125,6 @@ "node": ">=0.10.0" } }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, "node_modules/istanbul-lib-coverage": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", @@ -8352,14 +8299,14 @@ } }, "node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "supports-color": "^8.0.0" }, "engines": { "node": ">= 10.13.0" @@ -8375,15 +8322,18 @@ } }, "node_modules/jest-worker/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { "has-flag": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/js-tokens": { @@ -8405,12 +8355,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -8435,24 +8379,12 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, "node_modules/json5": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", @@ -8474,15 +8406,6 @@ "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", "dev": true }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, "node_modules/jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", @@ -8492,21 +8415,6 @@ "node >= 0.2.0" ] }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, "node_modules/karma": { "version": "6.3.17", "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.17.tgz", @@ -8709,17 +8617,15 @@ } }, "node_modules/less-loader": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-7.3.0.tgz", - "integrity": "sha512-Mi8915g7NMaLlgi77mgTTQvK022xKRQBIVDSyfl3ErTuBhmZBQab0mjeJjNNqGbdR+qrfTleKXqbGI4uEFavxg==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-10.0.1.tgz", + "integrity": "sha512-Crln//HpW9M5CbtdfWm3IO66Cvx1WhZQvNybXgfB2dD/6Sav9ppw+IWqs/FQKPBFO4B6X0X28Z0WNznshgwUzA==", "dev": true, "dependencies": { - "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" + "klona": "^2.0.4" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", @@ -8727,25 +8633,7 @@ }, "peerDependencies": { "less": "^3.5.0 || ^4.0.0", - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/less-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "webpack": "^5.0.0" } }, "node_modules/less/node_modules/make-dir": { @@ -8812,32 +8700,27 @@ "dev": true }, "node_modules/license-webpack-plugin": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.3.11.tgz", - "integrity": "sha512-0iVGoX5vx0WDy8dmwTTpOOMYiGqILyUbDeVMFH52AjgBlS58lHwOlFMSoqg5nY8Kxl6+FRKyUZY/UdlQaOyqDw==", + "version": "2.3.20", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.3.20.tgz", + "integrity": "sha512-AHVueg9clOKACSHkhmEI+PCC9x8+qsQVuKECZD3ETxETK5h/PCv5/MUzyG1gm8OMcip/s1tcNxqo9Qb7WhjGsg==", "dev": true, "dependencies": { "@types/webpack-sources": "^0.1.5", "webpack-sources": "^1.2.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } } }, - "node_modules/license-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/lilconfig": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", + "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", "dev": true, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/license-webpack-plugin/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "node": ">=10" } }, "node_modules/lines-and-columns": { @@ -8847,12 +8730,12 @@ "dev": true }, "node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true, "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" + "node": ">=6.11.5" } }, "node_modules/loader-utils": { @@ -8887,6 +8770,12 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -9083,13 +8972,13 @@ "dev": true }, "node_modules/make-fetch-happen": { - "version": "8.0.14", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz", - "integrity": "sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", "dev": true, "dependencies": { "agentkeepalive": "^4.1.3", - "cacache": "^15.0.5", + "cacache": "^15.2.0", "http-cache-semantics": "^4.1.0", "http-proxy-agent": "^4.0.1", "https-proxy-agent": "^5.0.0", @@ -9100,40 +8989,25 @@ "minipass-fetch": "^1.3.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", "promise-retry": "^2.0.1", - "socks-proxy-agent": "^5.0.0", + "socks-proxy-agent": "^6.0.0", "ssri": "^8.0.0" }, "engines": { "node": ">= 10" } }, - "node_modules/make-fetch-happen/node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true - }, - "node_modules/make-fetch-happen/node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "node_modules/map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", "dev": true, "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" + "p-defer": "^1.0.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/make-fetch-happen/node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true, - "engines": { - "node": ">= 4" + "node": ">=6" } }, "node_modules/map-cache": { @@ -9157,17 +9031,6 @@ "node": ">=0.10.0" } }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, "node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", @@ -9183,6 +9046,43 @@ "node": ">= 0.6" } }, + "node_modules/mem": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/mem/-/mem-8.1.1.tgz", + "integrity": "sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==", + "dev": true, + "dependencies": { + "map-age-cleaner": "^0.1.3", + "mimic-fn": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/mem?sponsor=1" + } + }, + "node_modules/mem/node_modules/mimic-fn": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", + "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/memfs": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", + "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", + "dev": true, + "dependencies": { + "fs-monkey": "1.0.3" + }, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", @@ -9266,37 +9166,18 @@ } }, "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" } }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "node_modules/mime": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", @@ -9340,24 +9221,22 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.5.tgz", - "integrity": "sha512-tvmzcwqJJXau4OQE5vT72pRT18o2zF+tQJp8CWchqvfQnTlflkzS+dANYcRdyPRWUWRkfmeNTKltx0NZI/b5dQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.2.tgz", + "integrity": "sha512-ZmqShkn79D36uerdED+9qdo1ZYG8C1YsWvXu0UMJxurZnSdgz7gQKO2EGv8T55MhDqG3DYmGtizZNpM/UbTlcA==", "dev": true, "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "webpack-sources": "^1.1.0" + "schema-utils": "^3.1.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.4.0 || ^5.0.0" + "webpack": "^5.0.0" } }, "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { @@ -9378,37 +9257,12 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/mini-css-extract-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, "node_modules/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -9422,9 +9276,9 @@ } }, "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, "node_modules/minipass": { @@ -9527,27 +9381,6 @@ "node": ">= 8" } }, - "node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", @@ -9573,44 +9406,6 @@ "node": ">=10" } }, - "node_modules/move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "dependencies": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "node_modules/move-concurrently/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/move-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -9726,12 +9521,34 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "node_modules/nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "!win32" + ], + "dependencies": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" + } + }, "node_modules/nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "dev": true, + "optional": true + }, "node_modules/node-forge": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", @@ -9742,20 +9559,20 @@ } }, "node_modules/node-gyp": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", - "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", "dev": true, "dependencies": { "env-paths": "^2.2.0", "glob": "^7.1.4", - "graceful-fs": "^4.2.3", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "request": "^2.88.2", + "npmlog": "^6.0.0", "rimraf": "^3.0.2", - "semver": "^7.3.2", - "tar": "^6.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", "which": "^2.0.2" }, "bin": { @@ -9765,6 +9582,33 @@ "node": ">= 10.12.0" } }, + "node_modules/node-gyp-build": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", + "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", + "dev": true, + "optional": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/node-gyp/node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -9780,82 +9624,10 @@ "node": ">= 8" } }, - "node_modules/node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - } - }, - "node_modules/node-libs-browser/node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "node_modules/node-libs-browser/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/node-libs-browser/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/node-releases": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", - "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz", + "integrity": "sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==", "dev": true }, "node_modules/nopt": { @@ -9931,13 +9703,13 @@ "dev": true }, "node_modules/npm-package-arg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.0.tgz", - "integrity": "sha512-/ep6QDxBkm9HvOhOg0heitSd7JHA1U7y1qhhlRlteYYAi9Pdb/ZV7FW5aHpkrpM8+P+4p/jjR8zCyKPBMBjSig==", + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", "dev": true, "dependencies": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", "validate-npm-package-name": "^3.0.0" }, "engines": { @@ -9945,13 +9717,13 @@ } }, "node_modules/npm-packlist": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.2.2.tgz", - "integrity": "sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-3.0.0.tgz", + "integrity": "sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==", "dev": true, "dependencies": { "glob": "^7.1.6", - "ignore-walk": "^3.0.3", + "ignore-walk": "^4.0.1", "npm-bundled": "^1.1.1", "npm-normalize-package-bin": "^1.0.1" }, @@ -9963,25 +9735,24 @@ } }, "node_modules/npm-pick-manifest": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.0.tgz", - "integrity": "sha512-ygs4k6f54ZxJXrzT0x34NybRlLeZ4+6nECAIbr2i0foTnijtS1TJiyzpqtuUAJOps/hO0tNDr8fRV5g+BtRlTw==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", + "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", "dev": true, "dependencies": { "npm-install-checks": "^4.0.0", - "npm-package-arg": "^8.0.0", - "semver": "^7.0.0" + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^8.1.2", + "semver": "^7.3.4" } }, "node_modules/npm-registry-fetch": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz", - "integrity": "sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz", + "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==", "dev": true, "dependencies": { - "@npmcli/ci-detect": "^1.0.0", - "lru-cache": "^6.0.0", - "make-fetch-happen": "^8.0.9", + "make-fetch-happen": "^9.0.1", "minipass": "^3.1.3", "minipass-fetch": "^1.3.0", "minipass-json-stream": "^1.0.1", @@ -10005,15 +9776,18 @@ } }, "node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "dev": true, "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/nth-check": { @@ -10028,23 +9802,11 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, - "engines": { - "node": "*" - } + "node_modules/num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true }, "node_modules/object-assign": { "version": "4.1.1", @@ -10140,6 +9902,15 @@ "node": ">=0.10.0" } }, + "node_modules/object-inspect": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object-is": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", @@ -10259,16 +10030,17 @@ } }, "node_modules/open": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.0.tgz", - "integrity": "sha512-PGoBCX/lclIWlpS/R2PQuIR4NJoXh6X5AwVzE7WXnWRGvHg7+4TBCgsujUgiPpm0K1y4qvQeWnCWVTpTKZBtvA==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/open/-/open-8.2.1.tgz", + "integrity": "sha512-rXILpcQlkF/QuFez2BJDf3GsqpjGKbkUUToAIGo9A0Q6ZkoSGogZJulrUdwRkrAsoQvoZsrjCYt8+zblOk7JQQ==", "dev": true, "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -10296,17 +10068,18 @@ } }, "node_modules/ora": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", - "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, "dependencies": { - "bl": "^4.0.3", + "bl": "^4.1.0", "chalk": "^4.1.0", "cli-cursor": "^3.1.0", "cli-spinners": "^2.5.0", "is-interactive": "^1.0.0", - "log-symbols": "^4.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", "strip-ansi": "^6.0.0", "wcwidth": "^1.0.1" }, @@ -10396,12 +10169,6 @@ "url-parse": "^1.4.3" } }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -10411,6 +10178,15 @@ "node": ">=0.10.0" } }, + "node_modules/p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -10489,15 +10265,6 @@ "node": ">=6" } }, - "node_modules/p-retry/node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -10508,15 +10275,15 @@ } }, "node_modules/pacote": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.2.4.tgz", - "integrity": "sha512-GfTeVQGJ6WyBQbQD4t3ocHbyOmTQLmWjkCKSZPmKiGFKYKNUaM5U2gbLzUW8WG1XmS9yQFnsTFA0k3o1+q4klQ==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-12.0.2.tgz", + "integrity": "sha512-Ar3mhjcxhMzk+OVZ8pbnXdb0l8+pimvlsqBGRNkble2NVgyqOGE3yrCGi/lAYq7E7NRDMz89R1Wx5HIMCGgeYg==", "dev": true, "dependencies": { - "@npmcli/git": "^2.0.1", - "@npmcli/installed-package-contents": "^1.0.5", + "@npmcli/git": "^2.1.0", + "@npmcli/installed-package-contents": "^1.0.6", "@npmcli/promise-spawn": "^1.2.0", - "@npmcli/run-script": "^1.3.0", + "@npmcli/run-script": "^2.0.0", "cacache": "^15.0.5", "chownr": "^2.0.0", "fs-minipass": "^2.1.0", @@ -10524,20 +10291,20 @@ "minipass": "^3.1.3", "mkdirp": "^1.0.3", "npm-package-arg": "^8.0.1", - "npm-packlist": "^2.1.4", + "npm-packlist": "^3.0.0", "npm-pick-manifest": "^6.0.0", - "npm-registry-fetch": "^9.0.0", - "promise-retry": "^1.1.1", - "read-package-json-fast": "^1.1.3", + "npm-registry-fetch": "^11.0.0", + "promise-retry": "^2.0.1", + "read-package-json-fast": "^2.0.1", "rimraf": "^3.0.2", - "ssri": "^8.0.0", + "ssri": "^8.0.1", "tar": "^6.1.0" }, "bin": { "pacote": "lib/bin.js" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16" } }, "node_modules/pako": { @@ -10546,41 +10313,6 @@ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true }, - "node_modules/parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "dependencies": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "node_modules/parallel-transform/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/parallel-transform/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -10593,19 +10325,6 @@ "node": ">=6" } }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "dependencies": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -10685,12 +10404,6 @@ "node": ">=0.10.0" } }, - "node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, "node_modules/path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", @@ -10751,28 +10464,6 @@ "node": ">=8" } }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -10821,6 +10512,20 @@ "node": ">=0.10.0" } }, + "node_modules/piscina": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.1.0.tgz", + "integrity": "sha512-KTW4sjsCD34MHrUbx9eAAbuUSpVj407hQSgk/6Epkg0pbRBmv4a3UX7Sr8wxm9xYqQLnsN4mFOjqGDzHAdgKQg==", + "dev": true, + "dependencies": { + "eventemitter-asyncresource": "^1.0.0", + "hdr-histogram-js": "^2.0.1", + "hdr-histogram-percentiles-obj": "^3.0.0" + }, + "optionalDependencies": { + "nice-napi": "^1.0.2" + } + }, "node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -10833,18 +10538,6 @@ "node": ">=8" } }, - "node_modules/pnp-webpack-plugin": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", - "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", - "dev": true, - "dependencies": { - "ts-pnp": "^1.1.6" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/portfinder": { "version": "1.0.28", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", @@ -10869,12 +10562,12 @@ } }, "node_modules/portfinder/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "dependencies": { - "minimist": "^1.2.5" + "minimist": "^1.2.6" }, "bin": { "mkdirp": "bin/cmd.js" @@ -10890,14 +10583,14 @@ } }, "node_modules/postcss": { - "version": "8.2.15", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.15.tgz", - "integrity": "sha512-2zO3b26eJD/8rb106Qu2o7Qgg52ND5HPjcyQiK2B98O388h43A448LCslC0dI2P97wCAQRJsFvwTRcXxTKds+Q==", + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", + "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", "dev": true, "dependencies": { "colorette": "^1.2.2", "nanoid": "^3.1.23", - "source-map": "^0.6.1" + "source-map-js": "^0.6.2" }, "engines": { "node": "^10 || ^12 || >=14" @@ -10907,6 +10600,48 @@ "url": "https://opencollective.com/postcss/" } }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", + "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^6.0.2" + } + }, + "node_modules/postcss-attribute-case-insensitive/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-attribute-case-insensitive/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-attribute-case-insensitive/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/postcss-calc": { "version": "8.2.4", "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", @@ -10920,6 +10655,233 @@ "postcss": "^8.2.2" } }, + "node_modules/postcss-color-functional-notation": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", + "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-functional-notation/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-color-functional-notation/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-color-functional-notation/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-color-gray": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", + "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", + "dev": true, + "dependencies": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-gray/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-color-gray/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-color-gray/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", + "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", + "dev": true, + "dependencies": { + "postcss": "^7.0.14", + "postcss-values-parser": "^2.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-hex-alpha/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-color-hex-alpha/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-color-hex-alpha/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-color-mod-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", + "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", + "dev": true, + "dependencies": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-mod-function/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-color-mod-function/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-color-mod-function/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", + "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-rebeccapurple/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-color-rebeccapurple/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-color-rebeccapurple/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/postcss-colormin": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", @@ -10953,10 +10915,241 @@ "postcss": "^8.2.15" } }, + "node_modules/postcss-custom-media": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", + "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", + "dev": true, + "dependencies": { + "postcss": "^7.0.14" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-custom-media/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-custom-media/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-custom-media/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-custom-properties": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", + "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.17", + "postcss-values-parser": "^2.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-custom-properties/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-custom-properties/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-custom-properties/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", + "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-custom-selectors/node_modules/cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-custom-selectors/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-custom-selectors/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-custom-selectors/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", + "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-dir-pseudo-class/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/postcss-discard-comments": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.0.tgz", - "integrity": "sha512-L0IKF4jAshRyn03SkEO6ar/Ipz2oLywVbg2THf2EqqdNkBwmVMxuTR/RoAltOw4piiaLt3gCAdrbAqmTBInmhg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz", + "integrity": "sha512-5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" @@ -10978,9 +11171,9 @@ } }, "node_modules/postcss-discard-empty": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.0.tgz", - "integrity": "sha512-782T/buGgb3HOuHOJAHpdyKzAAKsv/BxWqsutnZ+QsiHEcDkY7v+6WWdturuBiSal6XMOO1p1aJvwXdqLD5vhA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" @@ -11001,10 +11194,318 @@ "postcss": "^8.2.15" } }, + "node_modules/postcss-double-position-gradients": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", + "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-double-position-gradients/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-double-position-gradients/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-double-position-gradients/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-env-function": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", + "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-env-function/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-env-function/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-env-function/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-focus-visible": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", + "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-focus-visible/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-focus-visible/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-focus-visible/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-focus-within": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", + "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-focus-within/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-focus-within/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-focus-within/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-font-variant": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", + "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-font-variant/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-font-variant/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-font-variant/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", + "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-gap-properties/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-gap-properties/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-gap-properties/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-image-set-function": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", + "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-image-set-function/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-image-set-function/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-image-set-function/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/postcss-import": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.0.tgz", - "integrity": "sha512-gFDDzXhqr9ELmnLHgCC3TbGfA6Dm/YMb/UN8/f7Uuq4fL7VTk2vOIj6hwINEwbokEmp123bLD7a5m+E+KIetRg==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz", + "integrity": "sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==", "dev": true, "dependencies": { "postcss-value-parser": "^4.0.0", @@ -11018,20 +11519,105 @@ "postcss": "^8.0.0" } }, + "node_modules/postcss-initial": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz", + "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-initial/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-initial/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-initial/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-lab-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", + "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", + "dev": true, + "dependencies": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-lab-function/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-lab-function/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-lab-function/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/postcss-loader": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.2.0.tgz", - "integrity": "sha512-mqgScxHqbiz1yxbnNcPdKYo/6aVt+XExURmEbQlviFVWogDbM4AJ0A/B+ZBpYsJrTRxKw7HyRazg9x0Q9SWwLA==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.1.1.tgz", + "integrity": "sha512-lBmJMvRh1D40dqpWKr9Rpygwxn8M74U9uaCSeYGNKLGInbk9mXBt1ultHf2dH9Ghk6Ue4UXlXWwGMH9QdUJ5ug==", "dev": true, "dependencies": { "cosmiconfig": "^7.0.0", "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.4" + "semver": "^7.3.5" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", @@ -11039,31 +11625,116 @@ }, "peerDependencies": { "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^4.0.0 || ^5.0.0" + "webpack": "^5.0.0" } }, - "node_modules/postcss-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "node_modules/postcss-loader/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">= 10.13.0" + "node": ">=10" + } + }, + "node_modules/postcss-logical": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", + "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-logical/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-logical/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-logical/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-media-minmax": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", + "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-media-minmax/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-media-minmax/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-media-minmax/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, "node_modules/postcss-merge-longhand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.0.tgz", - "integrity": "sha512-Gr46srN2tsLD8fudKYoHO56RG0BLQ2nsBRnSZGY04eNBPwTeWa9KeHrbL3tOLAHyB2aliikycPH2TMJG1U+W6g==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.4.tgz", + "integrity": "sha512-hbqRRqYfmXoGpzYKeW0/NCZhvNyQIlQeWVSao5iKWdyx7skLvCfQFGIUsP9NUs3dSbPac2IC4Go85/zG+7MlmA==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0", @@ -11077,9 +11748,9 @@ } }, "node_modules/postcss-merge-rules": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.0.tgz", - "integrity": "sha512-NecukEJovQ0mG7h7xV8wbYAkXGTO3MPKnXvuiXzOKcxoOodfTTKYjeo8TMhAswlSkjcPIBlnKbSFcTuVSDaPyQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.1.tgz", + "integrity": "sha512-8wv8q2cXjEuCcgpIB1Xx1pIy8/rhMPIQqYKNzEdyx37m6gpq83mQQdCxgIkFgliyEnKvdwJf/C61vN4tQDq4Ww==", "dev": true, "dependencies": { "browserslist": "^4.16.6", @@ -11110,9 +11781,9 @@ } }, "node_modules/postcss-minify-gradients": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.0.tgz", - "integrity": "sha512-J/TMLklkONn3LuL8wCwfwU8zKC1hpS6VcxFkNUNjmVt53uKqrrykR3ov11mdUYyqVMEx67slMce0tE14cE4DTg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", "dev": true, "dependencies": { "colord": "^2.9.1", @@ -11127,9 +11798,9 @@ } }, "node_modules/postcss-minify-params": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.0.tgz", - "integrity": "sha512-q67dcts4Hct6x8+JmhBgctHkbvUsqGIg2IItenjE63iZXMbhjr7AlVZkNnKtIGt/1Wsv7p/7YzeSII6Q+KPXRg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.2.tgz", + "integrity": "sha512-aEP+p71S/urY48HWaRHasyx4WHQJyOYaKpQ6eXl8k0kxg66Wt/30VR6/woh8THgcpRbonJD5IeD+CzNhPi1L8g==", "dev": true, "dependencies": { "browserslist": "^4.16.6", @@ -11217,6 +11888,50 @@ "postcss": "^8.1.0" } }, + "node_modules/postcss-nesting": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", + "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-nesting/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-nesting/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-nesting/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/postcss-normalize-charset": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", @@ -11337,9 +12052,9 @@ } }, "node_modules/postcss-normalize-whitespace": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.0.tgz", - "integrity": "sha512-7O1FanKaJkpWFyCghFzIkLhehujV/frGkdofGLwhg5upbLyGsSfiTcZAdSzoPsSUgyPCkBkNMeWR8yVgPdQybg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" @@ -11352,9 +12067,9 @@ } }, "node_modules/postcss-ordered-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.0.tgz", - "integrity": "sha512-wU4Z4D4uOIH+BUKkYid36gGDJNQtkVJT7Twv8qH6UyfttbbJWyw4/xIPuVEkkCtQLAJ0EdsNSh8dlvqkXb49TA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz", + "integrity": "sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw==", "dev": true, "dependencies": { "cssnano-utils": "^3.1.0", @@ -11367,6 +12082,287 @@ "postcss": "^8.2.15" } }, + "node_modules/postcss-overflow-shorthand": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", + "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-overflow-shorthand/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-overflow-shorthand/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-overflow-shorthand/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-page-break": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", + "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-page-break/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-page-break/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-page-break/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-place": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", + "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-place/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-place/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-place/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-preset-env": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", + "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", + "dev": true, + "dependencies": { + "autoprefixer": "^9.6.1", + "browserslist": "^4.6.4", + "caniuse-lite": "^1.0.30000981", + "css-blank-pseudo": "^0.1.4", + "css-has-pseudo": "^0.10.0", + "css-prefers-color-scheme": "^3.1.1", + "cssdb": "^4.4.0", + "postcss": "^7.0.17", + "postcss-attribute-case-insensitive": "^4.0.1", + "postcss-color-functional-notation": "^2.0.1", + "postcss-color-gray": "^5.0.0", + "postcss-color-hex-alpha": "^5.0.3", + "postcss-color-mod-function": "^3.0.3", + "postcss-color-rebeccapurple": "^4.0.1", + "postcss-custom-media": "^7.0.8", + "postcss-custom-properties": "^8.0.11", + "postcss-custom-selectors": "^5.1.2", + "postcss-dir-pseudo-class": "^5.0.0", + "postcss-double-position-gradients": "^1.0.0", + "postcss-env-function": "^2.0.2", + "postcss-focus-visible": "^4.0.0", + "postcss-focus-within": "^3.0.0", + "postcss-font-variant": "^4.0.0", + "postcss-gap-properties": "^2.0.0", + "postcss-image-set-function": "^3.0.1", + "postcss-initial": "^3.0.0", + "postcss-lab-function": "^2.0.1", + "postcss-logical": "^3.0.0", + "postcss-media-minmax": "^4.0.0", + "postcss-nesting": "^7.0.0", + "postcss-overflow-shorthand": "^2.0.0", + "postcss-page-break": "^2.0.0", + "postcss-place": "^4.0.1", + "postcss-pseudo-class-any-link": "^6.0.0", + "postcss-replace-overflow-wrap": "^3.0.0", + "postcss-selector-matches": "^4.0.0", + "postcss-selector-not": "^4.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-preset-env/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-preset-env/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-preset-env/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", + "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/postcss-reduce-initial": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", @@ -11398,10 +12394,135 @@ "postcss": "^8.2.15" } }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", + "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-replace-overflow-wrap/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-replace-overflow-wrap/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-replace-overflow-wrap/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-selector-matches": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", + "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-selector-matches/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-selector-matches/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-selector-matches/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-selector-not": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", + "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-selector-not/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-selector-not/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-selector-not/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/postcss-selector-parser": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", - "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -11428,9 +12549,9 @@ } }, "node_modules/postcss-unique-selectors": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.0.tgz", - "integrity": "sha512-LmUhgGobtpeVJJHuogzjLRwJlN7VH+BL5c9GKMVJSS/ejoyePZkXvNsYUtk//F6vKOGK86gfRS0xH7fXQSDtvA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", "dev": true, "dependencies": { "postcss-selector-parser": "^6.0.5" @@ -11448,10 +12569,24 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, - "node_modules/postcss/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/postcss-values-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", + "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", + "dev": true, + "dependencies": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=6.14.4" + } + }, + "node_modules/postcss/node_modules/source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", "dev": true, "engines": { "node": ">=0.10.0" @@ -11469,15 +12604,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -11491,16 +12617,16 @@ "dev": true }, "node_modules/promise-retry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", - "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", "dev": true, "dependencies": { - "err-code": "^1.0.0", - "retry": "^0.10.0" + "err-code": "^2.0.2", + "retry": "^0.12.0" }, "engines": { - "node": ">=0.12" + "node": ">=10" } }, "node_modules/proxy-addr": { @@ -11522,32 +12648,6 @@ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", "dev": true }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -11558,27 +12658,6 @@ "once": "^1.3.1" } }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -11598,10 +12677,13 @@ } }, "node_modules/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { "node": ">=0.6" }, @@ -11619,15 +12701,6 @@ "node": ">=0.4.x" } }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -11663,16 +12736,6 @@ "safe-buffer": "^5.1.0" } }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -11683,13 +12746,13 @@ } }, "node_modules/raw-body": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", - "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "dependencies": { "bytes": "3.1.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, @@ -11697,44 +12760,6 @@ "node": ">= 0.8" } }, - "node_modules/raw-loader": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz", - "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==", - "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/raw-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -11745,13 +12770,16 @@ } }, "node_modules/read-package-json-fast": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-1.2.2.tgz", - "integrity": "sha512-39DbPJjkltEzfXJXB6D8/Ir3GFOU2YbSKa2HaB/Y3nKrc/zY+0XrALpID6/13ezWyzqvOHrBbR4t4cjQuTdBVQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", + "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", "dev": true, "dependencies": { "json-parse-even-better-errors": "^2.3.0", "npm-normalize-package-bin": "^1.0.1" + }, + "engines": { + "node": ">=10" } }, "node_modules/readable-stream": { @@ -11805,15 +12833,15 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, "node_modules/regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", "dev": true, "dependencies": { "@babel/runtime": "^7.8.4" @@ -11839,13 +12867,14 @@ "dev": true }, "node_modules/regexp.prototype.flags": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", - "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" }, "engines": { "node": ">= 0.4" @@ -11922,57 +12951,6 @@ "node": ">=0.10" } }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request/node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -11982,6 +12960,15 @@ "node": ">=0.10.0" } }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -11995,12 +12982,12 @@ "dev": true }, "node_modules/resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "dependencies": { - "is-core-module": "^2.1.0", + "is-core-module": "^2.2.0", "path-parse": "^1.0.6" }, "funding": { @@ -12127,12 +13114,12 @@ } }, "node_modules/retry": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", "dev": true, "engines": { - "node": "*" + "node": ">= 4" } }, "node_modules/reusify": { @@ -12166,31 +13153,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/rollup": { - "version": "2.38.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.38.4.tgz", - "integrity": "sha512-B0LcJhjiwKkTl79aGVF/u5KdzsH8IylVfV56Ut6c9ouWLJcUK17T83aZBetNYSnZtXf2OHD4+2PbmRW+Fp5ulg==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.1" - } - }, "node_modules/run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", @@ -12223,15 +13185,6 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "dependencies": { - "aproba": "^1.1.1" - } - }, "node_modules/rxjs": { "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", @@ -12270,12 +13223,12 @@ "dev": true }, "node_modules/sass": { - "version": "1.32.6", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.6.tgz", - "integrity": "sha512-1bcDHDcSqeFtMr0JXI3xc/CXX6c4p0wHHivJdru8W7waM7a1WjKMm4m/Z5sY7CbVw4Whi2Chpcw6DFfSWwGLzQ==", + "version": "1.36.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.36.0.tgz", + "integrity": "sha512-fQzEjipfOv5kh930nu3Imzq3ie/sGDc/4KtQMJlt7RRdrkQSfe37Bwi/Rf/gfuYHsIuE1fIlDMvpyMcEwjnPvg==", "dev": true, "dependencies": { - "chokidar": ">=2.0.0 <4.0.0" + "chokidar": ">=3.0.0 <4.0.0" }, "bin": { "sass": "sass.js" @@ -12285,19 +13238,16 @@ } }, "node_modules/sass-loader": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.1.tgz", - "integrity": "sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.1.0.tgz", + "integrity": "sha512-FVJZ9kxVRYNZTIe2xhw93n3xJNYZADr+q69/s98l9nTCrWASo+DR2Ot0s5xTKQDDEosUkatsGeHxcH4QBp5bSg==", "dev": true, "dependencies": { "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "semver": "^7.3.2" + "neo-async": "^2.6.2" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", @@ -12305,9 +13255,9 @@ }, "peerDependencies": { "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0", "sass": "^1.3.0", - "webpack": "^4.36.0 || ^5.0.0" + "webpack": "^5.0.0" }, "peerDependenciesMeta": { "fibers": { @@ -12321,24 +13271,6 @@ } } }, - "node_modules/sass-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", @@ -12411,43 +13343,25 @@ "semver": "bin/semver" } }, - "node_modules/semver-intersect": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz", - "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==", - "dev": true, - "dependencies": { - "semver": "^5.0.0" - } - }, - "node_modules/semver-intersect/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, "node_modules/send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "dependencies": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "engines": { "node": ">= 0.8.0" @@ -12468,6 +13382,15 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, + "node_modules/send/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/send/node_modules/mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -12486,10 +13409,31 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -12556,15 +13500,15 @@ "dev": true }, "node_modules/serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.2" + "send": "0.18.0" }, "engines": { "node": ">= 0.8.0" @@ -12612,31 +13556,12 @@ "node": ">=0.10.0" } }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, "node_modules/shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", @@ -12670,6 +13595,20 @@ "node": ">=0.10.0" } }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -13000,17 +13939,34 @@ } }, "node_modules/socks-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz", - "integrity": "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.0.tgz", + "integrity": "sha512-wWqJhjb32Q6GsrUqzuFkukxb/zzide5quXYcMVpIjxalDBBYy2nqKCFQ/9+Ie4dvOYSQdOk3hUlZSdzZOd3zMQ==", "dev": true, "dependencies": { "agent-base": "^6.0.2", - "debug": "4", - "socks": "^2.3.3" + "debug": "^4.3.3", + "socks": "^2.6.2" }, "engines": { - "node": ">= 6" + "node": ">= 10" + } + }, + "node_modules/socks-proxy-agent/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/source-list-map": { @@ -13038,27 +13994,24 @@ } }, "node_modules/source-map-loader": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.1.3.tgz", - "integrity": "sha512-6YHeF+XzDOrT/ycFJNI53cgEsp/tHTMl37hi7uVyqFAlTXW109JazaQCkbc+jjoL2637qkH1amLi+JzrIpt5lA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.0.tgz", + "integrity": "sha512-GKGWqWvYr04M7tn8dryIWvb0s8YM41z82iQv01yBtIylgxax0CwvSy6gc2Y02iuXwEfGWRlMicH0nvms9UZphw==", "dev": true, "dependencies": { "abab": "^2.0.5", "iconv-lite": "^0.6.2", - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "source-map": "^0.6.1", - "whatwg-mimetype": "^2.3.0" + "source-map-js": "^0.6.2" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "webpack": "^5.0.0" } }, "node_modules/source-map-loader/node_modules/iconv-lite": { @@ -13073,28 +14026,10 @@ "node": ">=0.10.0" } }, - "node_modules/source-map-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/source-map-loader/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/source-map-loader/node_modules/source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", "dev": true, "engines": { "node": ">=0.10.0" @@ -13176,91 +14111,6 @@ "wbuf": "^1.7.3" } }, - "node_modules/speed-measure-webpack-plugin": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.4.2.tgz", - "integrity": "sha512-AtVzD0bnIy2/B0fWqJpJgmhcrfWFhBlduzSo0uwplr/QvB33ZNZj2NEth3NONgdnZJqicK0W0mSxnLSbsVCDbw==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "webpack": "^1 || ^2 || ^3 || ^4 || ^5" - } - }, - "node_modules/speed-measure-webpack-plugin/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/speed-measure-webpack-plugin/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/speed-measure-webpack-plugin/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/speed-measure-webpack-plugin/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/speed-measure-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/speed-measure-webpack-plugin/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -13279,31 +14129,6 @@ "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", "dev": true }, - "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dev": true, - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ssri": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", @@ -13427,93 +14252,6 @@ "node": ">= 0.6" } }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-browserify/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/stream-browserify/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/stream-http/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/stream-http/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, "node_modules/streamroller": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.0.2.tgz", @@ -13628,41 +14366,19 @@ } }, "node_modules/style-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", - "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.2.1.tgz", + "integrity": "sha512-1k9ZosJCRFaRbY6hH49JFlRB0fVSbmnyq1iTPjNxUmGVjBNEmwrrHPenhlp+Lgo51BojHSf6pl2FcqYaN3PfVg==", "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/style-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "webpack": "^5.0.0" } }, "node_modules/stylehacks": { @@ -13704,19 +14420,17 @@ } }, "node_modules/stylus-loader": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-4.3.3.tgz", - "integrity": "sha512-PpWB5PnCXUzW4WMYhCvNzAHJBjIBPMXwsdfkkKuA9W7k8OQFMl/19/AQvaWsxz2IptxUlCseyJ6TY/eEKJ4+UQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-6.1.0.tgz", + "integrity": "sha512-qKO34QCsOtSJrXxQQmXsPeaVHh6hMumBAFIoJTcsSr2VzrA6o/CW9HCGR8spCjzJhN8oKQHdj/Ytx0wwXyElkw==", "dev": true, "dependencies": { - "fast-glob": "^3.2.4", + "fast-glob": "^3.2.5", "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "normalize-path": "^3.0.0", - "schema-utils": "^3.0.0" + "normalize-path": "^3.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", @@ -13724,25 +14438,7 @@ }, "peerDependencies": { "stylus": ">=0.52.4", - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/stylus-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "webpack": "^5.0.0" } }, "node_modules/stylus/node_modules/debug": { @@ -13812,18 +14508,18 @@ } }, "node_modules/symbol-observable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-3.0.0.tgz", - "integrity": "sha512-6tDOXSHiVjuCaasQSWTmHUWn4PuG7qa3+1WT031yTc/swT7+rLiw3GOrFxaH1E3lLP09dH3bVuVDf2gK5rxG3Q==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", "dev": true, "engines": { "node": ">=0.10" } }, "node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, "engines": { "node": ">=6" @@ -13847,9 +14543,9 @@ } }, "node_modules/terser": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz", - "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz", + "integrity": "sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==", "dev": true, "dependencies": { "commander": "^2.20.0", @@ -13864,20 +14560,17 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz", - "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz", + "integrity": "sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==", "dev": true, "dependencies": { - "cacache": "^15.0.5", - "find-cache-dir": "^3.3.1", - "jest-worker": "^26.5.0", - "p-limit": "^3.0.2", + "jest-worker": "^27.0.2", + "p-limit": "^3.1.0", "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", + "serialize-javascript": "^6.0.0", "source-map": "^0.6.1", - "terser": "^5.3.4", - "webpack-sources": "^1.4.3" + "terser": "^5.7.0" }, "engines": { "node": ">= 10.13.0" @@ -13887,7 +14580,7 @@ "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "webpack": "^5.1.0" } }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { @@ -13917,16 +14610,6 @@ "node": ">=0.10.0" } }, - "node_modules/terser-webpack-plugin/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -13939,64 +14622,12 @@ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/through2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, - "node_modules/timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "dev": true, - "dependencies": { - "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -14009,12 +14640,6 @@ "node": ">=0.6.0" } }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -14084,19 +14709,6 @@ "node": ">=0.6" } }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -14140,20 +14752,6 @@ "mkdirp": "bin/cmd.js" } }, - "node_modules/ts-pnp": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", - "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "node_modules/tslib": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", @@ -14238,30 +14836,6 @@ "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" } }, - "node_modules/tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, "node_modules/type-fest": { "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", @@ -14287,16 +14861,10 @@ "node": ">= 0.6" } }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, "node_modules/typescript": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.8.tgz", - "integrity": "sha512-oz1765PN+imfz1MlZzSZPtC/tqcwsCyIYA8L47EkRnRW97ztRk83SzMiWLrnChC0vqoYxSU1fcFUDA5gV/ZiPg==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", + "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -14389,6 +14957,12 @@ "node": ">=0.10.0" } }, + "node_modules/uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, "node_modules/unique-filename": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", @@ -14407,36 +14981,6 @@ "imurmurhash": "^0.1.4" } }, - "node_modules/universal-analytics": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.23.tgz", - "integrity": "sha512-lgMIH7XBI6OgYn1woDEmxhGdj8yDefMKg7GkWdeATAlQZFrMrNyxSkpDzY57iY0/6fdlzTbBV03OawvvzG+q7A==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "request": "^2.88.2", - "uuid": "^3.0.0" - } - }, - "node_modules/universal-analytics/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -14555,27 +15099,12 @@ "node": ">=0.10.0" } }, - "node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "dependencies": { - "inherits": "2.0.3" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -14612,26 +15141,6 @@ "node": ">= 0.8" } }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, "node_modules/void-elements": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", @@ -14642,321 +15151,16 @@ } }, "node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", + "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" - } - }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "dev": true, - "optional": true, - "dependencies": { - "chokidar": "^2.1.8" - } - }, - "node_modules/watchpack-chokidar2/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "optional": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "optional": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "optional": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", - "dev": true, - "optional": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "optional": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "optional": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "optional": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "optional": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "optional": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "optional": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/watchpack-chokidar2/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/watchpack-chokidar2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "optional": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" } }, "node_modules/wbuf": { @@ -14978,40 +15182,41 @@ } }, "node_modules/webpack": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", - "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.50.0.tgz", + "integrity": "sha512-hqxI7t/KVygs0WRv/kTgUW8Kl3YC81uyWQSo/7WUs5LsuRw0htH/fCwbVBGCuiX/t4s7qzjXFcf41O8Reiypag==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.50", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.3.0", - "eslint-scope": "^4.0.3", + "enhanced-resolve": "^5.8.0", + "es-module-lexer": "^0.7.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.2.0", + "webpack-sources": "^3.2.0" }, "bin": { "webpack": "bin/webpack.js" }, "engines": { - "node": ">=6.11.5" + "node": ">=10.13.0" }, "funding": { "type": "opencollective", @@ -15020,41 +15225,49 @@ "peerDependenciesMeta": { "webpack-cli": { "optional": true - }, - "webpack-command": { - "optional": true } } }, "node_modules/webpack-dev-middleware": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", - "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.0.0.tgz", + "integrity": "sha512-9zng2Z60pm6A98YoRcA0wSxw1EYn7B7y5owX/Tckyt9KGyULTkLtiavjaXlWqOMkM0YtqGgL3PvMOFgyFLq8vw==", "dev": true, "dependencies": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", + "colorette": "^1.2.2", + "mem": "^8.1.1", + "memfs": "^3.2.2", + "mime-types": "^2.1.31", "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" + "schema-utils": "^3.0.0" }, "engines": { - "node": ">= 6" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.0.0" + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/webpack-dev-middleware/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "dependencies": { - "minimist": "^1.2.5" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/webpack-dev-server": { @@ -15185,15 +15398,6 @@ "node": ">=0.10.0" } }, - "node_modules/webpack-dev-server/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/webpack-dev-server/node_modules/chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -15229,9 +15433,9 @@ } }, "node_modules/webpack-dev-server/node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, "engines": { "node": ">=6" @@ -15426,6 +15630,18 @@ "node": ">=0.10.0" } }, + "node_modules/webpack-dev-server/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, "node_modules/webpack-dev-server/node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -15538,9 +15754,9 @@ } }, "node_modules/webpack-dev-server/node_modules/string-width/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, "engines": { "node": ">=6" @@ -15595,6 +15811,25 @@ "node": ">=0.10.0" } }, + "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "dev": true, + "dependencies": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, "node_modules/webpack-dev-server/node_modules/wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", @@ -15610,9 +15845,9 @@ } }, "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, "engines": { "node": ">=6" @@ -15706,9 +15941,9 @@ } }, "node_modules/webpack-merge": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", - "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", "dev": true, "dependencies": { "clone-deep": "^4.0.1", @@ -15719,16 +15954,13 @@ } }, "node_modules/webpack-sources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", - "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "dependencies": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10.13.0" + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" } }, "node_modules/webpack-sources/node_modules/source-map": { @@ -15761,473 +15993,33 @@ } } }, - "node_modules/webpack-subresource-integrity/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-subresource-integrity/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/webpack/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "node_modules/webpack/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "node_modules/webpack/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/webpack/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/webpack/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/webpack/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/webpack/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" + "node": ">= 10.13.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/webpack/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/webpack/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/webpack/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/webpack/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, - "node_modules/webpack/node_modules/terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/webpack/node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/webpack/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/webpack/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "engines": { + "node": ">=10.13.0" } }, - "node_modules/webpack/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/webpack/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", @@ -16251,12 +16043,6 @@ "node": ">=0.8.0" } }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, "node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -16290,53 +16076,6 @@ "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, - "node_modules/worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "dependencies": { - "errno": "~0.1.7" - } - }, - "node_modules/worker-plugin": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/worker-plugin/-/worker-plugin-5.0.0.tgz", - "integrity": "sha512-AXMUstURCxDD6yGam2r4E34aJg6kW85IiaeX72hi+I1cxyaMUtrvVY6sbfpGKAj5e7f68Acl62BjQF5aOOx2IQ==", - "dev": true, - "dependencies": { - "loader-utils": "^1.1.0" - }, - "peerDependencies": { - "webpack": ">= 4" - } - }, - "node_modules/worker-plugin/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/worker-plugin/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -16414,15 +16153,6 @@ } } }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -16496,341 +16226,285 @@ } }, "node_modules/zone.js": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", - "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==" + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.5.tgz", + "integrity": "sha512-D1/7VxEuQ7xk6z/kAROe4SUbd9CzxY4zOwVGnGHerd/SgLIVU5f4esDzQUsOCeArn933BZfWMKydH7l7dPEp0g==", + "dependencies": { + "tslib": "^2.3.0" + } } }, "dependencies": { - "@angular-devkit/architect": { - "version": "0.1102.18", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1102.18.tgz", - "integrity": "sha512-W561li5FM4LWuKPUA5fZxJqBRfOuqE3UL/HXSD8ivDErtyVE70oLF3bjPRW1S5UFeNPfaK+EAeoMss1DXz9DnQ==", + "@ampproject/remapping": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-1.0.1.tgz", + "integrity": "sha512-Ta9bMA3EtUHDaZJXqUoT5cn/EecwOp+SXpKJqxDbDuMbLvEMu6YTyDDuvTWeStODfdmXyfMo7LymQyPkN3BicA==", "dev": true, "requires": { - "@angular-devkit/core": "11.2.18", - "rxjs": "6.6.3" - }, - "dependencies": { - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "@jridgewell/resolve-uri": "1.0.0", + "sourcemap-codec": "1.4.8" + } + }, + "@angular-devkit/architect": { + "version": "0.1202.17", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1202.17.tgz", + "integrity": "sha512-uUQcHcLbPvr9adALQSLU1MTDduVUR2kZAHi2e7SmL9ioel84pPVXBoD0WpSBeUMKwPiDs3TQDaxDB49hl0nBSQ==", + "dev": true, + "requires": { + "@angular-devkit/core": "12.2.17", + "rxjs": "6.6.7" } }, "@angular-devkit/build-angular": { - "version": "0.1102.18", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.1102.18.tgz", - "integrity": "sha512-RsLen4BSq94y69mEk3Y+VQeWu2O6yHYcJsyV0+7FohRDVQVDHH4zjmSOsJNQzOb+naTWg6+NYRaNSAUHsTpPHw==", + "version": "12.2.17", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-12.2.17.tgz", + "integrity": "sha512-uc3HGHVQyatqQ/M53oxYBvhz0jx0hgdc7WT+L56GLHvgz7Ct2VEbpWaMfwHkFfE1F1iHkIgnTKHKWacJl1yQIg==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1102.18", - "@angular-devkit/build-optimizer": "0.1102.18", - "@angular-devkit/build-webpack": "0.1102.18", - "@angular-devkit/core": "11.2.18", - "@babel/core": "7.12.10", - "@babel/generator": "7.12.11", - "@babel/plugin-transform-async-to-generator": "7.12.1", - "@babel/plugin-transform-runtime": "7.12.10", - "@babel/preset-env": "7.12.11", - "@babel/runtime": "7.12.5", - "@babel/template": "7.12.7", - "@discoveryjs/json-ext": "0.5.2", + "@ampproject/remapping": "1.0.1", + "@angular-devkit/architect": "0.1202.17", + "@angular-devkit/build-optimizer": "0.1202.17", + "@angular-devkit/build-webpack": "0.1202.17", + "@angular-devkit/core": "12.2.17", + "@babel/core": "7.14.8", + "@babel/generator": "7.14.8", + "@babel/helper-annotate-as-pure": "7.14.5", + "@babel/plugin-proposal-async-generator-functions": "7.14.7", + "@babel/plugin-transform-async-to-generator": "7.14.5", + "@babel/plugin-transform-runtime": "7.14.5", + "@babel/preset-env": "7.14.8", + "@babel/runtime": "7.14.8", + "@babel/template": "7.14.5", + "@discoveryjs/json-ext": "0.5.3", "@jsdevtools/coverage-istanbul-loader": "3.0.5", - "@ngtools/webpack": "11.2.18", + "@ngtools/webpack": "12.2.17", "ansi-colors": "4.1.1", - "autoprefixer": "10.2.4", "babel-loader": "8.2.2", "browserslist": "^4.9.1", - "cacache": "15.0.5", + "cacache": "15.2.0", "caniuse-lite": "^1.0.30001032", "circular-dependency-plugin": "5.2.2", - "copy-webpack-plugin": "6.3.2", - "core-js": "3.8.3", + "copy-webpack-plugin": "9.0.1", + "core-js": "3.16.0", "critters": "0.0.12", - "css-loader": "5.0.1", - "cssnano": "5.0.2", - "file-loader": "6.2.0", + "css-loader": "6.2.0", + "css-minimizer-webpack-plugin": "3.0.2", + "esbuild": "0.13.8", + "esbuild-wasm": "0.13.8", "find-cache-dir": "3.3.1", - "glob": "7.1.6", + "glob": "7.1.7", "https-proxy-agent": "5.0.0", - "inquirer": "7.3.3", - "jest-worker": "26.6.2", + "inquirer": "8.1.2", "karma-source-map-support": "1.4.0", "less": "4.1.1", - "less-loader": "7.3.0", - "license-webpack-plugin": "2.3.11", + "less-loader": "10.0.1", + "license-webpack-plugin": "2.3.20", "loader-utils": "2.0.0", - "mini-css-extract-plugin": "1.3.5", + "mini-css-extract-plugin": "2.4.2", "minimatch": "3.0.4", - "open": "7.4.0", - "ora": "5.3.0", + "open": "8.2.1", + "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", - "pnp-webpack-plugin": "1.6.4", - "postcss": "8.2.15", - "postcss-import": "14.0.0", - "postcss-loader": "4.2.0", - "raw-loader": "4.0.2", - "regenerator-runtime": "0.13.7", + "piscina": "3.1.0", + "postcss": "8.3.6", + "postcss-import": "14.0.2", + "postcss-loader": "6.1.1", + "postcss-preset-env": "6.7.0", + "regenerator-runtime": "0.13.9", "resolve-url-loader": "4.0.0", - "rimraf": "3.0.2", - "rollup": "2.38.4", - "rxjs": "6.6.3", - "sass": "1.32.6", - "sass-loader": "10.1.1", - "semver": "7.3.4", - "source-map": "0.7.3", - "source-map-loader": "1.1.3", + "rxjs": "6.6.7", + "sass": "1.36.0", + "sass-loader": "12.1.0", + "semver": "7.3.5", + "source-map-loader": "3.0.0", "source-map-support": "0.5.19", - "speed-measure-webpack-plugin": "1.4.2", - "style-loader": "2.0.0", + "style-loader": "3.2.1", "stylus": "0.54.8", - "stylus-loader": "4.3.3", - "terser": "5.5.1", - "terser-webpack-plugin": "4.2.3", + "stylus-loader": "6.1.0", + "terser": "5.7.1", + "terser-webpack-plugin": "5.1.4", "text-table": "0.2.0", "tree-kill": "1.2.2", - "webpack": "4.44.2", - "webpack-dev-middleware": "3.7.2", + "tslib": "2.3.0", + "webpack": "5.50.0", + "webpack-dev-middleware": "5.0.0", "webpack-dev-server": "3.11.3", - "webpack-merge": "5.7.3", - "webpack-sources": "2.2.0", - "webpack-subresource-integrity": "1.5.2", - "worker-plugin": "5.0.0" + "webpack-merge": "5.8.0", + "webpack-subresource-integrity": "1.5.2" }, "dependencies": { - "@ngtools/webpack": { - "version": "11.2.18", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-11.2.18.tgz", - "integrity": "sha512-5CsCQRc11g7sGGQzelnfrS7zQFVt9Ps7SiajJhUqI2hyNptdItzbc9TVyNMIy4cHIAT+j7kVwqdBSRhiylZcCw==", - "dev": true, - "requires": { - "@angular-devkit/core": "11.2.18", - "enhanced-resolve": "5.7.0", - "webpack-sources": "2.2.0" - } - }, "core-js": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz", - "integrity": "sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==", + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.0.tgz", + "integrity": "sha512-5+5VxRFmSf97nM8Jr2wzOwLqRo6zphH2aX+7KsAUONObyzakDNq2G/bgbhinxB4PoV9L3aXQYhiDKyIKWd2c8g==", "dev": true }, - "enhanced-resolve": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz", - "integrity": "sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==", + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "lru-cache": "^6.0.0" } }, - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true - }, "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", "dev": true } } }, "@angular-devkit/build-optimizer": { - "version": "0.1102.18", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.18.tgz", - "integrity": "sha512-bZ+Ma31Bkcm3Bp7RL08ltGD9k+m5qe6JpQgN9oKjfc0WwB5ldux7mgE1lz6OfxCaY5wsnLRCl1SdKWJDkyAz3A==", + "version": "0.1202.17", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.17.tgz", + "integrity": "sha512-1qWGWw7cCNADB4LZ/zjiSK0GLmr2kebYyNG0KutCE8GNVxv2h6w6dJP6t1C/BgskRuBPCAhvE+lEKN8ljSutag==", "dev": true, "requires": { - "loader-utils": "2.0.0", "source-map": "0.7.3", - "tslib": "2.1.0", - "typescript": "4.1.5", - "webpack-sources": "2.2.0" + "tslib": "2.3.0", + "typescript": "4.3.5" }, "dependencies": { "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", - "dev": true - }, - "typescript": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.5.tgz", - "integrity": "sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", "dev": true } } }, "@angular-devkit/build-webpack": { - "version": "0.1102.18", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1102.18.tgz", - "integrity": "sha512-a/n4BoIb3A7imMupkvCA1bJRoP5zs9vuwAT2xmCM8QikE+mUURotz/PqBycuUCFVquG7bmj7qowSSp99z3RKGQ==", + "version": "0.1202.17", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1202.17.tgz", + "integrity": "sha512-z7FW43DJ4p8UZwbFRmMrh2ohqhI2Wtdg3+FZiTnl4opb3zYheGiNxPlTuiyKjG21JUkGCdthkkBLCNfaUU0U/Q==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1102.18", - "@angular-devkit/core": "11.2.18", - "rxjs": "6.6.3" - }, - "dependencies": { - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "@angular-devkit/architect": "0.1202.17", + "rxjs": "6.6.7" } }, "@angular-devkit/core": { - "version": "11.2.18", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-11.2.18.tgz", - "integrity": "sha512-w7llSJfLg9/+Qb7kvFIZeUomt2kopt1Ujh6nsm/JGEoZWB6Ay63gtuj/IU/0i96Hw4UWkk6Oe7wKSKuDNMIO/w==", + "version": "12.2.17", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.17.tgz", + "integrity": "sha512-PyOY7LGUPPd6rakxUYbfQN6zAdOCMCouVp5tERY1WTdMdEiuULOtHsPee8kNbh75pD59KbJNU+fwozPRMuIm5g==", "dev": true, "requires": { - "ajv": "6.12.6", + "ajv": "8.6.2", + "ajv-formats": "2.1.0", "fast-json-stable-stringify": "2.1.0", "magic-string": "0.25.7", - "rxjs": "6.6.3", + "rxjs": "6.6.7", "source-map": "0.7.3" }, "dependencies": { - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "ajv": { + "version": "8.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", + "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", "dev": true, "requires": { - "tslib": "^1.9.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" } }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true } } }, "@angular-devkit/schematics": { - "version": "11.2.18", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-11.2.18.tgz", - "integrity": "sha512-MqqW/Ef1wp6yrdHEWSCWegjIBIQA9BblQ4eP6urjNaGnLRRawIrVJtzZQTcEgwIWJTbr0vIXJOdgKSIsqgPVTg==", + "version": "12.2.17", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.2.17.tgz", + "integrity": "sha512-c0eNu/nx1Mnu7KcZgYTYHP736H4Y9pSyLBSmLAHYZv3t3m0dIPbhifRcLQX7hHQ8fGT2ZFxmOpaQG5/DcIghSw==", "dev": true, "requires": { - "@angular-devkit/core": "11.2.18", - "ora": "5.3.0", - "rxjs": "6.6.3" - }, - "dependencies": { - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "@angular-devkit/core": "12.2.17", + "ora": "5.4.1", + "rxjs": "6.6.7" } }, "@angular/animations": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-11.2.14.tgz", - "integrity": "sha512-Heq/nNrCmb3jbkusu+BQszOecfFI/31Oxxj+CDQkqqYpBcswk6bOJLoEE472o+vmgxaXbgeflU9qbIiCQhpMFA==", + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-12.2.16.tgz", + "integrity": "sha512-Kf6C7Ta+fCMq5DvT9JNVhBkcECrqFa3wumiC6ssGo5sNaEzXz+tlep9ZgEbqfxSn7gAN7L1DgsbS9u0O6tbUkg==", "requires": { - "tslib": "^2.0.0" + "tslib": "^2.2.0" } }, "@angular/cli": { - "version": "11.2.18", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-11.2.18.tgz", - "integrity": "sha512-+62LVEjS737nUnd03YcMAynP5INpQmUf7k2LHgXFcdXfilTE6tv35GRecVHugGxa7m0pqm5atGiQOM26bllylw==", + "version": "12.2.17", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-12.2.17.tgz", + "integrity": "sha512-mubRPp5hRIK/q0J8q6kVAqbYYuBUKMMBljUCqT4fHsl+qXYD27rgG3EqNzycKBMHUIlykotrDSdy47voD+atOg==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1102.18", - "@angular-devkit/core": "11.2.18", - "@angular-devkit/schematics": "11.2.18", - "@schematics/angular": "11.2.18", - "@schematics/update": "0.1102.18", + "@angular-devkit/architect": "0.1202.17", + "@angular-devkit/core": "12.2.17", + "@angular-devkit/schematics": "12.2.17", + "@schematics/angular": "12.2.17", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", - "debug": "4.3.1", + "debug": "4.3.2", "ini": "2.0.0", - "inquirer": "7.3.3", + "inquirer": "8.1.2", "jsonc-parser": "3.0.0", - "npm-package-arg": "8.1.0", - "npm-pick-manifest": "6.1.0", - "open": "7.4.0", - "ora": "5.3.0", - "pacote": "11.2.4", - "resolve": "1.19.0", - "rimraf": "3.0.2", - "semver": "7.3.4", - "symbol-observable": "3.0.0", - "universal-analytics": "0.4.23", + "npm-package-arg": "8.1.5", + "npm-pick-manifest": "6.1.1", + "open": "8.2.1", + "ora": "5.4.1", + "pacote": "12.0.2", + "resolve": "1.20.0", + "semver": "7.3.5", + "symbol-observable": "4.0.0", "uuid": "8.3.2" + }, + "dependencies": { + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "@angular/common": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-11.2.14.tgz", - "integrity": "sha512-ZSLV/3j7eCTyLf/8g4yBFLWySjiLz3vLJAGWscYoUpnJWMnug1VRu6zoF/COxCbtORgE+Wz6K0uhfS6MziBGVw==", + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-12.2.16.tgz", + "integrity": "sha512-FEqTXTEsnbDInqV1yFlm97Tz1OFqZS5t0TUkm8gzXRgpIce/F/jLwAg0u1VQkgOsno6cNm0xTWPoZgu85NI4ug==", "requires": { - "tslib": "^2.0.0" + "tslib": "^2.2.0" } }, "@angular/compiler": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-11.2.14.tgz", - "integrity": "sha512-XBOK3HgA+/y6Cz7kOX4zcJYmgJ264XnfcbXUMU2cD7Ac+mbNhLPKohWrEiSWalfcjnpf5gRfufQrQP7lpAGu0A==", + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-12.2.16.tgz", + "integrity": "sha512-nsYEw+yu8QyeqPf9nAmG419i1mtGM4v8+U+S3eQHQFXTgJzLymMykWHYu2ETdjUpNSLK6xcIQDBWtWnWSfJjAA==", "requires": { - "tslib": "^2.0.0" + "tslib": "^2.2.0" } }, "@angular/compiler-cli": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-11.2.14.tgz", - "integrity": "sha512-A7ltnCp03/EVqK/Q3tVUDsokgz5GHW3dSPGl0Csk7Ys5uBB9ibHTmVt4eiXA4jt0+6Bk+mKxwe5BEDqLvwYFAg==", + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-12.2.16.tgz", + "integrity": "sha512-tlalh8SJvdCWbUPRUR5GamaP+wSc/GuCsoUZpSbcczGKgSlbaEVXUYtVXm8/wuT6Slk2sSEbRs7tXGF2i7qxVw==", "dev": true, "requires": { "@babel/core": "^7.8.6", @@ -16838,78 +16512,98 @@ "canonical-path": "1.0.0", "chokidar": "^3.0.0", "convert-source-map": "^1.5.1", - "dependency-graph": "^0.7.2", - "fs-extra": "4.0.2", + "dependency-graph": "^0.11.0", "magic-string": "^0.25.0", "minimist": "^1.2.0", "reflect-metadata": "^0.1.2", - "semver": "^6.3.0", + "semver": "^7.0.0", "source-map": "^0.6.1", "sourcemap-codec": "^1.4.8", - "tslib": "^2.0.0", - "yargs": "^16.2.0" + "tslib": "^2.2.0", + "yargs": "^17.0.0" }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true + }, + "yargs": { + "version": "17.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", + "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + } + }, + "yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true } } }, "@angular/core": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-11.2.14.tgz", - "integrity": "sha512-vpR4XqBGitk1Faph37CSpemwIYTmJ3pdIVNoHKP6jLonpWu+0azkchf0f7oD8/2ivj2F81opcIw0tcsy/D/5Vg==", + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-12.2.16.tgz", + "integrity": "sha512-jsmvaRdAfng99z2a9mAmkfcsCE1wm+tBYVDxnc5JquSXznwtncjzcoc2X0J0dzrkCDvzFfpTsZ9vehylytBc+A==", "requires": { - "tslib": "^2.0.0" + "tslib": "^2.2.0" } }, "@angular/forms": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-11.2.14.tgz", - "integrity": "sha512-4LWqY6KEIk1AZQFnk+4PJSOCamlD4tumuVN06gO4D0dZo9Cx+GcvW6pM6N0CPubRvPs3sScCnu20WT11HNWC1w==", + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-12.2.16.tgz", + "integrity": "sha512-sb+gpNun5aN7CZfHXS6X7vJcd/0A1P/gRBZpYtQTzBYnqEFCOFIvR62eb05aHQ4JhgKaSPpIXrbz/bAwY/njZw==", "requires": { - "tslib": "^2.0.0" + "tslib": "^2.2.0" } }, "@angular/language-service": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-11.2.14.tgz", - "integrity": "sha512-3+0F0X4r1WeNOV6VmaMzYnJENPVmLX2/MX3/lugwZPNYKVXl/oGyh/4PB8ktntIj0tnxQuErzqRSeucNStNGRw==", + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-12.2.16.tgz", + "integrity": "sha512-eDOd46Lu+4Nc/UA9q4G1xUTeIT2JXDdpedSRCk1fM+trYUZm7Xy2FZasP3pUSdtz04wt0kV9Mi5i3oCxfqU2Wg==", "dev": true }, "@angular/platform-browser": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-11.2.14.tgz", - "integrity": "sha512-fb7b7ss/gRoP8wLAN17W62leMgjynuyjEPU2eUoAAazsG9f2cgM+z3rK29GYncDVyYQxZUZYnjSqvL6GSXx86A==", + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-12.2.16.tgz", + "integrity": "sha512-T855ppLeQO6hRHi7lGf5fwPoUVt+c0h2rgkV5jHElc3ylaGnhecmZc6fnWLX4pw82TMJUgUV88CY8JCFabJWwg==", "requires": { - "tslib": "^2.0.0" + "tslib": "^2.2.0" } }, "@angular/platform-browser-dynamic": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-11.2.14.tgz", - "integrity": "sha512-TWTPdFs6iBBcp+/YMsgCRQwdHpWGq8KjeJDJ2tfatGgBD3Gqt2YaHOMST1zPW6RkrmupytTejuVqXzeaKWFxuw==", + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-12.2.16.tgz", + "integrity": "sha512-XGxoACAMW/bc3atiVRpaiYwU4LkobYwVzwlxTT/BxOfsdt8ILb5wU8Fx1TMKNECOQHSGdK0qqhch4pTBZ3cb2g==", "requires": { - "tslib": "^2.0.0" + "tslib": "^2.2.0" } }, "@angular/router": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-11.2.14.tgz", - "integrity": "sha512-3aYBmj+zrEL9yf/ntIQxHIYaWShZOBKP3U07X2mX+TPMpGlvHDnR7L6bWhQVZwewzMMz7YVR16ldg50IFuAlfA==", + "version": "12.2.16", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-12.2.16.tgz", + "integrity": "sha512-LuFXSMIvX/VrB4jbYhigG2Y2pGQ9ULsSBUwDWwQCf4kr0eVI37LBJ2Vr74GBEznjgQ0UmWE89E+XYI80UhERTw==", "requires": { - "tslib": "^2.0.0" + "tslib": "^2.2.0" } }, + "@assemblyscript/loader": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", + "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==", + "dev": true + }, "@babel/code-frame": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", @@ -16920,38 +16614,38 @@ } }, "@babel/compat-data": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.0.tgz", - "integrity": "sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", + "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", "dev": true }, "@babel/core": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", - "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.8.tgz", + "integrity": "sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.10", + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.8", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.8", + "@babel/helpers": "^7.14.8", + "@babel/parser": "^7.14.8", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.8", + "@babel/types": "^7.14.8", "convert-source-map": "^1.7.0", "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", + "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", - "lodash": "^4.17.19", - "semver": "^5.4.1", + "semver": "^6.3.0", "source-map": "^0.5.0" }, "dependencies": { "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, "source-map": { @@ -16963,12 +16657,12 @@ } }, "@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.8.tgz", + "integrity": "sha512-cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg==", "dev": true, "requires": { - "@babel/types": "^7.12.11", + "@babel/types": "^7.14.8", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, @@ -16982,12 +16676,12 @@ } }, "@babel/helper-annotate-as-pure": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", - "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", + "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.14.5" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { @@ -17001,12 +16695,12 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", - "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", + "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", "dev": true, "requires": { - "@babel/compat-data": "^7.16.4", + "@babel/compat-data": "^7.17.7", "@babel/helper-validator-option": "^7.16.7", "browserslist": "^4.17.5", "semver": "^6.3.0" @@ -17021,18 +16715,29 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.17.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz", - "integrity": "sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz", + "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-member-expression-to-functions": "^7.17.7", "@babel/helper-optimise-call-expression": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7" + }, + "dependencies": { + "@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + } } }, "@babel/helper-create-regexp-features-plugin": { @@ -17043,6 +16748,41 @@ "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", "regexpu-core": "^5.0.1" + }, + "dependencies": { + "@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + } + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.4.tgz", + "integrity": "sha512-OrpPZ97s+aPi6h2n1OXzdhVis1SGSsMU2aMHgLcOKfsp4/v1NWpx3CWT3lBj5eeBq9cDkPkh+YCfdF7O12uNDQ==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "@babel/helper-environment-visitor": { @@ -17064,14 +16804,13 @@ } }, "@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", + "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.16.7", "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/types": "^7.17.0" }, "dependencies": { "@babel/template": { @@ -17087,15 +16826,6 @@ } } }, - "@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, "@babel/helper-hoist-variables": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", @@ -17106,12 +16836,12 @@ } }, "@babel/helper-member-expression-to-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", - "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", + "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.17.0" } }, "@babel/helper-module-imports": { @@ -17124,14 +16854,14 @@ } }, "@babel/helper-module-transforms": { - "version": "7.17.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz", - "integrity": "sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", + "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", "@babel/helper-split-export-declaration": "^7.16.7", "@babel/helper-validator-identifier": "^7.16.7", "@babel/template": "^7.16.7", @@ -17176,6 +16906,17 @@ "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-wrap-function": "^7.16.8", "@babel/types": "^7.16.8" + }, + "dependencies": { + "@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + } } }, "@babel/helper-replace-supers": { @@ -17192,12 +16933,12 @@ } }, "@babel/helper-simple-access": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", - "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", + "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.17.0" } }, "@babel/helper-skip-transparent-expression-wrappers": { @@ -17296,14 +17037,25 @@ "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==", "dev": true }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", - "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", + "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.7" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz", + "integrity": "sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, @@ -17317,6 +17069,17 @@ "@babel/helper-plugin-utils": "^7.16.7" } }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", + "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.17.6", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, "@babel/plugin-proposal-dynamic-import": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", @@ -17421,6 +17184,29 @@ "@babel/helper-plugin-utils": "^7.16.7" } }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", + "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "dependencies": { + "@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + } + } + }, "@babel/plugin-proposal-unicode-property-regex": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", @@ -17449,6 +17235,15 @@ "@babel/helper-plugin-utils": "^7.12.13" } }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, "@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", @@ -17530,6 +17325,15 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, "@babel/plugin-syntax-top-level-await": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", @@ -17549,14 +17353,14 @@ } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", - "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1" + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" } }, "@babel/plugin-transform-block-scoped-functions": { @@ -17591,6 +17395,17 @@ "@babel/helper-replace-supers": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", "globals": "^11.1.0" + }, + "dependencies": { + "@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + } } }, "@babel/plugin-transform-computed-properties": { @@ -17603,9 +17418,9 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.3.tgz", - "integrity": "sha512-dDFzegDYKlPqa72xIlbmSkly5MluLoaC1JswABGktyt6NTXSBcUuse/kWE/wvKFWJHPETpi158qJZFS3JmykJg==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", + "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" @@ -17690,25 +17505,25 @@ } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz", - "integrity": "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz", + "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.7", "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz", - "integrity": "sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", + "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-validator-identifier": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" @@ -17771,12 +17586,12 @@ } }, "@babel/plugin-transform-regenerator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", - "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", + "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", "dev": true, "requires": { - "regenerator-transform": "^0.14.2" + "regenerator-transform": "^0.15.0" } }, "@babel/plugin-transform-reserved-words": { @@ -17789,20 +17604,23 @@ } }, "@babel/plugin-transform-runtime": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz", - "integrity": "sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.5.tgz", + "integrity": "sha512-fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "semver": "^5.5.1" + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "semver": "^6.3.0" }, "dependencies": { "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } @@ -17873,83 +17691,90 @@ } }, "@babel/preset-env": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", - "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.8.tgz", + "integrity": "sha512-a9aOppDU93oArQ51H+B8M1vH+tayZbuBqzjOhntGetZVa+4tTu5jp+XTwqHGG2lxslqomPYVSjIxQkFwXzgnxg==", "dev": true, "requires": { - "@babel/compat-data": "^7.12.7", - "@babel/helper-compilation-targets": "^7.12.5", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.11", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.7", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.7", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-async-generator-functions": "^7.14.7", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.11", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.7", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.10", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.11", - "core-js-compat": "^3.8.0", - "semver": "^5.5.0" + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.14.5", + "@babel/plugin-transform-classes": "^7.14.5", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.14.5", + "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.7", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.14.8", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.15.0", + "semver": "^6.3.0" }, "dependencies": { "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } @@ -17968,23 +17793,23 @@ } }, "@babel/runtime": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", - "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.8.tgz", + "integrity": "sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/traverse": { @@ -18040,10 +17865,16 @@ "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true }, + "@csstools/convert-colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", + "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==", + "dev": true + }, "@discoveryjs/json-ext": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", - "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz", + "integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==", "dev": true }, "@istanbuljs/schema": { @@ -18052,6 +17883,12 @@ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true }, + "@jridgewell/resolve-uri": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-1.0.0.tgz", + "integrity": "sha512-9oLAnygRMi8Q5QkYEU4XWK04B+nuoXoxjRvRxgjuChkLZFBja0YPSgdZ7dZtwhncLBcQe/I/E+fLuk5qxcYVJA==", + "dev": true + }, "@jsdevtools/coverage-istanbul-loader": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz", @@ -18065,6 +17902,13 @@ "schema-utils": "^2.7.0" } }, + "@ngtools/webpack": { + "version": "12.2.17", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-12.2.17.tgz", + "integrity": "sha512-uaS+2YZgPDW3VmUuwh4/yfIFV1KRVGWefc6xLWIqKRKs6mlRYs65m3ib9dX7CTS4kQMCbhxkxMbpBO2yXlzfvA==", + "dev": true, + "requires": {} + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -18091,12 +17935,6 @@ "fastq": "^1.6.0" } }, - "@npmcli/ci-detect": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.4.0.tgz", - "integrity": "sha512-3BGrt6FLjqM6br5AhWRKTr3u5GIVkjRYeAFrMp3HjnfICrg4xOrVRwFavKT6tsp++bq5dluL5t8ME/Nha/6c1Q==", - "dev": true - }, "@npmcli/git": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", @@ -18113,64 +17951,10 @@ "which": "^2.0.2" }, "dependencies": { - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true - }, - "hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" - } - }, - "npm-pick-manifest": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", - "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", - "dev": true, - "requires": { - "npm-install-checks": "^4.0.0", - "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^8.1.2", - "semver": "^7.3.4" - } - }, - "promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "requires": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - } - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true - }, "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -18223,56 +18007,28 @@ } }, "@npmcli/run-script": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.6.tgz", - "integrity": "sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-2.0.0.tgz", + "integrity": "sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig==", "dev": true, "requires": { "@npmcli/node-gyp": "^1.0.2", "@npmcli/promise-spawn": "^1.3.2", - "node-gyp": "^7.1.0", + "node-gyp": "^8.2.0", "read-package-json-fast": "^2.0.1" - }, - "dependencies": { - "read-package-json-fast": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", - "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", - "dev": true, - "requires": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" - } - } } }, "@schematics/angular": { - "version": "11.2.18", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-11.2.18.tgz", - "integrity": "sha512-i1cTkpLzXmm9/lD6jaBW5fJe0eDNjr7ie+0/cCsNVuYEIs71j1y3n/iezlBifeQr83/odDniG/k75GQX410xrA==", + "version": "12.2.17", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-12.2.17.tgz", + "integrity": "sha512-HM/4KkQu944KL5ebhIyy1Ot5OV6prHNW7kmGeMVeQefLSbbfMQCHLa1psB9UU9BoahwGhUBvleLylNSitOBCgg==", "dev": true, "requires": { - "@angular-devkit/core": "11.2.18", - "@angular-devkit/schematics": "11.2.18", + "@angular-devkit/core": "12.2.17", + "@angular-devkit/schematics": "12.2.17", "jsonc-parser": "3.0.0" } }, - "@schematics/update": { - "version": "0.1102.18", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.1102.18.tgz", - "integrity": "sha512-w3jM/0C3c2+KKLGCilraYzOyJkvLfY5hegFR8NVoaF2FH7UV14YfkQJh15HLi4ItC3l0tG0B5p2hef+qAhfaEA==", - "dev": true, - "requires": { - "@angular-devkit/core": "11.2.18", - "@angular-devkit/schematics": "11.2.18", - "@yarnpkg/lockfile": "1.1.0", - "ini": "2.0.0", - "npm-package-arg": "^8.0.0", - "pacote": "11.2.4", - "semver": "7.3.4", - "semver-intersect": "1.4.0" - } - }, "@socket.io/base64-arraybuffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", @@ -18309,6 +18065,32 @@ "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", "dev": true }, + "@types/eslint": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", + "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", + "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", + "dev": true + }, "@types/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", @@ -18384,177 +18166,148 @@ } }, "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", "dev": true, "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", "dev": true }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", "dev": true, "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" } }, "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", "dev": true, "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" } }, "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" } }, "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", + "@webassemblyjs/ast": "1.11.1", "@xtuc/long": "4.2.2" } }, @@ -18577,9 +18330,9 @@ "dev": true }, "abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", "dev": true }, "abbrev": { @@ -18599,11 +18352,18 @@ } }, "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", "dev": true }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "requires": {} + }, "adjust-sourcemap-loader": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", @@ -18663,6 +18423,35 @@ "dev": true, "requires": {} }, + "ajv-formats": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.0.tgz", + "integrity": "sha512-USH2jBb+C/hIpwD2iRjp0pe0k+MvzG0mlSn/FIdCgQhUb9ALPRjt2KIQdfZDS9r0ZIeUAg7gOu9KL0PFqGqr5Q==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", @@ -18723,45 +18512,19 @@ "dev": true }, "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", "dev": true }, "are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", + "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==", "dev": true, "requires": { "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "readable-stream": "^3.6.0" } }, "argparse": { @@ -18839,68 +18602,6 @@ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -18914,9 +18615,9 @@ "dev": true }, "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dev": true, "requires": { "lodash": "^4.17.14" @@ -18934,12 +18635,6 @@ "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", "dev": true }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -18947,31 +18642,44 @@ "dev": true }, "autoprefixer": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.2.4.tgz", - "integrity": "sha512-DCCdUQiMD+P/as8m3XkeTUkUKuuRqLGcwD0nll7wevhqoJfMRpJlkFd1+MQh1pvupjiQuip42lc/VFvfUTMSKw==", + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", "dev": true, "requires": { - "browserslist": "^4.16.1", - "caniuse-lite": "^1.0.30001181", - "colorette": "^1.2.1", - "fraction.js": "^4.0.13", + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, "axobject-query": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", @@ -19024,6 +18732,44 @@ "object.assign": "^4.1.0" } }, + "babel-plugin-polyfill-corejs2": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.3.tgz", + "integrity": "sha512-NDZ0auNRzmAfE1oDDPW2JhzIMXUk+FFe2ICejmt5T4ocKgiQx3e0VCRx9NCAidcMtL2RUZaWtXnmjTCkx0tcbA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.4", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz", + "integrity": "sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.16.2" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.3.tgz", + "integrity": "sha512-JVE78oRZPKFIeUqFGrSORNzQnrDwZR16oiWeGM8ZyjBn2XAT5OjP+wXx5ESuo33nUsFUEJYjtklnsKbxW5L+7g==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.4" + } + }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -19074,15 +18820,6 @@ "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", "dev": true }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -19116,34 +18853,24 @@ "readable-stream": "^3.4.0" } }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true - }, "body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", "dev": true, "requires": { "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.7", - "raw-body": "2.4.3", - "type-is": "~1.6.18" + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "dependencies": { "debug": { @@ -19155,11 +18882,26 @@ "ms": "2.0.0" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } } } }, @@ -19202,103 +18944,16 @@ "fill-range": "^7.0.1" } }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, "browserslist": { - "version": "4.19.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.3.tgz", - "integrity": "sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg==", + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", + "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001312", - "electron-to-chromium": "^1.4.71", + "caniuse-lite": "^1.0.30001332", + "electron-to-chromium": "^1.4.118", "escalade": "^3.1.1", - "node-releases": "^2.0.2", + "node-releases": "^2.0.3", "picocolors": "^1.0.0" } }, @@ -19324,24 +18979,12 @@ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, "builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", @@ -19355,9 +18998,9 @@ "dev": true }, "cacache": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", - "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.2.0.tgz", + "integrity": "sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw==", "dev": true, "requires": { "@npmcli/move-file": "^1.0.1", @@ -19374,7 +19017,7 @@ "p-map": "^4.0.0", "promise-inflight": "^1.0.1", "rimraf": "^3.0.2", - "ssri": "^8.0.0", + "ssri": "^8.0.1", "tar": "^6.0.2", "unique-filename": "^1.1.1" } @@ -19413,9 +19056,9 @@ "dev": true }, "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "caniuse-api": { @@ -19431,9 +19074,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001312", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz", - "integrity": "sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==", + "version": "1.0.30001332", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz", + "integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==", "dev": true }, "canonical-path": { @@ -19442,12 +19085,6 @@ "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==", "dev": true }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -19493,16 +19130,6 @@ "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, "circular-dependency-plugin": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", @@ -19645,12 +19272,6 @@ "shallow-clone": "^3.0.0" } }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, "codelyzer": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.2.tgz", @@ -19698,6 +19319,12 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true + }, + "zone.js": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", + "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==", + "dev": true } } }, @@ -19726,6 +19353,12 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, "colord": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", @@ -19744,15 +19377,6 @@ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -19824,44 +19448,6 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "connect": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", @@ -19897,24 +19483,12 @@ "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", "dev": true }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, "content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -19968,40 +19542,6 @@ "is-what": "^3.14.1" } }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", @@ -20009,24 +19549,29 @@ "dev": true }, "copy-webpack-plugin": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.3.2.tgz", - "integrity": "sha512-MgJ1uouLIbDg4ST1GzqrGQyKoXY5iPqi6fghFqarijam7FQcBa/r6Rg0VkoIuzx75Xq8iAMghyOueMkWUQ5OaA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz", + "integrity": "sha512-14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw==", "dev": true, "requires": { - "cacache": "^15.0.5", - "fast-glob": "^3.2.4", - "find-cache-dir": "^3.3.1", - "glob-parent": "^5.1.1", - "globby": "^11.0.1", - "loader-utils": "^2.0.0", + "fast-glob": "^3.2.5", + "glob-parent": "^6.0.0", + "globby": "^11.0.3", "normalize-path": "^3.0.0", - "p-limit": "^3.0.2", + "p-limit": "^3.1.0", "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "webpack-sources": "^1.4.3" + "serialize-javascript": "^6.0.0" }, "dependencies": { + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -20037,22 +19582,6 @@ "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } } } }, @@ -20062,12 +19591,12 @@ "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" }, "core-js-compat": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.1.tgz", - "integrity": "sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g==", + "version": "3.22.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.2.tgz", + "integrity": "sha512-Fns9lU06ZJ07pdfmPMu7OnkIKGPKDzXKIiuGlSvHHapwqMUF2QnnsWwtueFZtSyZEilP0o6iUeHQwpn7LxtLUw==", "dev": true, "requires": { - "browserslist": "^4.19.1", + "browserslist": "^4.20.2", "semver": "7.0.0" }, "dependencies": { @@ -20080,9 +19609,9 @@ } }, "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, "cors": { @@ -20108,51 +19637,6 @@ "yaml": "^1.10.0" } }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, "critters": { "version": "0.0.12", "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.12.tgz", @@ -20250,25 +19734,6 @@ } } }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, "css": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", @@ -20289,33 +19754,137 @@ } } }, - "css-declaration-sorter": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz", - "integrity": "sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==", + "css-blank-pseudo": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", + "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", "dev": true, "requires": { - "timsort": "^0.3.0" + "postcss": "^7.0.5" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "css-declaration-sorter": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz", + "integrity": "sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg==", + "dev": true, + "requires": {} + }, + "css-has-pseudo": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", + "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^5.0.0-rc.4" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "css-loader": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.0.1.tgz", - "integrity": "sha512-cXc2ti9V234cq7rJzFKhirb2L2iPy8ZjALeVJAozXYz9te3r4eqLSixNAbMDJSgJEQywqXzs8gonxaboeKqwiw==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.2.0.tgz", + "integrity": "sha512-/rvHfYRjIpymZblf49w8jYcRo2y9gj6rV8UroHGmBxKrIyGLokpycyKzp9OkitvqT29ZSpzJ0Ic7SpnJX3sC8g==", "dev": true, "requires": { - "camelcase": "^6.2.0", - "cssesc": "^3.0.0", - "icss-utils": "^5.0.0", - "loader-utils": "^2.0.0", - "postcss": "^8.1.4", + "icss-utils": "^5.1.0", + "postcss": "^8.2.15", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.1.0", + "semver": "^7.3.5" + }, + "dependencies": { + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "css-minimizer-webpack-plugin": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.0.2.tgz", + "integrity": "sha512-B3I5e17RwvKPJwsxjjWcdgpU/zqylzK1bPVghcmpFHRL48DXiBgrtqz1BJsn68+t/zzaLp9kYAaEDvQ7GyanFQ==", + "dev": true, + "requires": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "p-limit": "^3.0.2", + "postcss": "^8.3.5", "schema-utils": "^3.0.0", - "semver": "^7.3.2" + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" }, "dependencies": { "schema-utils": { @@ -20328,6 +19897,12 @@ "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, @@ -20340,6 +19915,39 @@ "css": "^2.0.0" } }, + "css-prefers-color-scheme": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", + "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", + "dev": true, + "requires": { + "postcss": "^7.0.5" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "css-select": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", @@ -20396,6 +20004,12 @@ "through": "X.X.X" } }, + "cssdb": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", + "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==", + "dev": true + }, "cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -20403,36 +20017,36 @@ "dev": true }, "cssnano": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.2.tgz", - "integrity": "sha512-8JK3EnPsjQsULme9/e5M2hF564f/480hwsdcHvQ7ZtAIMfQ1O3SCfs+b8Mjf5KJxhYApyRshR2QSovEJi2K72Q==", + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.7.tgz", + "integrity": "sha512-pVsUV6LcTXif7lvKKW9ZrmX+rGRzxkEdJuVJcp5ftUjWITgwam5LMZOgaTvUrWPkcORBey6he7JKb4XAJvrpKg==", "dev": true, "requires": { - "cosmiconfig": "^7.0.0", - "cssnano-preset-default": "^5.0.1", - "is-resolvable": "^1.1.0" + "cssnano-preset-default": "^5.2.7", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" } }, "cssnano-preset-default": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.0.tgz", - "integrity": "sha512-3N5Vcptj2pqVKpHVqH6ezOJvqikR2PdLTbTrsrhF61FbLRQuujAqZ2sKN5rvcMsb7hFjrNnjZT8CGEkxoN/Pwg==", + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.7.tgz", + "integrity": "sha512-JiKP38ymZQK+zVKevphPzNSGHSlTI+AOwlasoSRtSVMUU285O7/6uZyd5NbW92ZHp41m0sSHe6JoZosakj63uA==", "dev": true, "requires": { - "css-declaration-sorter": "^6.0.3", + "css-declaration-sorter": "^6.2.2", "cssnano-utils": "^3.1.0", "postcss-calc": "^8.2.3", "postcss-colormin": "^5.3.0", "postcss-convert-values": "^5.1.0", - "postcss-discard-comments": "^5.1.0", + "postcss-discard-comments": "^5.1.1", "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.0", + "postcss-discard-empty": "^5.1.1", "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.0", - "postcss-merge-rules": "^5.1.0", + "postcss-merge-longhand": "^5.1.4", + "postcss-merge-rules": "^5.1.1", "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.0", - "postcss-minify-params": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.2", "postcss-minify-selectors": "^5.2.0", "postcss-normalize-charset": "^5.1.0", "postcss-normalize-display-values": "^5.1.0", @@ -20442,12 +20056,12 @@ "postcss-normalize-timing-functions": "^5.1.0", "postcss-normalize-unicode": "^5.1.0", "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.0", - "postcss-ordered-values": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.1", "postcss-reduce-initial": "^5.1.0", "postcss-reduce-transforms": "^5.1.0", "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.0" + "postcss-unique-selectors": "^5.1.1" } }, "cssnano-utils": { @@ -20472,27 +20086,12 @@ "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", "dev": true }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, "damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", "dev": true }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, "date-format": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.3.tgz", @@ -20553,13 +20152,20 @@ "clone": "^1.0.2" } }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true + }, "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "dev": true, "requires": { - "object-keys": "^1.0.12" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" } }, "define-property": { @@ -20640,12 +20246,6 @@ } } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -20659,25 +20259,15 @@ "dev": true }, "dependency-graph": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.7.2.tgz", - "integrity": "sha512-KqtH4/EZdtdfWX0p6MGP9jljvxSY6msy/pRUD4jgNwVpv3v1QmNLlsB3LDSSUg79BRVSn7jI1QPRtArGABovAQ==", + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", "dev": true }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true }, "detect-node": { @@ -20698,25 +20288,6 @@ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -20774,12 +20345,6 @@ "entities": "^2.0.0" } }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, "domelementtype": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", @@ -20806,54 +20371,6 @@ "domhandler": "^4.2.0" } }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -20861,34 +20378,11 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.75", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.75.tgz", - "integrity": "sha512-LxgUNeu3BVU7sXaKjUDD9xivocQLxFtq6wgERrutdY/yIOps3ODOZExK1jg8DTEg4U8TUCb5MLGeWFOYuxjF3Q==", + "version": "1.4.122", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.122.tgz", + "integrity": "sha512-VuLNxTIt8sBWIT2sd186xPd18Y8KcK8myLd9nMdSJOYZwFUxxbLVmX/T1VX+qqaytRlrYYQv39myxJdXtu7Ysw==", "dev": true }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -20966,50 +20460,13 @@ } }, "enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", + "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" } }, "ent": { @@ -21031,9 +20488,9 @@ "dev": true }, "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", "dev": true }, "errno": { @@ -21054,6 +20511,163 @@ "is-arrayish": "^0.2.1" } }, + "es-module-lexer": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", + "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==", + "dev": true + }, + "esbuild": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.8.tgz", + "integrity": "sha512-A4af7G7YZLfG5OnARJRMtlpEsCkq/zHZQXewgPA864l9D6VjjbH1SuFYK/OSV6BtHwDGkdwyRrX0qQFLnMfUcw==", + "dev": true, + "optional": true, + "requires": { + "esbuild-android-arm64": "0.13.8", + "esbuild-darwin-64": "0.13.8", + "esbuild-darwin-arm64": "0.13.8", + "esbuild-freebsd-64": "0.13.8", + "esbuild-freebsd-arm64": "0.13.8", + "esbuild-linux-32": "0.13.8", + "esbuild-linux-64": "0.13.8", + "esbuild-linux-arm": "0.13.8", + "esbuild-linux-arm64": "0.13.8", + "esbuild-linux-mips64le": "0.13.8", + "esbuild-linux-ppc64le": "0.13.8", + "esbuild-netbsd-64": "0.13.8", + "esbuild-openbsd-64": "0.13.8", + "esbuild-sunos-64": "0.13.8", + "esbuild-windows-32": "0.13.8", + "esbuild-windows-64": "0.13.8", + "esbuild-windows-arm64": "0.13.8" + } + }, + "esbuild-android-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.8.tgz", + "integrity": "sha512-AilbChndywpk7CdKkNSZ9klxl+9MboLctXd9LwLo3b0dawmOF/i/t2U5d8LM6SbT1Xw36F8yngSUPrd8yPs2RA==", + "dev": true, + "optional": true + }, + "esbuild-darwin-64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.8.tgz", + "integrity": "sha512-b6sdiT84zV5LVaoF+UoMVGJzR/iE2vNUfUDfFQGrm4LBwM/PWXweKpuu6RD9mcyCq18cLxkP6w/LD/w9DtX3ng==", + "dev": true, + "optional": true + }, + "esbuild-darwin-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.8.tgz", + "integrity": "sha512-R8YuPiiJayuJJRUBG4H0VwkEKo6AvhJs2m7Tl0JaIer3u1FHHXwGhMxjJDmK+kXwTFPriSysPvcobXC/UrrZCQ==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.8.tgz", + "integrity": "sha512-zBn6urrn8FnKC+YSgDxdof9jhPCeU8kR/qaamlV4gI8R3KUaUK162WYM7UyFVAlj9N0MyD3AtB+hltzu4cysTw==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.8.tgz", + "integrity": "sha512-pWW2slN7lGlkx0MOEBoUGwRX5UgSCLq3dy2c8RIOpiHtA87xAUpDBvZK10MykbT+aMfXc0NI2lu1X+6kI34xng==", + "dev": true, + "optional": true + }, + "esbuild-linux-32": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.8.tgz", + "integrity": "sha512-T0I0ueeKVO/Is0CAeSEOG9s2jeNNb8jrrMwG9QBIm3UU18MRB60ERgkS2uV3fZ1vP2F8i3Z2e3Zju4lg9dhVmw==", + "dev": true, + "optional": true + }, + "esbuild-linux-64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.8.tgz", + "integrity": "sha512-Bm8SYmFtvfDCIu9sjKppFXzRXn2BVpuCinU1ChTuMtdKI/7aPpXIrkqBNOgPTOQO9AylJJc1Zw6EvtKORhn64w==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.8.tgz", + "integrity": "sha512-4/HfcC40LJ4GPyboHA+db0jpFarTB628D1ifU+/5bunIgY+t6mHkJWyxWxAAE8wl/ZIuRYB9RJFdYpu1AXGPdg==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.8.tgz", + "integrity": "sha512-X4pWZ+SL+FJ09chWFgRNO3F+YtvAQRcWh0uxKqZSWKiWodAB20flsW/OWFYLXBKiVCTeoGMvENZS/GeVac7+tQ==", + "dev": true, + "optional": true + }, + "esbuild-linux-mips64le": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.8.tgz", + "integrity": "sha512-o7e0D+sqHKT31v+mwFircJFjwSKVd2nbkHEn4l9xQ1hLR+Bv8rnt3HqlblY3+sBdlrOTGSwz0ReROlKUMJyldA==", + "dev": true, + "optional": true + }, + "esbuild-linux-ppc64le": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.8.tgz", + "integrity": "sha512-eZSQ0ERsWkukJp2px/UWJHVNuy0lMoz/HZcRWAbB6reoaBw7S9vMzYNUnflfL3XA6WDs+dZn3ekHE4Y2uWLGig==", + "dev": true, + "optional": true + }, + "esbuild-netbsd-64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.8.tgz", + "integrity": "sha512-gZX4kP7gVvOrvX0ZwgHmbuHczQUwqYppxqtoyC7VNd80t5nBHOFXVhWo2Ad/Lms0E8b+wwgI/WjZFTCpUHOg9Q==", + "dev": true, + "optional": true + }, + "esbuild-openbsd-64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.8.tgz", + "integrity": "sha512-afzza308X4WmcebexbTzAgfEWt9MUkdTvwIa8xOu4CM2qGbl2LanqEl8/LUs8jh6Gqw6WsicEK52GPrS9wvkcw==", + "dev": true, + "optional": true + }, + "esbuild-sunos-64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.8.tgz", + "integrity": "sha512-mWPZibmBbuMKD+LDN23LGcOZ2EawMYBONMXXHmbuxeT0XxCNwadbCVwUQ/2p5Dp5Kvf6mhrlIffcnWOiCBpiVw==", + "dev": true, + "optional": true + }, + "esbuild-wasm": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.13.8.tgz", + "integrity": "sha512-UbD+3nloiSpJWXTCInZQrqPe8Y+RLfDkY/5kEHiXsw/lmaEvibe69qTzQu16m5R9je/0bF7VYQ5jaEOq0z9lLA==", + "dev": true + }, + "esbuild-windows-32": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.8.tgz", + "integrity": "sha512-QsZ1HnWIcnIEApETZWw8HlOhDSWqdZX2SylU7IzGxOYyVcX7QI06ety/aDcn437mwyO7Ph4RrbhB+2ntM8kX8A==", + "dev": true, + "optional": true + }, + "esbuild-windows-64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.8.tgz", + "integrity": "sha512-76Fb57B9eE/JmJi1QmUW0tRLQZfGo0it+JeYoCDTSlbTn7LV44ecOHIMJSSgZADUtRMWT9z0Kz186bnaB3amSg==", + "dev": true, + "optional": true + }, + "esbuild-windows-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.8.tgz", + "integrity": "sha512-HW6Mtq5eTudllxY2YgT62MrVcn7oq2o8TAoAvDUhyiEmRmDY8tPwAhb1vxw5/cdkbukM3KdMYtksnUhF/ekWeg==", + "dev": true, + "optional": true + }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -21073,12 +20687,12 @@ "dev": true }, "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { - "esrecurse": "^4.1.0", + "esrecurse": "^4.3.0", "estraverse": "^4.1.1" } }, @@ -21123,6 +20737,12 @@ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", "dev": true }, + "eventemitter-asyncresource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", + "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", + "dev": true + }, "eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", @@ -21144,16 +20764,6 @@ "original": "^1.0.0" } }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, "execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", @@ -21283,38 +20893,39 @@ } }, "express": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", - "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.0.tgz", + "integrity": "sha512-EJEXxiTQJS3lIPrU1AE2vRuT7X7E+0KBbpm5GSoK524yl0K8X+er8zS2P14E64eqsVNoWbMCT7MpmQ+ErAhgRg==", "dev": true, "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.2", + "body-parser": "1.20.0", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.2", + "cookie": "0.5.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.9.7", + "qs": "6.10.3", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", + "send": "0.18.0", + "serve-static": "1.15.0", "setprototypeof": "1.2.0", - "statuses": "~1.5.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -21326,6 +20937,12 @@ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -21335,17 +20952,53 @@ "ms": "2.0.0" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + } + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true } } }, @@ -21418,12 +21071,6 @@ } } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -21473,12 +21120,6 @@ "websocket-driver": ">=0.5.1" } }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, "figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -21488,29 +21129,6 @@ "escape-string-regexp": "^1.0.5" } }, - "file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -21586,41 +21204,11 @@ "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", "dev": true }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } + "flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", + "dev": true }, "follow-redirects": { "version": "1.14.9", @@ -21634,35 +21222,12 @@ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, "forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true }, - "fraction.js": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.3.tgz", - "integrity": "sha512-pUHWWt6vHzZZiQJcM6S/0PXfS+g6FM4BF5rj9wZyreivhQPdsh5PpE25VtSNxq80wHS5RfY51Ii+8Z0Zl/pmzg==", - "dev": true - }, "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", @@ -21678,53 +21243,6 @@ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "fs-extra": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz", - "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, "fs-minipass": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", @@ -21734,43 +21252,11 @@ "minipass": "^3.0.0" } }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } + "fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true }, "fs.realpath": { "version": "1.0.0", @@ -21791,57 +21277,26 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", "dev": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" } }, "gensync": { @@ -21882,19 +21337,10 @@ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -21914,6 +21360,12 @@ "is-glob": "^4.0.1" } }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -21946,22 +21398,6 @@ "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", "dev": true }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -21977,6 +21413,15 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -22050,50 +21495,27 @@ } } }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "hdr-histogram-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", + "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==", "dev": true, "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } + "@assemblyscript/loader": "^0.10.1", + "base64-js": "^1.2.0", + "pako": "^1.0.3" } }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } + "hdr-histogram-percentiles-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", + "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", + "dev": true }, "hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -22162,22 +21584,36 @@ "dev": true }, "http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "requires": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } } }, "http-parser-js": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", - "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==", "dev": true }, "http-proxy": { @@ -22325,23 +21761,6 @@ } } }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, "https-proxy-agent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", @@ -22383,12 +21802,6 @@ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, "ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -22396,9 +21809,9 @@ "dev": true }, "ignore-walk": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", - "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-4.0.1.tgz", + "integrity": "sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==", "dev": true, "requires": { "minimatch": "^3.0.4" @@ -22497,6 +21910,12 @@ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, "infer-owner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", @@ -22526,21 +21945,22 @@ "dev": true }, "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.1.2.tgz", + "integrity": "sha512-DHLKJwLPNgkfwNmsuEUKSejJFbkv0FMO9SMiQbjI3n5NQuCrSIBqP66ggqyz2a6t2qEolKrMjhQ3+W/xXgUQ+Q==", "dev": true, "requires": { "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", + "chalk": "^4.1.1", "cli-cursor": "^3.1.0", "cli-width": "^3.0.0", "external-editor": "^3.0.3", "figures": "^3.0.0", - "lodash": "^4.17.19", + "lodash": "^4.17.21", "mute-stream": "0.0.8", + "ora": "^5.3.0", "run-async": "^2.4.0", - "rxjs": "^6.6.0", + "rxjs": "^7.2.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0", "through": "^2.3.6" @@ -22586,6 +22006,15 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "rxjs": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", + "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -22806,24 +22235,12 @@ "has-tostringtag": "^1.0.0" } }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, "is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", @@ -22875,12 +22292,6 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, "istanbul-lib-coverage": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", @@ -23019,14 +22430,14 @@ } }, "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, "requires": { "@types/node": "*", "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "supports-color": "^8.0.0" }, "dependencies": { "has-flag": { @@ -23036,9 +22447,9 @@ "dev": true }, "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -23062,12 +22473,6 @@ "esprima": "^4.0.0" } }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -23086,24 +22491,12 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, "json5": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", @@ -23119,33 +22512,12 @@ "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", "dev": true }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, "jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", "dev": true }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, "karma": { "version": "6.3.17", "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.17.tgz", @@ -23349,57 +22721,30 @@ } }, "less-loader": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-7.3.0.tgz", - "integrity": "sha512-Mi8915g7NMaLlgi77mgTTQvK022xKRQBIVDSyfl3ErTuBhmZBQab0mjeJjNNqGbdR+qrfTleKXqbGI4uEFavxg==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-10.0.1.tgz", + "integrity": "sha512-Crln//HpW9M5CbtdfWm3IO66Cvx1WhZQvNybXgfB2dD/6Sav9ppw+IWqs/FQKPBFO4B6X0X28Z0WNznshgwUzA==", "dev": true, "requires": { - "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } + "klona": "^2.0.4" } }, "license-webpack-plugin": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.3.11.tgz", - "integrity": "sha512-0iVGoX5vx0WDy8dmwTTpOOMYiGqILyUbDeVMFH52AjgBlS58lHwOlFMSoqg5nY8Kxl6+FRKyUZY/UdlQaOyqDw==", + "version": "2.3.20", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.3.20.tgz", + "integrity": "sha512-AHVueg9clOKACSHkhmEI+PCC9x8+qsQVuKECZD3ETxETK5h/PCv5/MUzyG1gm8OMcip/s1tcNxqo9Qb7WhjGsg==", "dev": true, "requires": { "@types/webpack-sources": "^0.1.5", "webpack-sources": "^1.2.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - } } }, + "lilconfig": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", + "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", + "dev": true + }, "lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -23407,9 +22752,9 @@ "dev": true }, "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true }, "loader-utils": { @@ -23438,6 +22783,12 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -23583,13 +22934,13 @@ "dev": true }, "make-fetch-happen": { - "version": "8.0.14", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz", - "integrity": "sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", "dev": true, "requires": { "agentkeepalive": "^4.1.3", - "cacache": "^15.0.5", + "cacache": "^15.2.0", "http-cache-semantics": "^4.1.0", "http-proxy-agent": "^4.0.1", "https-proxy-agent": "^5.0.0", @@ -23600,33 +22951,19 @@ "minipass-fetch": "^1.3.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", "promise-retry": "^2.0.1", - "socks-proxy-agent": "^5.0.0", + "socks-proxy-agent": "^6.0.0", "ssri": "^8.0.0" - }, - "dependencies": { - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true - }, - "promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "requires": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - } - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true - } + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" } }, "map-cache": { @@ -23644,17 +22981,6 @@ "object-visit": "^1.0.0" } }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, "mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", @@ -23667,6 +22993,33 @@ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, + "mem": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/mem/-/mem-8.1.1.tgz", + "integrity": "sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.3", + "mimic-fn": "^3.1.0" + }, + "dependencies": { + "mimic-fn": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", + "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==", + "dev": true + } + } + }, + "memfs": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", + "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", + "dev": true, + "requires": { + "fs-monkey": "1.0.3" + } + }, "memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", @@ -23745,31 +23098,13 @@ "dev": true }, "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, "mime": { @@ -23800,14 +23135,12 @@ "dev": true }, "mini-css-extract-plugin": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.5.tgz", - "integrity": "sha512-tvmzcwqJJXau4OQE5vT72pRT18o2zF+tQJp8CWchqvfQnTlflkzS+dANYcRdyPRWUWRkfmeNTKltx0NZI/b5dQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.2.tgz", + "integrity": "sha512-ZmqShkn79D36uerdED+9qdo1ZYG8C1YsWvXu0UMJxurZnSdgz7gQKO2EGv8T55MhDqG3DYmGtizZNpM/UbTlcA==", "dev": true, "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "webpack-sources": "^1.1.0" + "schema-utils": "^3.1.0" }, "dependencies": { "schema-utils": { @@ -23820,22 +23153,6 @@ "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } } } }, @@ -23845,12 +23162,6 @@ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -23861,9 +23172,9 @@ } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, "minipass": { @@ -23943,24 +23254,6 @@ "yallist": "^4.0.0" } }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, "mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", @@ -23977,40 +23270,6 @@ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -24107,12 +23366,30 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", + "dev": true, + "optional": true, + "requires": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" + } + }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "dev": true, + "optional": true + }, "node-forge": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", @@ -24120,23 +23397,32 @@ "dev": true }, "node-gyp": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", - "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", "dev": true, "requires": { "env-paths": "^2.2.0", "glob": "^7.1.4", - "graceful-fs": "^4.2.3", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "request": "^2.88.2", + "npmlog": "^6.0.0", "rimraf": "^3.0.2", - "semver": "^7.3.2", - "tar": "^6.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", "which": "^2.0.2" }, "dependencies": { + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -24148,84 +23434,17 @@ } } }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "node-gyp-build": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", + "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } + "optional": true }, "node-releases": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", - "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz", + "integrity": "sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==", "dev": true }, "nopt": { @@ -24280,48 +23499,47 @@ "dev": true }, "npm-package-arg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.0.tgz", - "integrity": "sha512-/ep6QDxBkm9HvOhOg0heitSd7JHA1U7y1qhhlRlteYYAi9Pdb/ZV7FW5aHpkrpM8+P+4p/jjR8zCyKPBMBjSig==", + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", "dev": true, "requires": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", "validate-npm-package-name": "^3.0.0" } }, "npm-packlist": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.2.2.tgz", - "integrity": "sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-3.0.0.tgz", + "integrity": "sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==", "dev": true, "requires": { "glob": "^7.1.6", - "ignore-walk": "^3.0.3", + "ignore-walk": "^4.0.1", "npm-bundled": "^1.1.1", "npm-normalize-package-bin": "^1.0.1" } }, "npm-pick-manifest": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.0.tgz", - "integrity": "sha512-ygs4k6f54ZxJXrzT0x34NybRlLeZ4+6nECAIbr2i0foTnijtS1TJiyzpqtuUAJOps/hO0tNDr8fRV5g+BtRlTw==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", + "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", "dev": true, "requires": { "npm-install-checks": "^4.0.0", - "npm-package-arg": "^8.0.0", - "semver": "^7.0.0" + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^8.1.2", + "semver": "^7.3.4" } }, "npm-registry-fetch": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz", - "integrity": "sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz", + "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==", "dev": true, "requires": { - "@npmcli/ci-detect": "^1.0.0", - "lru-cache": "^6.0.0", - "make-fetch-happen": "^8.0.9", + "make-fetch-happen": "^9.0.1", "minipass": "^3.1.3", "minipass-fetch": "^1.3.0", "minipass-json-stream": "^1.0.1", @@ -24339,15 +23557,15 @@ } }, "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "dev": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" } }, "nth-check": { @@ -24359,16 +23577,10 @@ "boolbase": "^1.0.0" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", "dev": true }, "object-assign": { @@ -24445,6 +23657,12 @@ } } }, + "object-inspect": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "dev": true + }, "object-is": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", @@ -24531,13 +23749,14 @@ } }, "open": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.0.tgz", - "integrity": "sha512-PGoBCX/lclIWlpS/R2PQuIR4NJoXh6X5AwVzE7WXnWRGvHg7+4TBCgsujUgiPpm0K1y4qvQeWnCWVTpTKZBtvA==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/open/-/open-8.2.1.tgz", + "integrity": "sha512-rXILpcQlkF/QuFez2BJDf3GsqpjGKbkUUToAIGo9A0Q6ZkoSGogZJulrUdwRkrAsoQvoZsrjCYt8+zblOk7JQQ==", "dev": true, "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" } }, "opn": { @@ -24558,17 +23777,18 @@ } }, "ora": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", - "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, "requires": { - "bl": "^4.0.3", + "bl": "^4.1.0", "chalk": "^4.1.0", "cli-cursor": "^3.1.0", "cli-spinners": "^2.5.0", "is-interactive": "^1.0.0", - "log-symbols": "^4.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", "strip-ansi": "^6.0.0", "wcwidth": "^1.0.1" }, @@ -24633,18 +23853,18 @@ "url-parse": "^1.4.3" } }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -24696,14 +23916,6 @@ "dev": true, "requires": { "retry": "^0.12.0" - }, - "dependencies": { - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true - } } }, "p-try": { @@ -24713,15 +23925,15 @@ "dev": true }, "pacote": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.2.4.tgz", - "integrity": "sha512-GfTeVQGJ6WyBQbQD4t3ocHbyOmTQLmWjkCKSZPmKiGFKYKNUaM5U2gbLzUW8WG1XmS9yQFnsTFA0k3o1+q4klQ==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-12.0.2.tgz", + "integrity": "sha512-Ar3mhjcxhMzk+OVZ8pbnXdb0l8+pimvlsqBGRNkble2NVgyqOGE3yrCGi/lAYq7E7NRDMz89R1Wx5HIMCGgeYg==", "dev": true, "requires": { - "@npmcli/git": "^2.0.1", - "@npmcli/installed-package-contents": "^1.0.5", + "@npmcli/git": "^2.1.0", + "@npmcli/installed-package-contents": "^1.0.6", "@npmcli/promise-spawn": "^1.2.0", - "@npmcli/run-script": "^1.3.0", + "@npmcli/run-script": "^2.0.0", "cacache": "^15.0.5", "chownr": "^2.0.0", "fs-minipass": "^2.1.0", @@ -24729,13 +23941,13 @@ "minipass": "^3.1.3", "mkdirp": "^1.0.3", "npm-package-arg": "^8.0.1", - "npm-packlist": "^2.1.4", + "npm-packlist": "^3.0.0", "npm-pick-manifest": "^6.0.0", - "npm-registry-fetch": "^9.0.0", - "promise-retry": "^1.1.1", - "read-package-json-fast": "^1.1.3", + "npm-registry-fetch": "^11.0.0", + "promise-retry": "^2.0.1", + "read-package-json-fast": "^2.0.1", "rimraf": "^3.0.2", - "ssri": "^8.0.0", + "ssri": "^8.0.1", "tar": "^6.1.0" } }, @@ -24745,43 +23957,6 @@ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -24791,19 +23966,6 @@ "callsites": "^3.0.0" } }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -24868,12 +24030,6 @@ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", @@ -24922,25 +24078,6 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -24974,6 +24111,18 @@ "pinkie": "^2.0.0" } }, + "piscina": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.1.0.tgz", + "integrity": "sha512-KTW4sjsCD34MHrUbx9eAAbuUSpVj407hQSgk/6Epkg0pbRBmv4a3UX7Sr8wxm9xYqQLnsN4mFOjqGDzHAdgKQg==", + "dev": true, + "requires": { + "eventemitter-asyncresource": "^1.0.0", + "hdr-histogram-js": "^2.0.1", + "hdr-histogram-percentiles-obj": "^3.0.0", + "nice-napi": "^1.0.2" + } + }, "pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -24983,15 +24132,6 @@ "find-up": "^4.0.0" } }, - "pnp-webpack-plugin": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", - "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", - "dev": true, - "requires": { - "ts-pnp": "^1.1.6" - } - }, "portfinder": { "version": "1.0.28", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", @@ -25013,12 +24153,12 @@ } }, "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "requires": { - "minimist": "^1.2.5" + "minimist": "^1.2.6" } } } @@ -25030,16 +24170,50 @@ "dev": true }, "postcss": { - "version": "8.2.15", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.15.tgz", - "integrity": "sha512-2zO3b26eJD/8rb106Qu2o7Qgg52ND5HPjcyQiK2B98O388h43A448LCslC0dI2P97wCAQRJsFvwTRcXxTKds+Q==", + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", + "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", "dev": true, "requires": { "colorette": "^1.2.2", "nanoid": "^3.1.23", - "source-map": "^0.6.1" + "source-map-js": "^0.6.2" }, "dependencies": { + "source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", + "dev": true + } + } + }, + "postcss-attribute-case-insensitive": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", + "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^6.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -25058,6 +24232,178 @@ "postcss-value-parser": "^4.2.0" } }, + "postcss-color-functional-notation": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", + "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-color-gray": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", + "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", + "dev": true, + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-color-hex-alpha": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", + "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", + "dev": true, + "requires": { + "postcss": "^7.0.14", + "postcss-values-parser": "^2.0.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-color-mod-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", + "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", + "dev": true, + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-color-rebeccapurple": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", + "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "postcss-colormin": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", @@ -25079,10 +24425,179 @@ "postcss-value-parser": "^4.2.0" } }, + "postcss-custom-media": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", + "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-custom-properties": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", + "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", + "dev": true, + "requires": { + "postcss": "^7.0.17", + "postcss-values-parser": "^2.0.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-custom-selectors": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", + "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-dir-pseudo-class": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", + "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "postcss-discard-comments": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.0.tgz", - "integrity": "sha512-L0IKF4jAshRyn03SkEO6ar/Ipz2oLywVbg2THf2EqqdNkBwmVMxuTR/RoAltOw4piiaLt3gCAdrbAqmTBInmhg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz", + "integrity": "sha512-5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ==", "dev": true, "requires": {} }, @@ -25094,9 +24609,9 @@ "requires": {} }, "postcss-discard-empty": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.0.tgz", - "integrity": "sha512-782T/buGgb3HOuHOJAHpdyKzAAKsv/BxWqsutnZ+QsiHEcDkY7v+6WWdturuBiSal6XMOO1p1aJvwXdqLD5vhA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", "dev": true, "requires": {} }, @@ -25107,10 +24622,244 @@ "dev": true, "requires": {} }, + "postcss-double-position-gradients": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", + "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", + "dev": true, + "requires": { + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-env-function": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", + "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-focus-visible": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", + "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-focus-within": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", + "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-font-variant": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", + "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-gap-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", + "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-image-set-function": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", + "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "postcss-import": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.0.tgz", - "integrity": "sha512-gFDDzXhqr9ELmnLHgCC3TbGfA6Dm/YMb/UN8/f7Uuq4fL7VTk2vOIj6hwINEwbokEmp123bLD7a5m+E+KIetRg==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz", + "integrity": "sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==", "dev": true, "requires": { "postcss-value-parser": "^4.0.0", @@ -25118,36 +24867,166 @@ "resolve": "^1.1.7" } }, + "postcss-initial": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz", + "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-lab-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", + "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", + "dev": true, + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "postcss-loader": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.2.0.tgz", - "integrity": "sha512-mqgScxHqbiz1yxbnNcPdKYo/6aVt+XExURmEbQlviFVWogDbM4AJ0A/B+ZBpYsJrTRxKw7HyRazg9x0Q9SWwLA==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.1.1.tgz", + "integrity": "sha512-lBmJMvRh1D40dqpWKr9Rpygwxn8M74U9uaCSeYGNKLGInbk9mXBt1ultHf2dH9Ghk6Ue4UXlXWwGMH9QdUJ5ug==", "dev": true, "requires": { "cosmiconfig": "^7.0.0", "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.4" + "semver": "^7.3.5" }, "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "lru-cache": "^6.0.0" } } } }, + "postcss-logical": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", + "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-media-minmax": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", + "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "postcss-merge-longhand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.0.tgz", - "integrity": "sha512-Gr46srN2tsLD8fudKYoHO56RG0BLQ2nsBRnSZGY04eNBPwTeWa9KeHrbL3tOLAHyB2aliikycPH2TMJG1U+W6g==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.4.tgz", + "integrity": "sha512-hbqRRqYfmXoGpzYKeW0/NCZhvNyQIlQeWVSao5iKWdyx7skLvCfQFGIUsP9NUs3dSbPac2IC4Go85/zG+7MlmA==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0", @@ -25155,9 +25034,9 @@ } }, "postcss-merge-rules": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.0.tgz", - "integrity": "sha512-NecukEJovQ0mG7h7xV8wbYAkXGTO3MPKnXvuiXzOKcxoOodfTTKYjeo8TMhAswlSkjcPIBlnKbSFcTuVSDaPyQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.1.tgz", + "integrity": "sha512-8wv8q2cXjEuCcgpIB1Xx1pIy8/rhMPIQqYKNzEdyx37m6gpq83mQQdCxgIkFgliyEnKvdwJf/C61vN4tQDq4Ww==", "dev": true, "requires": { "browserslist": "^4.16.6", @@ -25176,9 +25055,9 @@ } }, "postcss-minify-gradients": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.0.tgz", - "integrity": "sha512-J/TMLklkONn3LuL8wCwfwU8zKC1hpS6VcxFkNUNjmVt53uKqrrykR3ov11mdUYyqVMEx67slMce0tE14cE4DTg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", "dev": true, "requires": { "colord": "^2.9.1", @@ -25187,9 +25066,9 @@ } }, "postcss-minify-params": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.0.tgz", - "integrity": "sha512-q67dcts4Hct6x8+JmhBgctHkbvUsqGIg2IItenjE63iZXMbhjr7AlVZkNnKtIGt/1Wsv7p/7YzeSII6Q+KPXRg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.2.tgz", + "integrity": "sha512-aEP+p71S/urY48HWaRHasyx4WHQJyOYaKpQ6eXl8k0kxg66Wt/30VR6/woh8THgcpRbonJD5IeD+CzNhPi1L8g==", "dev": true, "requires": { "browserslist": "^4.16.6", @@ -25242,6 +25121,39 @@ "icss-utils": "^5.0.0" } }, + "postcss-nesting": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", + "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "postcss-normalize-charset": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", @@ -25315,24 +25227,244 @@ } }, "postcss-normalize-whitespace": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.0.tgz", - "integrity": "sha512-7O1FanKaJkpWFyCghFzIkLhehujV/frGkdofGLwhg5upbLyGsSfiTcZAdSzoPsSUgyPCkBkNMeWR8yVgPdQybg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "postcss-ordered-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.0.tgz", - "integrity": "sha512-wU4Z4D4uOIH+BUKkYid36gGDJNQtkVJT7Twv8qH6UyfttbbJWyw4/xIPuVEkkCtQLAJ0EdsNSh8dlvqkXb49TA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz", + "integrity": "sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw==", "dev": true, "requires": { "cssnano-utils": "^3.1.0", "postcss-value-parser": "^4.2.0" } }, + "postcss-overflow-shorthand": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", + "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-page-break": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", + "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-place": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", + "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-preset-env": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", + "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", + "dev": true, + "requires": { + "autoprefixer": "^9.6.1", + "browserslist": "^4.6.4", + "caniuse-lite": "^1.0.30000981", + "css-blank-pseudo": "^0.1.4", + "css-has-pseudo": "^0.10.0", + "css-prefers-color-scheme": "^3.1.1", + "cssdb": "^4.4.0", + "postcss": "^7.0.17", + "postcss-attribute-case-insensitive": "^4.0.1", + "postcss-color-functional-notation": "^2.0.1", + "postcss-color-gray": "^5.0.0", + "postcss-color-hex-alpha": "^5.0.3", + "postcss-color-mod-function": "^3.0.3", + "postcss-color-rebeccapurple": "^4.0.1", + "postcss-custom-media": "^7.0.8", + "postcss-custom-properties": "^8.0.11", + "postcss-custom-selectors": "^5.1.2", + "postcss-dir-pseudo-class": "^5.0.0", + "postcss-double-position-gradients": "^1.0.0", + "postcss-env-function": "^2.0.2", + "postcss-focus-visible": "^4.0.0", + "postcss-focus-within": "^3.0.0", + "postcss-font-variant": "^4.0.0", + "postcss-gap-properties": "^2.0.0", + "postcss-image-set-function": "^3.0.1", + "postcss-initial": "^3.0.0", + "postcss-lab-function": "^2.0.1", + "postcss-logical": "^3.0.0", + "postcss-media-minmax": "^4.0.0", + "postcss-nesting": "^7.0.0", + "postcss-overflow-shorthand": "^2.0.0", + "postcss-page-break": "^2.0.0", + "postcss-place": "^4.0.1", + "postcss-pseudo-class-any-link": "^6.0.0", + "postcss-replace-overflow-wrap": "^3.0.0", + "postcss-selector-matches": "^4.0.0", + "postcss-selector-not": "^4.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-pseudo-class-any-link": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", + "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "postcss-reduce-initial": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", @@ -25352,10 +25484,111 @@ "postcss-value-parser": "^4.2.0" } }, + "postcss-replace-overflow-wrap": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", + "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-selector-matches": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", + "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-selector-not": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", + "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "postcss-selector-parser": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", - "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", "dev": true, "requires": { "cssesc": "^3.0.0", @@ -25373,9 +25606,9 @@ } }, "postcss-unique-selectors": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.0.tgz", - "integrity": "sha512-LmUhgGobtpeVJJHuogzjLRwJlN7VH+BL5c9GKMVJSS/ejoyePZkXvNsYUtk//F6vKOGK86gfRS0xH7fXQSDtvA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", "dev": true, "requires": { "postcss-selector-parser": "^6.0.5" @@ -25387,18 +25620,23 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, + "postcss-values-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", + "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", + "dev": true, + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, "pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", "dev": true }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -25412,13 +25650,13 @@ "dev": true }, "promise-retry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", - "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", "dev": true, "requires": { - "err-code": "^1.0.0", - "retry": "^0.10.0" + "err-code": "^2.0.2", + "retry": "^0.12.0" } }, "proxy-addr": { @@ -25437,34 +25675,6 @@ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", "dev": true }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -25475,29 +25685,6 @@ "once": "^1.3.1" } }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -25511,10 +25698,13 @@ "dev": true }, "qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", - "dev": true + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } }, "querystring": { "version": "0.2.0", @@ -25522,12 +25712,6 @@ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", "dev": true }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, "querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -25549,16 +25733,6 @@ "safe-buffer": "^5.1.0" } }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, "range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -25566,40 +25740,17 @@ "dev": true }, "raw-body": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", - "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "requires": { "bytes": "3.1.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" } }, - "raw-loader": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz", - "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, "read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -25610,9 +25761,9 @@ } }, "read-package-json-fast": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-1.2.2.tgz", - "integrity": "sha512-39DbPJjkltEzfXJXB6D8/Ir3GFOU2YbSKa2HaB/Y3nKrc/zY+0XrALpID6/13ezWyzqvOHrBbR4t4cjQuTdBVQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", + "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", "dev": true, "requires": { "json-parse-even-better-errors": "^2.3.0", @@ -25661,15 +25812,15 @@ } }, "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", "dev": true, "requires": { "@babel/runtime": "^7.8.4" @@ -25692,13 +25843,14 @@ "dev": true }, "regexp.prototype.flags": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", - "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" } }, "regexpu-core": { @@ -25756,54 +25908,18 @@ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -25817,12 +25933,12 @@ "dev": true }, "resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "requires": { - "is-core-module": "^2.1.0", + "is-core-module": "^2.2.0", "path-parse": "^1.0.6" } }, @@ -25909,9 +26025,9 @@ "dev": true }, "retry": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", "dev": true }, "reusify": { @@ -25935,25 +26051,6 @@ "glob": "^7.1.3" } }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rollup": { - "version": "2.38.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.38.4.tgz", - "integrity": "sha512-B0LcJhjiwKkTl79aGVF/u5KdzsH8IylVfV56Ut6c9ouWLJcUK17T83aZBetNYSnZtXf2OHD4+2PbmRW+Fp5ulg==", - "dev": true, - "requires": { - "fsevents": "~2.3.1" - } - }, "run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", @@ -25969,15 +26066,6 @@ "queue-microtask": "^1.2.2" } }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, "rxjs": { "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", @@ -26015,38 +26103,22 @@ "dev": true }, "sass": { - "version": "1.32.6", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.6.tgz", - "integrity": "sha512-1bcDHDcSqeFtMr0JXI3xc/CXX6c4p0wHHivJdru8W7waM7a1WjKMm4m/Z5sY7CbVw4Whi2Chpcw6DFfSWwGLzQ==", + "version": "1.36.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.36.0.tgz", + "integrity": "sha512-fQzEjipfOv5kh930nu3Imzq3ie/sGDc/4KtQMJlt7RRdrkQSfe37Bwi/Rf/gfuYHsIuE1fIlDMvpyMcEwjnPvg==", "dev": true, "requires": { - "chokidar": ">=2.0.0 <4.0.0" + "chokidar": ">=3.0.0 <4.0.0" } }, "sass-loader": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.1.tgz", - "integrity": "sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.1.0.tgz", + "integrity": "sha512-FVJZ9kxVRYNZTIe2xhw93n3xJNYZADr+q69/s98l9nTCrWASo+DR2Ot0s5xTKQDDEosUkatsGeHxcH4QBp5bSg==", "dev": true, "requires": { "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "semver": "^7.3.2" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } + "neo-async": "^2.6.2" } }, "sax": { @@ -26107,42 +26179,25 @@ } } }, - "semver-intersect": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz", - "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==", - "dev": true, - "requires": { - "semver": "^5.0.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, "send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "dependencies": { "debug": { @@ -26162,6 +26217,12 @@ } } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -26173,13 +26234,28 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true } } }, "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -26242,15 +26318,15 @@ } }, "serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.2" + "send": "0.18.0" } }, "set-blocking": { @@ -26288,28 +26364,12 @@ } } }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, "setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, "shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", @@ -26334,6 +26394,17 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, "signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -26602,14 +26673,25 @@ } }, "socks-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz", - "integrity": "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.0.tgz", + "integrity": "sha512-wWqJhjb32Q6GsrUqzuFkukxb/zzide5quXYcMVpIjxalDBBYy2nqKCFQ/9+Ie4dvOYSQdOk3hUlZSdzZOd3zMQ==", "dev": true, "requires": { "agent-base": "^6.0.2", - "debug": "4", - "socks": "^2.3.3" + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + } } }, "source-list-map": { @@ -26631,17 +26713,14 @@ "dev": true }, "source-map-loader": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.1.3.tgz", - "integrity": "sha512-6YHeF+XzDOrT/ycFJNI53cgEsp/tHTMl37hi7uVyqFAlTXW109JazaQCkbc+jjoL2637qkH1amLi+JzrIpt5lA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.0.tgz", + "integrity": "sha512-GKGWqWvYr04M7tn8dryIWvb0s8YM41z82iQv01yBtIylgxax0CwvSy6gc2Y02iuXwEfGWRlMicH0nvms9UZphw==", "dev": true, "requires": { "abab": "^2.0.5", "iconv-lite": "^0.6.2", - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "source-map": "^0.6.1", - "whatwg-mimetype": "^2.3.0" + "source-map-js": "^0.6.2" }, "dependencies": { "iconv-lite": { @@ -26653,21 +26732,10 @@ "safer-buffer": ">= 2.1.2 < 3.0.0" } }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", "dev": true } } @@ -26742,66 +26810,6 @@ "wbuf": "^1.7.3" } }, - "speed-measure-webpack-plugin": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.4.2.tgz", - "integrity": "sha512-AtVzD0bnIy2/B0fWqJpJgmhcrfWFhBlduzSo0uwplr/QvB33ZNZj2NEth3NONgdnZJqicK0W0mSxnLSbsVCDbw==", - "dev": true, - "requires": { - "chalk": "^4.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -26817,23 +26825,6 @@ "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", "dev": true }, - "sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, "ssri": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", @@ -26933,97 +26924,6 @@ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, "streamroller": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.0.2.tgz", @@ -27108,27 +27008,11 @@ "dev": true }, "style-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", - "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.2.1.tgz", + "integrity": "sha512-1k9ZosJCRFaRbY6hH49JFlRB0fVSbmnyq1iTPjNxUmGVjBNEmwrrHPenhlp+Lgo51BojHSf6pl2FcqYaN3PfVg==", "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } + "requires": {} }, "stylehacks": { "version": "5.1.0", @@ -27180,29 +27064,14 @@ } }, "stylus-loader": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-4.3.3.tgz", - "integrity": "sha512-PpWB5PnCXUzW4WMYhCvNzAHJBjIBPMXwsdfkkKuA9W7k8OQFMl/19/AQvaWsxz2IptxUlCseyJ6TY/eEKJ4+UQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-6.1.0.tgz", + "integrity": "sha512-qKO34QCsOtSJrXxQQmXsPeaVHh6hMumBAFIoJTcsSr2VzrA6o/CW9HCGR8spCjzJhN8oKQHdj/Ytx0wwXyElkw==", "dev": true, "requires": { - "fast-glob": "^3.2.4", + "fast-glob": "^3.2.5", "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "normalize-path": "^3.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } + "normalize-path": "^3.0.0" } }, "supports-color": { @@ -27238,15 +27107,15 @@ } }, "symbol-observable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-3.0.0.tgz", - "integrity": "sha512-6tDOXSHiVjuCaasQSWTmHUWn4PuG7qa3+1WT031yTc/swT7+rLiw3GOrFxaH1E3lLP09dH3bVuVDf2gK5rxG3Q==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", "dev": true }, "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true }, "tar": { @@ -27264,9 +27133,9 @@ } }, "terser": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz", - "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz", + "integrity": "sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==", "dev": true, "requires": { "commander": "^2.20.0", @@ -27275,20 +27144,17 @@ } }, "terser-webpack-plugin": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz", - "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz", + "integrity": "sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==", "dev": true, "requires": { - "cacache": "^15.0.5", - "find-cache-dir": "^3.3.1", - "jest-worker": "^26.5.0", - "p-limit": "^3.0.2", + "jest-worker": "^27.0.2", + "p-limit": "^3.1.0", "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", + "serialize-javascript": "^6.0.0", "source-map": "^0.6.1", - "terser": "^5.3.4", - "webpack-sources": "^1.4.3" + "terser": "^5.7.0" }, "dependencies": { "schema-utils": { @@ -27307,16 +27173,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } } } }, @@ -27332,63 +27188,12 @@ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, - "timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -27398,12 +27203,6 @@ "os-tmpdir": "~1.0.2" } }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -27457,16 +27256,6 @@ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, "tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -27500,12 +27289,6 @@ } } }, - "ts-pnp": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", - "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", - "dev": true - }, "tslib": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", @@ -27570,27 +27353,6 @@ } } }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, "type-fest": { "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", @@ -27607,16 +27369,10 @@ "mime-types": "~2.1.24" } }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, "typescript": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.8.tgz", - "integrity": "sha512-oz1765PN+imfz1MlZzSZPtC/tqcwsCyIYA8L47EkRnRW97ztRk83SzMiWLrnChC0vqoYxSU1fcFUDA5gV/ZiPg==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", + "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==", "dev": true }, "ua-parser-js": { @@ -27673,6 +27429,12 @@ } } }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, "unique-filename": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", @@ -27691,31 +27453,6 @@ "imurmurhash": "^0.1.4" } }, - "universal-analytics": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.23.tgz", - "integrity": "sha512-lgMIH7XBI6OgYn1woDEmxhGdj8yDefMKg7GkWdeATAlQZFrMrNyxSkpDzY57iY0/6fdlzTbBV03OawvvzG+q7A==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "request": "^2.88.2", - "uuid": "^3.0.0" - }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -27817,23 +27554,6 @@ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -27867,23 +27587,6 @@ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, "void-elements": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", @@ -27891,278 +27594,13 @@ "dev": true }, "watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", + "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", "dev": true, "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" - } - }, - "watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "dev": true, - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "optional": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "optional": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "optional": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "optional": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "optional": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" } }, "wbuf": { @@ -28184,419 +27622,79 @@ } }, "webpack": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", - "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.50.0.tgz", + "integrity": "sha512-hqxI7t/KVygs0WRv/kTgUW8Kl3YC81uyWQSo/7WUs5LsuRw0htH/fCwbVBGCuiX/t4s7qzjXFcf41O8Reiypag==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.50", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.3.0", - "eslint-scope": "^4.0.3", + "enhanced-resolve": "^5.8.0", + "es-module-lexer": "^0.7.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.2.0", + "webpack-sources": "^3.2.0" }, "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - } - }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" } }, "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true } } }, "webpack-dev-middleware": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", - "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.0.0.tgz", + "integrity": "sha512-9zng2Z60pm6A98YoRcA0wSxw1EYn7B7y5owX/Tckyt9KGyULTkLtiavjaXlWqOMkM0YtqGgL3PvMOFgyFLq8vw==", "dev": true, "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", + "colorette": "^1.2.2", + "mem": "^8.1.1", + "memfs": "^3.2.2", + "mime-types": "^2.1.31", "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" + "schema-utils": "^3.0.0" }, "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { - "minimist": "^1.2.5" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" } } } @@ -28704,12 +27802,6 @@ } } }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -28742,9 +27834,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "strip-ansi": { @@ -28900,6 +27992,15 @@ "to-regex": "^3.0.2" } }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -28988,9 +28089,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "strip-ansi": { @@ -29032,6 +28133,19 @@ "repeat-string": "^1.6.1" } }, + "webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + } + }, "wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", @@ -29044,9 +28158,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "strip-ansi": { @@ -29130,9 +28244,9 @@ } }, "webpack-merge": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", - "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", "dev": true, "requires": { "clone-deep": "^4.0.1", @@ -29140,13 +28254,13 @@ } }, "webpack-sources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", - "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" }, "dependencies": { "source-map": { @@ -29164,24 +28278,6 @@ "dev": true, "requires": { "webpack-sources": "^1.3.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - } } }, "websocket-driver": { @@ -29201,12 +28297,6 @@ "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "dev": true }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -29237,46 +28327,6 @@ "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, - "worker-plugin": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/worker-plugin/-/worker-plugin-5.0.0.tgz", - "integrity": "sha512-AXMUstURCxDD6yGam2r4E34aJg6kW85IiaeX72hi+I1cxyaMUtrvVY6sbfpGKAj5e7f68Acl62BjQF5aOOx2IQ==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } - } - }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -29327,12 +28377,6 @@ "dev": true, "requires": {} }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -29385,9 +28429,12 @@ "dev": true }, "zone.js": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", - "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==" + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.5.tgz", + "integrity": "sha512-D1/7VxEuQ7xk6z/kAROe4SUbd9CzxY4zOwVGnGHerd/SgLIVU5f4esDzQUsOCeArn933BZfWMKydH7l7dPEp0g==", + "requires": { + "tslib": "^2.3.0" + } } } } diff --git a/samples/client/petstore/typescript-angular-v12-provided-in-root/package.json b/samples/client/petstore/typescript-angular-v12-provided-in-root/package.json new file mode 100644 index 0000000000..14f45ddb02 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v12-provided-in-root/package.json @@ -0,0 +1,47 @@ +{ + "name": "typescript-angular-v12-unit-tests", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "test": "ng test", + "lint": "ng lint", + "update": "ng update" + }, + "private": true, + "dependencies": { + "@angular/animations": "^12.2.16", + "@angular/common": "^12.2.16", + "@angular/compiler": "^12.2.16", + "@angular/core": "^12.2.16", + "@angular/forms": "^12.2.16", + "@angular/platform-browser": "^12.2.16", + "@angular/platform-browser-dynamic": "^12.2.16", + "@angular/router": "^12.2.16", + "core-js": "^2.5.4", + "rxjs": "^6.6.7", + "tslib": "^2.0.0", + "zone.js": "~0.11.5" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^12.2.16", + "@angular/cli": "^12.2.16", + "@angular/compiler-cli": "^12.2.16", + "@angular/language-service": "^12.2.16", + "@types/jasmine": "~3.6.0", + "@types/jasminewd2": "~2.0.3", + "@types/node": "^12.11.1", + "codelyzer": "^6.0.0", + "jasmine-core": "~3.8.0", + "jasmine-spec-reporter": "~5.0.0", + "karma": "~6.3.4", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage-istanbul-reporter": "~3.0.2", + "karma-jasmine": "~4.0.0", + "karma-jasmine-html-reporter": "^1.7.0", + "ts-node": "~7.0.0", + "tslint": "~6.1.0", + "typescript": "^4.3.5" + } +} diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/pom.xml b/samples/client/petstore/typescript-angular-v12-provided-in-root/pom.xml similarity index 95% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/pom.xml rename to samples/client/petstore/typescript-angular-v12-provided-in-root/pom.xml index 7bef5149d3..f7667cb436 100644 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/pom.xml +++ b/samples/client/petstore/typescript-angular-v12-provided-in-root/pom.xml @@ -1,10 +1,10 @@ 4.0.0 org.openapitools - TypeScriptAngular11PestoreClientTests + TypeScriptAngular12PestoreClientTests pom 1.0-SNAPSHOT - TS Angular 11 Petstore Client Tests + TS Angular 12 Petstore Client Tests diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/.browserslistrc b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/.browserslistrc similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/.browserslistrc rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/.browserslistrc diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/app/app.component.css b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/app/app.component.css similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/app/app.component.css rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/app/app.component.css diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/app/app.component.html b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/app/app.component.html similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/app/app.component.html rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/app/app.component.html diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/app/app.component.spec.ts b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/app/app.component.spec.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/app/app.component.spec.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/app/app.component.spec.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/app/app.component.ts b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/app/app.component.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/app/app.component.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/app/app.component.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/app/app.module.ts b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/app/app.module.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/app/app.module.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/app/app.module.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/environments/environment.prod.ts b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/environments/environment.prod.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/environments/environment.prod.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/environments/environment.prod.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/environments/environment.ts b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/environments/environment.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/environments/environment.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/environments/environment.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/favicon.ico b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/favicon.ico similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/favicon.ico rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/favicon.ico diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/index.html b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/index.html similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/index.html rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/index.html diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/karma.conf.js b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/karma.conf.js similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/karma.conf.js rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/karma.conf.js diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/main.ts b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/main.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/main.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/main.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/polyfills.ts b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/polyfills.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/polyfills.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/polyfills.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/styles.css b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/styles.css similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/styles.css rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/styles.css diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/test.ts b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/test.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/test.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/test.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/test/api.spec.ts b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/test/api.spec.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/test/api.spec.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/test/api.spec.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/test/basePath.spec.ts b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/test/basePath.spec.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/test/basePath.spec.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/test/basePath.spec.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/test/configuration.spec.ts b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/test/configuration.spec.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/test/configuration.spec.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/test/configuration.spec.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/test/fakeBackend.ts b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/test/fakeBackend.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/test/fakeBackend.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/test/fakeBackend.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/test/no-configuration.spec.ts b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/test/no-configuration.spec.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/test/no-configuration.spec.ts rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/test/no-configuration.spec.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/tsconfig.app.json b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/tsconfig.app.json similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/tsconfig.app.json rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/tsconfig.app.json diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/tsconfig.spec.json b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/tsconfig.spec.json similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/tsconfig.spec.json rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/tsconfig.spec.json diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/tslint.json b/samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/tslint.json similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tests/default/src/tslint.json rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tests/default/src/tslint.json diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tsconfig.json b/samples/client/petstore/typescript-angular-v12-provided-in-root/tsconfig.json similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tsconfig.json rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tsconfig.json diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/tslint.json b/samples/client/petstore/typescript-angular-v12-provided-in-root/tslint.json similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/tslint.json rename to samples/client/petstore/typescript-angular-v12-provided-in-root/tslint.json diff --git a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/.gitignore b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/.gitignore similarity index 100% rename from samples/client/petstore/typescript-angular-v11-oneOf/builds/default/.gitignore rename to samples/client/petstore/typescript-angular-v13-oneOf/builds/default/.gitignore diff --git a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/.openapi-generator-ignore b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/.openapi-generator-ignore similarity index 100% rename from samples/client/petstore/typescript-angular-v11-oneOf/builds/default/.openapi-generator-ignore rename to samples/client/petstore/typescript-angular-v13-oneOf/builds/default/.openapi-generator-ignore diff --git a/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/.openapi-generator/FILES new file mode 100644 index 0000000000..e646d434ee --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/.openapi-generator/FILES @@ -0,0 +1,14 @@ +.gitignore +README.md +api.module.ts +api/api.ts +api/default.service.ts +configuration.ts +encoder.ts +git_push.sh +index.ts +model/apple.ts +model/fruit.ts +model/grape.ts +model/models.ts +variables.ts diff --git a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/.openapi-generator/VERSION similarity index 100% rename from samples/client/petstore/typescript-angular-v11-oneOf/builds/default/.openapi-generator/VERSION rename to samples/client/petstore/typescript-angular-v13-oneOf/builds/default/.openapi-generator/VERSION diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/README.md b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/README.md similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/README.md rename to samples/client/petstore/typescript-angular-v13-oneOf/builds/default/README.md diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/api.module.ts b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/api.module.ts similarity index 87% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/api.module.ts rename to samples/client/petstore/typescript-angular-v13-oneOf/builds/default/api.module.ts index 2afb8f64e9..6eca9cc541 100644 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/api.module.ts +++ b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/api.module.ts @@ -2,9 +2,7 @@ import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core import { Configuration } from './configuration'; import { HttpClient } from '@angular/common/http'; -import { PetService } from './api/pet.service'; -import { StoreService } from './api/store.service'; -import { UserService } from './api/user.service'; +import { DefaultService } from './api/default.service'; @NgModule({ imports: [], diff --git a/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/api/api.ts b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/api/api.ts new file mode 100644 index 0000000000..8e76619647 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/api/api.ts @@ -0,0 +1,3 @@ +export * from './default.service'; +import { DefaultService } from './default.service'; +export const APIS = [DefaultService]; diff --git a/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/api/default.service.ts b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/api/default.service.ts new file mode 100644 index 0000000000..d5ed81e37c --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/api/default.service.ts @@ -0,0 +1,203 @@ +/** + * fruity + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.0.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { Fruit } from '../model/fruit'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; + + + +@Injectable({ + providedIn: 'root' +}) +export class DefaultService { + + protected basePath = 'http://localhost'; + public defaultHeaders = new HttpHeaders(); + public configuration = new Configuration(); + public encoder: HttpParameterCodec; + + constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { + if (configuration) { + this.configuration = configuration; + } + if (typeof this.configuration.basePath !== 'string') { + if (typeof basePath !== 'string') { + basePath = this.basePath; + } + this.configuration.basePath = basePath; + } + this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); + } + + + private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { + if (typeof value === "object" && value instanceof Date === false) { + httpParams = this.addToHttpParamsRecursive(httpParams, value); + } else { + httpParams = this.addToHttpParamsRecursive(httpParams, value, key); + } + return httpParams; + } + + private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { + if (value == null) { + return httpParams; + } + + if (typeof value === "object") { + if (Array.isArray(value)) { + (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); + } else if (value instanceof Date) { + if (key != null) { + httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10)); + } else { + throw Error("key may not be null if value is Date"); + } + } else { + Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( + httpParams, value[k], key != null ? `${key}.${k}` : k)); + } + } else if (key != null) { + httpParams = httpParams.append(key, value); + } else { + throw Error("key may not be null if value is not object or array"); + } + return httpParams; + } + + /** + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public rootGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable; + public rootGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public rootGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public rootGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable { + + let localVarHeaders = this.defaultHeaders; + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + return this.httpClient.get(`${this.configuration.basePath}/`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public test(body?: any, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public test(body?: any, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public test(body?: any, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public test(body?: any, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { + + let localVarHeaders = this.defaultHeaders; + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + return this.httpClient.put(`${this.configuration.basePath}/`, + body, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + reportProgress: reportProgress + } + ); + } + +} diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/configuration.ts b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/configuration.ts similarity index 86% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/configuration.ts rename to samples/client/petstore/typescript-angular-v13-oneOf/builds/default/configuration.ts index 6fc0f80d97..4ca3546927 100644 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/with-npm/configuration.ts +++ b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/configuration.ts @@ -57,26 +57,6 @@ export class Configuration { else { this.credentials = {}; } - - // init default api_key credential - if (!this.credentials['api_key']) { - this.credentials['api_key'] = () => { - if (this.apiKeys === null || this.apiKeys === undefined) { - return undefined; - } else { - return this.apiKeys['api_key'] || this.apiKeys['api_key']; - } - }; - } - - // init default petstore_auth credential - if (!this.credentials['petstore_auth']) { - this.credentials['petstore_auth'] = () => { - return typeof this.accessToken === 'function' - ? this.accessToken() - : this.accessToken; - }; - } } /** diff --git a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/encoder.ts b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/encoder.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-oneOf/builds/default/encoder.ts rename to samples/client/petstore/typescript-angular-v13-oneOf/builds/default/encoder.ts diff --git a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/git_push.sh b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/git_push.sh similarity index 100% rename from samples/client/petstore/typescript-angular-v11-oneOf/builds/default/git_push.sh rename to samples/client/petstore/typescript-angular-v13-oneOf/builds/default/git_push.sh diff --git a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/index.ts b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/index.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-oneOf/builds/default/index.ts rename to samples/client/petstore/typescript-angular-v13-oneOf/builds/default/index.ts diff --git a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/model/banana.ts b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/model/apple.ts similarity index 88% rename from samples/client/petstore/typescript-angular-v11-oneOf/builds/default/model/banana.ts rename to samples/client/petstore/typescript-angular-v13-oneOf/builds/default/model/apple.ts index bf67fa8256..ced6d899e3 100644 --- a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/model/banana.ts +++ b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/model/apple.ts @@ -11,7 +11,7 @@ */ -export interface Banana { - count?: number; +export interface Apple { + kind?: string; } diff --git a/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/model/fruit.ts b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/model/fruit.ts new file mode 100644 index 0000000000..c7131e502f --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/model/fruit.ts @@ -0,0 +1,21 @@ +/** + * fruity + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.0.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { Apple } from './apple'; +import { Grape } from './grape'; + + +/** + * @type Fruit + * @export + */ +export type Fruit = Array | { [key: string]: Apple; }; + diff --git a/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/model/grape.ts b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/model/grape.ts new file mode 100644 index 0000000000..0dc06634c3 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/model/grape.ts @@ -0,0 +1,17 @@ +/** + * fruity + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.0.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface Grape { + color?: string; +} + diff --git a/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/model/models.ts b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/model/models.ts new file mode 100644 index 0000000000..ca547da2ee --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/model/models.ts @@ -0,0 +1,3 @@ +export * from './apple'; +export * from './fruit'; +export * from './grape'; diff --git a/samples/client/petstore/typescript-angular-v11-oneOf/builds/default/variables.ts b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/variables.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-oneOf/builds/default/variables.ts rename to samples/client/petstore/typescript-angular-v13-oneOf/builds/default/variables.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/.gitignore b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/.gitignore similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/.gitignore rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/.gitignore diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/.openapi-generator-ignore b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/.openapi-generator-ignore similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/.openapi-generator-ignore rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/.openapi-generator-ignore diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/.openapi-generator/FILES similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/.openapi-generator/FILES rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/.openapi-generator/FILES diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/.openapi-generator/VERSION similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/.openapi-generator/VERSION rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/.openapi-generator/VERSION diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/README.md b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/README.md similarity index 100% rename from samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/README.md rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/README.md diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/api.module.ts b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api.module.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/api.module.ts rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api.module.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/api/api.ts b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/api.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/api/api.ts rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/api.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/api/pet.service.ts b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/pet.service.ts similarity index 86% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/api/pet.service.ts rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/pet.service.ts index e7a21a8ff1..bca953c42d 100644 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/pet.service.ts @@ -13,7 +13,7 @@ import { Inject, Injectable, Optional } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http'; import { CustomHttpParameterCodec } from '../encoder'; import { Observable } from 'rxjs'; @@ -30,7 +30,7 @@ import { Configuration } from '../configurat @Injectable({ - providedIn: 'root' + providedIn: 'any' }) export class PetService { @@ -107,10 +107,10 @@ export class PetService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public addPet(body: Pet, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public addPet(body: Pet, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public addPet(body: Pet, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public addPet(body: Pet, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public addPet(body: Pet, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public addPet(body: Pet, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public addPet(body: Pet, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public addPet(body: Pet, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (body === null || body === undefined) { throw new Error('Required parameter body was null or undefined when calling addPet.'); } @@ -135,6 +135,10 @@ export class PetService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } // to determine the Content-Type header @@ -161,6 +165,7 @@ export class PetService { return this.httpClient.post(`${this.configuration.basePath}/pet`, body, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -177,10 +182,10 @@ export class PetService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public deletePet(petId: number, apiKey?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deletePet(petId: number, apiKey?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deletePet(petId: number, apiKey?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deletePet(petId: number, apiKey?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public deletePet(petId: number, apiKey?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public deletePet(petId: number, apiKey?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public deletePet(petId: number, apiKey?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public deletePet(petId: number, apiKey?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (petId === null || petId === undefined) { throw new Error('Required parameter petId was null or undefined when calling deletePet.'); } @@ -208,6 +213,10 @@ export class PetService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -223,6 +232,7 @@ export class PetService { return this.httpClient.delete(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -239,10 +249,10 @@ export class PetService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { + public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>>; + public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>>; + public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable { if (status === null || status === undefined) { throw new Error('Required parameter status was null or undefined when calling findPetsByStatus.'); } @@ -275,6 +285,10 @@ export class PetService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -290,6 +304,7 @@ export class PetService { return this.httpClient.get>(`${this.configuration.basePath}/pet/findByStatus`, { + context: localVarHttpContext, params: localVarQueryParameters, responseType: responseType_, withCredentials: this.configuration.withCredentials, @@ -308,10 +323,10 @@ export class PetService { * @param reportProgress flag to report request and response progress. * @deprecated */ - public findPetsByTags(tags: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public findPetsByTags(tags: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByTags(tags: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByTags(tags: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { + public findPetsByTags(tags: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public findPetsByTags(tags: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>>; + public findPetsByTags(tags: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>>; + public findPetsByTags(tags: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable { if (tags === null || tags === undefined) { throw new Error('Required parameter tags was null or undefined when calling findPetsByTags.'); } @@ -344,6 +359,10 @@ export class PetService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -359,6 +378,7 @@ export class PetService { return this.httpClient.get>(`${this.configuration.basePath}/pet/findByTags`, { + context: localVarHttpContext, params: localVarQueryParameters, responseType: responseType_, withCredentials: this.configuration.withCredentials, @@ -376,10 +396,10 @@ export class PetService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getPetById(petId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getPetById(petId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getPetById(petId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getPetById(petId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { + public getPetById(petId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable; + public getPetById(petId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public getPetById(petId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public getPetById(petId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable { if (petId === null || petId === undefined) { throw new Error('Required parameter petId was null or undefined when calling getPetById.'); } @@ -406,6 +426,10 @@ export class PetService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -421,6 +445,7 @@ export class PetService { return this.httpClient.get(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -436,10 +461,10 @@ export class PetService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public updatePet(body: Pet, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updatePet(body: Pet, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePet(body: Pet, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePet(body: Pet, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public updatePet(body: Pet, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public updatePet(body: Pet, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public updatePet(body: Pet, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public updatePet(body: Pet, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (body === null || body === undefined) { throw new Error('Required parameter body was null or undefined when calling updatePet.'); } @@ -464,6 +489,10 @@ export class PetService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } // to determine the Content-Type header @@ -490,6 +519,7 @@ export class PetService { return this.httpClient.put(`${this.configuration.basePath}/pet`, body, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -507,10 +537,10 @@ export class PetService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePetWithForm(petId: number, name?: string, status?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public updatePetWithForm(petId: number, name?: string, status?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (petId === null || petId === undefined) { throw new Error('Required parameter petId was null or undefined when calling updatePetWithForm.'); } @@ -535,6 +565,10 @@ export class PetService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } // to determine the Content-Type header const consumes: string[] = [ @@ -573,6 +607,7 @@ export class PetService { return this.httpClient.post(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -590,10 +625,10 @@ export class PetService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json',}): Observable { + public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable; + public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable { if (petId === null || petId === undefined) { throw new Error('Required parameter petId was null or undefined when calling uploadFile.'); } @@ -619,6 +654,10 @@ export class PetService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } // to determine the Content-Type header const consumes: string[] = [ @@ -660,6 +699,7 @@ export class PetService { return this.httpClient.post(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}/uploadImage`, localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/api/store.service.ts b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/store.service.ts similarity index 84% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/api/store.service.ts rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/store.service.ts index 942714e216..c04b024e3f 100644 --- a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/default/api/store.service.ts +++ b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/store.service.ts @@ -13,7 +13,7 @@ import { Inject, Injectable, Optional } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http'; import { CustomHttpParameterCodec } from '../encoder'; import { Observable } from 'rxjs'; @@ -28,7 +28,7 @@ import { Configuration } from '../configurat @Injectable({ - providedIn: 'root' + providedIn: 'any' }) export class StoreService { @@ -93,10 +93,10 @@ export class StoreService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public deleteOrder(orderId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deleteOrder(orderId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteOrder(orderId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteOrder(orderId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public deleteOrder(orderId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public deleteOrder(orderId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public deleteOrder(orderId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public deleteOrder(orderId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (orderId === null || orderId === undefined) { throw new Error('Required parameter orderId was null or undefined when calling deleteOrder.'); } @@ -114,6 +114,10 @@ export class StoreService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -129,6 +133,7 @@ export class StoreService { return this.httpClient.delete(`${this.configuration.basePath}/store/order/${encodeURIComponent(String(orderId))}`, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -144,10 +149,10 @@ export class StoreService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getInventory(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable<{ [key: string]: number; }>; - public getInventory(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public getInventory(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public getInventory(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json',}): Observable { + public getInventory(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<{ [key: string]: number; }>; + public getInventory(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public getInventory(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public getInventory(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable { let localVarHeaders = this.defaultHeaders; @@ -170,6 +175,10 @@ export class StoreService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -185,6 +194,7 @@ export class StoreService { return this.httpClient.get<{ [key: string]: number; }>(`${this.configuration.basePath}/store/inventory`, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -201,10 +211,10 @@ export class StoreService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getOrderById(orderId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getOrderById(orderId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getOrderById(orderId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getOrderById(orderId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { + public getOrderById(orderId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable; + public getOrderById(orderId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public getOrderById(orderId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public getOrderById(orderId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable { if (orderId === null || orderId === undefined) { throw new Error('Required parameter orderId was null or undefined when calling getOrderById.'); } @@ -224,6 +234,10 @@ export class StoreService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -239,6 +253,7 @@ export class StoreService { return this.httpClient.get(`${this.configuration.basePath}/store/order/${encodeURIComponent(String(orderId))}`, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -254,10 +269,10 @@ export class StoreService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public placeOrder(body: Order, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public placeOrder(body: Order, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public placeOrder(body: Order, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public placeOrder(body: Order, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { + public placeOrder(body: Order, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable; + public placeOrder(body: Order, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public placeOrder(body: Order, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public placeOrder(body: Order, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable { if (body === null || body === undefined) { throw new Error('Required parameter body was null or undefined when calling placeOrder.'); } @@ -277,6 +292,10 @@ export class StoreService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } // to determine the Content-Type header @@ -301,6 +320,7 @@ export class StoreService { return this.httpClient.post(`${this.configuration.basePath}/store/order`, body, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/api/user.service.ts b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/user.service.ts similarity index 84% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/api/user.service.ts rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/user.service.ts index 2a3277c524..706dcc2685 100644 --- a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/api/user.service.ts +++ b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/user.service.ts @@ -13,7 +13,7 @@ import { Inject, Injectable, Optional } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http'; import { CustomHttpParameterCodec } from '../encoder'; import { Observable } from 'rxjs'; @@ -28,7 +28,7 @@ import { Configuration } from '../configurat @Injectable({ - providedIn: 'root' + providedIn: 'any' }) export class UserService { @@ -93,10 +93,10 @@ export class UserService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public createUser(body: User, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUser(body: User, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUser(body: User, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUser(body: User, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public createUser(body: User, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public createUser(body: User, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public createUser(body: User, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public createUser(body: User, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (body === null || body === undefined) { throw new Error('Required parameter body was null or undefined when calling createUser.'); } @@ -114,6 +114,10 @@ export class UserService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } // to determine the Content-Type header @@ -138,6 +142,7 @@ export class UserService { return this.httpClient.post(`${this.configuration.basePath}/user`, body, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -153,10 +158,10 @@ export class UserService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public createUsersWithArrayInput(body: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUsersWithArrayInput(body: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithArrayInput(body: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithArrayInput(body: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public createUsersWithArrayInput(body: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public createUsersWithArrayInput(body: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public createUsersWithArrayInput(body: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public createUsersWithArrayInput(body: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (body === null || body === undefined) { throw new Error('Required parameter body was null or undefined when calling createUsersWithArrayInput.'); } @@ -174,6 +179,10 @@ export class UserService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } // to determine the Content-Type header @@ -198,6 +207,7 @@ export class UserService { return this.httpClient.post(`${this.configuration.basePath}/user/createWithArray`, body, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -213,10 +223,10 @@ export class UserService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public createUsersWithListInput(body: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUsersWithListInput(body: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithListInput(body: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithListInput(body: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public createUsersWithListInput(body: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public createUsersWithListInput(body: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public createUsersWithListInput(body: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public createUsersWithListInput(body: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (body === null || body === undefined) { throw new Error('Required parameter body was null or undefined when calling createUsersWithListInput.'); } @@ -234,6 +244,10 @@ export class UserService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } // to determine the Content-Type header @@ -258,6 +272,7 @@ export class UserService { return this.httpClient.post(`${this.configuration.basePath}/user/createWithList`, body, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -274,10 +289,10 @@ export class UserService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public deleteUser(username: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deleteUser(username: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteUser(username: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteUser(username: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public deleteUser(username: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public deleteUser(username: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public deleteUser(username: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public deleteUser(username: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (username === null || username === undefined) { throw new Error('Required parameter username was null or undefined when calling deleteUser.'); } @@ -295,6 +310,10 @@ export class UserService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -310,6 +329,7 @@ export class UserService { return this.httpClient.delete(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -325,10 +345,10 @@ export class UserService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getUserByName(username: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getUserByName(username: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getUserByName(username: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getUserByName(username: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { + public getUserByName(username: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable; + public getUserByName(username: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public getUserByName(username: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public getUserByName(username: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable { if (username === null || username === undefined) { throw new Error('Required parameter username was null or undefined when calling getUserByName.'); } @@ -348,6 +368,10 @@ export class UserService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -363,6 +387,7 @@ export class UserService { return this.httpClient.get(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -379,10 +404,10 @@ export class UserService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public loginUser(username: string, password: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public loginUser(username: string, password: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public loginUser(username: string, password: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public loginUser(username: string, password: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { + public loginUser(username: string, password: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable; + public loginUser(username: string, password: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public loginUser(username: string, password: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable>; + public loginUser(username: string, password: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json', context?: HttpContext}): Observable { if (username === null || username === undefined) { throw new Error('Required parameter username was null or undefined when calling loginUser.'); } @@ -415,6 +440,10 @@ export class UserService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -430,6 +459,7 @@ export class UserService { return this.httpClient.get(`${this.configuration.basePath}/user/login`, { + context: localVarHttpContext, params: localVarQueryParameters, responseType: responseType_, withCredentials: this.configuration.withCredentials, @@ -445,10 +475,10 @@ export class UserService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public logoutUser(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public logoutUser(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public logoutUser(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public logoutUser(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public logoutUser(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public logoutUser(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public logoutUser(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public logoutUser(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { let localVarHeaders = this.defaultHeaders; @@ -463,6 +493,10 @@ export class UserService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } let responseType_: 'text' | 'json' | 'blob' = 'json'; @@ -478,6 +512,7 @@ export class UserService { return this.httpClient.get(`${this.configuration.basePath}/user/logout`, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, @@ -495,10 +530,10 @@ export class UserService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public updateUser(username: string, body: User, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updateUser(username: string, body: User, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updateUser(username: string, body: User, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updateUser(username: string, body: User, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { + public updateUser(username: string, body: User, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable; + public updateUser(username: string, body: User, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public updateUser(username: string, body: User, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>; + public updateUser(username: string, body: User, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable { if (username === null || username === undefined) { throw new Error('Required parameter username was null or undefined when calling updateUser.'); } @@ -519,6 +554,10 @@ export class UserService { localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); } + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } // to determine the Content-Type header @@ -543,6 +582,7 @@ export class UserService { return this.httpClient.put(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, body, { + context: localVarHttpContext, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: localVarHeaders, diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/configuration.ts b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/configuration.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/configuration.ts rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/configuration.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/encoder.ts b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/encoder.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/encoder.ts rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/encoder.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/git_push.sh b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/git_push.sh similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/git_push.sh rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/git_push.sh diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/index.ts b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/index.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/index.ts rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/index.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/model/apiResponse.ts b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/model/apiResponse.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/model/apiResponse.ts rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/model/apiResponse.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/model/category.ts b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/model/category.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/model/category.ts rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/model/category.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/model/models.ts b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/model/models.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/model/models.ts rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/model/models.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/model/order.ts b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/model/order.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/model/order.ts rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/model/order.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/model/pet.ts b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/model/pet.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/model/pet.ts rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/model/pet.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/model/tag.ts b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/model/tag.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/model/tag.ts rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/model/tag.ts diff --git a/samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/model/user.ts b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/model/user.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v10-provided-in-root/builds/with-npm/model/user.ts rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/model/user.ts diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/variables.ts b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/variables.ts similarity index 100% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/builds/default/variables.ts rename to samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/variables.ts diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/.editorconfig b/samples/client/petstore/typescript-angular-v13-provided-in-root/.editorconfig new file mode 100644 index 0000000000..6e87a003da --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/.editorconfig @@ -0,0 +1,13 @@ +# Editor configuration, see http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/.gitignore b/samples/client/petstore/typescript-angular-v13-provided-in-root/.gitignore new file mode 100644 index 0000000000..f05cc0eff3 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/.gitignore @@ -0,0 +1,41 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp +/out-tsc + +# dependencies +/node_modules + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +# misc +/.sass-cache +/connect.lock +/coverage +/libpeerconnection.log +npm-debug.log +yarn-error.log +testem.log +/typings + +# System Files +.DS_Store +Thumbs.db + +.angular diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/angular.json b/samples/client/petstore/typescript-angular-v13-provided-in-root/angular.json new file mode 100644 index 0000000000..899df27278 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/angular.json @@ -0,0 +1,111 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "tests", + "projects": { + "test-default": { + "root": "tests/default", + "sourceRoot": "tests/default/src", + "projectType": "application", + "prefix": "app", + "schematics": {}, + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "aot": true, + "outputPath": "tests/default/dist", + "index": "tests/default/src/index.html", + "main": "tests/default/src/main.ts", + "polyfills": "tests/default/src/polyfills.ts", + "tsConfig": "tests/default/src/tsconfig.app.json", + "assets": [ + "tests/default/src/favicon.ico", + "tests/default/src/assets" + ], + "styles": [ + "tests/default/src/styles.css" + ], + "scripts": [] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "anyComponentStyle", + "maximumWarning": "6kb" + } + ], + "fileReplacements": [ + { + "replace": "tests/default/src/environments/environment.ts", + "with": "tests/default/src/environments/environment.prod.ts" + } + ], + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "namedChunks": false, + "aot": true, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true + }, + "development": {} + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "options": { + }, + "configurations": { + "production": { + "browserTarget": "test-default:build:production" + }, + "development": { + "browserTarget": "test-default:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "test-default:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "tests/default/src/test.ts", + "polyfills": "tests/default/src/polyfills.ts", + "tsConfig": "tests/default/src/tsconfig.spec.json", + "karmaConfig": "tests/default/src/karma.conf.js", + "styles": [ + "tests/default/src/styles.css" + ], + "scripts": [], + "assets": [ + "tests/default/src/favicon.ico", + "tests/default/src/assets" + ] + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "tests/default/src/tsconfig.app.json", + "tests/default/src/tsconfig.spec.json" + ], + "exclude": [ + "**/node_modules/**" + ] + } + } + } + } + }, + "defaultProject": "test-default" +} diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/package-lock.json b/samples/client/petstore/typescript-angular-v13-provided-in-root/package-lock.json new file mode 100644 index 0000000000..59eebec86f --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/package-lock.json @@ -0,0 +1,20981 @@ +{ + "name": "typescript-angular-v13-unit-tests", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "typescript-angular-v13-unit-tests", + "version": "0.0.0", + "dependencies": { + "@angular/animations": "^13.3.4", + "@angular/common": "^13.3.4", + "@angular/compiler": "^13.3.4", + "@angular/core": "^13.3.4", + "@angular/forms": "^13.3.4", + "@angular/platform-browser": "^13.3.4", + "@angular/platform-browser-dynamic": "^13.3.4", + "@angular/router": "^13.3.4", + "core-js": "^2.5.4", + "rxjs": "^6.6.7", + "tslib": "^2.0.0", + "zone.js": "~0.11.5" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^13.3.3", + "@angular/cli": "^13.3.3", + "@angular/compiler-cli": "^13.3.4", + "@angular/language-service": "^13.3.4", + "@types/jasmine": "~3.6.0", + "@types/jasminewd2": "~2.0.3", + "@types/node": "^12.11.1", + "codelyzer": "^6.0.0", + "jasmine-core": "~3.8.0", + "jasmine-spec-reporter": "~5.0.0", + "karma": "~6.3.4", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage-istanbul-reporter": "~3.0.2", + "karma-jasmine": "~4.0.0", + "karma-jasmine-html-reporter": "^1.7.0", + "ts-node": "~7.0.0", + "tslint": "~6.1.0", + "typescript": "^4.6.3" + } + }, + "node_modules/@ampproject/remapping": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-1.1.1.tgz", + "integrity": "sha512-YVAcA4DKLOj296CF5SrQ8cYiMRiUGc2sqFpLxsDGWE34suHqhGP/5yMsDHKsrh8hs8I5TiRVXNwKPWQpX3iGjw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "sourcemap-codec": "1.4.8" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular-devkit/architect": { + "version": "0.1303.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.3.tgz", + "integrity": "sha512-WRVVBCzLlMqRZVhZXGASHzNJK/OCAvl/DTGhlLuJDIjF7lVGnXHjtwNM8ilYZq949OnC3fly5Z61TfhbN/OHCg==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "13.3.3", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/build-angular": { + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.3.3.tgz", + "integrity": "sha512-iEpNF3tF+9Gw+qQKL63fPFHIvWokJdrgVU4GzENQ5QeL8zk8iYTEbH3jWogq5tWy5+VmNP/mKkasq9i78lRiYw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "1.1.1", + "@angular-devkit/architect": "0.1303.3", + "@angular-devkit/build-webpack": "0.1303.3", + "@angular-devkit/core": "13.3.3", + "@babel/core": "7.16.12", + "@babel/generator": "7.16.8", + "@babel/helper-annotate-as-pure": "7.16.7", + "@babel/plugin-proposal-async-generator-functions": "7.16.8", + "@babel/plugin-transform-async-to-generator": "7.16.8", + "@babel/plugin-transform-runtime": "7.16.10", + "@babel/preset-env": "7.16.11", + "@babel/runtime": "7.16.7", + "@babel/template": "7.16.7", + "@discoveryjs/json-ext": "0.5.6", + "@ngtools/webpack": "13.3.3", + "ansi-colors": "4.1.1", + "babel-loader": "8.2.3", + "babel-plugin-istanbul": "6.1.1", + "browserslist": "^4.9.1", + "cacache": "15.3.0", + "circular-dependency-plugin": "5.2.2", + "copy-webpack-plugin": "10.2.1", + "core-js": "3.20.3", + "critters": "0.0.16", + "css-loader": "6.5.1", + "esbuild-wasm": "0.14.22", + "glob": "7.2.0", + "https-proxy-agent": "5.0.0", + "inquirer": "8.2.0", + "jsonc-parser": "3.0.0", + "karma-source-map-support": "1.4.0", + "less": "4.1.2", + "less-loader": "10.2.0", + "license-webpack-plugin": "4.0.2", + "loader-utils": "3.2.0", + "mini-css-extract-plugin": "2.5.3", + "minimatch": "3.0.5", + "open": "8.4.0", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "6.0.1", + "piscina": "3.2.0", + "postcss": "8.4.5", + "postcss-import": "14.0.2", + "postcss-loader": "6.2.1", + "postcss-preset-env": "7.2.3", + "regenerator-runtime": "0.13.9", + "resolve-url-loader": "5.0.0", + "rxjs": "6.6.7", + "sass": "1.49.9", + "sass-loader": "12.4.0", + "semver": "7.3.5", + "source-map-loader": "3.0.1", + "source-map-support": "0.5.21", + "stylus": "0.56.0", + "stylus-loader": "6.2.0", + "terser": "5.11.0", + "text-table": "0.2.0", + "tree-kill": "1.2.2", + "tslib": "2.3.1", + "webpack": "5.70.0", + "webpack-dev-middleware": "5.3.0", + "webpack-dev-server": "4.7.3", + "webpack-merge": "5.8.0", + "webpack-subresource-integrity": "5.1.0" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "esbuild": "0.14.22" + }, + "peerDependencies": { + "@angular/compiler-cli": "^13.0.0 || ^13.3.0-rc.0", + "@angular/localize": "^13.0.0 || ^13.3.0-rc.0", + "@angular/service-worker": "^13.0.0 || ^13.3.0-rc.0", + "karma": "^6.3.0", + "ng-packagr": "^13.0.0", + "protractor": "^7.0.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "typescript": ">=4.4.3 <4.7" + }, + "peerDependenciesMeta": { + "@angular/localize": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "karma": { + "optional": true + }, + "ng-packagr": { + "optional": true + }, + "protractor": { + "optional": true + }, + "tailwindcss": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/core-js": { + "version": "3.20.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.3.tgz", + "integrity": "sha512-vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag==", + "dev": true, + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular-devkit/build-webpack": { + "version": "0.1303.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1303.3.tgz", + "integrity": "sha512-v/z/YgwrAzYn1LfN9OHNxqcThyyg4LLx28hmHzDs5gyDShAK189y34EoT9uQ+lCyQrPVhP7UKACCxCdSwOEJiA==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1303.3", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "webpack": "^5.30.0", + "webpack-dev-server": "^4.0.0" + } + }, + "node_modules/@angular-devkit/core": { + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.3.tgz", + "integrity": "sha512-lfQwY9LuVRwcNVzGmyPcwOpb3CAobP4T+c3joR1LLIPS5lzcM0oeCE2bon9N52Ktn4Q/pH98dVtjWL+jSrUADw==", + "dev": true, + "dependencies": { + "ajv": "8.9.0", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/core/node_modules/ajv": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", + "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@angular-devkit/core/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/@angular-devkit/schematics": { + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.3.tgz", + "integrity": "sha512-S8UNlw6IoR/kxBYbiwesuA7oJGSnFkD6bJwVLhpHdT6Sqrz2/IrjHcNgTJRAvhsOKIbfDtMtXRzl/PUdWEfgyw==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "13.3.3", + "jsonc-parser": "3.0.0", + "magic-string": "0.25.7", + "ora": "5.4.1", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/animations": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.3.4.tgz", + "integrity": "sha512-cXjjbzYR2hda9BDAu0teJUVbbA03jJTK53vIYnDLIAvN20YRPo9LqINxpUlbAzH6hE8v5xF2LLnAXcaQROVpIw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/core": "13.3.4" + } + }, + "node_modules/@angular/cli": { + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.3.tgz", + "integrity": "sha512-a+nnzFP1FfnypXpAhrHbIBaJcxzegWLZUvVzJQwt6P2z60IoHdvTVmyNbY89qI0LE1SrAokEUO1zW3Yjmu7fUw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@angular-devkit/architect": "0.1303.3", + "@angular-devkit/core": "13.3.3", + "@angular-devkit/schematics": "13.3.3", + "@schematics/angular": "13.3.3", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.1", + "debug": "4.3.3", + "ini": "2.0.0", + "inquirer": "8.2.0", + "jsonc-parser": "3.0.0", + "npm-package-arg": "8.1.5", + "npm-pick-manifest": "6.1.1", + "open": "8.4.0", + "ora": "5.4.1", + "pacote": "12.0.3", + "resolve": "1.22.0", + "semver": "7.3.5", + "symbol-observable": "4.0.0", + "uuid": "8.3.2" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/cli/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular/common": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.3.4.tgz", + "integrity": "sha512-vPZuUGWMXz6r30obBqH+iIG4Feq4YEK/4wUks7PEYGke8MXFPYsNKuHMhKCgYEhabD/4Mo4GEp3i18/3Kk72Mw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/core": "13.3.4", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/compiler": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.3.4.tgz", + "integrity": "sha512-Yf1Dv2BVytjmv5Nnv05hUciUOH/UpKgXG1Ql5XwQG/qGV4eEs33PJBtGsUJTPuddxfRm72JMsbZcoRjVADqbcw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" + } + }, + "node_modules/@angular/compiler-cli": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.4.tgz", + "integrity": "sha512-wCnt2YOS5EiwWCEv8oCqIfiwUtifs+COhcYH6fpmf/3X9w1yKO1ZMA+OsFQ0IVS4d0YYavm5DTPQ2ep2c0sF5w==", + "dev": true, + "dependencies": { + "@babel/core": "^7.17.2", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "dependency-graph": "^0.11.0", + "magic-string": "^0.26.0", + "reflect-metadata": "^0.1.2", + "semver": "^7.0.0", + "sourcemap-codec": "^1.4.8", + "tslib": "^2.3.0", + "yargs": "^17.2.1" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js", + "ngcc": "bundles/ngcc/main-ngcc.js" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/compiler": "13.3.4", + "typescript": ">=4.4.2 <4.7" + } + }, + "node_modules/@angular/compiler-cli/node_modules/@ampproject/remapping": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", + "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/core": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz", + "integrity": "sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.9", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helpers": "^7.17.9", + "@babel/parser": "^7.17.9", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.9", + "@babel/types": "^7.17.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/generator": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", + "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.17.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@angular/compiler-cli/node_modules/magic-string": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.1.tgz", + "integrity": "sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular/compiler-cli/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@angular/compiler-cli/node_modules/yargs": { + "version": "17.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", + "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular/compiler-cli/node_modules/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular/core": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.3.4.tgz", + "integrity": "sha512-PqPwx9oaV0Bh0m0fdI2jtXUC6s04jfD4vyzB4sjEuRI9pRUnZ6M5hZ5Vn/KJVZyt411MevbJfqzUVf0W+GDZew==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.11.4" + } + }, + "node_modules/@angular/forms": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.4.tgz", + "integrity": "sha512-QHyUXOKYITysaJJ4VnmBacE69oz0rw4G7Y2lhPb2V3a1XsWeO61SZEeGMfAWo7sLoDvi2MCEWNEhl1du4dK14A==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/common": "13.3.4", + "@angular/core": "13.3.4", + "@angular/platform-browser": "13.3.4", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/language-service": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-13.3.4.tgz", + "integrity": "sha512-9k2q9TJaTG2QgIDNLUVOPCdzYRXLOw4aKiHTeMeIJOw4Zhp2dV7I4oX/aC/a1AN86JIO6m5nujeVf4SkK95WSw==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" + } + }, + "node_modules/@angular/platform-browser": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.3.4.tgz", + "integrity": "sha512-IjBOkjrIVIbbZCDQJRdel0FSDcExSLDgMxcCSQ6pKa6oR/t59BJpSpOhB1W9nRwLtvMmGYkS/oyLFsKk65UoYA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/animations": "13.3.4", + "@angular/common": "13.3.4", + "@angular/core": "13.3.4" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "node_modules/@angular/platform-browser-dynamic": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.4.tgz", + "integrity": "sha512-UApjgrL6B3QTdSYoCOPzMvFDmSewAHrLpreLYEmADutMWkD0ZcTPux4MJp8awT4P3l6wKzBeGJIKLlk8zsXmGQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/common": "13.3.4", + "@angular/compiler": "13.3.4", + "@angular/core": "13.3.4", + "@angular/platform-browser": "13.3.4" + } + }, + "node_modules/@angular/router": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.3.4.tgz", + "integrity": "sha512-UuMAjWHoFKF8b9gFOiqL7fpVXjIr89BtxVES3yXReVq/IZJz9gWup6lYK3KMja+F8HZB8LBUMYgtqjS9iyLV/Q==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/common": "13.3.4", + "@angular/core": "13.3.4", + "@angular/platform-browser": "13.3.4", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@assemblyscript/loader": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", + "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==", + "dev": true + }, + "node_modules/@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", + "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.16.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.12.tgz", + "integrity": "sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helpers": "^7.16.7", + "@babel/parser": "^7.16.12", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.10", + "@babel/types": "^7.16.8", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", + "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.8", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", + "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.17.5", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz", + "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-member-expression-to-functions": "^7.17.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", + "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "regexpu-core": "^5.0.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", + "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", + "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.16.7", + "@babel/types": "^7.17.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", + "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.17.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", + "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", + "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", + "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", + "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.17.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", + "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.8", + "@babel/types": "^7.16.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz", + "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==", + "dev": true, + "dependencies": { + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.9", + "@babel/types": "^7.17.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz", + "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", + "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", + "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", + "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", + "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", + "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.17.6", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", + "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", + "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", + "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", + "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz", + "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.0", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", + "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", + "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.16.10", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", + "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", + "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", + "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", + "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", + "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", + "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", + "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", + "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", + "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", + "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", + "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", + "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz", + "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", + "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", + "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", + "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", + "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", + "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", + "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", + "dev": true, + "dependencies": { + "regenerator-transform": "^0.15.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", + "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.10.tgz", + "integrity": "sha512-9nwTiqETv2G7xI4RvXHNfpGdr8pAA+Q/YtN3yLK7OoK7n9OibVm/xymJ838a9A6E/IciOLPj82lZk0fW6O4O7w==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", + "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", + "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", + "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", + "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.8", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.11", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.8", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.8", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.20.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", + "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz", + "integrity": "sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.9", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.17.9", + "@babel/types": "^7.17.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/generator": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", + "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.17.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/types": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", + "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz", + "integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", + "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@ngtools/webpack": { + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.3.tgz", + "integrity": "sha512-O6EzafKfFuvI3Ju941u7ANs0mT7YDdChbVRhVECCPWOTm3Klr73js3bnCDzaJlxZNjzlG/KeUu5ghrhbMrHjSw==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^13.0.0", + "typescript": ">=4.4.3 <4.7", + "webpack": "^5.30.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "dev": true, + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "node_modules/@npmcli/git": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", + "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==", + "dev": true, + "dependencies": { + "@npmcli/promise-spawn": "^1.3.2", + "lru-cache": "^6.0.0", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^6.1.1", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" + } + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", + "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", + "dev": true, + "dependencies": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "installed-package-contents": "index.js" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz", + "integrity": "sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==", + "dev": true + }, + "node_modules/@npmcli/promise-spawn": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", + "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", + "dev": true, + "dependencies": { + "infer-owner": "^1.0.4" + } + }, + "node_modules/@npmcli/run-script": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-2.0.0.tgz", + "integrity": "sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig==", + "dev": true, + "dependencies": { + "@npmcli/node-gyp": "^1.0.2", + "@npmcli/promise-spawn": "^1.3.2", + "node-gyp": "^8.2.0", + "read-package-json-fast": "^2.0.1" + } + }, + "node_modules/@schematics/angular": { + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.3.tgz", + "integrity": "sha512-kX5ghVCmWHcMN+g0pUaFuIJzwrXsVnK4bfid8DckU4EEtfFSv3UA5I1QNJRgpCPxTPhNEAk+3ePN8nzDSjdU+w==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "13.3.3", + "@angular-devkit/schematics": "13.3.3", + "jsonc-parser": "3.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@socket.io/base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/component-emitter": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz", + "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==", + "dev": true + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, + "node_modules/@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", + "dev": true + }, + "node_modules/@types/eslint": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", + "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.28", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", + "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/http-proxy": { + "version": "1.17.8", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", + "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/jasmine": { + "version": "3.6.11", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.6.11.tgz", + "integrity": "sha512-S6pvzQDvMZHrkBz2Mcn/8Du7cpr76PlRJBAoHnSDNbulULsH5dp0Gns+WRyNX5LHejz/ljxK4/vIHK/caHt6SQ==", + "dev": true + }, + "node_modules/@types/jasminewd2": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.10.tgz", + "integrity": "sha512-J7mDz7ovjwjc+Y9rR9rY53hFWKATcIkrr9DwQWmOas4/pnIPJTXawnzjwpHm3RSxz/e3ZVUvQ7cRbd5UQLo10g==", + "dev": true, + "dependencies": { + "@types/jasmine": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, + "node_modules/@types/node": { + "version": "12.20.46", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.46.tgz", + "integrity": "sha512-cPjLXj8d6anFPzFvOPxS3fvly3Shm5nTfl6g8X5smexixbuGUf7hfr21J5tX9JW+UPStp/5P5R8qrKL5IyVJ+A==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "node_modules/@types/retry": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", + "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", + "dev": true + }, + "node_modules/@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/app-root-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz", + "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==", + "dev": true, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "node_modules/are-we-there-yet": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", + "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/argparse/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/aria-query": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", + "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", + "dev": true, + "dependencies": { + "ast-types-flow": "0.0.7", + "commander": "^2.11.0" + } + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "node_modules/array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "dev": true + }, + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.5.tgz", + "integrity": "sha512-Fvd8yCoA7lNX/OUllvS+aS1I7WRBclGXsepbvT8ZaPgrH24rgXpZzF0/6Hh3ZEkwg+0AES/Osd196VZmYoEFtw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.20.2", + "caniuse-lite": "^1.0.30001332", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axobject-query": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", + "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==", + "dev": true, + "dependencies": { + "ast-types-flow": "0.0.7" + } + }, + "node_modules/babel-loader": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", + "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "dev": true, + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/babel-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", + "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.3.1", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", + "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.21.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true, + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/body-parser/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "dependencies": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", + "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001332", + "electron-to-chromium": "^1.4.118", + "escalade": "^3.1.1", + "node-releases": "^2.0.3", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "dev": true + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001332", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz", + "integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/circular-dependency-plugin": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", + "integrity": "sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ==", + "dev": true, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "webpack": ">=4.0.1" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/codelyzer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.2.tgz", + "integrity": "sha512-v3+E0Ucu2xWJMOJ2fA/q9pDT/hlxHftHGPUay1/1cTgyPV5JTHFdO9hqo837Sx2s9vKBMTt5gO+lhF95PO6J+g==", + "dev": true, + "dependencies": { + "@angular/compiler": "9.0.0", + "@angular/core": "9.0.0", + "app-root-path": "^3.0.0", + "aria-query": "^3.0.0", + "axobject-query": "2.0.2", + "css-selector-tokenizer": "^0.7.1", + "cssauron": "^1.4.0", + "damerau-levenshtein": "^1.0.4", + "rxjs": "^6.5.3", + "semver-dsl": "^1.0.1", + "source-map": "^0.5.7", + "sprintf-js": "^1.1.2", + "tslib": "^1.10.0", + "zone.js": "~0.10.3" + }, + "peerDependencies": { + "@angular/compiler": ">=2.3.1 <13.0.0 || ^12.0.0-next || ^12.1.0-next || ^12.2.0-next", + "@angular/core": ">=2.3.1 <13.0.0 || ^12.0.0-next || ^12.1.0-next || ^12.2.0-next", + "tslint": "^5.0.0 || ^6.0.0" + } + }, + "node_modules/codelyzer/node_modules/@angular/compiler": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.0.tgz", + "integrity": "sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ==", + "dev": true, + "peerDependencies": { + "tslib": "^1.10.0" + } + }, + "node_modules/codelyzer/node_modules/@angular/core": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.0.tgz", + "integrity": "sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w==", + "dev": true, + "peerDependencies": { + "rxjs": "^6.5.3", + "tslib": "^1.10.0", + "zone.js": "~0.10.2" + } + }, + "node_modules/codelyzer/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/codelyzer/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/codelyzer/node_modules/zone.js": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", + "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==", + "dev": true + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colorette": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", + "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "dev": true + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.1.tgz", + "integrity": "sha512-nr81NhCAIpAWXGCK5thrKmfCQ6GDY0L5RN0U+BnIn/7Us55+UCex5ANNsNKmIVtDRnk0Ecf+/kzp9SUVrrBMLg==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.7", + "glob-parent": "^6.0.1", + "globby": "^12.0.2", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 12.20.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/copy-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/copy-webpack-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true + }, + "node_modules/core-js-compat": { + "version": "3.22.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.2.tgz", + "integrity": "sha512-Fns9lU06ZJ07pdfmPMu7OnkIKGPKDzXKIiuGlSvHHapwqMUF2QnnsWwtueFZtSyZEilP0o6iUeHQwpn7LxtLUw==", + "dev": true, + "dependencies": { + "browserslist": "^4.20.2", + "semver": "7.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/critters": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", + "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "css-select": "^4.2.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "postcss": "^8.3.7", + "pretty-bytes": "^5.3.0" + } + }, + "node_modules/critters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/critters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/critters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/critters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/critters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/critters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + } + }, + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-blank-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-loader": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.5.1.tgz", + "integrity": "sha512-gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "dev": true, + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-selector-tokenizer": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", + "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cssauron": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz", + "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=", + "dev": true, + "dependencies": { + "through": "X.X.X" + } + }, + "node_modules/cssdb": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-5.1.0.tgz", + "integrity": "sha512-/vqjXhv1x9eGkE/zO6o8ZOI7dgdZbLVLUGyVRbPgk6YipXbW87YzUCcO+Jrmi5bwJlAH6oD+MNeZyRgXea1GZw==", + "dev": true + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "dev": true + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "node_modules/date-format": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.3.tgz", + "integrity": "sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "dependencies": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/del": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", + "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "dev": true, + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del/node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/del/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", + "dev": true + }, + "node_modules/diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "node_modules/dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "dev": true, + "dependencies": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "dependencies": { + "buffer-indexof": "^1.0.0" + } + }, + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "dev": true, + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.122", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.122.tgz", + "integrity": "sha512-VuLNxTIt8sBWIT2sd186xPd18Y8KcK8myLd9nMdSJOYZwFUxxbLVmX/T1VX+qqaytRlrYYQv39myxJdXtu7Ysw==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/engine.io": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.3.tgz", + "integrity": "sha512-rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA==", + "dev": true, + "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.2.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz", + "integrity": "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==", + "dev": true, + "dependencies": { + "@socket.io/base64-arraybuffer": "~1.0.2" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", + "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "dev": true + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.22.tgz", + "integrity": "sha512-CjFCFGgYtbFOPrwZNJf7wsuzesx8kqwAffOlbYcFDLFuUtP8xloK1GH+Ai13Qr0RZQf9tE7LMTHJ2iVGJ1SKZA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "esbuild-android-arm64": "0.14.22", + "esbuild-darwin-64": "0.14.22", + "esbuild-darwin-arm64": "0.14.22", + "esbuild-freebsd-64": "0.14.22", + "esbuild-freebsd-arm64": "0.14.22", + "esbuild-linux-32": "0.14.22", + "esbuild-linux-64": "0.14.22", + "esbuild-linux-arm": "0.14.22", + "esbuild-linux-arm64": "0.14.22", + "esbuild-linux-mips64le": "0.14.22", + "esbuild-linux-ppc64le": "0.14.22", + "esbuild-linux-riscv64": "0.14.22", + "esbuild-linux-s390x": "0.14.22", + "esbuild-netbsd-64": "0.14.22", + "esbuild-openbsd-64": "0.14.22", + "esbuild-sunos-64": "0.14.22", + "esbuild-windows-32": "0.14.22", + "esbuild-windows-64": "0.14.22", + "esbuild-windows-arm64": "0.14.22" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.22.tgz", + "integrity": "sha512-k1Uu4uC4UOFgrnTj2zuj75EswFSEBK+H6lT70/DdS4mTAOfs2ECv2I9ZYvr3w0WL0T4YItzJdK7fPNxcPw6YmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.22.tgz", + "integrity": "sha512-d8Ceuo6Vw6HM3fW218FB6jTY6O3r2WNcTAU0SGsBkXZ3k8SDoRLd3Nrc//EqzdgYnzDNMNtrWegK2Qsss4THhw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.22.tgz", + "integrity": "sha512-YAt9Tj3SkIUkswuzHxkaNlT9+sg0xvzDvE75LlBo4DI++ogSgSmKNR6B4eUhU5EUUepVXcXdRIdqMq9ppeRqfw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.22.tgz", + "integrity": "sha512-ek1HUv7fkXMy87Qm2G4IRohN+Qux4IcnrDBPZGXNN33KAL0pEJJzdTv0hB/42+DCYWylSrSKxk3KUXfqXOoH4A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.22.tgz", + "integrity": "sha512-zPh9SzjRvr9FwsouNYTqgqFlsMIW07O8mNXulGeQx6O5ApgGUBZBgtzSlBQXkHi18WjrosYfsvp5nzOKiWzkjQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.22.tgz", + "integrity": "sha512-SnpveoE4nzjb9t2hqCIzzTWBM0RzcCINDMBB67H6OXIuDa4KqFqaIgmTchNA9pJKOVLVIKd5FYxNiJStli21qg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.22.tgz", + "integrity": "sha512-Zcl9Wg7gKhOWWNqAjygyqzB+fJa19glgl2JG7GtuxHyL1uEnWlpSMytTLMqtfbmRykIHdab797IOZeKwk5g0zg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.22.tgz", + "integrity": "sha512-soPDdbpt/C0XvOOK45p4EFt8HbH5g+0uHs5nUKjHVExfgR7du734kEkXR/mE5zmjrlymk5AA79I0VIvj90WZ4g==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.22.tgz", + "integrity": "sha512-8q/FRBJtV5IHnQChO3LHh/Jf7KLrxJ/RCTGdBvlVZhBde+dk3/qS9fFsUy+rs3dEi49aAsyVitTwlKw1SUFm+A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.22.tgz", + "integrity": "sha512-SiNDfuRXhGh1JQLLA9JPprBgPVFOsGuQ0yDfSPTNxztmVJd8W2mX++c4FfLpAwxuJe183mLuKf7qKCHQs5ZnBQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.22.tgz", + "integrity": "sha512-6t/GI9I+3o1EFm2AyN9+TsjdgWCpg2nwniEhjm2qJWtJyJ5VzTXGUU3alCO3evopu8G0hN2Bu1Jhz2YmZD0kng==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.22.tgz", + "integrity": "sha512-AyJHipZKe88sc+tp5layovquw5cvz45QXw5SaDgAq2M911wLHiCvDtf/07oDx8eweCyzYzG5Y39Ih568amMTCQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.22.tgz", + "integrity": "sha512-Sz1NjZewTIXSblQDZWEFZYjOK6p8tV6hrshYdXZ0NHTjWE+lwxpOpWeElUGtEmiPcMT71FiuA9ODplqzzSxkzw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.22.tgz", + "integrity": "sha512-TBbCtx+k32xydImsHxvFgsOCuFqCTGIxhzRNbgSL1Z2CKhzxwT92kQMhxort9N/fZM2CkRCPPs5wzQSamtzEHA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.22.tgz", + "integrity": "sha512-vK912As725haT313ANZZZN+0EysEEQXWC/+YE4rQvOQzLuxAQc2tjbzlAFREx3C8+uMuZj/q7E5gyVB7TzpcTA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.22.tgz", + "integrity": "sha512-/mbJdXTW7MTcsPhtfDsDyPEOju9EOABvCjeUU2OJ7fWpX/Em/H3WYDa86tzLUbcVg++BScQDzqV/7RYw5XNY0g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-wasm": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.22.tgz", + "integrity": "sha512-FOSAM29GN1fWusw0oLMv6JYhoheDIh5+atC72TkJKfIUMID6yISlicoQSd9gsNSFsNBvABvtE2jR4JB1j4FkFw==", + "dev": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.22.tgz", + "integrity": "sha512-1vRIkuvPTjeSVK3diVrnMLSbkuE36jxA+8zGLUOrT4bb7E/JZvDRhvtbWXWaveUc/7LbhaNFhHNvfPuSw2QOQg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.22.tgz", + "integrity": "sha512-AxjIDcOmx17vr31C5hp20HIwz1MymtMjKqX4qL6whPj0dT9lwxPexmLj6G1CpR3vFhui6m75EnBEe4QL82SYqw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.22.tgz", + "integrity": "sha512-5wvQ+39tHmRhNpu2Fx04l7QfeK3mQ9tKzDqqGR8n/4WUxsFxnVLfDRBGirIfk4AfWlxk60kqirlODPoT5LqMUg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter-asyncresource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", + "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", + "dev": true + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/express": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.0.tgz", + "integrity": "sha512-EJEXxiTQJS3lIPrU1AE2vRuT7X7E+0KBbpm5GSoK524yl0K8X+er8zS2P14E64eqsVNoWbMCT7MpmQ+ErAhgRg==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "node_modules/express/node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/express/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flatted": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", + "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", + "dev": true, + "dependencies": { + "array-union": "^3.0.1", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.7", + "ignore": "^5.1.9", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "dev": true + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "node_modules/hdr-histogram-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", + "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==", + "dev": true, + "dependencies": { + "@assemblyscript/loader": "^0.10.1", + "base64-js": "^1.2.0", + "pako": "^1.0.3" + } + }, + "node_modules/hdr-histogram-percentiles-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", + "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", + "dev": true + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "dev": true + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "dev": true, + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-walk": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-4.0.1.tgz", + "integrity": "sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==", + "dev": true, + "dependencies": { + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true, + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immutable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", + "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/inquirer": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz", + "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.2.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/rxjs": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", + "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "node_modules/ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=", + "dev": true + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isbinaryfile": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", + "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", + "dev": true, + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", + "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jasmine-core": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.8.0.tgz", + "integrity": "sha512-zl0nZWDrmbCiKns0NcjkFGYkVTGCPUgoHypTaj+G2AzaWus7QGoXARSlYsSle2VRpSdfJmM+hzmFKzQNhF2kHg==", + "dev": true + }, + "node_modules/jasmine-spec-reporter": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz", + "integrity": "sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g==", + "dev": true, + "dependencies": { + "colors": "1.4.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "dev": true + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/karma": { + "version": "6.3.17", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.17.tgz", + "integrity": "sha512-2TfjHwrRExC8yHoWlPBULyaLwAFmXmxQrcuFImt/JsAsSZu1uOWTZ1ZsWjqQtWpHLiatJOHL5jFjXSJIgCd01g==", + "dev": true, + "dependencies": { + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.2.0", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/karma-chrome-launcher": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz", + "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", + "dev": true, + "dependencies": { + "which": "^1.2.1" + } + }, + "node_modules/karma-coverage-istanbul-reporter": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz", + "integrity": "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^3.0.6", + "istanbul-reports": "^3.0.2", + "minimatch": "^3.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/mattlewis92" + } + }, + "node_modules/karma-jasmine": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-4.0.1.tgz", + "integrity": "sha512-h8XDAhTiZjJKzfkoO1laMH+zfNlra+dEQHUAjpn5JV1zCPtOIVWGQjLBrqhnzQa/hrU2XrZwSyBa6XjEBzfXzw==", + "dev": true, + "dependencies": { + "jasmine-core": "^3.6.0" + }, + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "karma": "*" + } + }, + "node_modules/karma-jasmine-html-reporter": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.7.0.tgz", + "integrity": "sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ==", + "dev": true, + "peerDependencies": { + "jasmine-core": ">=3.8", + "karma": ">=0.9", + "karma-jasmine": ">=1.1" + } + }, + "node_modules/karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", + "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "dev": true, + "dependencies": { + "source-map-support": "^0.5.5" + } + }, + "node_modules/karma/node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/karma/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/karma/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/less": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/less/-/less-4.1.2.tgz", + "integrity": "sha512-EoQp/Et7OSOVu0aJknJOtlXZsnr8XE8KwuzTHOLeVSEx8pVWUICc8Q0VYRHgzyjX78nMEyC/oztWFbgyhtNfDA==", + "dev": true, + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^2.5.2", + "source-map": "~0.6.0" + } + }, + "node_modules/less-loader": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-10.2.0.tgz", + "integrity": "sha512-AV5KHWvCezW27GT90WATaDnfXBv99llDbtaj4bshq6DvAihMdNjaPDcUMa6EXKLRF+P2opFenJp89BXg91XLYg==", + "dev": true, + "dependencies": { + "klona": "^2.0.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/less/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/less/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/less/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/less/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/less/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/license-webpack-plugin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", + "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", + "dev": true, + "dependencies": { + "webpack-sources": "^3.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-sources": { + "optional": true + } + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", + "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", + "dev": true, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log4js": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.4.1.tgz", + "integrity": "sha512-iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg==", + "dev": true, + "dependencies": { + "date-format": "^4.0.3", + "debug": "^4.3.3", + "flatted": "^3.2.4", + "rfdc": "^1.3.0", + "streamroller": "^3.0.2" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.4" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", + "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", + "dev": true, + "dependencies": { + "fs-monkey": "1.0.3" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "dev": true, + "dependencies": { + "mime-db": "1.51.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.5.3.tgz", + "integrity": "sha512-YseMB8cs8U/KCaAGQoqYmfUuhhGW0a9p9XvWXrxVOkE3/IiISTLw4ALNt7JR5B2eYauFM+PQGSbXMDmVbR7Tfw==", + "dev": true, + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/minipass": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "dev": true, + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "dev": true, + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "dependencies": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", + "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/needle": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", + "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", + "dev": true, + "optional": true, + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/needle/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "!win32" + ], + "dependencies": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" + } + }, + "node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "dev": true, + "optional": true + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true, + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/node-gyp-build": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", + "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", + "dev": true, + "optional": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/node-releases": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz", + "integrity": "sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==", + "dev": true + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", + "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", + "dev": true, + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm-install-checks": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", + "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", + "dev": true, + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true + }, + "node_modules/npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-packlist": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-3.0.0.tgz", + "integrity": "sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==", + "dev": true, + "dependencies": { + "glob": "^7.1.6", + "ignore-walk": "^4.0.1", + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "npm-packlist": "bin/index.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-pick-manifest": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", + "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", + "dev": true, + "dependencies": { + "npm-install-checks": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^8.1.2", + "semver": "^7.3.4" + } + }, + "node_modules/npm-registry-fetch": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-12.0.2.tgz", + "integrity": "sha512-Df5QT3RaJnXYuOwtXBXS9BWs+tHH2olvkCLh6jcR/b/u3DvPMlp3J0TvvYwplPKxHMOwfg287PYih9QqaVFoKA==", + "dev": true, + "dependencies": { + "make-fetch-happen": "^10.0.1", + "minipass": "^3.1.6", + "minipass-fetch": "^1.4.1", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^8.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm-registry-fetch/node_modules/@npmcli/fs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.0.tgz", + "integrity": "sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ==", + "dev": true, + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/@npmcli/move-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz", + "integrity": "sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm-registry-fetch/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/cacache": { + "version": "16.0.6", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.0.6.tgz", + "integrity": "sha512-9a/MLxGaw3LEGes0HaPez2RgZWDV6X0jrgChsuxfEh8xoDoYGxaGrkMe7Dlyjrb655tA/b8fX0qlUg6Ii5MBvw==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/glob": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.1.tgz", + "integrity": "sha512-cF7FYZZ47YzmCu7dDy50xSRRfO3ErRfrXuLZcNIuyiJEco0XSrGtuilG19L5xp3NcwTx7Gn+X6Tv3fmsUPTbow==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm-registry-fetch/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm-registry-fetch/node_modules/lru-cache": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.1.tgz", + "integrity": "sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.2.tgz", + "integrity": "sha512-GWMGiZsKVeJACQGJ1P3Z+iNec7pLsU6YW1q11eaPn3RR8nRXHppFWfP7Eu0//55JK3hSjrAQRl8sDa5uXpq1Ew==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.0.2", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.1.1", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/make-fetch-happen/node_modules/minipass-fetch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.0.tgz", + "integrity": "sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg==", + "dev": true, + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/npm-registry-fetch/node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-registry-fetch/node_modules/ssri": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.0.tgz", + "integrity": "sha512-Y1Z6J8UYnexKFN1R/hxUaYoY2LVdKEzziPmVAFKiKX8fiwvCJTVzn/xYE9TEWod5OVyNfIHHuVfIEuBClL/uJQ==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", + "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", + "dev": true, + "dependencies": { + "@types/retry": "^0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pacote": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-12.0.3.tgz", + "integrity": "sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow==", + "dev": true, + "dependencies": { + "@npmcli/git": "^2.1.0", + "@npmcli/installed-package-contents": "^1.0.6", + "@npmcli/promise-spawn": "^1.2.0", + "@npmcli/run-script": "^2.0.0", + "cacache": "^15.0.5", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.3", + "mkdirp": "^1.0.3", + "npm-package-arg": "^8.0.1", + "npm-packlist": "^3.0.0", + "npm-pick-manifest": "^6.0.0", + "npm-registry-fetch": "^12.0.0", + "promise-retry": "^2.0.1", + "read-package-json-fast": "^2.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.1.0" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/parse5-html-rewriting-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz", + "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==", + "dev": true, + "dependencies": { + "parse5": "^6.0.1", + "parse5-sax-parser": "^6.0.1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parse5-sax-parser": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz", + "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==", + "dev": true, + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/piscina": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.2.0.tgz", + "integrity": "sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==", + "dev": true, + "dependencies": { + "eventemitter-asyncresource": "^1.0.0", + "hdr-histogram-js": "^2.0.1", + "hdr-histogram-percentiles-obj": "^3.0.0" + }, + "optionalDependencies": { + "nice-napi": "^1.0.2" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "dev": true, + "dependencies": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/portfinder/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/postcss": { + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", + "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", + "dev": true, + "dependencies": { + "nanoid": "^3.1.30", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.0.tgz", + "integrity": "sha512-b4g9eagFGq9T5SWX4+USfVyjIb3liPnjhHHRMP7FMB2kFVpYyfEscV0wP3eaXhKlcHKUut8lt5BGoeylWA/dBQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.2" + }, + "peerDependencies": { + "postcss": "^8.0.2" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.2.tgz", + "integrity": "sha512-DXVtwUhIk4f49KK5EGuEdgx4Gnyj6+t2jBSEmxvpIK9QI40tWrpS2Pua8Q7iIZWBrki2QOaeUdEaLPPa91K0RQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.3.tgz", + "integrity": "sha512-fESawWJCrBV035DcbKRPAVmy21LpoyiXdPTuHUfWJ14ZRjY7Y7PA6P4g8z6LQGYhU1WAxkTxjIjurXzoe68Glw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.0.2.tgz", + "integrity": "sha512-SFc3MaocHaQ6k3oZaFwH8io6MdypkUtEy/eXzXEB1vEQlO3S3oDc/FSZA8AsS04Z25RirQhlDlHLh3dn7XewWw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-custom-media": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.0.tgz", + "integrity": "sha512-FvO2GzMUaTN0t1fBULDeIvxr5IvbDXcIatt6pnJghc736nqNgsGao5NT+5+WVLAQiTt6Cb3YUms0jiPaXhL//g==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-custom-properties": { + "version": "12.1.7", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.7.tgz", + "integrity": "sha512-N/hYP5gSoFhaqxi2DPCmvto/ZcRDVjE3T1LiAMzc/bg53hvhcHOLpXOHb526LzBBp5ZlAUhkuot/bfpmpgStJg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.0.tgz", + "integrity": "sha512-/1iyBhz/W8jUepjGyu7V1OPcGbc636snN1yXEQCinb6Bwt7KxsiU7/bLQlp8GwAXzCh7cobBU5odNn/2zQWR8Q==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.2" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.4.tgz", + "integrity": "sha512-I8epwGy5ftdzNWEYok9VjW9whC4xnelAtbajGv4adql4FIF09rnrxnA9Y8xSHN47y7gqFIv10C5+ImsLeJpKBw==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.1.tgz", + "integrity": "sha512-jM+CGkTs4FcG53sMPjrrGE0rIvLDdCrqMzgDC5fLI7JHDO7o6QG8C5TQBtExb13hdBdoH9C2QVbG4jo2y9lErQ==", + "dev": true, + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "dev": true, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.3.tgz", + "integrity": "sha512-rPPZRLPmEKgLk/KlXMqRaNkYTUpE7YC+bOIQFN5xcu1Vp11Y4faIXv6/Jpft6FMnl6YRxZqDZG0qQOW80stzxQ==", + "dev": true, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-image-set-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.6.tgz", + "integrity": "sha512-KfdC6vg53GC+vPd2+HYzsZ6obmPqOk6HY09kttU19+Gj1nC3S3XBVEXDHxkhxTohgZqzbUb94bKXvKDnYWBm/A==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-import": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz", + "integrity": "sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "dev": true, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-lab-function": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.0.tgz", + "integrity": "sha512-Zb1EO9DGYfa3CP8LhINHCcTTCTLI+R3t7AX2mKsDzdgVQ/GkCpHOTgOr6HBHslP7XDdVbqgHW5vvRPMdVANQ8w==", + "dev": true, + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dev": true, + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "dev": true, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nesting": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.4.tgz", + "integrity": "sha512-2ixdQ59ik/Gt1+oPHiI1kHdwEI8lLKEmui9B1nl6163ANLC+GewQn7fXMxJF2JSb4i2MKL96GU8fIiQztK4TTA==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.3.tgz", + "integrity": "sha512-CxZwoWup9KXzQeeIxtgOciQ00tDtnylYIlJBBODqkgS/PU2jISuWOL/mYLHmZb9ZhZiCaNKsCRiLp22dZUtNsg==", + "dev": true, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "dev": true, + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.4.tgz", + "integrity": "sha512-MrgKeiiu5OC/TETQO45kV3npRjOFxEHthsqGtkh3I1rPbZSbXGD/lZVi9j13cYh+NA8PIAPyk6sGjT9QbRyvSg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-preset-env": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.2.3.tgz", + "integrity": "sha512-Ok0DhLfwrcNGrBn8sNdy1uZqWRk/9FId0GiQ39W4ILop5GHtjJs8bu1MY9isPwHInpVEPWjb4CEcEaSbBLpfwA==", + "dev": true, + "dependencies": { + "autoprefixer": "^10.4.2", + "browserslist": "^4.19.1", + "caniuse-lite": "^1.0.30001299", + "css-blank-pseudo": "^3.0.2", + "css-has-pseudo": "^3.0.3", + "css-prefers-color-scheme": "^6.0.2", + "cssdb": "^5.0.0", + "postcss-attribute-case-insensitive": "^5.0.0", + "postcss-color-functional-notation": "^4.2.1", + "postcss-color-hex-alpha": "^8.0.2", + "postcss-color-rebeccapurple": "^7.0.2", + "postcss-custom-media": "^8.0.0", + "postcss-custom-properties": "^12.1.2", + "postcss-custom-selectors": "^6.0.0", + "postcss-dir-pseudo-class": "^6.0.3", + "postcss-double-position-gradients": "^3.0.4", + "postcss-env-function": "^4.0.4", + "postcss-focus-visible": "^6.0.3", + "postcss-focus-within": "^5.0.3", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.2", + "postcss-image-set-function": "^4.0.4", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.0.3", + "postcss-logical": "^5.0.3", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.1.2", + "postcss-overflow-shorthand": "^3.0.2", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.3", + "postcss-pseudo-class-any-link": "^7.0.2", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^5.0.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.2.tgz", + "integrity": "sha512-76XzEQv3g+Vgnz3tmqh3pqQyRojkcJ+pjaePsyhcyf164p9aZsu3t+NWxkZYbcHLK1ju5Qmalti2jPI5IWCe5w==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "dev": true, + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-5.0.0.tgz", + "integrity": "sha512-/2K3A4TCP9orP4TNS7u3tGdRFVKqz/E6pX3aGnriPG0jU78of8wsUcqE4QAhWEU0d+WnMSF93Ah3F//vUtK+iQ==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true, + "optional": true + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true, + "engines": { + "node": ">=0.9" + } + }, + "node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-package-json-fast": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", + "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", + "dev": true, + "dependencies": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "dev": true + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "dev": true + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", + "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-url-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", + "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", + "dev": true, + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.14", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/resolve-url-loader/node_modules/loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sass": { + "version": "1.49.9", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.9.tgz", + "integrity": "sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/sass-loader": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.4.0.tgz", + "integrity": "sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg==", + "dev": true, + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "node_modules/selfsigned": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", + "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", + "dev": true, + "dependencies": { + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-dsl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/semver-dsl/-/semver-dsl-1.0.1.tgz", + "integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=", + "dev": true, + "dependencies": { + "semver": "^5.3.0" + } + }, + "node_modules/semver-dsl/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/send/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socket.io": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz", + "integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.1.0", + "socket.io-adapter": "~2.3.3", + "socket.io-parser": "~4.0.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz", + "integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==", + "dev": true + }, + "node_modules/socket.io-parser": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", + "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", + "dev": true, + "dependencies": { + "@types/component-emitter": "^1.2.10", + "component-emitter": "~1.3.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/socks": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "dev": true, + "dependencies": { + "ip": "^1.1.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.0.tgz", + "integrity": "sha512-wWqJhjb32Q6GsrUqzuFkukxb/zzide5quXYcMVpIjxalDBBYy2nqKCFQ/9+Ie4dvOYSQdOk3hUlZSdzZOd3zMQ==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.1.tgz", + "integrity": "sha512-Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA==", + "dev": true, + "dependencies": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/source-map-loader/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "dev": true + }, + "node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/streamroller": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.0.2.tgz", + "integrity": "sha512-ur6y5S5dopOaRXBuRIZ1u6GC5bcEXHRZKgfBjfCglMhmIf+roVCECjvkEYzNQOXIN2/JPnkMPW/8B3CZoKaEPA==", + "dev": true, + "dependencies": { + "date-format": "^4.0.3", + "debug": "^4.1.1", + "fs-extra": "^10.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/streamroller/node_modules/fs-extra": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", + "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/streamroller/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/streamroller/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/stylus": { + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.56.0.tgz", + "integrity": "sha512-Ev3fOb4bUElwWu4F9P9WjnnaSpc8XB9OFHSFZSKMFL1CE1oM+oFXWEgAqPmmZIyhBihuqIQlFsVTypiiS9RxeA==", + "dev": true, + "dependencies": { + "css": "^3.0.0", + "debug": "^4.3.2", + "glob": "^7.1.6", + "safer-buffer": "^2.1.2", + "sax": "~1.2.4", + "source-map": "^0.7.3" + }, + "bin": { + "stylus": "bin/stylus" + }, + "engines": { + "node": "*" + } + }, + "node_modules/stylus-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-6.2.0.tgz", + "integrity": "sha512-5dsDc7qVQGRoc6pvCL20eYgRUxepZ9FpeK28XhdXaIPP6kXr6nI1zAAKFQgP5OBkOfKaURp4WUpJzspg1f01Gg==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.7", + "klona": "^2.0.4", + "normalize-path": "^3.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "stylus": ">=0.52.4", + "webpack": "^5.0.0" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/terser": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.11.0.tgz", + "integrity": "sha512-uCA9DLanzzWSsN1UirKwylhhRz3aKPInlfmpGfw8VN6jHsAtu8HJtIpeeHHK23rxnE/cDc+yvmq5wqkIC6Kn0A==", + "dev": true, + "dependencies": { + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz", + "integrity": "sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==", + "dev": true, + "dependencies": { + "jest-worker": "^27.0.2", + "p-limit": "^3.1.0", + "schema-utils": "^3.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-node": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz", + "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==", + "dev": true, + "dependencies": { + "arrify": "^1.0.0", + "buffer-from": "^1.1.0", + "diff": "^3.1.0", + "make-error": "^1.1.1", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "source-map-support": "^0.5.6", + "yn": "^2.0.0" + }, + "bin": { + "ts-node": "dist/bin.js" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/ts-node/node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + }, + "node_modules/tslint": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", + "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", + "deprecated": "TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^4.0.1", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.3", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.13.0", + "tsutils": "^2.29.0" + }, + "bin": { + "tslint": "bin/tslint" + }, + "engines": { + "node": ">=4.8.0" + }, + "peerDependencies": { + "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev" + } + }, + "node_modules/tslint/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/tslint/node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/tslint/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/tslint/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tslint/node_modules/tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "peerDependencies": { + "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-assert": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", + "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", + "dev": true + }, + "node_modules/typescript": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", + "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz", + "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "dev": true, + "dependencies": { + "builtins": "^1.0.3" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", + "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webpack": { + "version": "5.70.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", + "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.2", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz", + "integrity": "sha512-MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg==", + "dev": true, + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.2.2", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz", + "integrity": "sha512-mlxq2AsIw2ag016nixkzUkdyOE8ST2GTy34uKSABp1c4nhjZvH90D5ZRR+UOLSsG4Z3TFahAi72a3ymRtfRm+Q==", + "dev": true, + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/serve-index": "^1.9.1", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.2.2", + "ansi-html-community": "^0.0.8", + "bonjour": "^3.5.0", + "chokidar": "^3.5.2", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "default-gateway": "^6.0.3", + "del": "^6.0.0", + "express": "^4.17.1", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.0", + "ipaddr.js": "^2.0.1", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "portfinder": "^1.0.28", + "schema-utils": "^4.0.0", + "selfsigned": "^2.0.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "spdy": "^4.0.2", + "strip-ansi": "^7.0.0", + "webpack-dev-middleware": "^5.3.0", + "ws": "^8.1.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-server/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-subresource-integrity": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", + "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", + "dev": true, + "dependencies": { + "typed-assert": "^1.0.8" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "html-webpack-plugin": ">= 5.0.0-beta.1 < 6", + "webpack": "^5.12.0" + }, + "peerDependenciesMeta": { + "html-webpack-plugin": { + "optional": true + } + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/ws": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yn": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", + "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zone.js": { + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.5.tgz", + "integrity": "sha512-D1/7VxEuQ7xk6z/kAROe4SUbd9CzxY4zOwVGnGHerd/SgLIVU5f4esDzQUsOCeArn933BZfWMKydH7l7dPEp0g==", + "dependencies": { + "tslib": "^2.3.0" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-1.1.1.tgz", + "integrity": "sha512-YVAcA4DKLOj296CF5SrQ8cYiMRiUGc2sqFpLxsDGWE34suHqhGP/5yMsDHKsrh8hs8I5TiRVXNwKPWQpX3iGjw==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "sourcemap-codec": "1.4.8" + } + }, + "@angular-devkit/architect": { + "version": "0.1303.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.3.tgz", + "integrity": "sha512-WRVVBCzLlMqRZVhZXGASHzNJK/OCAvl/DTGhlLuJDIjF7lVGnXHjtwNM8ilYZq949OnC3fly5Z61TfhbN/OHCg==", + "dev": true, + "requires": { + "@angular-devkit/core": "13.3.3", + "rxjs": "6.6.7" + } + }, + "@angular-devkit/build-angular": { + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.3.3.tgz", + "integrity": "sha512-iEpNF3tF+9Gw+qQKL63fPFHIvWokJdrgVU4GzENQ5QeL8zk8iYTEbH3jWogq5tWy5+VmNP/mKkasq9i78lRiYw==", + "dev": true, + "requires": { + "@ampproject/remapping": "1.1.1", + "@angular-devkit/architect": "0.1303.3", + "@angular-devkit/build-webpack": "0.1303.3", + "@angular-devkit/core": "13.3.3", + "@babel/core": "7.16.12", + "@babel/generator": "7.16.8", + "@babel/helper-annotate-as-pure": "7.16.7", + "@babel/plugin-proposal-async-generator-functions": "7.16.8", + "@babel/plugin-transform-async-to-generator": "7.16.8", + "@babel/plugin-transform-runtime": "7.16.10", + "@babel/preset-env": "7.16.11", + "@babel/runtime": "7.16.7", + "@babel/template": "7.16.7", + "@discoveryjs/json-ext": "0.5.6", + "@ngtools/webpack": "13.3.3", + "ansi-colors": "4.1.1", + "babel-loader": "8.2.3", + "babel-plugin-istanbul": "6.1.1", + "browserslist": "^4.9.1", + "cacache": "15.3.0", + "circular-dependency-plugin": "5.2.2", + "copy-webpack-plugin": "10.2.1", + "core-js": "3.20.3", + "critters": "0.0.16", + "css-loader": "6.5.1", + "esbuild": "0.14.22", + "esbuild-wasm": "0.14.22", + "glob": "7.2.0", + "https-proxy-agent": "5.0.0", + "inquirer": "8.2.0", + "jsonc-parser": "3.0.0", + "karma-source-map-support": "1.4.0", + "less": "4.1.2", + "less-loader": "10.2.0", + "license-webpack-plugin": "4.0.2", + "loader-utils": "3.2.0", + "mini-css-extract-plugin": "2.5.3", + "minimatch": "3.0.5", + "open": "8.4.0", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "6.0.1", + "piscina": "3.2.0", + "postcss": "8.4.5", + "postcss-import": "14.0.2", + "postcss-loader": "6.2.1", + "postcss-preset-env": "7.2.3", + "regenerator-runtime": "0.13.9", + "resolve-url-loader": "5.0.0", + "rxjs": "6.6.7", + "sass": "1.49.9", + "sass-loader": "12.4.0", + "semver": "7.3.5", + "source-map-loader": "3.0.1", + "source-map-support": "0.5.21", + "stylus": "0.56.0", + "stylus-loader": "6.2.0", + "terser": "5.11.0", + "text-table": "0.2.0", + "tree-kill": "1.2.2", + "tslib": "2.3.1", + "webpack": "5.70.0", + "webpack-dev-middleware": "5.3.0", + "webpack-dev-server": "4.7.3", + "webpack-merge": "5.8.0", + "webpack-subresource-integrity": "5.1.0" + }, + "dependencies": { + "core-js": { + "version": "3.20.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.3.tgz", + "integrity": "sha512-vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag==", + "dev": true + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@angular-devkit/build-webpack": { + "version": "0.1303.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1303.3.tgz", + "integrity": "sha512-v/z/YgwrAzYn1LfN9OHNxqcThyyg4LLx28hmHzDs5gyDShAK189y34EoT9uQ+lCyQrPVhP7UKACCxCdSwOEJiA==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.1303.3", + "rxjs": "6.6.7" + } + }, + "@angular-devkit/core": { + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.3.tgz", + "integrity": "sha512-lfQwY9LuVRwcNVzGmyPcwOpb3CAobP4T+c3joR1LLIPS5lzcM0oeCE2bon9N52Ktn4Q/pH98dVtjWL+jSrUADw==", + "dev": true, + "requires": { + "ajv": "8.9.0", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + }, + "dependencies": { + "ajv": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", + "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "@angular-devkit/schematics": { + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.3.tgz", + "integrity": "sha512-S8UNlw6IoR/kxBYbiwesuA7oJGSnFkD6bJwVLhpHdT6Sqrz2/IrjHcNgTJRAvhsOKIbfDtMtXRzl/PUdWEfgyw==", + "dev": true, + "requires": { + "@angular-devkit/core": "13.3.3", + "jsonc-parser": "3.0.0", + "magic-string": "0.25.7", + "ora": "5.4.1", + "rxjs": "6.6.7" + } + }, + "@angular/animations": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.3.4.tgz", + "integrity": "sha512-cXjjbzYR2hda9BDAu0teJUVbbA03jJTK53vIYnDLIAvN20YRPo9LqINxpUlbAzH6hE8v5xF2LLnAXcaQROVpIw==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/cli": { + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.3.tgz", + "integrity": "sha512-a+nnzFP1FfnypXpAhrHbIBaJcxzegWLZUvVzJQwt6P2z60IoHdvTVmyNbY89qI0LE1SrAokEUO1zW3Yjmu7fUw==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.1303.3", + "@angular-devkit/core": "13.3.3", + "@angular-devkit/schematics": "13.3.3", + "@schematics/angular": "13.3.3", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.1", + "debug": "4.3.3", + "ini": "2.0.0", + "inquirer": "8.2.0", + "jsonc-parser": "3.0.0", + "npm-package-arg": "8.1.5", + "npm-pick-manifest": "6.1.1", + "open": "8.4.0", + "ora": "5.4.1", + "pacote": "12.0.3", + "resolve": "1.22.0", + "semver": "7.3.5", + "symbol-observable": "4.0.0", + "uuid": "8.3.2" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@angular/common": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.3.4.tgz", + "integrity": "sha512-vPZuUGWMXz6r30obBqH+iIG4Feq4YEK/4wUks7PEYGke8MXFPYsNKuHMhKCgYEhabD/4Mo4GEp3i18/3Kk72Mw==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/compiler": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.3.4.tgz", + "integrity": "sha512-Yf1Dv2BVytjmv5Nnv05hUciUOH/UpKgXG1Ql5XwQG/qGV4eEs33PJBtGsUJTPuddxfRm72JMsbZcoRjVADqbcw==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/compiler-cli": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.4.tgz", + "integrity": "sha512-wCnt2YOS5EiwWCEv8oCqIfiwUtifs+COhcYH6fpmf/3X9w1yKO1ZMA+OsFQ0IVS4d0YYavm5DTPQ2ep2c0sF5w==", + "dev": true, + "requires": { + "@babel/core": "^7.17.2", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "dependency-graph": "^0.11.0", + "magic-string": "^0.26.0", + "reflect-metadata": "^0.1.2", + "semver": "^7.0.0", + "sourcemap-codec": "^1.4.8", + "tslib": "^2.3.0", + "yargs": "^17.2.1" + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", + "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.0" + } + }, + "@babel/core": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz", + "integrity": "sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.9", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helpers": "^7.17.9", + "@babel/parser": "^7.17.9", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.9", + "@babel/types": "^7.17.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", + "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", + "dev": true, + "requires": { + "@babel/types": "^7.17.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "magic-string": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.1.tgz", + "integrity": "sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "yargs": { + "version": "17.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", + "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + } + }, + "yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true + } + } + }, + "@angular/core": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.3.4.tgz", + "integrity": "sha512-PqPwx9oaV0Bh0m0fdI2jtXUC6s04jfD4vyzB4sjEuRI9pRUnZ6M5hZ5Vn/KJVZyt411MevbJfqzUVf0W+GDZew==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/forms": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.4.tgz", + "integrity": "sha512-QHyUXOKYITysaJJ4VnmBacE69oz0rw4G7Y2lhPb2V3a1XsWeO61SZEeGMfAWo7sLoDvi2MCEWNEhl1du4dK14A==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/language-service": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-13.3.4.tgz", + "integrity": "sha512-9k2q9TJaTG2QgIDNLUVOPCdzYRXLOw4aKiHTeMeIJOw4Zhp2dV7I4oX/aC/a1AN86JIO6m5nujeVf4SkK95WSw==", + "dev": true + }, + "@angular/platform-browser": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.3.4.tgz", + "integrity": "sha512-IjBOkjrIVIbbZCDQJRdel0FSDcExSLDgMxcCSQ6pKa6oR/t59BJpSpOhB1W9nRwLtvMmGYkS/oyLFsKk65UoYA==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/platform-browser-dynamic": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.4.tgz", + "integrity": "sha512-UApjgrL6B3QTdSYoCOPzMvFDmSewAHrLpreLYEmADutMWkD0ZcTPux4MJp8awT4P3l6wKzBeGJIKLlk8zsXmGQ==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/router": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.3.4.tgz", + "integrity": "sha512-UuMAjWHoFKF8b9gFOiqL7fpVXjIr89BtxVES3yXReVq/IZJz9gWup6lYK3KMja+F8HZB8LBUMYgtqjS9iyLV/Q==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@assemblyscript/loader": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", + "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==", + "dev": true + }, + "@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.16.7" + } + }, + "@babel/compat-data": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", + "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", + "dev": true + }, + "@babel/core": { + "version": "7.16.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.12.tgz", + "integrity": "sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helpers": "^7.16.7", + "@babel/parser": "^7.16.12", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.10", + "@babel/types": "^7.16.8", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", + "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.8", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", + "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.17.5", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz", + "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-member-expression-to-functions": "^7.17.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", + "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "regexpu-core": "^5.0.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", + "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-function-name": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", + "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", + "dev": true, + "requires": { + "@babel/template": "^7.16.7", + "@babel/types": "^7.17.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", + "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", + "dev": true, + "requires": { + "@babel/types": "^7.17.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-module-transforms": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", + "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", + "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" + } + }, + "@babel/helper-replace-supers": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", + "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-simple-access": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", + "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", + "dev": true, + "requires": { + "@babel/types": "^7.17.0" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", + "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.8", + "@babel/types": "^7.16.8" + } + }, + "@babel/helpers": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz", + "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==", + "dev": true, + "requires": { + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.9", + "@babel/types": "^7.17.0" + } + }, + "@babel/highlight": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz", + "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==", + "dev": true + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", + "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", + "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.7" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", + "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", + "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", + "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.17.6", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", + "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", + "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", + "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", + "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz", + "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.0", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.16.7" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", + "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", + "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.10", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", + "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", + "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", + "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", + "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", + "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", + "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", + "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", + "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", + "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", + "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", + "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", + "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz", + "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", + "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", + "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", + "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", + "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", + "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", + "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", + "dev": true, + "requires": { + "regenerator-transform": "^0.15.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", + "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.10.tgz", + "integrity": "sha512-9nwTiqETv2G7xI4RvXHNfpGdr8pAA+Q/YtN3yLK7OoK7n9OibVm/xymJ838a9A6E/IciOLPj82lZk0fW6O4O7w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", + "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", + "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", + "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/preset-env": { + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", + "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.8", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.11", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.8", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.8", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.20.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", + "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/traverse": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz", + "integrity": "sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.9", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.17.9", + "@babel/types": "^7.17.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "@babel/generator": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", + "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", + "dev": true, + "requires": { + "@babel/types": "^7.17.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + } + }, + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true + }, + "@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@discoveryjs/json-ext": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", + "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", + "dev": true + }, + "@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jridgewell/resolve-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz", + "integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", + "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@ngtools/webpack": { + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.3.tgz", + "integrity": "sha512-O6EzafKfFuvI3Ju941u7ANs0mT7YDdChbVRhVECCPWOTm3Klr73js3bnCDzaJlxZNjzlG/KeUu5ghrhbMrHjSw==", + "dev": true, + "requires": {} + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "dev": true, + "requires": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "@npmcli/git": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", + "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==", + "dev": true, + "requires": { + "@npmcli/promise-spawn": "^1.3.2", + "lru-cache": "^6.0.0", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^6.1.1", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "@npmcli/installed-package-contents": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", + "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", + "dev": true, + "requires": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "dev": true, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } + }, + "@npmcli/node-gyp": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz", + "integrity": "sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==", + "dev": true + }, + "@npmcli/promise-spawn": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", + "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", + "dev": true, + "requires": { + "infer-owner": "^1.0.4" + } + }, + "@npmcli/run-script": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-2.0.0.tgz", + "integrity": "sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig==", + "dev": true, + "requires": { + "@npmcli/node-gyp": "^1.0.2", + "@npmcli/promise-spawn": "^1.3.2", + "node-gyp": "^8.2.0", + "read-package-json-fast": "^2.0.1" + } + }, + "@schematics/angular": { + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.3.tgz", + "integrity": "sha512-kX5ghVCmWHcMN+g0pUaFuIJzwrXsVnK4bfid8DckU4EEtfFSv3UA5I1QNJRgpCPxTPhNEAk+3ePN8nzDSjdU+w==", + "dev": true, + "requires": { + "@angular-devkit/core": "13.3.3", + "@angular-devkit/schematics": "13.3.3", + "jsonc-parser": "3.0.0" + } + }, + "@socket.io/base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==", + "dev": true + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/component-emitter": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz", + "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==", + "dev": true + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, + "@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", + "dev": true + }, + "@types/eslint": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", + "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.28", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", + "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/http-proxy": { + "version": "1.17.8", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", + "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/jasmine": { + "version": "3.6.11", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.6.11.tgz", + "integrity": "sha512-S6pvzQDvMZHrkBz2Mcn/8Du7cpr76PlRJBAoHnSDNbulULsH5dp0Gns+WRyNX5LHejz/ljxK4/vIHK/caHt6SQ==", + "dev": true + }, + "@types/jasminewd2": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.10.tgz", + "integrity": "sha512-J7mDz7ovjwjc+Y9rR9rY53hFWKATcIkrr9DwQWmOas4/pnIPJTXawnzjwpHm3RSxz/e3ZVUvQ7cRbd5UQLo10g==", + "dev": true, + "requires": { + "@types/jasmine": "*" + } + }, + "@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "dev": true + }, + "@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, + "@types/node": { + "version": "12.20.46", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.46.tgz", + "integrity": "sha512-cPjLXj8d6anFPzFvOPxS3fvly3Shm5nTfl6g8X5smexixbuGUf7hfr21J5tX9JW+UPStp/5P5R8qrKL5IyVJ+A==", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "@types/retry": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", + "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", + "dev": true + }, + "@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dev": true, + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "requires": {} + }, + "adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + } + } + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "agentkeepalive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "app-root-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz", + "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==", + "dev": true + }, + "aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "are-we-there-yet": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", + "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + } + } + }, + "aria-query": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", + "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", + "dev": true, + "requires": { + "ast-types-flow": "0.0.7", + "commander": "^2.11.0" + } + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "dev": true + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "autoprefixer": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.5.tgz", + "integrity": "sha512-Fvd8yCoA7lNX/OUllvS+aS1I7WRBclGXsepbvT8ZaPgrH24rgXpZzF0/6Hh3ZEkwg+0AES/Osd196VZmYoEFtw==", + "dev": true, + "requires": { + "browserslist": "^4.20.2", + "caniuse-lite": "^1.0.30001332", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "axobject-query": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", + "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==", + "dev": true, + "requires": { + "ast-types-flow": "0.0.7" + } + }, + "babel-loader": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", + "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", + "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.3.1", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", + "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.21.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.1" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", + "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001332", + "electron-to-chromium": "^1.4.118", + "escalade": "^3.1.1", + "node-releases": "^2.0.3", + "picocolors": "^1.0.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "dev": true + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "dev": true, + "requires": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001332", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz", + "integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "circular-dependency-plugin": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", + "integrity": "sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ==", + "dev": true, + "requires": {} + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "dev": true + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "codelyzer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.2.tgz", + "integrity": "sha512-v3+E0Ucu2xWJMOJ2fA/q9pDT/hlxHftHGPUay1/1cTgyPV5JTHFdO9hqo837Sx2s9vKBMTt5gO+lhF95PO6J+g==", + "dev": true, + "requires": { + "@angular/compiler": "9.0.0", + "@angular/core": "9.0.0", + "app-root-path": "^3.0.0", + "aria-query": "^3.0.0", + "axobject-query": "2.0.2", + "css-selector-tokenizer": "^0.7.1", + "cssauron": "^1.4.0", + "damerau-levenshtein": "^1.0.4", + "rxjs": "^6.5.3", + "semver-dsl": "^1.0.1", + "source-map": "^0.5.7", + "sprintf-js": "^1.1.2", + "tslib": "^1.10.0", + "zone.js": "~0.10.3" + }, + "dependencies": { + "@angular/compiler": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.0.tgz", + "integrity": "sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ==", + "dev": true, + "requires": {} + }, + "@angular/core": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.0.tgz", + "integrity": "sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w==", + "dev": true, + "requires": {} + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "zone.js": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", + "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==", + "dev": true + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, + "colorette": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", + "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "dev": true + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "requires": { + "safe-buffer": "5.2.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "requires": { + "is-what": "^3.14.1" + } + }, + "copy-webpack-plugin": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.1.tgz", + "integrity": "sha512-nr81NhCAIpAWXGCK5thrKmfCQ6GDY0L5RN0U+BnIn/7Us55+UCex5ANNsNKmIVtDRnk0Ecf+/kzp9SUVrrBMLg==", + "dev": true, + "requires": { + "fast-glob": "^3.2.7", + "glob-parent": "^6.0.1", + "globby": "^12.0.2", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } + } + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" + }, + "core-js-compat": { + "version": "3.22.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.2.tgz", + "integrity": "sha512-Fns9lU06ZJ07pdfmPMu7OnkIKGPKDzXKIiuGlSvHHapwqMUF2QnnsWwtueFZtSyZEilP0o6iUeHQwpn7LxtLUw==", + "dev": true, + "requires": { + "browserslist": "^4.20.2", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "critters": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", + "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "css-select": "^4.2.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "postcss": "^8.3.7", + "pretty-bytes": "^5.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "css-loader": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.5.1.tgz", + "integrity": "sha512-gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ==", + "dev": true, + "requires": { + "icss-utils": "^5.1.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "semver": "^7.3.5" + } + }, + "css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "dev": true, + "requires": {} + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-selector-tokenizer": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", + "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "cssauron": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz", + "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=", + "dev": true, + "requires": { + "through": "X.X.X" + } + }, + "cssdb": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-5.1.0.tgz", + "integrity": "sha512-/vqjXhv1x9eGkE/zO6o8ZOI7dgdZbLVLUGyVRbPgk6YipXbW87YzUCcO+Jrmi5bwJlAH6oD+MNeZyRgXea1GZw==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "dev": true + }, + "damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "date-format": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.3.tgz", + "integrity": "sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ==", + "dev": true + }, + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "requires": { + "execa": "^5.0.0" + } + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "del": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", + "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "dev": true, + "requires": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "dependencies": { + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } + } + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", + "dev": true + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "dev": true, + "requires": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.122", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.122.tgz", + "integrity": "sha512-VuLNxTIt8sBWIT2sd186xPd18Y8KcK8myLd9nMdSJOYZwFUxxbLVmX/T1VX+qqaytRlrYYQv39myxJdXtu7Ysw==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "engine.io": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.3.tgz", + "integrity": "sha512-rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA==", + "dev": true, + "requires": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.2.3" + } + }, + "engine.io-parser": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz", + "integrity": "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==", + "dev": true, + "requires": { + "@socket.io/base64-arraybuffer": "~1.0.2" + } + }, + "enhanced-resolve": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", + "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "dev": true + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true + }, + "err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "esbuild": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.22.tgz", + "integrity": "sha512-CjFCFGgYtbFOPrwZNJf7wsuzesx8kqwAffOlbYcFDLFuUtP8xloK1GH+Ai13Qr0RZQf9tE7LMTHJ2iVGJ1SKZA==", + "dev": true, + "optional": true, + "requires": { + "esbuild-android-arm64": "0.14.22", + "esbuild-darwin-64": "0.14.22", + "esbuild-darwin-arm64": "0.14.22", + "esbuild-freebsd-64": "0.14.22", + "esbuild-freebsd-arm64": "0.14.22", + "esbuild-linux-32": "0.14.22", + "esbuild-linux-64": "0.14.22", + "esbuild-linux-arm": "0.14.22", + "esbuild-linux-arm64": "0.14.22", + "esbuild-linux-mips64le": "0.14.22", + "esbuild-linux-ppc64le": "0.14.22", + "esbuild-linux-riscv64": "0.14.22", + "esbuild-linux-s390x": "0.14.22", + "esbuild-netbsd-64": "0.14.22", + "esbuild-openbsd-64": "0.14.22", + "esbuild-sunos-64": "0.14.22", + "esbuild-windows-32": "0.14.22", + "esbuild-windows-64": "0.14.22", + "esbuild-windows-arm64": "0.14.22" + } + }, + "esbuild-android-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.22.tgz", + "integrity": "sha512-k1Uu4uC4UOFgrnTj2zuj75EswFSEBK+H6lT70/DdS4mTAOfs2ECv2I9ZYvr3w0WL0T4YItzJdK7fPNxcPw6YmQ==", + "dev": true, + "optional": true + }, + "esbuild-darwin-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.22.tgz", + "integrity": "sha512-d8Ceuo6Vw6HM3fW218FB6jTY6O3r2WNcTAU0SGsBkXZ3k8SDoRLd3Nrc//EqzdgYnzDNMNtrWegK2Qsss4THhw==", + "dev": true, + "optional": true + }, + "esbuild-darwin-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.22.tgz", + "integrity": "sha512-YAt9Tj3SkIUkswuzHxkaNlT9+sg0xvzDvE75LlBo4DI++ogSgSmKNR6B4eUhU5EUUepVXcXdRIdqMq9ppeRqfw==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.22.tgz", + "integrity": "sha512-ek1HUv7fkXMy87Qm2G4IRohN+Qux4IcnrDBPZGXNN33KAL0pEJJzdTv0hB/42+DCYWylSrSKxk3KUXfqXOoH4A==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.22.tgz", + "integrity": "sha512-zPh9SzjRvr9FwsouNYTqgqFlsMIW07O8mNXulGeQx6O5ApgGUBZBgtzSlBQXkHi18WjrosYfsvp5nzOKiWzkjQ==", + "dev": true, + "optional": true + }, + "esbuild-linux-32": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.22.tgz", + "integrity": "sha512-SnpveoE4nzjb9t2hqCIzzTWBM0RzcCINDMBB67H6OXIuDa4KqFqaIgmTchNA9pJKOVLVIKd5FYxNiJStli21qg==", + "dev": true, + "optional": true + }, + "esbuild-linux-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.22.tgz", + "integrity": "sha512-Zcl9Wg7gKhOWWNqAjygyqzB+fJa19glgl2JG7GtuxHyL1uEnWlpSMytTLMqtfbmRykIHdab797IOZeKwk5g0zg==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.22.tgz", + "integrity": "sha512-soPDdbpt/C0XvOOK45p4EFt8HbH5g+0uHs5nUKjHVExfgR7du734kEkXR/mE5zmjrlymk5AA79I0VIvj90WZ4g==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.22.tgz", + "integrity": "sha512-8q/FRBJtV5IHnQChO3LHh/Jf7KLrxJ/RCTGdBvlVZhBde+dk3/qS9fFsUy+rs3dEi49aAsyVitTwlKw1SUFm+A==", + "dev": true, + "optional": true + }, + "esbuild-linux-mips64le": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.22.tgz", + "integrity": "sha512-SiNDfuRXhGh1JQLLA9JPprBgPVFOsGuQ0yDfSPTNxztmVJd8W2mX++c4FfLpAwxuJe183mLuKf7qKCHQs5ZnBQ==", + "dev": true, + "optional": true + }, + "esbuild-linux-ppc64le": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.22.tgz", + "integrity": "sha512-6t/GI9I+3o1EFm2AyN9+TsjdgWCpg2nwniEhjm2qJWtJyJ5VzTXGUU3alCO3evopu8G0hN2Bu1Jhz2YmZD0kng==", + "dev": true, + "optional": true + }, + "esbuild-linux-riscv64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.22.tgz", + "integrity": "sha512-AyJHipZKe88sc+tp5layovquw5cvz45QXw5SaDgAq2M911wLHiCvDtf/07oDx8eweCyzYzG5Y39Ih568amMTCQ==", + "dev": true, + "optional": true + }, + "esbuild-linux-s390x": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.22.tgz", + "integrity": "sha512-Sz1NjZewTIXSblQDZWEFZYjOK6p8tV6hrshYdXZ0NHTjWE+lwxpOpWeElUGtEmiPcMT71FiuA9ODplqzzSxkzw==", + "dev": true, + "optional": true + }, + "esbuild-netbsd-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.22.tgz", + "integrity": "sha512-TBbCtx+k32xydImsHxvFgsOCuFqCTGIxhzRNbgSL1Z2CKhzxwT92kQMhxort9N/fZM2CkRCPPs5wzQSamtzEHA==", + "dev": true, + "optional": true + }, + "esbuild-openbsd-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.22.tgz", + "integrity": "sha512-vK912As725haT313ANZZZN+0EysEEQXWC/+YE4rQvOQzLuxAQc2tjbzlAFREx3C8+uMuZj/q7E5gyVB7TzpcTA==", + "dev": true, + "optional": true + }, + "esbuild-sunos-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.22.tgz", + "integrity": "sha512-/mbJdXTW7MTcsPhtfDsDyPEOju9EOABvCjeUU2OJ7fWpX/Em/H3WYDa86tzLUbcVg++BScQDzqV/7RYw5XNY0g==", + "dev": true, + "optional": true + }, + "esbuild-wasm": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.22.tgz", + "integrity": "sha512-FOSAM29GN1fWusw0oLMv6JYhoheDIh5+atC72TkJKfIUMID6yISlicoQSd9gsNSFsNBvABvtE2jR4JB1j4FkFw==", + "dev": true + }, + "esbuild-windows-32": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.22.tgz", + "integrity": "sha512-1vRIkuvPTjeSVK3diVrnMLSbkuE36jxA+8zGLUOrT4bb7E/JZvDRhvtbWXWaveUc/7LbhaNFhHNvfPuSw2QOQg==", + "dev": true, + "optional": true + }, + "esbuild-windows-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.22.tgz", + "integrity": "sha512-AxjIDcOmx17vr31C5hp20HIwz1MymtMjKqX4qL6whPj0dT9lwxPexmLj6G1CpR3vFhui6m75EnBEe4QL82SYqw==", + "dev": true, + "optional": true + }, + "esbuild-windows-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.22.tgz", + "integrity": "sha512-5wvQ+39tHmRhNpu2Fx04l7QfeK3mQ9tKzDqqGR8n/4WUxsFxnVLfDRBGirIfk4AfWlxk60kqirlODPoT5LqMUg==", + "dev": true, + "optional": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "eventemitter-asyncresource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", + "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "express": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.0.tgz", + "integrity": "sha512-EJEXxiTQJS3lIPrU1AE2vRuT7X7E+0KBbpm5GSoK524yl0K8X+er8zS2P14E64eqsVNoWbMCT7MpmQ+ErAhgRg==", + "dev": true, + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flatted": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", + "dev": true + }, + "follow-redirects": { + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", + "dev": true + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", + "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", + "dev": true, + "requires": { + "array-union": "^3.0.1", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.7", + "ignore": "^5.1.9", + "merge2": "^1.4.1", + "slash": "^4.0.0" + } + }, + "graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "dev": true + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "hdr-histogram-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", + "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==", + "dev": true, + "requires": { + "@assemblyscript/loader": "^0.10.1", + "base64-js": "^1.2.0", + "pako": "^1.0.3" + } + }, + "hdr-histogram-percentiles-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", + "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", + "dev": true + }, + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "dev": true + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } + } + }, + "http-parser-js": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "requires": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + } + }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "dev": true, + "requires": { + "ms": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "requires": {} + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "ignore-walk": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-4.0.1.tgz", + "integrity": "sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true, + "optional": true + }, + "immutable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", + "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true + }, + "inquirer": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz", + "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.2.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "rxjs": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", + "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "dev": true + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true + }, + "is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isbinaryfile": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", + "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "dev": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "dependencies": { + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", + "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jasmine-core": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.8.0.tgz", + "integrity": "sha512-zl0nZWDrmbCiKns0NcjkFGYkVTGCPUgoHypTaj+G2AzaWus7QGoXARSlYsSle2VRpSdfJmM+hzmFKzQNhF2kHg==", + "dev": true + }, + "jasmine-spec-reporter": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz", + "integrity": "sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g==", + "dev": true, + "requires": { + "colors": "1.4.0" + } + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true + }, + "jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "dev": true + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true + }, + "karma": { + "version": "6.3.17", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.17.tgz", + "integrity": "sha512-2TfjHwrRExC8yHoWlPBULyaLwAFmXmxQrcuFImt/JsAsSZu1uOWTZ1ZsWjqQtWpHLiatJOHL5jFjXSJIgCd01g==", + "dev": true, + "requires": { + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.2.0", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + } + } + }, + "karma-chrome-launcher": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz", + "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", + "dev": true, + "requires": { + "which": "^1.2.1" + } + }, + "karma-coverage-istanbul-reporter": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz", + "integrity": "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^3.0.6", + "istanbul-reports": "^3.0.2", + "minimatch": "^3.0.4" + } + }, + "karma-jasmine": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-4.0.1.tgz", + "integrity": "sha512-h8XDAhTiZjJKzfkoO1laMH+zfNlra+dEQHUAjpn5JV1zCPtOIVWGQjLBrqhnzQa/hrU2XrZwSyBa6XjEBzfXzw==", + "dev": true, + "requires": { + "jasmine-core": "^3.6.0" + } + }, + "karma-jasmine-html-reporter": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.7.0.tgz", + "integrity": "sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ==", + "dev": true, + "requires": {} + }, + "karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", + "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "dev": true, + "requires": { + "source-map-support": "^0.5.5" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "dev": true + }, + "less": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/less/-/less-4.1.2.tgz", + "integrity": "sha512-EoQp/Et7OSOVu0aJknJOtlXZsnr8XE8KwuzTHOLeVSEx8pVWUICc8Q0VYRHgzyjX78nMEyC/oztWFbgyhtNfDA==", + "dev": true, + "requires": { + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^2.5.2", + "parse-node-version": "^1.0.1", + "source-map": "~0.6.0", + "tslib": "^2.3.0" + }, + "dependencies": { + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "less-loader": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-10.2.0.tgz", + "integrity": "sha512-AV5KHWvCezW27GT90WATaDnfXBv99llDbtaj4bshq6DvAihMdNjaPDcUMa6EXKLRF+P2opFenJp89BXg91XLYg==", + "dev": true, + "requires": { + "klona": "^2.0.4" + } + }, + "license-webpack-plugin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", + "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", + "dev": true, + "requires": { + "webpack-sources": "^3.0.0" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true + }, + "loader-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", + "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "log4js": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.4.1.tgz", + "integrity": "sha512-iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg==", + "dev": true, + "requires": { + "date-format": "^4.0.3", + "debug": "^4.3.3", + "flatted": "^3.2.4", + "rfdc": "^1.3.0", + "streamroller": "^3.0.2" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "dev": true, + "requires": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "memfs": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", + "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", + "dev": true, + "requires": { + "fs-monkey": "1.0.3" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true + }, + "mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "dev": true + }, + "mime-types": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "dev": true, + "requires": { + "mime-db": "1.51.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.5.3.tgz", + "integrity": "sha512-YseMB8cs8U/KCaAGQoqYmfUuhhGW0a9p9XvWXrxVOkE3/IiISTLw4ALNt7JR5B2eYauFM+PQGSbXMDmVbR7Tfw==", + "dev": true, + "requires": { + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "minipass": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "dev": true, + "requires": { + "encoding": "^0.1.12", + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "dev": true, + "requires": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "nanoid": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", + "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", + "dev": true + }, + "needle": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", + "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", + "dev": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", + "dev": true, + "optional": true, + "requires": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" + } + }, + "node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "dev": true, + "optional": true + }, + "node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true + }, + "node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "dev": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "node-gyp-build": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", + "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", + "dev": true, + "optional": true + }, + "node-releases": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz", + "integrity": "sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==", + "dev": true + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", + "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", + "dev": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-install-checks": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", + "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", + "dev": true, + "requires": { + "semver": "^7.1.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true + }, + "npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + } + }, + "npm-packlist": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-3.0.0.tgz", + "integrity": "sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==", + "dev": true, + "requires": { + "glob": "^7.1.6", + "ignore-walk": "^4.0.1", + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-pick-manifest": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", + "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", + "dev": true, + "requires": { + "npm-install-checks": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^8.1.2", + "semver": "^7.3.4" + } + }, + "npm-registry-fetch": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-12.0.2.tgz", + "integrity": "sha512-Df5QT3RaJnXYuOwtXBXS9BWs+tHH2olvkCLh6jcR/b/u3DvPMlp3J0TvvYwplPKxHMOwfg287PYih9QqaVFoKA==", + "dev": true, + "requires": { + "make-fetch-happen": "^10.0.1", + "minipass": "^3.1.6", + "minipass-fetch": "^1.4.1", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^8.1.5" + }, + "dependencies": { + "@npmcli/fs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.0.tgz", + "integrity": "sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ==", + "dev": true, + "requires": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + } + }, + "@npmcli/move-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz", + "integrity": "sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==", + "dev": true, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } + }, + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "cacache": { + "version": "16.0.6", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.0.6.tgz", + "integrity": "sha512-9a/MLxGaw3LEGes0HaPez2RgZWDV6X0jrgChsuxfEh8xoDoYGxaGrkMe7Dlyjrb655tA/b8fX0qlUg6Ii5MBvw==", + "dev": true, + "requires": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^1.1.1" + } + }, + "glob": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.1.tgz", + "integrity": "sha512-cF7FYZZ47YzmCu7dDy50xSRRfO3ErRfrXuLZcNIuyiJEco0XSrGtuilG19L5xp3NcwTx7Gn+X6Tv3fmsUPTbow==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, + "lru-cache": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.1.tgz", + "integrity": "sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg==", + "dev": true + }, + "make-fetch-happen": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.2.tgz", + "integrity": "sha512-GWMGiZsKVeJACQGJ1P3Z+iNec7pLsU6YW1q11eaPn3RR8nRXHppFWfP7Eu0//55JK3hSjrAQRl8sDa5uXpq1Ew==", + "dev": true, + "requires": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.0.2", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.1.1", + "ssri": "^9.0.0" + }, + "dependencies": { + "minipass-fetch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.0.tgz", + "integrity": "sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg==", + "dev": true, + "requires": { + "encoding": "^0.1.13", + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + } + } + } + }, + "minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "ssri": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.0.tgz", + "integrity": "sha512-Y1Z6J8UYnexKFN1R/hxUaYoY2LVdKEzziPmVAFKiKX8fiwvCJTVzn/xYE9TEWod5OVyNfIHHuVfIEuBClL/uJQ==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + } + } + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + }, + "nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-inspect": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "dev": true + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dev": true, + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + }, + "dependencies": { + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + } + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-retry": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", + "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", + "dev": true, + "requires": { + "@types/retry": "^0.12.0", + "retry": "^0.13.1" + }, + "dependencies": { + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true + } + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pacote": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-12.0.3.tgz", + "integrity": "sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow==", + "dev": true, + "requires": { + "@npmcli/git": "^2.1.0", + "@npmcli/installed-package-contents": "^1.0.6", + "@npmcli/promise-spawn": "^1.2.0", + "@npmcli/run-script": "^2.0.0", + "cacache": "^15.0.5", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.3", + "mkdirp": "^1.0.3", + "npm-package-arg": "^8.0.1", + "npm-packlist": "^3.0.0", + "npm-pick-manifest": "^6.0.0", + "npm-registry-fetch": "^12.0.0", + "promise-retry": "^2.0.1", + "read-package-json-fast": "^2.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.1.0" + } + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "parse5-html-rewriting-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz", + "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==", + "dev": true, + "requires": { + "parse5": "^6.0.1", + "parse5-sax-parser": "^6.0.1" + } + }, + "parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "requires": { + "parse5": "^6.0.1" + } + }, + "parse5-sax-parser": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz", + "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==", + "dev": true, + "requires": { + "parse5": "^6.0.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "piscina": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.2.0.tgz", + "integrity": "sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==", + "dev": true, + "requires": { + "eventemitter-asyncresource": "^1.0.0", + "hdr-histogram-js": "^2.0.1", + "hdr-histogram-percentiles-obj": "^3.0.0", + "nice-napi": "^1.0.2" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + } + } + }, + "postcss": { + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", + "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", + "dev": true, + "requires": { + "nanoid": "^3.1.30", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.1" + } + }, + "postcss-attribute-case-insensitive": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.0.tgz", + "integrity": "sha512-b4g9eagFGq9T5SWX4+USfVyjIb3liPnjhHHRMP7FMB2kFVpYyfEscV0wP3eaXhKlcHKUut8lt5BGoeylWA/dBQ==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.2" + } + }, + "postcss-color-functional-notation": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.2.tgz", + "integrity": "sha512-DXVtwUhIk4f49KK5EGuEdgx4Gnyj6+t2jBSEmxvpIK9QI40tWrpS2Pua8Q7iIZWBrki2QOaeUdEaLPPa91K0RQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-hex-alpha": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.3.tgz", + "integrity": "sha512-fESawWJCrBV035DcbKRPAVmy21LpoyiXdPTuHUfWJ14ZRjY7Y7PA6P4g8z6LQGYhU1WAxkTxjIjurXzoe68Glw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-rebeccapurple": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.0.2.tgz", + "integrity": "sha512-SFc3MaocHaQ6k3oZaFwH8io6MdypkUtEy/eXzXEB1vEQlO3S3oDc/FSZA8AsS04Z25RirQhlDlHLh3dn7XewWw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-media": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.0.tgz", + "integrity": "sha512-FvO2GzMUaTN0t1fBULDeIvxr5IvbDXcIatt6pnJghc736nqNgsGao5NT+5+WVLAQiTt6Cb3YUms0jiPaXhL//g==", + "dev": true, + "requires": {} + }, + "postcss-custom-properties": { + "version": "12.1.7", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.7.tgz", + "integrity": "sha512-N/hYP5gSoFhaqxi2DPCmvto/ZcRDVjE3T1LiAMzc/bg53hvhcHOLpXOHb526LzBBp5ZlAUhkuot/bfpmpgStJg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-selectors": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.0.tgz", + "integrity": "sha512-/1iyBhz/W8jUepjGyu7V1OPcGbc636snN1yXEQCinb6Bwt7KxsiU7/bLQlp8GwAXzCh7cobBU5odNn/2zQWR8Q==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-dir-pseudo-class": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.4.tgz", + "integrity": "sha512-I8epwGy5ftdzNWEYok9VjW9whC4xnelAtbajGv4adql4FIF09rnrxnA9Y8xSHN47y7gqFIv10C5+ImsLeJpKBw==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "postcss-double-position-gradients": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.1.tgz", + "integrity": "sha512-jM+CGkTs4FcG53sMPjrrGE0rIvLDdCrqMzgDC5fLI7JHDO7o6QG8C5TQBtExb13hdBdoH9C2QVbG4jo2y9lErQ==", + "dev": true, + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "dev": true, + "requires": {} + }, + "postcss-gap-properties": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.3.tgz", + "integrity": "sha512-rPPZRLPmEKgLk/KlXMqRaNkYTUpE7YC+bOIQFN5xcu1Vp11Y4faIXv6/Jpft6FMnl6YRxZqDZG0qQOW80stzxQ==", + "dev": true, + "requires": {} + }, + "postcss-image-set-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.6.tgz", + "integrity": "sha512-KfdC6vg53GC+vPd2+HYzsZ6obmPqOk6HY09kttU19+Gj1nC3S3XBVEXDHxkhxTohgZqzbUb94bKXvKDnYWBm/A==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-import": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz", + "integrity": "sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "dev": true, + "requires": {} + }, + "postcss-lab-function": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.0.tgz", + "integrity": "sha512-Zb1EO9DGYfa3CP8LhINHCcTTCTLI+R3t7AX2mKsDzdgVQ/GkCpHOTgOr6HBHslP7XDdVbqgHW5vvRPMdVANQ8w==", + "dev": true, + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dev": true, + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + } + }, + "postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "dev": true, + "requires": {} + }, + "postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "dev": true, + "requires": {} + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-nesting": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.4.tgz", + "integrity": "sha512-2ixdQ59ik/Gt1+oPHiI1kHdwEI8lLKEmui9B1nl6163ANLC+GewQn7fXMxJF2JSb4i2MKL96GU8fIiQztK4TTA==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-overflow-shorthand": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.3.tgz", + "integrity": "sha512-CxZwoWup9KXzQeeIxtgOciQ00tDtnylYIlJBBODqkgS/PU2jISuWOL/mYLHmZb9ZhZiCaNKsCRiLp22dZUtNsg==", + "dev": true, + "requires": {} + }, + "postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "dev": true, + "requires": {} + }, + "postcss-place": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.4.tgz", + "integrity": "sha512-MrgKeiiu5OC/TETQO45kV3npRjOFxEHthsqGtkh3I1rPbZSbXGD/lZVi9j13cYh+NA8PIAPyk6sGjT9QbRyvSg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-preset-env": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.2.3.tgz", + "integrity": "sha512-Ok0DhLfwrcNGrBn8sNdy1uZqWRk/9FId0GiQ39W4ILop5GHtjJs8bu1MY9isPwHInpVEPWjb4CEcEaSbBLpfwA==", + "dev": true, + "requires": { + "autoprefixer": "^10.4.2", + "browserslist": "^4.19.1", + "caniuse-lite": "^1.0.30001299", + "css-blank-pseudo": "^3.0.2", + "css-has-pseudo": "^3.0.3", + "css-prefers-color-scheme": "^6.0.2", + "cssdb": "^5.0.0", + "postcss-attribute-case-insensitive": "^5.0.0", + "postcss-color-functional-notation": "^4.2.1", + "postcss-color-hex-alpha": "^8.0.2", + "postcss-color-rebeccapurple": "^7.0.2", + "postcss-custom-media": "^8.0.0", + "postcss-custom-properties": "^12.1.2", + "postcss-custom-selectors": "^6.0.0", + "postcss-dir-pseudo-class": "^6.0.3", + "postcss-double-position-gradients": "^3.0.4", + "postcss-env-function": "^4.0.4", + "postcss-focus-visible": "^6.0.3", + "postcss-focus-within": "^5.0.3", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.2", + "postcss-image-set-function": "^4.0.4", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.0.3", + "postcss-logical": "^5.0.3", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.1.2", + "postcss-overflow-shorthand": "^3.0.2", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.3", + "postcss-pseudo-class-any-link": "^7.0.2", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^5.0.0" + } + }, + "postcss-pseudo-class-any-link": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.2.tgz", + "integrity": "sha512-76XzEQv3g+Vgnz3tmqh3pqQyRojkcJ+pjaePsyhcyf164p9aZsu3t+NWxkZYbcHLK1ju5Qmalti2jPI5IWCe5w==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "dev": true, + "requires": {} + }, + "postcss-selector-not": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-5.0.0.tgz", + "integrity": "sha512-/2K3A4TCP9orP4TNS7u3tGdRFVKqz/E6pX3aGnriPG0jU78of8wsUcqE4QAhWEU0d+WnMSF93Ah3F//vUtK+iQ==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "requires": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + } + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "dependencies": { + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + } + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true, + "optional": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true + }, + "qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dev": true, + "requires": { + "pify": "^2.3.0" + } + }, + "read-package-json-fast": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", + "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", + "dev": true, + "requires": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "dev": true + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "regenerator-transform": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "dev": true + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "regexpu-core": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", + "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", + "dev": true, + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + } + }, + "regjsgen": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "dev": true + }, + "regjsparser": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "dev": true, + "requires": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "resolve-url-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", + "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", + "dev": true, + "requires": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.14", + "source-map": "0.6.1" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass": { + "version": "1.49.9", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.9.tgz", + "integrity": "sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "sass-loader": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.4.0.tgz", + "integrity": "sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg==", + "dev": true, + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", + "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", + "dev": true, + "requires": { + "node-forge": "^1" + } + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "semver-dsl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/semver-dsl/-/semver-dsl-1.0.1.tgz", + "integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=", + "dev": true, + "requires": { + "semver": "^5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true + }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true + }, + "socket.io": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz", + "integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.1.0", + "socket.io-adapter": "~2.3.3", + "socket.io-parser": "~4.0.4" + } + }, + "socket.io-adapter": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz", + "integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==", + "dev": true + }, + "socket.io-parser": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", + "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", + "dev": true, + "requires": { + "@types/component-emitter": "^1.2.10", + "component-emitter": "~1.3.0", + "debug": "~4.3.1" + } + }, + "sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "socks": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "dev": true, + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.0.tgz", + "integrity": "sha512-wWqJhjb32Q6GsrUqzuFkukxb/zzide5quXYcMVpIjxalDBBYy2nqKCFQ/9+Ie4dvOYSQdOk3hUlZSdzZOd3zMQ==", + "dev": true, + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + } + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, + "source-map-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.1.tgz", + "integrity": "sha512-Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA==", + "dev": true, + "requires": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "dev": true + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "streamroller": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.0.2.tgz", + "integrity": "sha512-ur6y5S5dopOaRXBuRIZ1u6GC5bcEXHRZKgfBjfCglMhmIf+roVCECjvkEYzNQOXIN2/JPnkMPW/8B3CZoKaEPA==", + "dev": true, + "requires": { + "date-format": "^4.0.3", + "debug": "^4.1.1", + "fs-extra": "^10.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", + "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "stylus": { + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.56.0.tgz", + "integrity": "sha512-Ev3fOb4bUElwWu4F9P9WjnnaSpc8XB9OFHSFZSKMFL1CE1oM+oFXWEgAqPmmZIyhBihuqIQlFsVTypiiS9RxeA==", + "dev": true, + "requires": { + "css": "^3.0.0", + "debug": "^4.3.2", + "glob": "^7.1.6", + "safer-buffer": "^2.1.2", + "sax": "~1.2.4", + "source-map": "^0.7.3" + } + }, + "stylus-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-6.2.0.tgz", + "integrity": "sha512-5dsDc7qVQGRoc6pvCL20eYgRUxepZ9FpeK28XhdXaIPP6kXr6nI1zAAKFQgP5OBkOfKaURp4WUpJzspg1f01Gg==", + "dev": true, + "requires": { + "fast-glob": "^3.2.7", + "klona": "^2.0.4", + "normalize-path": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "dev": true + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, + "terser": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.11.0.tgz", + "integrity": "sha512-uCA9DLanzzWSsN1UirKwylhhRz3aKPInlfmpGfw8VN6jHsAtu8HJtIpeeHHK23rxnE/cDc+yvmq5wqkIC6Kn0A==", + "dev": true, + "requires": { + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + } + }, + "terser-webpack-plugin": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz", + "integrity": "sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==", + "dev": true, + "requires": { + "jest-worker": "^27.0.2", + "p-limit": "^3.1.0", + "schema-utils": "^3.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true + }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true + }, + "ts-node": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz", + "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==", + "dev": true, + "requires": { + "arrify": "^1.0.0", + "buffer-from": "^1.1.0", + "diff": "^3.1.0", + "make-error": "^1.1.1", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "source-map-support": "^0.5.6", + "yn": "^2.0.0" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + } + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + }, + "tslint": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", + "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^4.0.1", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.3", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.13.0", + "tsutils": "^2.29.0" + }, + "dependencies": { + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + } + } + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typed-assert": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", + "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", + "dev": true + }, + "typescript": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", + "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", + "dev": true + }, + "ua-parser-js": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz", + "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==", + "dev": true + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, + "validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "dev": true, + "requires": { + "builtins": "^1.0.3" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true + }, + "watchpack": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", + "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webpack": { + "version": "5.70.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", + "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.2", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack-dev-middleware": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz", + "integrity": "sha512-MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg==", + "dev": true, + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.2.2", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } + } + }, + "webpack-dev-server": { + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz", + "integrity": "sha512-mlxq2AsIw2ag016nixkzUkdyOE8ST2GTy34uKSABp1c4nhjZvH90D5ZRR+UOLSsG4Z3TFahAi72a3ymRtfRm+Q==", + "dev": true, + "requires": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/serve-index": "^1.9.1", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.2.2", + "ansi-html-community": "^0.0.8", + "bonjour": "^3.5.0", + "chokidar": "^3.5.2", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "default-gateway": "^6.0.3", + "del": "^6.0.0", + "express": "^4.17.1", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.0", + "ipaddr.js": "^2.0.1", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "portfinder": "^1.0.28", + "schema-utils": "^4.0.0", + "selfsigned": "^2.0.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "spdy": "^4.0.2", + "strip-ansi": "^7.0.0", + "webpack-dev-middleware": "^5.3.0", + "ws": "^8.1.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + }, + "webpack-subresource-integrity": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", + "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", + "dev": true, + "requires": { + "typed-assert": "^1.0.8" + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "ws": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "dev": true, + "requires": {} + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + }, + "yn": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", + "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + }, + "zone.js": { + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.5.tgz", + "integrity": "sha512-D1/7VxEuQ7xk6z/kAROe4SUbd9CzxY4zOwVGnGHerd/SgLIVU5f4esDzQUsOCeArn933BZfWMKydH7l7dPEp0g==", + "requires": { + "tslib": "^2.3.0" + } + } + } +} diff --git a/samples/client/petstore/typescript-angular-v11-provided-in-root/package.json b/samples/client/petstore/typescript-angular-v13-provided-in-root/package.json similarity index 53% rename from samples/client/petstore/typescript-angular-v11-provided-in-root/package.json rename to samples/client/petstore/typescript-angular-v13-provided-in-root/package.json index e1a95fa9be..d8238b7b59 100644 --- a/samples/client/petstore/typescript-angular-v11-provided-in-root/package.json +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/package.json @@ -1,33 +1,34 @@ { - "name": "typescript-angular-v11-unit-tests", + "name": "typescript-angular-v13-unit-tests", "version": "0.0.0", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test", - "lint": "ng lint" + "lint": "ng lint", + "update": "ng update" }, "private": true, "dependencies": { - "@angular/animations": "^11.2.14", - "@angular/common": "^11.2.14", - "@angular/compiler": "^11.2.14", - "@angular/core": "^11.2.14", - "@angular/forms": "^11.2.14", - "@angular/platform-browser": "^11.2.14", - "@angular/platform-browser-dynamic": "^11.2.14", - "@angular/router": "^11.2.14", + "@angular/animations": "^13.3.4", + "@angular/common": "^13.3.4", + "@angular/compiler": "^13.3.4", + "@angular/core": "^13.3.4", + "@angular/forms": "^13.3.4", + "@angular/platform-browser": "^13.3.4", + "@angular/platform-browser-dynamic": "^13.3.4", + "@angular/router": "^13.3.4", "core-js": "^2.5.4", "rxjs": "^6.6.7", "tslib": "^2.0.0", - "zone.js": "~0.10.2" + "zone.js": "~0.11.5" }, "devDependencies": { - "@angular-devkit/build-angular": "~0.1102.14", - "@angular/cli": "~11.2.14", - "@angular/compiler-cli": "^11.2.14", - "@angular/language-service": "^11.2.14", + "@angular-devkit/build-angular": "^13.3.3", + "@angular/cli": "^13.3.3", + "@angular/compiler-cli": "^13.3.4", + "@angular/language-service": "^13.3.4", "@types/jasmine": "~3.6.0", "@types/jasminewd2": "~2.0.3", "@types/node": "^12.11.1", @@ -41,6 +42,6 @@ "karma-jasmine-html-reporter": "^1.7.0", "ts-node": "~7.0.0", "tslint": "~6.1.0", - "typescript": "~4.0.8" + "typescript": "^4.6.3" } -} +} \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/pom.xml b/samples/client/petstore/typescript-angular-v13-provided-in-root/pom.xml index f3dacddf77..50011e9c3b 100644 --- a/samples/client/petstore/typescript-angular-v13-provided-in-root/pom.xml +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/pom.xml @@ -83,6 +83,58 @@ + + maven-dependency-plugin + + + package + + copy-dependencies + + + ${project.build.directory} + + + + + + org.codehaus.mojo + exec-maven-plugin + 1.2.1 + + + npm-install + pre-integration-test + + exec + + + npm + + install + + + + + npm-test + integration-test + + exec + + + npm + + test + -- + --progress=false + --no-watch + --browsers + ChromeHeadless + + + + + diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/.browserslistrc b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/.browserslistrc new file mode 100644 index 0000000000..8e09ab492e --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/.browserslistrc @@ -0,0 +1,9 @@ +# This file is currently used by autoprefixer to adjust CSS to support the below specified browsers +# For additional information regarding the format and rule options, please see: +# https://github.com/browserslist/browserslist#queries +# For IE 9-11 support, please uncomment the last line of the file and adjust as needed +> 0.5% +last 2 versions +Firefox ESR +not dead +# IE 9-11 \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/app/app.component.css b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/app/app.component.css new file mode 100644 index 0000000000..e69de29bb2 diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/app/app.component.html b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/app/app.component.html new file mode 100644 index 0000000000..b843d662b6 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/app/app.component.html @@ -0,0 +1,44 @@ +
+

+ Welcome to {{ title }}! +

+
+
+

Pet API

+ + + + + + + +
+
+

Pet

+
+

Name: {{ pet.name }}

+

ID: {{ pet.id }}

+
+ +
+
+

Store API

+ +
+
+

Store

+
    +
  • {{item.key}}: {{item.number}}
  • +
+ +
diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/app/app.component.spec.ts b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/app/app.component.spec.ts new file mode 100644 index 0000000000..6ddcad3f19 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/app/app.component.spec.ts @@ -0,0 +1,94 @@ +import { TestBed, waitForAsync } from '@angular/core/testing'; +import { HttpClientModule } from '@angular/common/http'; +import { + ApiModule, + Configuration, + ConfigurationParameters, + PetService, + StoreService, + UserService, +} from '@swagger/typescript-angular-petstore'; +import { AppComponent } from './app.component'; +import {fakePetstoreBackendProviders} from "../test/fakeBackend"; + +describe('AppComponent', () => { + + const apiConfigurationParams: ConfigurationParameters = { + // add configuration params here + apiKeys: { api_key: 'foobar' }, + }; + + const apiConfig = new Configuration(apiConfigurationParams); + + const getApiConfig: () => Configuration = () => { + return apiConfig; + }; + + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [ + HttpClientModule, + ApiModule.forRoot(getApiConfig), + ], + providers: [ + PetService, + StoreService, + UserService, + ...fakePetstoreBackendProviders, + ], + declarations: [ + AppComponent, + ], + }).compileComponents(); + })); + + it('should create the app', waitForAsync(() => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.debugElement.componentInstance; + expect(app).toBeTruthy(); + })); + + it('should render title in a h1 tag', waitForAsync(() => { + const fixture = TestBed.createComponent(AppComponent); + fixture.detectChanges(); + const compiled = fixture.debugElement.nativeElement; + expect(compiled.querySelector('h1').textContent).toContain('Welcome to Typescript Angular v11 (provided in root)!'); + })); + + describe(`constructor()`, () => { + it(`should have a petService provided`, () => { + const petService = TestBed.inject(PetService); + expect(petService).toBeTruthy(); + }); + + it(`should have a storeService provided`, () => { + const storeService = TestBed.inject(StoreService); + expect(storeService).toBeTruthy(); + }); + + it(`should have a userService provided`, () => { + const userService = TestBed.inject(UserService); + expect(userService).toBeTruthy(); + }); + }); + + describe('addPet()', () => { + it(`should add a new pet`, () => { + const fixture = TestBed.createComponent(AppComponent); + const instance = fixture.componentInstance; + const petService = TestBed.inject(PetService); + + spyOn(petService, 'addPet').and.callThrough(); + + fixture.detectChanges(); + instance.addPet(); + + expect(petService.addPet).toHaveBeenCalledWith({ + name: `pet`, + photoUrls: [] + }); + }); + }); + +}); diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/app/app.component.ts b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/app/app.component.ts new file mode 100644 index 0000000000..44ef8c4be0 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/app/app.component.ts @@ -0,0 +1,71 @@ +import { Component } from '@angular/core'; +import { + PetService, + StoreService, + UserService, + Pet +} from '@swagger/typescript-angular-petstore'; + +@Component({ + selector: 'app-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.css'] +}) +export class AppComponent { + title = 'Typescript Angular v11 (provided in root)'; + pet: Pet; + store: { key: string, number: number }[]; + + constructor(private petService: PetService, + private storeService: StoreService, + private userService: UserService, + ) { + this.pet = { + name: `pet`, + photoUrls: [] + }; + } + + public addPet() { + this.petService.addPet(this.pet) + .subscribe((result) => { + this.pet = result; + } + ); + } + + public getPetByID() { + this.petService.getPetById(this.pet.id) + .subscribe((result) => { + this.pet = result; + } + ); + } + + public updatePet() { + this.petService.updatePet(this.pet) + .subscribe((result) => { + this.pet = result; + } + ); + } + + public deletePet() { + this.petService.deletePet(this.pet.id) + .subscribe((result) => { + this.pet = result; + } + ); + } + + public getStoreInventory() { + this.storeService.getInventory() + .subscribe((result) => { + this.store = []; + for(let item in result) { + const number = result[item]; + this.store.push({ key: item, number: number}); + } + }) + } +} diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/app/app.module.ts b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/app/app.module.ts new file mode 100644 index 0000000000..33239063d6 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/app/app.module.ts @@ -0,0 +1,36 @@ +import { BrowserModule } from '@angular/platform-browser'; +import { NgModule } from '@angular/core'; +import { HttpClientModule } from '@angular/common/http'; +import { + ApiModule, + Configuration, + ConfigurationParameters +} from '@swagger/typescript-angular-petstore' + +import { AppComponent } from './app.component'; + +export const apiConfigurationParams: ConfigurationParameters = { + apiKeys: { api_key: "foobar" } +}; + +export const apiConfig = new Configuration(apiConfigurationParams); + +export function getApiConfig() { + return apiConfig; +} + +@NgModule({ + declarations: [ + AppComponent, + ], + imports: [ + BrowserModule, + HttpClientModule, + ApiModule.forRoot(getApiConfig), + ], + providers: [ + ], + bootstrap: [AppComponent] +}) +export class AppModule { } + diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/environments/environment.prod.ts b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/environments/environment.prod.ts new file mode 100644 index 0000000000..3612073bc3 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/environments/environment.ts b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/environments/environment.ts new file mode 100644 index 0000000000..012182efa3 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/environments/environment.ts @@ -0,0 +1,15 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false +}; + +/* + * In development mode, to ignore zone related error stack frames such as + * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can + * import the following file, but please comment it out in production mode + * because it will have performance impact when throw error + */ +// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/favicon.ico b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8081c7ceaf2be08bf59010158c586170d9d2d517 GIT binary patch literal 5430 zcmc(je{54#6vvCoAI3i*G5%$U7!sA3wtMZ$fH6V9C`=eXGJb@R1%(I_{vnZtpD{6n z5Pl{DmxzBDbrB>}`90e12m8T*36WoeDLA&SD_hw{H^wM!cl_RWcVA!I+x87ee975; z@4kD^=bYPn&pmG@(+JZ`rqQEKxW<}RzhW}I!|ulN=fmjVi@x{p$cC`)5$a!)X&U+blKNvN5tg=uLvuLnuqRM;Yc*swiexsoh#XPNu{9F#c`G zQLe{yWA(Y6(;>y|-efAy11k<09(@Oo1B2@0`PtZSkqK&${ zgEY}`W@t{%?9u5rF?}Y7OL{338l*JY#P!%MVQY@oqnItpZ}?s z!r?*kwuR{A@jg2Chlf0^{q*>8n5Ir~YWf*wmsh7B5&EpHfd5@xVaj&gqsdui^spyL zB|kUoblGoO7G(MuKTfa9?pGH0@QP^b#!lM1yHWLh*2iq#`C1TdrnO-d#?Oh@XV2HK zKA{`eo{--^K&MW66Lgsktfvn#cCAc*(}qsfhrvOjMGLE?`dHVipu1J3Kgr%g?cNa8 z)pkmC8DGH~fG+dlrp(5^-QBeEvkOvv#q7MBVLtm2oD^$lJZx--_=K&Ttd=-krx(Bb zcEoKJda@S!%%@`P-##$>*u%T*mh+QjV@)Qa=Mk1?#zLk+M4tIt%}wagT{5J%!tXAE;r{@=bb%nNVxvI+C+$t?!VJ@0d@HIyMJTI{vEw0Ul ze(ha!e&qANbTL1ZneNl45t=#Ot??C0MHjjgY8%*mGisN|S6%g3;Hlx#fMNcL<87MW zZ>6moo1YD?P!fJ#Jb(4)_cc50X5n0KoDYfdPoL^iV`k&o{LPyaoqMqk92wVM#_O0l z09$(A-D+gVIlq4TA&{1T@BsUH`Bm=r#l$Z51J-U&F32+hfUP-iLo=jg7Xmy+WLq6_tWv&`wDlz#`&)Jp~iQf zZP)tu>}pIIJKuw+$&t}GQuqMd%Z>0?t%&BM&Wo^4P^Y z)c6h^f2R>X8*}q|bblAF?@;%?2>$y+cMQbN{X$)^R>vtNq_5AB|0N5U*d^T?X9{xQnJYeU{ zoZL#obI;~Pp95f1`%X3D$Mh*4^?O?IT~7HqlWguezmg?Ybq|7>qQ(@pPHbE9V?f|( z+0xo!#m@Np9PljsyxBY-UA*{U*la#8Wz2sO|48_-5t8%_!n?S$zlGe+NA%?vmxjS- zHE5O3ZarU=X}$7>;Okp(UWXJxI%G_J-@IH;%5#Rt$(WUX?6*Ux!IRd$dLP6+SmPn= z8zjm4jGjN772R{FGkXwcNv8GBcZI#@Y2m{RNF_w8(Z%^A*!bS*!}s6sh*NnURytky humW;*g7R+&|Ledvc- + + + + Cli + + + + + + + + + diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/karma.conf.js b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/karma.conf.js new file mode 100644 index 0000000000..4a9730b9b6 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/karma.conf.js @@ -0,0 +1,31 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage-istanbul-reporter'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + coverageIstanbulReporter: { + dir: require('path').join(__dirname, '../coverage'), + reports: ['html', 'lcovonly'], + fixWebpackSourcePaths: true + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false + }); +}; diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/main.ts b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/main.ts new file mode 100644 index 0000000000..91ec6da5f0 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/main.ts @@ -0,0 +1,12 @@ +import { enableProdMode } from '@angular/core'; +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; +import { environment } from './environments/environment'; + +if (environment.production) { + enableProdMode(); +} + +platformBrowserDynamic().bootstrapModule(AppModule) + .catch(err => console.log(err)); diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/polyfills.ts b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/polyfills.ts new file mode 100644 index 0000000000..aa665d6b87 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/polyfills.ts @@ -0,0 +1,63 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), + * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * + * Learn more in https://angular.io/guide/browser-support + */ + +/*************************************************************************************************** + * BROWSER POLYFILLS + */ + +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +// import 'classlist.js'; // Run `npm install --save classlist.js`. + +/** + * Web Animations `@angular/platform-browser/animations` + * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. + * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). + */ +// import 'web-animations-js'; // Run `npm install --save web-animations-js`. + +/** + * By default, zone.js will patch all possible macroTask and DomEvents + * user can disable parts of macroTask/DomEvents patch by setting following flags + * because those flags need to be set before `zone.js` being loaded, and webpack + * will put import in the top of bundle, so user need to create a separate file + * in this directory (for example: zone-flags.ts), and put the following flags + * into that file, and then add the following code before importing zone.js. + * import './zone-flags.ts'; + * + * The flags allowed in zone-flags.ts are listed here. + * + * The following flags will work for all browsers. + * + * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame + * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick + * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames + * + * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js + * with the following flag, it will bypass `zone.js` patch for IE/Edge + * + * (window as any).__Zone_enable_cross_context_check = true; + * + */ + +/*************************************************************************************************** + * Zone JS is required by default for Angular itself. + */ +import 'zone.js/dist/zone'; // Included with Angular CLI. + + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/styles.css b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/styles.css new file mode 100644 index 0000000000..90d4ee0072 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/styles.css @@ -0,0 +1 @@ +/* You can add global styles to this file, and also import other style files */ diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test.ts b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test.ts new file mode 100644 index 0000000000..16317897b1 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test.ts @@ -0,0 +1,20 @@ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/dist/zone-testing'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +declare const require: any; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting() +); +// Then we find all the tests. +const context = require.context('./', true, /\.spec\.ts$/); +// And load the modules. +context.keys().map(context); diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/api.spec.ts b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/api.spec.ts new file mode 100644 index 0000000000..225414c0d5 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/api.spec.ts @@ -0,0 +1,152 @@ +import { TestBed, waitForAsync } from '@angular/core/testing'; +import {HttpClientModule} from '@angular/common/http'; +import { + ApiModule, + Configuration, + ConfigurationParameters, + PetService, + StoreService, + UserService, + Pet, + User, +} from '@swagger/typescript-angular-petstore'; +import {fakePetstoreBackendProviders} from "./fakeBackend"; +import {switchMap} from "rxjs/operators"; + + +describe(`API (functionality)`, () => { + + const getUser: () => User = () => { + const time = Date.now(); + return { + username: `user-${time}`, + } + }; + + const getPet: () => Pet = () => { + const time = Date.now(); + return { + name: `pet-${time}`, + photoUrls: [], + } + }; + + const newPet: Pet = getPet(); + + const newUser: User = getUser(); + + const apiConfigurationParams: ConfigurationParameters = { + // add configuration params here + apiKeys: { api_key: 'foobar' } + }; + + const apiConfig = new Configuration(apiConfigurationParams); + + const getApiConfig = () => { + return apiConfig; + }; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [ + HttpClientModule, + ApiModule.forRoot(getApiConfig) + ], + providers: [ + PetService, + StoreService, + UserService, + ...fakePetstoreBackendProviders, + ] + }); + }); + + describe(`PetService`, () => { + it(`should be provided`, () => { + const petService = TestBed.inject(PetService); + expect(petService).toBeTruthy(); + }); + + it(`should add a pet`, waitForAsync(() => { + const petService = TestBed.inject(PetService); + + return petService.addPet(newPet).subscribe( + (result) => { + expect(result.id).toBeGreaterThan(0); + expect(result.name).toBe(newPet.name); + }, + ); + })); + + it(`should get the pet data by id`, waitForAsync(() => { + const petService = TestBed.inject(PetService); + return petService.addPet(newPet).pipe( + switchMap((addedPet: Pet) => petService.getPetById(addedPet.id)) + ).subscribe( + result => { + return expect(result.name).toBe(newPet.name); + }, + ); + })); + + it(`should update the pet name by pet object`, waitForAsync(() => { + const petService = TestBed.inject(PetService); + + + return petService.addPet(newPet).pipe( + switchMap((addedPet: Pet) => petService.updatePet({ + ...addedPet, + name: 'something else' + })) + ).subscribe( + result => expect(result.name).toBe('something else'), + error => fail(`expected a result, not the error: ${error.message}`), + ); + })); + + it(`should delete the pet`, waitForAsync(() => { + const petService = TestBed.inject(PetService); + + return petService.addPet(newPet).pipe( + switchMap((addedPet: Pet) => petService.deletePet(addedPet.id, undefined, 'response')), + ).subscribe( + result => expect(result.status).toEqual(200), + ); + })); + + }); + + describe(`StoreService`, () => { + it(`should be provided`, () => { + const storeService = TestBed.inject(StoreService); + expect(storeService).toBeTruthy(); + }); + + it(`should get the inventory`, waitForAsync(() => { + const storeService = TestBed.inject(StoreService); + + return storeService.getInventory().subscribe( + result => expect(result.mega).toBe(42), + error => fail(`expected a result, not the error: ${error.message}`), + ); + + })); + + }); + + describe(`UserService`, () => { + it(`should be provided`, () => { + const userService = TestBed.inject(UserService); + expect(userService).toBeTruthy(); + }); + + it(`should create the user`, waitForAsync(() => { + const userService = TestBed.inject(UserService); + + return userService.createUser(newUser, 'response').subscribe( + result => expect(result.status).toEqual(200), + ); + })); + + }); +}); diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/basePath.spec.ts b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/basePath.spec.ts new file mode 100644 index 0000000000..c6357cc16f --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/basePath.spec.ts @@ -0,0 +1,63 @@ +import { TestBed, waitForAsync } from '@angular/core/testing'; +import { HttpClient } from '@angular/common/http'; +import { HttpClientTestingModule, HttpTestingController} from '@angular/common/http/testing'; +import { + ApiModule, + PetService, + Pet, +} from '@swagger/typescript-angular-petstore'; +import {BASE_PATH} from "../../../../builds/default/variables"; + +describe(`API (basePath)`, () => { + let httpClient: HttpClient; + let httpTestingController: HttpTestingController; + + const pet: Pet = { + name: `pet`, + photoUrls: [] + }; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [ + HttpClientTestingModule , + ApiModule, + ], + providers: [ + PetService, + { provide: BASE_PATH, useValue: '//test'} + ] + }); + + // Inject the http service and test controller for each test + httpClient = TestBed.inject(HttpClient); + httpTestingController = TestBed.inject(HttpTestingController); + }); + + afterEach(() => { + // After every test, assert that there are no more pending requests. + httpTestingController.verify(); + }); + + describe(`PetService`, () => { + it(`should be provided`, () => { + const petService = TestBed.inject(PetService); + expect(petService).toBeTruthy(); + }); + + it(`should call to the injected basePath //test/pet`, waitForAsync(() => { + const petService = TestBed.inject(PetService); + + petService.addPet(pet).subscribe( + result => expect(result).toEqual(pet), + error => fail(`expected a result, not the error: ${error.message}`), + ); + + const req = httpTestingController.expectOne('//test/pet'); + expect(req.request.method).toEqual('POST'); + req.flush(pet); + })); + + }); + +}); diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/configuration.spec.ts b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/configuration.spec.ts new file mode 100644 index 0000000000..19e983c790 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/configuration.spec.ts @@ -0,0 +1,140 @@ +import { TestBed, waitForAsync } from '@angular/core/testing'; +import { HttpClient } from '@angular/common/http'; +import { HttpClientTestingModule, HttpTestingController} from '@angular/common/http/testing'; +import { + ApiModule, + Configuration, + ConfigurationParameters, + PetService, + Pet, +} from '@swagger/typescript-angular-petstore'; + +describe(`API (with ConfigurationFactory)`, () => { + let httpClient: HttpClient; + let httpTestingController: HttpTestingController; + + const pet: Pet = { + name: `pet`, + photoUrls: [] + }; + + let apiConfigurationParams: ConfigurationParameters = { + // add configuration params here + basePath: '//test-initial' + }; + + let apiConfig: Configuration = new Configuration(apiConfigurationParams); + + const getApiConfig = () => { + return apiConfig; + }; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [ + HttpClientTestingModule , + ApiModule.forRoot(getApiConfig) + ], + providers: [ + PetService, + ] + }); + + // Inject the http service and test controller for each test + httpClient = TestBed.inject(HttpClient); + httpTestingController = TestBed.inject(HttpTestingController); + }); + + afterEach(() => { + // After every test, assert that there are no more pending requests. + httpTestingController.verify(); + }); + + describe(`PetService`, () => { + it(`should be provided`, () => { + const petService = TestBed.inject(PetService); + expect(petService).toBeTruthy(); + }); + + it(`should call initially configured basePath //test-initial/pet`, waitForAsync(() => { + const petService = TestBed.inject(PetService); + + petService.addPet(pet).subscribe( + result => expect(result).toEqual(pet), + error => fail(`expected a result, not the error: ${error.message}`), + ); + + const req = httpTestingController.expectOne('//test-initial/pet'); + + expect(req.request.method).toEqual('POST'); + + req.flush(pet); + })); + }); + +}); + +describe(`API (with ConfigurationFactory and empty basePath)`, () => { + let httpClient: HttpClient; + let httpTestingController: HttpTestingController; + + const pet: Pet = { + name: `pet`, + photoUrls: [] + }; + + let apiConfigurationParams: ConfigurationParameters = { + // add configuration params here + basePath: '' + }; + + let apiConfig: Configuration = new Configuration(apiConfigurationParams); + + const getApiConfig = () => { + return apiConfig; + }; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [ + HttpClientTestingModule , + ApiModule.forRoot(getApiConfig) + ], + providers: [ + PetService, + ] + }); + + // Inject the http service and test controller for each test + httpClient = TestBed.inject(HttpClient); + httpTestingController = TestBed.inject(HttpTestingController); + }); + + afterEach(() => { + // After every test, assert that there are no more pending requests. + httpTestingController.verify(); + }); + + describe(`PetService`, () => { + it(`should be provided`, () => { + const petService = TestBed.inject(PetService); + expect(petService).toBeTruthy(); + }); + + it(`should call initially configured empty basePath /pet`, waitForAsync(() => { + const petService = TestBed.inject(PetService); + + petService.addPet(pet).subscribe( + result => expect(result).toEqual(pet), + error => fail(`expected a result, not the error: ${error.message}`), + ); + + const req = httpTestingController.expectOne('/pet'); + + expect(req.request.method).toEqual('POST'); + + req.flush(pet); + })); + }); + +}); diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/fakeBackend.ts b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/fakeBackend.ts new file mode 100644 index 0000000000..2ea690270c --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/fakeBackend.ts @@ -0,0 +1,92 @@ +import {Injectable, Provider} from '@angular/core'; +import {Observable, Observer} from 'rxjs'; +import { + HTTP_INTERCEPTORS, + HttpEvent, + HttpEventType, + HttpHandler, + HttpInterceptor, + HttpRequest +} from '@angular/common/http'; +import { TestRequest } from "@angular/common/http/testing"; +import { Pet } from "@swagger/typescript-angular-petstore"; + +@Injectable() +export class FakePetstoreBackendInterceptor implements HttpInterceptor { + private fakePetstoreBackend = new FakePetstoreBackend() + + constructor() { + + } + + intercept(req: HttpRequest, next: HttpHandler): Observable> { + const parsedUrl = new URL(req.url); + if (parsedUrl.pathname.indexOf('/v2/pet') === 0) { + if (req.method === 'GET') { + const pathParts = parsedUrl.pathname.split('/'); + const petId = parseInt(pathParts[pathParts.length-1], 10); + return this.respond(req, this.fakePetstoreBackend.getPet(petId)); + } else if (req.method === 'POST') { + return this.respond(req, this.fakePetstoreBackend.addPet(req.body)); + } else if (req.method === 'PUT') { + return this.respond(req, this.fakePetstoreBackend.updatePet(req.body)); + } else if (req.method === 'DELETE') { + const pathParts = parsedUrl.pathname.split('/'); + const petId = parseInt(pathParts[pathParts.length-1], 10); + this.fakePetstoreBackend.deletePet(petId); + return this.respond(req, {}); + } + } else if (parsedUrl.pathname.indexOf('/v2/store/inventory') === 0) { + if (req.method === 'GET') { + return this.respond(req, {mega: 42}); + } + } else if (parsedUrl.pathname.indexOf('/v2/user') === 0) { + if (req.method === 'POST') { + return this.respond(req, {mega: 42}); + } + } + throw new Error('Http call not implemented in fake backend. ' + req.url); + } + + private respond(request: HttpRequest, response: any): Observable> { + return new Observable((observer: Observer) => { + const testReq = new TestRequest(request, observer); + observer.next({ type: HttpEventType.Sent } as HttpEvent); + testReq.flush(response); + return () => { }; + }); + } +} + +@Injectable() +class FakePetstoreBackend { + private nextId = 1; + private pets: Map = new Map(); + + public getPet(id: number): Pet { + return this.pets.get(String(id)); + } + + public addPet(pet: Pet): Pet { + const id = this.nextId++; + this.pets.set(String(id), { + ...pet, + id + }); + return this.getPet(id); + } + + public updatePet(pet: Pet): Pet { + this.pets.set(String(pet.id), pet); + return pet; + } + + public deletePet(id: number): void { + this.pets.delete(String(id)); + } +} + + +export const fakePetstoreBackendProviders: Provider[] = [ + {provide: HTTP_INTERCEPTORS, useClass: FakePetstoreBackendInterceptor, multi: true}, +]; diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/no-configuration.spec.ts b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/no-configuration.spec.ts new file mode 100644 index 0000000000..a1f624ea29 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/test/no-configuration.spec.ts @@ -0,0 +1,61 @@ +import { TestBed, waitForAsync } from '@angular/core/testing'; +import { HttpClient } from '@angular/common/http'; +import { HttpClientTestingModule, HttpTestingController} from '@angular/common/http/testing'; +import { + ApiModule, + PetService, + Pet, +} from '@swagger/typescript-angular-petstore'; + +describe(`API (no configuration)`, () => { + let httpClient: HttpClient; + let httpTestingController: HttpTestingController; + + const pet: Pet = { + name: `pet`, + photoUrls: [] + }; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [ + HttpClientTestingModule , + ApiModule, + ], + providers: [ + PetService, + ] + }); + + // Inject the http service and test controller for each test + httpClient = TestBed.inject(HttpClient); + httpTestingController = TestBed.inject(HttpTestingController); + }); + + afterEach(() => { + // After every test, assert that there are no more pending requests. + httpTestingController.verify(); + }); + + describe(`PetService`, () => { + it(`should be provided`, () => { + const petService = TestBed.inject(PetService); + expect(petService).toBeTruthy(); + }); + + it(`should call to the default basePath http://petstore.swagger.io/v2/pet`, waitForAsync(() => { + const petService = TestBed.inject(PetService); + + petService.addPet(pet).subscribe( + result => expect(result).toEqual(pet), + error => fail(`expected a result, not the error: ${error.message}`), + ); + + const req = httpTestingController.expectOne('http://petstore.swagger.io/v2/pet'); + expect(req.request.method).toEqual('POST'); + req.flush(pet); + })); + + }); + +}); diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/tsconfig.app.json b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/tsconfig.app.json new file mode 100644 index 0000000000..be37b0474d --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/tsconfig.app.json @@ -0,0 +1,14 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/app", + "types": [] + }, + "files": [ + "main.ts", + "polyfills.ts" + ], + "include": [ + "tests/default/src/**/*.d.ts" + ] +} diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/tsconfig.spec.json b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/tsconfig.spec.json new file mode 100644 index 0000000000..2b5ebf4ad4 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/tsconfig.spec.json @@ -0,0 +1,18 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/spec", + "types": [ + "jasmine", + "node" + ] + }, + "files": [ + "test.ts", + "polyfills.ts" + ], + "include": [ + "**/*.spec.ts", + "**/*.d.ts" + ] +} diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/tslint.json b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/tslint.json new file mode 100644 index 0000000000..78a62a0db6 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tests/default/src/tslint.json @@ -0,0 +1,17 @@ +{ + "extends": "../../../tslint.json", + "rules": { + "directive-selector": [ + true, + "attribute", + "app", + "camelCase" + ], + "component-selector": [ + true, + "element", + "app", + "kebab-case" + ] + } +} diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tsconfig.json b/samples/client/petstore/typescript-angular-v13-provided-in-root/tsconfig.json new file mode 100644 index 0000000000..f3ec5dc066 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "./", + "downlevelIteration": true, + "module": "es2020", + "outDir": "./dist/out-tsc", + "sourceMap": true, + "declaration": false, + "moduleResolution": "node", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "target": "es2015", + "typeRoots": [ + "node_modules/@types" + ], + "paths": { + "@swagger/typescript-angular-petstore": ["builds/default"] + }, + "lib": [ + "es2017", + "dom" + ] + } +} diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/tslint.json b/samples/client/petstore/typescript-angular-v13-provided-in-root/tslint.json new file mode 100644 index 0000000000..5065137af3 --- /dev/null +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/tslint.json @@ -0,0 +1,129 @@ +{ + "rulesDirectory": [ + "node_modules/codelyzer" + ], + "rules": { + "arrow-return-shorthand": true, + "callable-types": true, + "class-name": true, + "comment-format": [ + true, + "check-space" + ], + "curly": true, + "deprecation": { + "severity": "warn" + }, + "eofline": true, + "forin": true, + "import-blacklist": [ + true, + "rxjs/Rx" + ], + "import-spacing": true, + "indent": [ + true, + "spaces" + ], + "interface-over-type-literal": true, + "label-position": true, + "max-line-length": [ + true, + 140 + ], + "member-access": false, + "member-ordering": [ + true, + { + "order": [ + "static-field", + "instance-field", + "static-method", + "instance-method" + ] + } + ], + "no-arg": true, + "no-bitwise": true, + "no-console": [ + true, + "debug", + "info", + "time", + "timeEnd", + "trace" + ], + "no-construct": true, + "no-debugger": true, + "no-duplicate-super": true, + "no-empty": false, + "no-empty-interface": true, + "no-eval": true, + "no-inferrable-types": [ + true, + "ignore-params" + ], + "no-misused-new": true, + "no-non-null-assertion": true, + "no-shadowed-variable": true, + "no-string-literal": false, + "no-string-throw": true, + "no-switch-case-fall-through": true, + "no-trailing-whitespace": true, + "no-unnecessary-initializer": true, + "no-unused-expression": true, + "no-var-keyword": true, + "object-literal-sort-keys": false, + "one-line": [ + true, + "check-open-brace", + "check-catch", + "check-else", + "check-whitespace" + ], + "prefer-const": true, + "quotemark": [ + true, + "single" + ], + "radix": true, + "semicolon": [ + true, + "always" + ], + "triple-equals": [ + true, + "allow-null-check" + ], + "typedef-whitespace": [ + true, + { + "call-signature": "nospace", + "index-signature": "nospace", + "parameter": "nospace", + "property-declaration": "nospace", + "variable-declaration": "nospace" + } + ], + "unified-signatures": true, + "variable-name": false, + "whitespace": [ + true, + "check-branch", + "check-decl", + "check-operator", + "check-separator", + "check-type" + ], + "no-output-on-prefix": true, + "no-inputs-metadata-property": true, + "no-outputs-metadata-property": true, + "no-host-metadata-property": true, + "no-input-rename": true, + "no-output-rename": true, + "use-lifecycle-interface": true, + "use-pipe-transform-interface": true, + "component-class-suffix": true, + "directive-class-suffix": true + } +} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.gitignore b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.gitignore deleted file mode 100644 index 149b576547..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -wwwroot/*.js -node_modules -typings -dist diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.openapi-generator-ignore b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.openapi-generator-ignore deleted file mode 100644 index 7484ee590a..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.openapi-generator-ignore +++ /dev/null @@ -1,23 +0,0 @@ -# OpenAPI Generator Ignore -# Generated by openapi-generator https://github.com/openapitools/openapi-generator - -# Use this file to prevent files from being overwritten by the generator. -# The patterns follow closely to .gitignore or .dockerignore. - -# As an example, the C# client generator defines ApiClient.cs. -# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: -#ApiClient.cs - -# You can match any string of characters against a directory, file or extension with a single asterisk (*): -#foo/*/qux -# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux - -# You can recursively match patterns against a directory, file or extension with a double asterisk (**): -#foo/**/qux -# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux - -# You can also negate patterns with an exclamation (!). -# For example, you can ignore all files in a docs folder with the file extension .md: -#docs/*.md -# Then explicitly reverse the ignore rule for a single file: -#!docs/README.md diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.openapi-generator/FILES deleted file mode 100644 index 7f8ebffb30..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.openapi-generator/FILES +++ /dev/null @@ -1,19 +0,0 @@ -.gitignore -README.md -api.module.ts -api/api.ts -api/pet.service.ts -api/store.service.ts -api/user.service.ts -configuration.ts -encoder.ts -git_push.sh -index.ts -model/apiResponse.ts -model/category.ts -model/models.ts -model/order.ts -model/pet.ts -model/tag.ts -model/user.ts -variables.ts diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.openapi-generator/VERSION deleted file mode 100644 index 89648de331..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/.openapi-generator/VERSION +++ /dev/null @@ -1 +0,0 @@ -6.0.1-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/api.module.ts b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/api.module.ts deleted file mode 100644 index 2afb8f64e9..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/api.module.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; -import { Configuration } from './configuration'; -import { HttpClient } from '@angular/common/http'; - -import { PetService } from './api/pet.service'; -import { StoreService } from './api/store.service'; -import { UserService } from './api/user.service'; - -@NgModule({ - imports: [], - declarations: [], - exports: [], - providers: [] -}) -export class ApiModule { - public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders { - return { - ngModule: ApiModule, - providers: [ { provide: Configuration, useFactory: configurationFactory } ] - }; - } - - constructor( @Optional() @SkipSelf() parentModule: ApiModule, - @Optional() http: HttpClient) { - if (parentModule) { - throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); - } - if (!http) { - throw new Error('You need to import the HttpClientModule in your AppModule! \n' + - 'See also https://github.com/angular/angular/issues/20575'); - } - } -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/api/api.ts b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/api/api.ts deleted file mode 100644 index 8e44b64083..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/api/api.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './pet.service'; -import { PetService } from './pet.service'; -export * from './store.service'; -import { StoreService } from './store.service'; -export * from './user.service'; -import { UserService } from './user.service'; -export const APIS = [PetService, StoreService, UserService]; diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/configuration.ts b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/configuration.ts deleted file mode 100644 index 6fc0f80d97..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/configuration.ts +++ /dev/null @@ -1,141 +0,0 @@ -import { HttpParameterCodec } from '@angular/common/http'; - -export interface ConfigurationParameters { - /** - * @deprecated Since 5.0. Use credentials instead - */ - apiKeys?: {[ key: string ]: string}; - username?: string; - password?: string; - /** - * @deprecated Since 5.0. Use credentials instead - */ - accessToken?: string | (() => string); - basePath?: string; - withCredentials?: boolean; - encoder?: HttpParameterCodec; - /** - * The keys are the names in the securitySchemes section of the OpenAPI - * document. They should map to the value used for authentication - * minus any standard prefixes such as 'Basic' or 'Bearer'. - */ - credentials?: {[ key: string ]: string | (() => string | undefined)}; -} - -export class Configuration { - /** - * @deprecated Since 5.0. Use credentials instead - */ - apiKeys?: {[ key: string ]: string}; - username?: string; - password?: string; - /** - * @deprecated Since 5.0. Use credentials instead - */ - accessToken?: string | (() => string); - basePath?: string; - withCredentials?: boolean; - encoder?: HttpParameterCodec; - /** - * The keys are the names in the securitySchemes section of the OpenAPI - * document. They should map to the value used for authentication - * minus any standard prefixes such as 'Basic' or 'Bearer'. - */ - credentials: {[ key: string ]: string | (() => string | undefined)}; - - constructor(configurationParameters: ConfigurationParameters = {}) { - this.apiKeys = configurationParameters.apiKeys; - this.username = configurationParameters.username; - this.password = configurationParameters.password; - this.accessToken = configurationParameters.accessToken; - this.basePath = configurationParameters.basePath; - this.withCredentials = configurationParameters.withCredentials; - this.encoder = configurationParameters.encoder; - if (configurationParameters.credentials) { - this.credentials = configurationParameters.credentials; - } - else { - this.credentials = {}; - } - - // init default api_key credential - if (!this.credentials['api_key']) { - this.credentials['api_key'] = () => { - if (this.apiKeys === null || this.apiKeys === undefined) { - return undefined; - } else { - return this.apiKeys['api_key'] || this.apiKeys['api_key']; - } - }; - } - - // init default petstore_auth credential - if (!this.credentials['petstore_auth']) { - this.credentials['petstore_auth'] = () => { - return typeof this.accessToken === 'function' - ? this.accessToken() - : this.accessToken; - }; - } - } - - /** - * Select the correct content-type to use for a request. - * Uses {@link Configuration#isJsonMime} to determine the correct content-type. - * If no content type is found return the first found type if the contentTypes is not empty - * @param contentTypes - the array of content types that are available for selection - * @returns the selected content-type or undefined if no selection could be made. - */ - public selectHeaderContentType (contentTypes: string[]): string | undefined { - if (contentTypes.length === 0) { - return undefined; - } - - const type = contentTypes.find((x: string) => this.isJsonMime(x)); - if (type === undefined) { - return contentTypes[0]; - } - return type; - } - - /** - * Select the correct accept content-type to use for a request. - * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type. - * If no content type is found return the first found type if the contentTypes is not empty - * @param accepts - the array of content types that are available for selection. - * @returns the selected content-type or undefined if no selection could be made. - */ - public selectHeaderAccept(accepts: string[]): string | undefined { - if (accepts.length === 0) { - return undefined; - } - - const type = accepts.find((x: string) => this.isJsonMime(x)); - if (type === undefined) { - return accepts[0]; - } - return type; - } - - /** - * Check if the given MIME is a JSON MIME. - * JSON MIME examples: - * application/json - * application/json; charset=UTF8 - * APPLICATION/JSON - * application/vnd.company+json - * @param mime - MIME (Multipurpose Internet Mail Extensions) - * @return True if the given MIME is JSON, false otherwise. - */ - public isJsonMime(mime: string): boolean { - const jsonMime: RegExp = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i'); - return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json'); - } - - public lookupCredential(key: string): string | undefined { - const value = this.credentials[key]; - return typeof value === 'function' - ? value() - : value; - } -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/encoder.ts b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/encoder.ts deleted file mode 100644 index 138c4d5cf2..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/encoder.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { HttpParameterCodec } from '@angular/common/http'; - -/** - * Custom HttpParameterCodec - * Workaround for https://github.com/angular/angular/issues/18261 - */ -export class CustomHttpParameterCodec implements HttpParameterCodec { - encodeKey(k: string): string { - return encodeURIComponent(k); - } - encodeValue(v: string): string { - return encodeURIComponent(v); - } - decodeKey(k: string): string { - return decodeURIComponent(k); - } - decodeValue(v: string): string { - return decodeURIComponent(v); - } -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/git_push.sh b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/git_push.sh deleted file mode 100644 index f53a75d4fa..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/git_push.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ -# -# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" - -git_user_id=$1 -git_repo_id=$2 -release_note=$3 -git_host=$4 - -if [ "$git_host" = "" ]; then - git_host="github.com" - echo "[INFO] No command line input provided. Set \$git_host to $git_host" -fi - -if [ "$git_user_id" = "" ]; then - git_user_id="GIT_USER_ID" - echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" -fi - -if [ "$git_repo_id" = "" ]; then - git_repo_id="GIT_REPO_ID" - echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" -fi - -if [ "$release_note" = "" ]; then - release_note="Minor update" - echo "[INFO] No command line input provided. Set \$release_note to $release_note" -fi - -# Initialize the local directory as a Git repository -git init - -# Adds the files in the local repository and stages them for commit. -git add . - -# Commits the tracked changes and prepares them to be pushed to a remote repository. -git commit -m "$release_note" - -# Sets the new remote -git_remote=$(git remote) -if [ "$git_remote" = "" ]; then # git remote not defined - - if [ "$GIT_TOKEN" = "" ]; then - echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." - git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git - else - git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git - fi - -fi - -git pull origin master - -# Pushes (Forces) the changes in the local repository up to the remote repository -echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" -git push origin master 2>&1 | grep -v 'To https' diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/index.ts b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/index.ts deleted file mode 100644 index c312b70fa3..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from './api/api'; -export * from './model/models'; -export * from './variables'; -export * from './configuration'; -export * from './api.module'; \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/apiResponse.ts b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/apiResponse.ts deleted file mode 100644 index 682ba47892..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/apiResponse.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * Describes the result of uploading an image resource - */ -export interface ApiResponse { - code?: number; - type?: string; - message?: string; -} - diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/category.ts b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/category.ts deleted file mode 100644 index b988b6827a..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/category.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * A category for a pet - */ -export interface Category { - id?: number; - name?: string; -} - diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/models.ts b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/models.ts deleted file mode 100644 index 8607c5dabd..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/models.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from './apiResponse'; -export * from './category'; -export * from './order'; -export * from './pet'; -export * from './tag'; -export * from './user'; diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/order.ts b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/order.ts deleted file mode 100644 index a29bebe490..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/order.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * An order for a pets from the pet store - */ -export interface Order { - id?: number; - petId?: number; - quantity?: number; - shipDate?: string; - /** - * Order Status - */ - status?: Order.StatusEnum; - complete?: boolean; -} -export namespace Order { - export type StatusEnum = 'placed' | 'approved' | 'delivered'; - export const StatusEnum = { - Placed: 'placed' as StatusEnum, - Approved: 'approved' as StatusEnum, - Delivered: 'delivered' as StatusEnum - }; -} - - diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/pet.ts b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/pet.ts deleted file mode 100644 index e0404395f9..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/pet.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { Category } from './category'; -import { Tag } from './tag'; - - -/** - * A pet for sale in the pet store - */ -export interface Pet { - id?: number; - category?: Category; - name: string; - photoUrls: Array; - tags?: Array; - /** - * pet status in the store - */ - status?: Pet.StatusEnum; -} -export namespace Pet { - export type StatusEnum = 'available' | 'pending' | 'sold'; - export const StatusEnum = { - Available: 'available' as StatusEnum, - Pending: 'pending' as StatusEnum, - Sold: 'sold' as StatusEnum - }; -} - - diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/tag.ts b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/tag.ts deleted file mode 100644 index b6ff210e8d..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/tag.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * A tag for a pet - */ -export interface Tag { - id?: number; - name?: string; -} - diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/user.ts b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/user.ts deleted file mode 100644 index fce5100530..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/model/user.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * A User who is purchasing from the pet store - */ -export interface User { - id?: number; - username?: string; - firstName?: string; - lastName?: string; - email?: string; - password?: string; - phone?: string; - /** - * User Status - */ - userStatus?: number; -} - diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/variables.ts b/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/variables.ts deleted file mode 100644 index 6fe58549f3..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-any/builds/default/variables.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { InjectionToken } from '@angular/core'; - -export const BASE_PATH = new InjectionToken('basePath'); -export const COLLECTION_FORMATS = { - 'csv': ',', - 'tsv': ' ', - 'ssv': ' ', - 'pipes': '|' -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.gitignore b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.gitignore deleted file mode 100644 index 149b576547..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -wwwroot/*.js -node_modules -typings -dist diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.openapi-generator-ignore b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.openapi-generator-ignore deleted file mode 100644 index 7484ee590a..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.openapi-generator-ignore +++ /dev/null @@ -1,23 +0,0 @@ -# OpenAPI Generator Ignore -# Generated by openapi-generator https://github.com/openapitools/openapi-generator - -# Use this file to prevent files from being overwritten by the generator. -# The patterns follow closely to .gitignore or .dockerignore. - -# As an example, the C# client generator defines ApiClient.cs. -# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: -#ApiClient.cs - -# You can match any string of characters against a directory, file or extension with a single asterisk (*): -#foo/*/qux -# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux - -# You can recursively match patterns against a directory, file or extension with a double asterisk (**): -#foo/**/qux -# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux - -# You can also negate patterns with an exclamation (!). -# For example, you can ignore all files in a docs folder with the file extension .md: -#docs/*.md -# Then explicitly reverse the ignore rule for a single file: -#!docs/README.md diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.openapi-generator/FILES deleted file mode 100644 index 7f8ebffb30..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.openapi-generator/FILES +++ /dev/null @@ -1,19 +0,0 @@ -.gitignore -README.md -api.module.ts -api/api.ts -api/pet.service.ts -api/store.service.ts -api/user.service.ts -configuration.ts -encoder.ts -git_push.sh -index.ts -model/apiResponse.ts -model/category.ts -model/models.ts -model/order.ts -model/pet.ts -model/tag.ts -model/user.ts -variables.ts diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.openapi-generator/VERSION deleted file mode 100644 index 89648de331..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/.openapi-generator/VERSION +++ /dev/null @@ -1 +0,0 @@ -6.0.1-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/README.md b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/README.md deleted file mode 100644 index f2e5a1c1ee..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/README.md +++ /dev/null @@ -1,203 +0,0 @@ -## @ - -### Building - -To install the required dependencies and to build the typescript sources run: -``` -npm install -npm run build -``` - -### publishing - -First build the package then run ```npm publish dist``` (don't forget to specify the `dist` folder!) - -### consuming - -Navigate to the folder of your consuming project and run one of next commands. - -_published:_ - -``` -npm install @ --save -``` - -_without publishing (not recommended):_ - -``` -npm install PATH_TO_GENERATED_PACKAGE/dist.tgz --save -``` - -_It's important to take the tgz file, otherwise you'll get trouble with links on windows_ - -_using `npm link`:_ - -In PATH_TO_GENERATED_PACKAGE/dist: -``` -npm link -``` - -In your project: -``` -npm link -``` - -__Note for Windows users:__ The Angular CLI has troubles to use linked npm packages. -Please refer to this issue https://github.com/angular/angular-cli/issues/8284 for a solution / workaround. -Published packages are not effected by this issue. - - -#### General usage - -In your Angular project: - - -``` -// without configuring providers -import { ApiModule } from ''; -import { HttpClientModule } from '@angular/common/http'; - -@NgModule({ - imports: [ - ApiModule, - // make sure to import the HttpClientModule in the AppModule only, - // see https://github.com/angular/angular/issues/20575 - HttpClientModule - ], - declarations: [ AppComponent ], - providers: [], - bootstrap: [ AppComponent ] -}) -export class AppModule {} -``` - -``` -// configuring providers -import { ApiModule, Configuration, ConfigurationParameters } from ''; - -export function apiConfigFactory (): Configuration { - const params: ConfigurationParameters = { - // set configuration parameters here. - } - return new Configuration(params); -} - -@NgModule({ - imports: [ ApiModule.forRoot(apiConfigFactory) ], - declarations: [ AppComponent ], - providers: [], - bootstrap: [ AppComponent ] -}) -export class AppModule {} -``` - -``` -// configuring providers with an authentication service that manages your access tokens -import { ApiModule, Configuration } from ''; - -@NgModule({ - imports: [ ApiModule ], - declarations: [ AppComponent ], - providers: [ - { - provide: Configuration, - useFactory: (authService: AuthService) => new Configuration( - { - basePath: environment.apiUrl, - accessToken: authService.getAccessToken.bind(authService) - } - ), - deps: [AuthService], - multi: false - } - ], - bootstrap: [ AppComponent ] -}) -export class AppModule {} -``` - -``` -import { DefaultApi } from ''; - -export class AppComponent { - constructor(private apiGateway: DefaultApi) { } -} -``` - -Note: The ApiModule is restricted to being instantiated once app wide. -This is to ensure that all services are treated as singletons. - -#### Using multiple OpenAPI files / APIs / ApiModules -In order to use multiple `ApiModules` generated from different OpenAPI files, -you can create an alias name when importing the modules -in order to avoid naming conflicts: -``` -import { ApiModule } from 'my-api-path'; -import { ApiModule as OtherApiModule } from 'my-other-api-path'; -import { HttpClientModule } from '@angular/common/http'; - -@NgModule({ - imports: [ - ApiModule, - OtherApiModule, - // make sure to import the HttpClientModule in the AppModule only, - // see https://github.com/angular/angular/issues/20575 - HttpClientModule - ] -}) -export class AppModule { - -} -``` - - -### Set service base path -If different than the generated base path, during app bootstrap, you can provide the base path to your service. - -``` -import { BASE_PATH } from ''; - -bootstrap(AppComponent, [ - { provide: BASE_PATH, useValue: 'https://your-web-service.com' }, -]); -``` -or - -``` -import { BASE_PATH } from ''; - -@NgModule({ - imports: [], - declarations: [ AppComponent ], - providers: [ provide: BASE_PATH, useValue: 'https://your-web-service.com' ], - bootstrap: [ AppComponent ] -}) -export class AppModule {} -``` - - -#### Using @angular/cli -First extend your `src/environments/*.ts` files by adding the corresponding base path: - -``` -export const environment = { - production: false, - API_BASE_PATH: 'http://127.0.0.1:8080' -}; -``` - -In the src/app/app.module.ts: -``` -import { BASE_PATH } from ''; -import { environment } from '../environments/environment'; - -@NgModule({ - declarations: [ - AppComponent - ], - imports: [ ], - providers: [{ provide: BASE_PATH, useValue: environment.API_BASE_PATH }], - bootstrap: [ AppComponent ] -}) -export class AppModule { } -``` diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api.module.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api.module.ts deleted file mode 100644 index 2afb8f64e9..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api.module.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; -import { Configuration } from './configuration'; -import { HttpClient } from '@angular/common/http'; - -import { PetService } from './api/pet.service'; -import { StoreService } from './api/store.service'; -import { UserService } from './api/user.service'; - -@NgModule({ - imports: [], - declarations: [], - exports: [], - providers: [] -}) -export class ApiModule { - public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders { - return { - ngModule: ApiModule, - providers: [ { provide: Configuration, useFactory: configurationFactory } ] - }; - } - - constructor( @Optional() @SkipSelf() parentModule: ApiModule, - @Optional() http: HttpClient) { - if (parentModule) { - throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); - } - if (!http) { - throw new Error('You need to import the HttpClientModule in your AppModule! \n' + - 'See also https://github.com/angular/angular/issues/20575'); - } - } -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api/api.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api/api.ts deleted file mode 100644 index 8e44b64083..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api/api.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './pet.service'; -import { PetService } from './pet.service'; -export * from './store.service'; -import { StoreService } from './store.service'; -export * from './user.service'; -import { UserService } from './user.service'; -export const APIS = [PetService, StoreService, UserService]; diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api/pet.service.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api/pet.service.ts deleted file mode 100644 index e7a21a8ff1..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api/pet.service.ts +++ /dev/null @@ -1,672 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/* tslint:disable:no-unused-variable member-ordering */ - -import { Inject, Injectable, Optional } from '@angular/core'; -import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec - } from '@angular/common/http'; -import { CustomHttpParameterCodec } from '../encoder'; -import { Observable } from 'rxjs'; - -// @ts-ignore -import { ApiResponse } from '../model/apiResponse'; -// @ts-ignore -import { Pet } from '../model/pet'; - -// @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; - - - -@Injectable({ - providedIn: 'root' -}) -export class PetService { - - protected basePath = 'http://petstore.swagger.io/v2'; - public defaultHeaders = new HttpHeaders(); - public configuration = new Configuration(); - public encoder: HttpParameterCodec; - - constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { - if (configuration) { - this.configuration = configuration; - } - if (typeof this.configuration.basePath !== 'string') { - if (typeof basePath !== 'string') { - basePath = this.basePath; - } - this.configuration.basePath = basePath; - } - this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); - } - - /** - * @param consumes string[] mime-types - * @return true: consumes contains 'multipart/form-data', false: otherwise - */ - private canConsumeForm(consumes: string[]): boolean { - const form = 'multipart/form-data'; - for (const consume of consumes) { - if (form === consume) { - return true; - } - } - return false; - } - - private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { - if (typeof value === "object" && value instanceof Date === false) { - httpParams = this.addToHttpParamsRecursive(httpParams, value); - } else { - httpParams = this.addToHttpParamsRecursive(httpParams, value, key); - } - return httpParams; - } - - private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { - if (value == null) { - return httpParams; - } - - if (typeof value === "object") { - if (Array.isArray(value)) { - (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); - } else if (value instanceof Date) { - if (key != null) { - httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10)); - } else { - throw Error("key may not be null if value is Date"); - } - } else { - Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( - httpParams, value[k], key != null ? `${key}.${k}` : k)); - } - } else if (key != null) { - httpParams = httpParams.append(key, value); - } else { - throw Error("key may not be null if value is not object or array"); - } - return httpParams; - } - - /** - * Add a new pet to the store - * @param body Pet object that needs to be added to the store - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public addPet(body: Pet, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public addPet(body: Pet, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public addPet(body: Pet, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public addPet(body: Pet, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling addPet.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/json', - 'application/xml' - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/pet`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Deletes a pet - * @param petId Pet id to delete - * @param apiKey - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public deletePet(petId: number, apiKey?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deletePet(petId: number, apiKey?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deletePet(petId: number, apiKey?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deletePet(petId: number, apiKey?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling deletePet.'); - } - - let localVarHeaders = this.defaultHeaders; - if (apiKey !== undefined && apiKey !== null) { - localVarHeaders = localVarHeaders.set('api_key', String(apiKey)); - } - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.delete(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Finds Pets by status - * Multiple status values can be provided with comma separated strings - * @param status Status values that need to be considered for filter - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (status === null || status === undefined) { - throw new Error('Required parameter status was null or undefined when calling findPetsByStatus.'); - } - - let localVarQueryParameters = new HttpParams({encoder: this.encoder}); - if (status) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - status.join(COLLECTION_FORMATS['csv']), 'status'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get>(`${this.configuration.basePath}/pet/findByStatus`, - { - params: localVarQueryParameters, - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Finds Pets by tags - * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. - * @param tags Tags to filter by - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - * @deprecated - */ - public findPetsByTags(tags: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public findPetsByTags(tags: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByTags(tags: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByTags(tags: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (tags === null || tags === undefined) { - throw new Error('Required parameter tags was null or undefined when calling findPetsByTags.'); - } - - let localVarQueryParameters = new HttpParams({encoder: this.encoder}); - if (tags) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - tags.join(COLLECTION_FORMATS['csv']), 'tags'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get>(`${this.configuration.basePath}/pet/findByTags`, - { - params: localVarQueryParameters, - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Find pet by ID - * Returns a single pet - * @param petId ID of pet to return - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getPetById(petId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getPetById(petId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getPetById(petId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getPetById(petId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling getPetById.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (api_key) required - localVarCredential = this.configuration.lookupCredential('api_key'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('api_key', localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Update an existing pet - * @param body Pet object that needs to be added to the store - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public updatePet(body: Pet, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updatePet(body: Pet, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePet(body: Pet, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePet(body: Pet, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling updatePet.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/json', - 'application/xml' - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.put(`${this.configuration.basePath}/pet`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Updates a pet in the store with form data - * @param petId ID of pet that needs to be updated - * @param name Updated name of the pet - * @param status Updated status of the pet - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePetWithForm(petId: number, name?: string, status?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling updatePetWithForm.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/x-www-form-urlencoded' - ]; - - const canConsumeForm = this.canConsumeForm(consumes); - - let localVarFormParams: { append(param: string, value: any): any; }; - let localVarUseForm = false; - let localVarConvertFormParamsToString = false; - if (localVarUseForm) { - localVarFormParams = new FormData(); - } else { - localVarFormParams = new HttpParams({encoder: this.encoder}); - } - - if (name !== undefined) { - localVarFormParams = localVarFormParams.append('name', name) as any || localVarFormParams; - } - if (status !== undefined) { - localVarFormParams = localVarFormParams.append('status', status) as any || localVarFormParams; - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, - localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * uploads an image - * @param petId ID of pet to update - * @param additionalMetadata Additional data to pass to server - * @param file file to upload - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json',}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling uploadFile.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - // to determine the Content-Type header - const consumes: string[] = [ - 'multipart/form-data' - ]; - - const canConsumeForm = this.canConsumeForm(consumes); - - let localVarFormParams: { append(param: string, value: any): any; }; - let localVarUseForm = false; - let localVarConvertFormParamsToString = false; - // use FormData to transmit files using content-type "multipart/form-data" - // see https://stackoverflow.com/questions/4007969/application-x-www-form-urlencoded-or-multipart-form-data - localVarUseForm = canConsumeForm; - if (localVarUseForm) { - localVarFormParams = new FormData(); - } else { - localVarFormParams = new HttpParams({encoder: this.encoder}); - } - - if (additionalMetadata !== undefined) { - localVarFormParams = localVarFormParams.append('additionalMetadata', additionalMetadata) as any || localVarFormParams; - } - if (file !== undefined) { - localVarFormParams = localVarFormParams.append('file', file) as any || localVarFormParams; - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}/uploadImage`, - localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api/store.service.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api/store.service.ts deleted file mode 100644 index 942714e216..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api/store.service.ts +++ /dev/null @@ -1,313 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/* tslint:disable:no-unused-variable member-ordering */ - -import { Inject, Injectable, Optional } from '@angular/core'; -import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec - } from '@angular/common/http'; -import { CustomHttpParameterCodec } from '../encoder'; -import { Observable } from 'rxjs'; - -// @ts-ignore -import { Order } from '../model/order'; - -// @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; - - - -@Injectable({ - providedIn: 'root' -}) -export class StoreService { - - protected basePath = 'http://petstore.swagger.io/v2'; - public defaultHeaders = new HttpHeaders(); - public configuration = new Configuration(); - public encoder: HttpParameterCodec; - - constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { - if (configuration) { - this.configuration = configuration; - } - if (typeof this.configuration.basePath !== 'string') { - if (typeof basePath !== 'string') { - basePath = this.basePath; - } - this.configuration.basePath = basePath; - } - this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); - } - - - private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { - if (typeof value === "object" && value instanceof Date === false) { - httpParams = this.addToHttpParamsRecursive(httpParams, value); - } else { - httpParams = this.addToHttpParamsRecursive(httpParams, value, key); - } - return httpParams; - } - - private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { - if (value == null) { - return httpParams; - } - - if (typeof value === "object") { - if (Array.isArray(value)) { - (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); - } else if (value instanceof Date) { - if (key != null) { - httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10)); - } else { - throw Error("key may not be null if value is Date"); - } - } else { - Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( - httpParams, value[k], key != null ? `${key}.${k}` : k)); - } - } else if (key != null) { - httpParams = httpParams.append(key, value); - } else { - throw Error("key may not be null if value is not object or array"); - } - return httpParams; - } - - /** - * Delete purchase order by ID - * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - * @param orderId ID of the order that needs to be deleted - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public deleteOrder(orderId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deleteOrder(orderId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteOrder(orderId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteOrder(orderId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (orderId === null || orderId === undefined) { - throw new Error('Required parameter orderId was null or undefined when calling deleteOrder.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.delete(`${this.configuration.basePath}/store/order/${encodeURIComponent(String(orderId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Returns pet inventories by status - * Returns a map of status codes to quantities - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getInventory(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable<{ [key: string]: number; }>; - public getInventory(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public getInventory(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public getInventory(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json',}): Observable { - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (api_key) required - localVarCredential = this.configuration.lookupCredential('api_key'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('api_key', localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get<{ [key: string]: number; }>(`${this.configuration.basePath}/store/inventory`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Find purchase order by ID - * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions - * @param orderId ID of pet that needs to be fetched - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getOrderById(orderId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getOrderById(orderId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getOrderById(orderId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getOrderById(orderId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (orderId === null || orderId === undefined) { - throw new Error('Required parameter orderId was null or undefined when calling getOrderById.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/store/order/${encodeURIComponent(String(orderId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Place an order for a pet - * @param body order placed for purchasing the pet - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public placeOrder(body: Order, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public placeOrder(body: Order, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public placeOrder(body: Order, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public placeOrder(body: Order, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling placeOrder.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/store/order`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api/user.service.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api/user.service.ts deleted file mode 100644 index 2a3277c524..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/api/user.service.ts +++ /dev/null @@ -1,555 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/* tslint:disable:no-unused-variable member-ordering */ - -import { Inject, Injectable, Optional } from '@angular/core'; -import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec - } from '@angular/common/http'; -import { CustomHttpParameterCodec } from '../encoder'; -import { Observable } from 'rxjs'; - -// @ts-ignore -import { User } from '../model/user'; - -// @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; - - - -@Injectable({ - providedIn: 'root' -}) -export class UserService { - - protected basePath = 'http://petstore.swagger.io/v2'; - public defaultHeaders = new HttpHeaders(); - public configuration = new Configuration(); - public encoder: HttpParameterCodec; - - constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { - if (configuration) { - this.configuration = configuration; - } - if (typeof this.configuration.basePath !== 'string') { - if (typeof basePath !== 'string') { - basePath = this.basePath; - } - this.configuration.basePath = basePath; - } - this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); - } - - - private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { - if (typeof value === "object" && value instanceof Date === false) { - httpParams = this.addToHttpParamsRecursive(httpParams, value); - } else { - httpParams = this.addToHttpParamsRecursive(httpParams, value, key); - } - return httpParams; - } - - private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { - if (value == null) { - return httpParams; - } - - if (typeof value === "object") { - if (Array.isArray(value)) { - (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); - } else if (value instanceof Date) { - if (key != null) { - httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10)); - } else { - throw Error("key may not be null if value is Date"); - } - } else { - Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( - httpParams, value[k], key != null ? `${key}.${k}` : k)); - } - } else if (key != null) { - httpParams = httpParams.append(key, value); - } else { - throw Error("key may not be null if value is not object or array"); - } - return httpParams; - } - - /** - * Create user - * This can only be done by the logged in user. - * @param body Created user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public createUser(body: User, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUser(body: User, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUser(body: User, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUser(body: User, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling createUser.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/user`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Creates list of users with given input array - * @param body List of user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public createUsersWithArrayInput(body: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUsersWithArrayInput(body: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithArrayInput(body: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithArrayInput(body: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling createUsersWithArrayInput.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/user/createWithArray`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Creates list of users with given input array - * @param body List of user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public createUsersWithListInput(body: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUsersWithListInput(body: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithListInput(body: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithListInput(body: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling createUsersWithListInput.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/user/createWithList`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Delete user - * This can only be done by the logged in user. - * @param username The name that needs to be deleted - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public deleteUser(username: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deleteUser(username: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteUser(username: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteUser(username: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling deleteUser.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.delete(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Get user by user name - * @param username The name that needs to be fetched. Use user1 for testing. - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getUserByName(username: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getUserByName(username: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getUserByName(username: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getUserByName(username: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling getUserByName.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Logs user into the system - * @param username The user name for login - * @param password The password for login in clear text - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public loginUser(username: string, password: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public loginUser(username: string, password: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public loginUser(username: string, password: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public loginUser(username: string, password: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling loginUser.'); - } - if (password === null || password === undefined) { - throw new Error('Required parameter password was null or undefined when calling loginUser.'); - } - - let localVarQueryParameters = new HttpParams({encoder: this.encoder}); - if (username !== undefined && username !== null) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - username, 'username'); - } - if (password !== undefined && password !== null) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - password, 'password'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/user/login`, - { - params: localVarQueryParameters, - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Logs out current logged in user session - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public logoutUser(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public logoutUser(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public logoutUser(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public logoutUser(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/user/logout`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Updated user - * This can only be done by the logged in user. - * @param username name that need to be deleted - * @param body Updated user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public updateUser(username: string, body: User, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updateUser(username: string, body: User, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updateUser(username: string, body: User, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updateUser(username: string, body: User, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling updateUser.'); - } - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling updateUser.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.put(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/configuration.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/configuration.ts deleted file mode 100644 index 6fc0f80d97..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/configuration.ts +++ /dev/null @@ -1,141 +0,0 @@ -import { HttpParameterCodec } from '@angular/common/http'; - -export interface ConfigurationParameters { - /** - * @deprecated Since 5.0. Use credentials instead - */ - apiKeys?: {[ key: string ]: string}; - username?: string; - password?: string; - /** - * @deprecated Since 5.0. Use credentials instead - */ - accessToken?: string | (() => string); - basePath?: string; - withCredentials?: boolean; - encoder?: HttpParameterCodec; - /** - * The keys are the names in the securitySchemes section of the OpenAPI - * document. They should map to the value used for authentication - * minus any standard prefixes such as 'Basic' or 'Bearer'. - */ - credentials?: {[ key: string ]: string | (() => string | undefined)}; -} - -export class Configuration { - /** - * @deprecated Since 5.0. Use credentials instead - */ - apiKeys?: {[ key: string ]: string}; - username?: string; - password?: string; - /** - * @deprecated Since 5.0. Use credentials instead - */ - accessToken?: string | (() => string); - basePath?: string; - withCredentials?: boolean; - encoder?: HttpParameterCodec; - /** - * The keys are the names in the securitySchemes section of the OpenAPI - * document. They should map to the value used for authentication - * minus any standard prefixes such as 'Basic' or 'Bearer'. - */ - credentials: {[ key: string ]: string | (() => string | undefined)}; - - constructor(configurationParameters: ConfigurationParameters = {}) { - this.apiKeys = configurationParameters.apiKeys; - this.username = configurationParameters.username; - this.password = configurationParameters.password; - this.accessToken = configurationParameters.accessToken; - this.basePath = configurationParameters.basePath; - this.withCredentials = configurationParameters.withCredentials; - this.encoder = configurationParameters.encoder; - if (configurationParameters.credentials) { - this.credentials = configurationParameters.credentials; - } - else { - this.credentials = {}; - } - - // init default api_key credential - if (!this.credentials['api_key']) { - this.credentials['api_key'] = () => { - if (this.apiKeys === null || this.apiKeys === undefined) { - return undefined; - } else { - return this.apiKeys['api_key'] || this.apiKeys['api_key']; - } - }; - } - - // init default petstore_auth credential - if (!this.credentials['petstore_auth']) { - this.credentials['petstore_auth'] = () => { - return typeof this.accessToken === 'function' - ? this.accessToken() - : this.accessToken; - }; - } - } - - /** - * Select the correct content-type to use for a request. - * Uses {@link Configuration#isJsonMime} to determine the correct content-type. - * If no content type is found return the first found type if the contentTypes is not empty - * @param contentTypes - the array of content types that are available for selection - * @returns the selected content-type or undefined if no selection could be made. - */ - public selectHeaderContentType (contentTypes: string[]): string | undefined { - if (contentTypes.length === 0) { - return undefined; - } - - const type = contentTypes.find((x: string) => this.isJsonMime(x)); - if (type === undefined) { - return contentTypes[0]; - } - return type; - } - - /** - * Select the correct accept content-type to use for a request. - * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type. - * If no content type is found return the first found type if the contentTypes is not empty - * @param accepts - the array of content types that are available for selection. - * @returns the selected content-type or undefined if no selection could be made. - */ - public selectHeaderAccept(accepts: string[]): string | undefined { - if (accepts.length === 0) { - return undefined; - } - - const type = accepts.find((x: string) => this.isJsonMime(x)); - if (type === undefined) { - return accepts[0]; - } - return type; - } - - /** - * Check if the given MIME is a JSON MIME. - * JSON MIME examples: - * application/json - * application/json; charset=UTF8 - * APPLICATION/JSON - * application/vnd.company+json - * @param mime - MIME (Multipurpose Internet Mail Extensions) - * @return True if the given MIME is JSON, false otherwise. - */ - public isJsonMime(mime: string): boolean { - const jsonMime: RegExp = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i'); - return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json'); - } - - public lookupCredential(key: string): string | undefined { - const value = this.credentials[key]; - return typeof value === 'function' - ? value() - : value; - } -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/encoder.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/encoder.ts deleted file mode 100644 index 138c4d5cf2..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/encoder.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { HttpParameterCodec } from '@angular/common/http'; - -/** - * Custom HttpParameterCodec - * Workaround for https://github.com/angular/angular/issues/18261 - */ -export class CustomHttpParameterCodec implements HttpParameterCodec { - encodeKey(k: string): string { - return encodeURIComponent(k); - } - encodeValue(v: string): string { - return encodeURIComponent(v); - } - decodeKey(k: string): string { - return decodeURIComponent(k); - } - decodeValue(v: string): string { - return decodeURIComponent(v); - } -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/git_push.sh b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/git_push.sh deleted file mode 100644 index f53a75d4fa..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/git_push.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ -# -# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" - -git_user_id=$1 -git_repo_id=$2 -release_note=$3 -git_host=$4 - -if [ "$git_host" = "" ]; then - git_host="github.com" - echo "[INFO] No command line input provided. Set \$git_host to $git_host" -fi - -if [ "$git_user_id" = "" ]; then - git_user_id="GIT_USER_ID" - echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" -fi - -if [ "$git_repo_id" = "" ]; then - git_repo_id="GIT_REPO_ID" - echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" -fi - -if [ "$release_note" = "" ]; then - release_note="Minor update" - echo "[INFO] No command line input provided. Set \$release_note to $release_note" -fi - -# Initialize the local directory as a Git repository -git init - -# Adds the files in the local repository and stages them for commit. -git add . - -# Commits the tracked changes and prepares them to be pushed to a remote repository. -git commit -m "$release_note" - -# Sets the new remote -git_remote=$(git remote) -if [ "$git_remote" = "" ]; then # git remote not defined - - if [ "$GIT_TOKEN" = "" ]; then - echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." - git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git - else - git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git - fi - -fi - -git pull origin master - -# Pushes (Forces) the changes in the local repository up to the remote repository -echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" -git push origin master 2>&1 | grep -v 'To https' diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/index.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/index.ts deleted file mode 100644 index c312b70fa3..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from './api/api'; -export * from './model/models'; -export * from './variables'; -export * from './configuration'; -export * from './api.module'; \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/apiResponse.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/apiResponse.ts deleted file mode 100644 index 682ba47892..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/apiResponse.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * Describes the result of uploading an image resource - */ -export interface ApiResponse { - code?: number; - type?: string; - message?: string; -} - diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/category.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/category.ts deleted file mode 100644 index b988b6827a..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/category.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * A category for a pet - */ -export interface Category { - id?: number; - name?: string; -} - diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/models.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/models.ts deleted file mode 100644 index 8607c5dabd..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/models.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from './apiResponse'; -export * from './category'; -export * from './order'; -export * from './pet'; -export * from './tag'; -export * from './user'; diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/order.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/order.ts deleted file mode 100644 index a29bebe490..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/order.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * An order for a pets from the pet store - */ -export interface Order { - id?: number; - petId?: number; - quantity?: number; - shipDate?: string; - /** - * Order Status - */ - status?: Order.StatusEnum; - complete?: boolean; -} -export namespace Order { - export type StatusEnum = 'placed' | 'approved' | 'delivered'; - export const StatusEnum = { - Placed: 'placed' as StatusEnum, - Approved: 'approved' as StatusEnum, - Delivered: 'delivered' as StatusEnum - }; -} - - diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/pet.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/pet.ts deleted file mode 100644 index e0404395f9..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/pet.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { Category } from './category'; -import { Tag } from './tag'; - - -/** - * A pet for sale in the pet store - */ -export interface Pet { - id?: number; - category?: Category; - name: string; - photoUrls: Array; - tags?: Array; - /** - * pet status in the store - */ - status?: Pet.StatusEnum; -} -export namespace Pet { - export type StatusEnum = 'available' | 'pending' | 'sold'; - export const StatusEnum = { - Available: 'available' as StatusEnum, - Pending: 'pending' as StatusEnum, - Sold: 'sold' as StatusEnum - }; -} - - diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/tag.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/tag.ts deleted file mode 100644 index b6ff210e8d..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/tag.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * A tag for a pet - */ -export interface Tag { - id?: number; - name?: string; -} - diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/user.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/user.ts deleted file mode 100644 index fce5100530..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/model/user.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * A User who is purchasing from the pet store - */ -export interface User { - id?: number; - username?: string; - firstName?: string; - lastName?: string; - email?: string; - password?: string; - phone?: string; - /** - * User Status - */ - userStatus?: number; -} - diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/variables.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/variables.ts deleted file mode 100644 index 6fe58549f3..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/default/variables.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { InjectionToken } from '@angular/core'; - -export const BASE_PATH = new InjectionToken('basePath'); -export const COLLECTION_FORMATS = { - 'csv': ',', - 'tsv': ' ', - 'ssv': ' ', - 'pipes': '|' -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.gitignore b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.gitignore deleted file mode 100644 index 149b576547..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -wwwroot/*.js -node_modules -typings -dist diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.openapi-generator-ignore b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.openapi-generator-ignore deleted file mode 100644 index 7484ee590a..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.openapi-generator-ignore +++ /dev/null @@ -1,23 +0,0 @@ -# OpenAPI Generator Ignore -# Generated by openapi-generator https://github.com/openapitools/openapi-generator - -# Use this file to prevent files from being overwritten by the generator. -# The patterns follow closely to .gitignore or .dockerignore. - -# As an example, the C# client generator defines ApiClient.cs. -# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: -#ApiClient.cs - -# You can match any string of characters against a directory, file or extension with a single asterisk (*): -#foo/*/qux -# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux - -# You can recursively match patterns against a directory, file or extension with a double asterisk (**): -#foo/**/qux -# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux - -# You can also negate patterns with an exclamation (!). -# For example, you can ignore all files in a docs folder with the file extension .md: -#docs/*.md -# Then explicitly reverse the ignore rule for a single file: -#!docs/README.md diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.openapi-generator/FILES deleted file mode 100644 index 5db7bd7636..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.openapi-generator/FILES +++ /dev/null @@ -1,22 +0,0 @@ -.gitignore -README.md -api.module.ts -api/api.ts -api/pet.service.ts -api/store.service.ts -api/user.service.ts -configuration.ts -encoder.ts -git_push.sh -index.ts -model/apiResponse.ts -model/category.ts -model/models.ts -model/order.ts -model/pet.ts -model/tag.ts -model/user.ts -ng-package.json -package.json -tsconfig.json -variables.ts diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.openapi-generator/VERSION deleted file mode 100644 index 89648de331..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/.openapi-generator/VERSION +++ /dev/null @@ -1 +0,0 @@ -6.0.1-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/README.md b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/README.md deleted file mode 100644 index 000c51d694..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/README.md +++ /dev/null @@ -1,203 +0,0 @@ -## @openapitools/typescript-angular-petstore@1.0.0 - -### Building - -To install the required dependencies and to build the typescript sources run: -``` -npm install -npm run build -``` - -### publishing - -First build the package then run ```npm publish dist``` (don't forget to specify the `dist` folder!) - -### consuming - -Navigate to the folder of your consuming project and run one of next commands. - -_published:_ - -``` -npm install @openapitools/typescript-angular-petstore@1.0.0 --save -``` - -_without publishing (not recommended):_ - -``` -npm install PATH_TO_GENERATED_PACKAGE/dist.tgz --save -``` - -_It's important to take the tgz file, otherwise you'll get trouble with links on windows_ - -_using `npm link`:_ - -In PATH_TO_GENERATED_PACKAGE/dist: -``` -npm link -``` - -In your project: -``` -npm link @openapitools/typescript-angular-petstore -``` - -__Note for Windows users:__ The Angular CLI has troubles to use linked npm packages. -Please refer to this issue https://github.com/angular/angular-cli/issues/8284 for a solution / workaround. -Published packages are not effected by this issue. - - -#### General usage - -In your Angular project: - - -``` -// without configuring providers -import { ApiModule } from '@openapitools/typescript-angular-petstore'; -import { HttpClientModule } from '@angular/common/http'; - -@NgModule({ - imports: [ - ApiModule, - // make sure to import the HttpClientModule in the AppModule only, - // see https://github.com/angular/angular/issues/20575 - HttpClientModule - ], - declarations: [ AppComponent ], - providers: [], - bootstrap: [ AppComponent ] -}) -export class AppModule {} -``` - -``` -// configuring providers -import { ApiModule, Configuration, ConfigurationParameters } from '@openapitools/typescript-angular-petstore'; - -export function apiConfigFactory (): Configuration { - const params: ConfigurationParameters = { - // set configuration parameters here. - } - return new Configuration(params); -} - -@NgModule({ - imports: [ ApiModule.forRoot(apiConfigFactory) ], - declarations: [ AppComponent ], - providers: [], - bootstrap: [ AppComponent ] -}) -export class AppModule {} -``` - -``` -// configuring providers with an authentication service that manages your access tokens -import { ApiModule, Configuration } from '@openapitools/typescript-angular-petstore'; - -@NgModule({ - imports: [ ApiModule ], - declarations: [ AppComponent ], - providers: [ - { - provide: Configuration, - useFactory: (authService: AuthService) => new Configuration( - { - basePath: environment.apiUrl, - accessToken: authService.getAccessToken.bind(authService) - } - ), - deps: [AuthService], - multi: false - } - ], - bootstrap: [ AppComponent ] -}) -export class AppModule {} -``` - -``` -import { DefaultApi } from '@openapitools/typescript-angular-petstore'; - -export class AppComponent { - constructor(private apiGateway: DefaultApi) { } -} -``` - -Note: The ApiModule is restricted to being instantiated once app wide. -This is to ensure that all services are treated as singletons. - -#### Using multiple OpenAPI files / APIs / ApiModules -In order to use multiple `ApiModules` generated from different OpenAPI files, -you can create an alias name when importing the modules -in order to avoid naming conflicts: -``` -import { ApiModule } from 'my-api-path'; -import { ApiModule as OtherApiModule } from 'my-other-api-path'; -import { HttpClientModule } from '@angular/common/http'; - -@NgModule({ - imports: [ - ApiModule, - OtherApiModule, - // make sure to import the HttpClientModule in the AppModule only, - // see https://github.com/angular/angular/issues/20575 - HttpClientModule - ] -}) -export class AppModule { - -} -``` - - -### Set service base path -If different than the generated base path, during app bootstrap, you can provide the base path to your service. - -``` -import { BASE_PATH } from '@openapitools/typescript-angular-petstore'; - -bootstrap(AppComponent, [ - { provide: BASE_PATH, useValue: 'https://your-web-service.com' }, -]); -``` -or - -``` -import { BASE_PATH } from '@openapitools/typescript-angular-petstore'; - -@NgModule({ - imports: [], - declarations: [ AppComponent ], - providers: [ provide: BASE_PATH, useValue: 'https://your-web-service.com' ], - bootstrap: [ AppComponent ] -}) -export class AppModule {} -``` - - -#### Using @angular/cli -First extend your `src/environments/*.ts` files by adding the corresponding base path: - -``` -export const environment = { - production: false, - API_BASE_PATH: 'http://127.0.0.1:8080' -}; -``` - -In the src/app/app.module.ts: -``` -import { BASE_PATH } from '@openapitools/typescript-angular-petstore'; -import { environment } from '../environments/environment'; - -@NgModule({ - declarations: [ - AppComponent - ], - imports: [ ], - providers: [{ provide: BASE_PATH, useValue: environment.API_BASE_PATH }], - bootstrap: [ AppComponent ] -}) -export class AppModule { } -``` diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api.module.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api.module.ts deleted file mode 100644 index 2afb8f64e9..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api.module.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; -import { Configuration } from './configuration'; -import { HttpClient } from '@angular/common/http'; - -import { PetService } from './api/pet.service'; -import { StoreService } from './api/store.service'; -import { UserService } from './api/user.service'; - -@NgModule({ - imports: [], - declarations: [], - exports: [], - providers: [] -}) -export class ApiModule { - public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders { - return { - ngModule: ApiModule, - providers: [ { provide: Configuration, useFactory: configurationFactory } ] - }; - } - - constructor( @Optional() @SkipSelf() parentModule: ApiModule, - @Optional() http: HttpClient) { - if (parentModule) { - throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); - } - if (!http) { - throw new Error('You need to import the HttpClientModule in your AppModule! \n' + - 'See also https://github.com/angular/angular/issues/20575'); - } - } -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api/api.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api/api.ts deleted file mode 100644 index 8e44b64083..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api/api.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './pet.service'; -import { PetService } from './pet.service'; -export * from './store.service'; -import { StoreService } from './store.service'; -export * from './user.service'; -import { UserService } from './user.service'; -export const APIS = [PetService, StoreService, UserService]; diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api/pet.service.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api/pet.service.ts deleted file mode 100644 index e7a21a8ff1..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api/pet.service.ts +++ /dev/null @@ -1,672 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/* tslint:disable:no-unused-variable member-ordering */ - -import { Inject, Injectable, Optional } from '@angular/core'; -import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec - } from '@angular/common/http'; -import { CustomHttpParameterCodec } from '../encoder'; -import { Observable } from 'rxjs'; - -// @ts-ignore -import { ApiResponse } from '../model/apiResponse'; -// @ts-ignore -import { Pet } from '../model/pet'; - -// @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; - - - -@Injectable({ - providedIn: 'root' -}) -export class PetService { - - protected basePath = 'http://petstore.swagger.io/v2'; - public defaultHeaders = new HttpHeaders(); - public configuration = new Configuration(); - public encoder: HttpParameterCodec; - - constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { - if (configuration) { - this.configuration = configuration; - } - if (typeof this.configuration.basePath !== 'string') { - if (typeof basePath !== 'string') { - basePath = this.basePath; - } - this.configuration.basePath = basePath; - } - this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); - } - - /** - * @param consumes string[] mime-types - * @return true: consumes contains 'multipart/form-data', false: otherwise - */ - private canConsumeForm(consumes: string[]): boolean { - const form = 'multipart/form-data'; - for (const consume of consumes) { - if (form === consume) { - return true; - } - } - return false; - } - - private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { - if (typeof value === "object" && value instanceof Date === false) { - httpParams = this.addToHttpParamsRecursive(httpParams, value); - } else { - httpParams = this.addToHttpParamsRecursive(httpParams, value, key); - } - return httpParams; - } - - private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { - if (value == null) { - return httpParams; - } - - if (typeof value === "object") { - if (Array.isArray(value)) { - (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); - } else if (value instanceof Date) { - if (key != null) { - httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10)); - } else { - throw Error("key may not be null if value is Date"); - } - } else { - Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( - httpParams, value[k], key != null ? `${key}.${k}` : k)); - } - } else if (key != null) { - httpParams = httpParams.append(key, value); - } else { - throw Error("key may not be null if value is not object or array"); - } - return httpParams; - } - - /** - * Add a new pet to the store - * @param body Pet object that needs to be added to the store - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public addPet(body: Pet, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public addPet(body: Pet, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public addPet(body: Pet, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public addPet(body: Pet, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling addPet.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/json', - 'application/xml' - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/pet`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Deletes a pet - * @param petId Pet id to delete - * @param apiKey - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public deletePet(petId: number, apiKey?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deletePet(petId: number, apiKey?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deletePet(petId: number, apiKey?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deletePet(petId: number, apiKey?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling deletePet.'); - } - - let localVarHeaders = this.defaultHeaders; - if (apiKey !== undefined && apiKey !== null) { - localVarHeaders = localVarHeaders.set('api_key', String(apiKey)); - } - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.delete(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Finds Pets by status - * Multiple status values can be provided with comma separated strings - * @param status Status values that need to be considered for filter - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (status === null || status === undefined) { - throw new Error('Required parameter status was null or undefined when calling findPetsByStatus.'); - } - - let localVarQueryParameters = new HttpParams({encoder: this.encoder}); - if (status) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - status.join(COLLECTION_FORMATS['csv']), 'status'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get>(`${this.configuration.basePath}/pet/findByStatus`, - { - params: localVarQueryParameters, - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Finds Pets by tags - * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. - * @param tags Tags to filter by - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - * @deprecated - */ - public findPetsByTags(tags: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public findPetsByTags(tags: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByTags(tags: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>>; - public findPetsByTags(tags: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (tags === null || tags === undefined) { - throw new Error('Required parameter tags was null or undefined when calling findPetsByTags.'); - } - - let localVarQueryParameters = new HttpParams({encoder: this.encoder}); - if (tags) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - tags.join(COLLECTION_FORMATS['csv']), 'tags'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get>(`${this.configuration.basePath}/pet/findByTags`, - { - params: localVarQueryParameters, - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Find pet by ID - * Returns a single pet - * @param petId ID of pet to return - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getPetById(petId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getPetById(petId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getPetById(petId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getPetById(petId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling getPetById.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (api_key) required - localVarCredential = this.configuration.lookupCredential('api_key'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('api_key', localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Update an existing pet - * @param body Pet object that needs to be added to the store - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public updatePet(body: Pet, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updatePet(body: Pet, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePet(body: Pet, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePet(body: Pet, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling updatePet.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/json', - 'application/xml' - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.put(`${this.configuration.basePath}/pet`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Updates a pet in the store with form data - * @param petId ID of pet that needs to be updated - * @param name Updated name of the pet - * @param status Updated status of the pet - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePetWithForm(petId: number, name?: string, status?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updatePetWithForm(petId: number, name?: string, status?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling updatePetWithForm.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/x-www-form-urlencoded' - ]; - - const canConsumeForm = this.canConsumeForm(consumes); - - let localVarFormParams: { append(param: string, value: any): any; }; - let localVarUseForm = false; - let localVarConvertFormParamsToString = false; - if (localVarUseForm) { - localVarFormParams = new FormData(); - } else { - localVarFormParams = new HttpParams({encoder: this.encoder}); - } - - if (name !== undefined) { - localVarFormParams = localVarFormParams.append('name', name) as any || localVarFormParams; - } - if (status !== undefined) { - localVarFormParams = localVarFormParams.append('status', status) as any || localVarFormParams; - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}`, - localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * uploads an image - * @param petId ID of pet to update - * @param additionalMetadata Additional data to pass to server - * @param file file to upload - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public uploadFile(petId: number, additionalMetadata?: string, file?: Blob, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json',}): Observable { - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling uploadFile.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (petstore_auth) required - localVarCredential = this.configuration.lookupCredential('petstore_auth'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - // to determine the Content-Type header - const consumes: string[] = [ - 'multipart/form-data' - ]; - - const canConsumeForm = this.canConsumeForm(consumes); - - let localVarFormParams: { append(param: string, value: any): any; }; - let localVarUseForm = false; - let localVarConvertFormParamsToString = false; - // use FormData to transmit files using content-type "multipart/form-data" - // see https://stackoverflow.com/questions/4007969/application-x-www-form-urlencoded-or-multipart-form-data - localVarUseForm = canConsumeForm; - if (localVarUseForm) { - localVarFormParams = new FormData(); - } else { - localVarFormParams = new HttpParams({encoder: this.encoder}); - } - - if (additionalMetadata !== undefined) { - localVarFormParams = localVarFormParams.append('additionalMetadata', additionalMetadata) as any || localVarFormParams; - } - if (file !== undefined) { - localVarFormParams = localVarFormParams.append('file', file) as any || localVarFormParams; - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/pet/${encodeURIComponent(String(petId))}/uploadImage`, - localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api/store.service.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api/store.service.ts deleted file mode 100644 index 942714e216..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api/store.service.ts +++ /dev/null @@ -1,313 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/* tslint:disable:no-unused-variable member-ordering */ - -import { Inject, Injectable, Optional } from '@angular/core'; -import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec - } from '@angular/common/http'; -import { CustomHttpParameterCodec } from '../encoder'; -import { Observable } from 'rxjs'; - -// @ts-ignore -import { Order } from '../model/order'; - -// @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; - - - -@Injectable({ - providedIn: 'root' -}) -export class StoreService { - - protected basePath = 'http://petstore.swagger.io/v2'; - public defaultHeaders = new HttpHeaders(); - public configuration = new Configuration(); - public encoder: HttpParameterCodec; - - constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { - if (configuration) { - this.configuration = configuration; - } - if (typeof this.configuration.basePath !== 'string') { - if (typeof basePath !== 'string') { - basePath = this.basePath; - } - this.configuration.basePath = basePath; - } - this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); - } - - - private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { - if (typeof value === "object" && value instanceof Date === false) { - httpParams = this.addToHttpParamsRecursive(httpParams, value); - } else { - httpParams = this.addToHttpParamsRecursive(httpParams, value, key); - } - return httpParams; - } - - private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { - if (value == null) { - return httpParams; - } - - if (typeof value === "object") { - if (Array.isArray(value)) { - (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); - } else if (value instanceof Date) { - if (key != null) { - httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10)); - } else { - throw Error("key may not be null if value is Date"); - } - } else { - Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( - httpParams, value[k], key != null ? `${key}.${k}` : k)); - } - } else if (key != null) { - httpParams = httpParams.append(key, value); - } else { - throw Error("key may not be null if value is not object or array"); - } - return httpParams; - } - - /** - * Delete purchase order by ID - * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - * @param orderId ID of the order that needs to be deleted - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public deleteOrder(orderId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deleteOrder(orderId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteOrder(orderId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteOrder(orderId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (orderId === null || orderId === undefined) { - throw new Error('Required parameter orderId was null or undefined when calling deleteOrder.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.delete(`${this.configuration.basePath}/store/order/${encodeURIComponent(String(orderId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Returns pet inventories by status - * Returns a map of status codes to quantities - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getInventory(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable<{ [key: string]: number; }>; - public getInventory(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public getInventory(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json',}): Observable>; - public getInventory(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json',}): Observable { - - let localVarHeaders = this.defaultHeaders; - - let localVarCredential: string | undefined; - // authentication (api_key) required - localVarCredential = this.configuration.lookupCredential('api_key'); - if (localVarCredential) { - localVarHeaders = localVarHeaders.set('api_key', localVarCredential); - } - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get<{ [key: string]: number; }>(`${this.configuration.basePath}/store/inventory`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Find purchase order by ID - * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions - * @param orderId ID of pet that needs to be fetched - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getOrderById(orderId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getOrderById(orderId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getOrderById(orderId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getOrderById(orderId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (orderId === null || orderId === undefined) { - throw new Error('Required parameter orderId was null or undefined when calling getOrderById.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/store/order/${encodeURIComponent(String(orderId))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Place an order for a pet - * @param body order placed for purchasing the pet - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public placeOrder(body: Order, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public placeOrder(body: Order, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public placeOrder(body: Order, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public placeOrder(body: Order, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling placeOrder.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/store/order`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api/user.service.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api/user.service.ts deleted file mode 100644 index 2a3277c524..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/api/user.service.ts +++ /dev/null @@ -1,555 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/* tslint:disable:no-unused-variable member-ordering */ - -import { Inject, Injectable, Optional } from '@angular/core'; -import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec - } from '@angular/common/http'; -import { CustomHttpParameterCodec } from '../encoder'; -import { Observable } from 'rxjs'; - -// @ts-ignore -import { User } from '../model/user'; - -// @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; - - - -@Injectable({ - providedIn: 'root' -}) -export class UserService { - - protected basePath = 'http://petstore.swagger.io/v2'; - public defaultHeaders = new HttpHeaders(); - public configuration = new Configuration(); - public encoder: HttpParameterCodec; - - constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { - if (configuration) { - this.configuration = configuration; - } - if (typeof this.configuration.basePath !== 'string') { - if (typeof basePath !== 'string') { - basePath = this.basePath; - } - this.configuration.basePath = basePath; - } - this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); - } - - - private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { - if (typeof value === "object" && value instanceof Date === false) { - httpParams = this.addToHttpParamsRecursive(httpParams, value); - } else { - httpParams = this.addToHttpParamsRecursive(httpParams, value, key); - } - return httpParams; - } - - private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { - if (value == null) { - return httpParams; - } - - if (typeof value === "object") { - if (Array.isArray(value)) { - (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); - } else if (value instanceof Date) { - if (key != null) { - httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10)); - } else { - throw Error("key may not be null if value is Date"); - } - } else { - Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( - httpParams, value[k], key != null ? `${key}.${k}` : k)); - } - } else if (key != null) { - httpParams = httpParams.append(key, value); - } else { - throw Error("key may not be null if value is not object or array"); - } - return httpParams; - } - - /** - * Create user - * This can only be done by the logged in user. - * @param body Created user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public createUser(body: User, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUser(body: User, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUser(body: User, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUser(body: User, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling createUser.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/user`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Creates list of users with given input array - * @param body List of user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public createUsersWithArrayInput(body: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUsersWithArrayInput(body: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithArrayInput(body: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithArrayInput(body: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling createUsersWithArrayInput.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/user/createWithArray`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Creates list of users with given input array - * @param body List of user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public createUsersWithListInput(body: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public createUsersWithListInput(body: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithListInput(body: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public createUsersWithListInput(body: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling createUsersWithListInput.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.post(`${this.configuration.basePath}/user/createWithList`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Delete user - * This can only be done by the logged in user. - * @param username The name that needs to be deleted - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public deleteUser(username: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public deleteUser(username: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteUser(username: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public deleteUser(username: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling deleteUser.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.delete(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Get user by user name - * @param username The name that needs to be fetched. Use user1 for testing. - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getUserByName(username: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public getUserByName(username: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getUserByName(username: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public getUserByName(username: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling getUserByName.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Logs user into the system - * @param username The user name for login - * @param password The password for login in clear text - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public loginUser(username: string, password: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable; - public loginUser(username: string, password: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public loginUser(username: string, password: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable>; - public loginUser(username: string, password: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/xml' | 'application/json',}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling loginUser.'); - } - if (password === null || password === undefined) { - throw new Error('Required parameter password was null or undefined when calling loginUser.'); - } - - let localVarQueryParameters = new HttpParams({encoder: this.encoder}); - if (username !== undefined && username !== null) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - username, 'username'); - } - if (password !== undefined && password !== null) { - localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, - password, 'password'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/xml', - 'application/json' - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/user/login`, - { - params: localVarQueryParameters, - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Logs out current logged in user session - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public logoutUser(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public logoutUser(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public logoutUser(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public logoutUser(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.get(`${this.configuration.basePath}/user/logout`, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Updated user - * This can only be done by the logged in user. - * @param username name that need to be deleted - * @param body Updated user object - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public updateUser(username: string, body: User, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable; - public updateUser(username: string, body: User, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updateUser(username: string, body: User, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined,}): Observable>; - public updateUser(username: string, body: User, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined,}): Observable { - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling updateUser.'); - } - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling updateUser.'); - } - - let localVarHeaders = this.defaultHeaders; - - let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; - if (localVarHttpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - ]; - localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); - } - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - return this.httpClient.put(`${this.configuration.basePath}/user/${encodeURIComponent(String(username))}`, - body, - { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: localVarHeaders, - observe: observe, - reportProgress: reportProgress - } - ); - } - -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/configuration.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/configuration.ts deleted file mode 100644 index 6fc0f80d97..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/configuration.ts +++ /dev/null @@ -1,141 +0,0 @@ -import { HttpParameterCodec } from '@angular/common/http'; - -export interface ConfigurationParameters { - /** - * @deprecated Since 5.0. Use credentials instead - */ - apiKeys?: {[ key: string ]: string}; - username?: string; - password?: string; - /** - * @deprecated Since 5.0. Use credentials instead - */ - accessToken?: string | (() => string); - basePath?: string; - withCredentials?: boolean; - encoder?: HttpParameterCodec; - /** - * The keys are the names in the securitySchemes section of the OpenAPI - * document. They should map to the value used for authentication - * minus any standard prefixes such as 'Basic' or 'Bearer'. - */ - credentials?: {[ key: string ]: string | (() => string | undefined)}; -} - -export class Configuration { - /** - * @deprecated Since 5.0. Use credentials instead - */ - apiKeys?: {[ key: string ]: string}; - username?: string; - password?: string; - /** - * @deprecated Since 5.0. Use credentials instead - */ - accessToken?: string | (() => string); - basePath?: string; - withCredentials?: boolean; - encoder?: HttpParameterCodec; - /** - * The keys are the names in the securitySchemes section of the OpenAPI - * document. They should map to the value used for authentication - * minus any standard prefixes such as 'Basic' or 'Bearer'. - */ - credentials: {[ key: string ]: string | (() => string | undefined)}; - - constructor(configurationParameters: ConfigurationParameters = {}) { - this.apiKeys = configurationParameters.apiKeys; - this.username = configurationParameters.username; - this.password = configurationParameters.password; - this.accessToken = configurationParameters.accessToken; - this.basePath = configurationParameters.basePath; - this.withCredentials = configurationParameters.withCredentials; - this.encoder = configurationParameters.encoder; - if (configurationParameters.credentials) { - this.credentials = configurationParameters.credentials; - } - else { - this.credentials = {}; - } - - // init default api_key credential - if (!this.credentials['api_key']) { - this.credentials['api_key'] = () => { - if (this.apiKeys === null || this.apiKeys === undefined) { - return undefined; - } else { - return this.apiKeys['api_key'] || this.apiKeys['api_key']; - } - }; - } - - // init default petstore_auth credential - if (!this.credentials['petstore_auth']) { - this.credentials['petstore_auth'] = () => { - return typeof this.accessToken === 'function' - ? this.accessToken() - : this.accessToken; - }; - } - } - - /** - * Select the correct content-type to use for a request. - * Uses {@link Configuration#isJsonMime} to determine the correct content-type. - * If no content type is found return the first found type if the contentTypes is not empty - * @param contentTypes - the array of content types that are available for selection - * @returns the selected content-type or undefined if no selection could be made. - */ - public selectHeaderContentType (contentTypes: string[]): string | undefined { - if (contentTypes.length === 0) { - return undefined; - } - - const type = contentTypes.find((x: string) => this.isJsonMime(x)); - if (type === undefined) { - return contentTypes[0]; - } - return type; - } - - /** - * Select the correct accept content-type to use for a request. - * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type. - * If no content type is found return the first found type if the contentTypes is not empty - * @param accepts - the array of content types that are available for selection. - * @returns the selected content-type or undefined if no selection could be made. - */ - public selectHeaderAccept(accepts: string[]): string | undefined { - if (accepts.length === 0) { - return undefined; - } - - const type = accepts.find((x: string) => this.isJsonMime(x)); - if (type === undefined) { - return accepts[0]; - } - return type; - } - - /** - * Check if the given MIME is a JSON MIME. - * JSON MIME examples: - * application/json - * application/json; charset=UTF8 - * APPLICATION/JSON - * application/vnd.company+json - * @param mime - MIME (Multipurpose Internet Mail Extensions) - * @return True if the given MIME is JSON, false otherwise. - */ - public isJsonMime(mime: string): boolean { - const jsonMime: RegExp = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i'); - return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json'); - } - - public lookupCredential(key: string): string | undefined { - const value = this.credentials[key]; - return typeof value === 'function' - ? value() - : value; - } -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/encoder.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/encoder.ts deleted file mode 100644 index 138c4d5cf2..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/encoder.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { HttpParameterCodec } from '@angular/common/http'; - -/** - * Custom HttpParameterCodec - * Workaround for https://github.com/angular/angular/issues/18261 - */ -export class CustomHttpParameterCodec implements HttpParameterCodec { - encodeKey(k: string): string { - return encodeURIComponent(k); - } - encodeValue(v: string): string { - return encodeURIComponent(v); - } - decodeKey(k: string): string { - return decodeURIComponent(k); - } - decodeValue(v: string): string { - return decodeURIComponent(v); - } -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/git_push.sh b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/git_push.sh deleted file mode 100644 index f53a75d4fa..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/git_push.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ -# -# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" - -git_user_id=$1 -git_repo_id=$2 -release_note=$3 -git_host=$4 - -if [ "$git_host" = "" ]; then - git_host="github.com" - echo "[INFO] No command line input provided. Set \$git_host to $git_host" -fi - -if [ "$git_user_id" = "" ]; then - git_user_id="GIT_USER_ID" - echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" -fi - -if [ "$git_repo_id" = "" ]; then - git_repo_id="GIT_REPO_ID" - echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" -fi - -if [ "$release_note" = "" ]; then - release_note="Minor update" - echo "[INFO] No command line input provided. Set \$release_note to $release_note" -fi - -# Initialize the local directory as a Git repository -git init - -# Adds the files in the local repository and stages them for commit. -git add . - -# Commits the tracked changes and prepares them to be pushed to a remote repository. -git commit -m "$release_note" - -# Sets the new remote -git_remote=$(git remote) -if [ "$git_remote" = "" ]; then # git remote not defined - - if [ "$GIT_TOKEN" = "" ]; then - echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." - git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git - else - git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git - fi - -fi - -git pull origin master - -# Pushes (Forces) the changes in the local repository up to the remote repository -echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" -git push origin master 2>&1 | grep -v 'To https' diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/index.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/index.ts deleted file mode 100644 index c312b70fa3..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from './api/api'; -export * from './model/models'; -export * from './variables'; -export * from './configuration'; -export * from './api.module'; \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/apiResponse.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/apiResponse.ts deleted file mode 100644 index 682ba47892..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/apiResponse.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * Describes the result of uploading an image resource - */ -export interface ApiResponse { - code?: number; - type?: string; - message?: string; -} - diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/category.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/category.ts deleted file mode 100644 index b988b6827a..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/category.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * A category for a pet - */ -export interface Category { - id?: number; - name?: string; -} - diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/models.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/models.ts deleted file mode 100644 index 8607c5dabd..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/models.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from './apiResponse'; -export * from './category'; -export * from './order'; -export * from './pet'; -export * from './tag'; -export * from './user'; diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/order.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/order.ts deleted file mode 100644 index a29bebe490..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/order.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * An order for a pets from the pet store - */ -export interface Order { - id?: number; - petId?: number; - quantity?: number; - shipDate?: string; - /** - * Order Status - */ - status?: Order.StatusEnum; - complete?: boolean; -} -export namespace Order { - export type StatusEnum = 'placed' | 'approved' | 'delivered'; - export const StatusEnum = { - Placed: 'placed' as StatusEnum, - Approved: 'approved' as StatusEnum, - Delivered: 'delivered' as StatusEnum - }; -} - - diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/pet.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/pet.ts deleted file mode 100644 index e0404395f9..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/pet.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { Category } from './category'; -import { Tag } from './tag'; - - -/** - * A pet for sale in the pet store - */ -export interface Pet { - id?: number; - category?: Category; - name: string; - photoUrls: Array; - tags?: Array; - /** - * pet status in the store - */ - status?: Pet.StatusEnum; -} -export namespace Pet { - export type StatusEnum = 'available' | 'pending' | 'sold'; - export const StatusEnum = { - Available: 'available' as StatusEnum, - Pending: 'pending' as StatusEnum, - Sold: 'sold' as StatusEnum - }; -} - - diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/tag.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/tag.ts deleted file mode 100644 index b6ff210e8d..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/tag.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * A tag for a pet - */ -export interface Tag { - id?: number; - name?: string; -} - diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/user.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/user.ts deleted file mode 100644 index fce5100530..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/model/user.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * A User who is purchasing from the pet store - */ -export interface User { - id?: number; - username?: string; - firstName?: string; - lastName?: string; - email?: string; - password?: string; - phone?: string; - /** - * User Status - */ - userStatus?: number; -} - diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/ng-package.json b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/ng-package.json deleted file mode 100644 index 3b17900dc9..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/ng-package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "./node_modules/ng-packagr/ng-package.schema.json", - "lib": { - "entryFile": "index.ts" - } -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/package.json b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/package.json deleted file mode 100644 index 3205e0320c..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/package.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "@openapitools/typescript-angular-petstore", - "version": "1.0.0", - "description": "OpenAPI client for @openapitools/typescript-angular-petstore", - "author": "OpenAPI-Generator Contributors", - "repository": { - "type": "git", - "url": "https://github.com/GIT_USER_ID/GIT_REPO_ID.git" - }, - "keywords": [ - "openapi-client", - "openapi-generator" - ], - "license": "Unlicense", - "scripts": { - "build": "ng-packagr -p ng-package.json" - }, - "peerDependencies": { - "@angular/core": "^9.0.0", - "rxjs": "^6.5.3" - }, - "devDependencies": { - "@angular/common": "^9.0.0", - "@angular/compiler": "^9.0.0", - "@angular/compiler-cli": "^9.0.0", - "@angular/core": "^9.0.0", - "@angular/platform-browser": "^9.0.0", - "ng-packagr": "^9.0.1", - "reflect-metadata": "^0.1.3", - "rxjs": "^6.5.3", - "tsickle": "^0.38.0", - "typescript": ">=3.6.0 <3.8.0", - "zone.js": "^0.10.2" - }, - "publishConfig": { - "registry": "https://skimdb.npmjs.com/registry" - } -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/tsconfig.json b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/tsconfig.json deleted file mode 100644 index c01ebe255d..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/tsconfig.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "noImplicitAny": false, - "suppressImplicitAnyIndexErrors": true, - "target": "es5", - "module": "commonjs", - "moduleResolution": "node", - "removeComments": true, - "sourceMap": true, - "outDir": "./dist", - "noLib": false, - "declaration": true, - "lib": [ "es6", "dom" ], - "typeRoots": [ - "node_modules/@types" - ] - }, - "exclude": [ - "node_modules", - "dist" - ], - "filesGlob": [ - "./model/*.ts", - "./api/*.ts" - ] -} diff --git a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/variables.ts b/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/variables.ts deleted file mode 100644 index 6fe58549f3..0000000000 --- a/samples/client/petstore/typescript-angular-v9-provided-in-root/builds/with-npm/variables.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { InjectionToken } from '@angular/core'; - -export const BASE_PATH = new InjectionToken('basePath'); -export const COLLECTION_FORMATS = { - 'csv': ',', - 'tsv': ' ', - 'ssv': ' ', - 'pipes': '|' -} diff --git a/samples/client/petstore/typescript-angularjs/.gitignore b/samples/client/petstore/typescript-angularjs/.gitignore deleted file mode 100644 index 35e2fb2b02..0000000000 --- a/samples/client/petstore/typescript-angularjs/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -wwwroot/*.js -node_modules -typings diff --git a/samples/client/petstore/typescript-angularjs/.openapi-generator-ignore b/samples/client/petstore/typescript-angularjs/.openapi-generator-ignore deleted file mode 100644 index 7484ee590a..0000000000 --- a/samples/client/petstore/typescript-angularjs/.openapi-generator-ignore +++ /dev/null @@ -1,23 +0,0 @@ -# OpenAPI Generator Ignore -# Generated by openapi-generator https://github.com/openapitools/openapi-generator - -# Use this file to prevent files from being overwritten by the generator. -# The patterns follow closely to .gitignore or .dockerignore. - -# As an example, the C# client generator defines ApiClient.cs. -# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: -#ApiClient.cs - -# You can match any string of characters against a directory, file or extension with a single asterisk (*): -#foo/*/qux -# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux - -# You can recursively match patterns against a directory, file or extension with a double asterisk (**): -#foo/**/qux -# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux - -# You can also negate patterns with an exclamation (!). -# For example, you can ignore all files in a docs folder with the file extension .md: -#docs/*.md -# Then explicitly reverse the ignore rule for a single file: -#!docs/README.md diff --git a/samples/client/petstore/typescript-angularjs/.openapi-generator/FILES b/samples/client/petstore/typescript-angularjs/.openapi-generator/FILES deleted file mode 100644 index 49422d848d..0000000000 --- a/samples/client/petstore/typescript-angularjs/.openapi-generator/FILES +++ /dev/null @@ -1,15 +0,0 @@ -.gitignore -api.module.ts -api/PetApi.ts -api/StoreApi.ts -api/UserApi.ts -api/api.ts -git_push.sh -index.ts -model/ApiResponse.ts -model/Category.ts -model/Order.ts -model/Pet.ts -model/Tag.ts -model/User.ts -model/models.ts diff --git a/samples/client/petstore/typescript-angularjs/.openapi-generator/VERSION b/samples/client/petstore/typescript-angularjs/.openapi-generator/VERSION deleted file mode 100644 index d99e7162d0..0000000000 --- a/samples/client/petstore/typescript-angularjs/.openapi-generator/VERSION +++ /dev/null @@ -1 +0,0 @@ -5.0.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angularjs/README.md b/samples/client/petstore/typescript-angularjs/README.md deleted file mode 100644 index 0cc8064bed..0000000000 --- a/samples/client/petstore/typescript-angularjs/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# SwaggerClient - -Sample of TypeScript AngularJS petstore client - -## Testing the generated code - -``` -npm install -npm test -``` - -To clean the workspace run: -``` -npm run clean -``` - -## Author - -mads@maetzke-tandrup.dk, Swagger-Codegen community diff --git a/samples/client/petstore/typescript-angularjs/api.module.ts b/samples/client/petstore/typescript-angularjs/api.module.ts deleted file mode 100644 index 825758a079..0000000000 --- a/samples/client/petstore/typescript-angularjs/api.module.ts +++ /dev/null @@ -1,9 +0,0 @@ -import * as api from './api/api'; -import * as angular from 'angular'; - -const apiModule = angular.module('api', []) -.service('PetApi', api.PetApi) -.service('StoreApi', api.StoreApi) -.service('UserApi', api.UserApi) - -export default apiModule; diff --git a/samples/client/petstore/typescript-angularjs/api/PetApi.ts b/samples/client/petstore/typescript-angularjs/api/PetApi.ts deleted file mode 100644 index bf591c8ff1..0000000000 --- a/samples/client/petstore/typescript-angularjs/api/PetApi.ts +++ /dev/null @@ -1,292 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import * as models from '../model/models'; - -/* tslint:disable:no-unused-variable member-ordering */ - -export class PetApi { - protected basePath = 'http://petstore.swagger.io/v2'; - public defaultHeaders : any = {}; - - static $inject: string[] = ['$http', '$httpParamSerializer', 'basePath']; - - constructor(protected $http: ng.IHttpService, protected $httpParamSerializer?: (d: any) => any, basePath?: string) { - if (basePath !== undefined) { - this.basePath = basePath; - } - } - - /** - * - * @summary Add a new pet to the store - * @param body Pet object that needs to be added to the store - */ - public addPet (body: models.Pet, extraHttpRequestParams?: any ) : ng.IHttpPromise<{}> { - const localVarPath = this.basePath + '/pet'; - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - // verify required parameter 'body' is not null or undefined - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling addPet.'); - } - - let httpRequestParams: ng.IRequestConfig = { - method: 'POST', - url: localVarPath, - data: body, - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } - /** - * - * @summary Deletes a pet - * @param petId Pet id to delete - * @param apiKey - */ - public deletePet (petId: number, apiKey?: string, extraHttpRequestParams?: any ) : ng.IHttpPromise<{}> { - const localVarPath = this.basePath + '/pet/{petId}' - .replace('{' + 'petId' + '}', encodeURIComponent(String(petId))); - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - // verify required parameter 'petId' is not null or undefined - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling deletePet.'); - } - - headerParams['api_key'] = apiKey; - - let httpRequestParams: ng.IRequestConfig = { - method: 'DELETE', - url: localVarPath, - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } - /** - * Multiple status values can be provided with comma separated strings - * @summary Finds Pets by status - * @param status Status values that need to be considered for filter - */ - public findPetsByStatus (status: Array<'available' | 'pending' | 'sold'>, extraHttpRequestParams?: any ) : ng.IHttpPromise> { - const localVarPath = this.basePath + '/pet/findByStatus'; - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - // verify required parameter 'status' is not null or undefined - if (status === null || status === undefined) { - throw new Error('Required parameter status was null or undefined when calling findPetsByStatus.'); - } - - if (status !== undefined) { - queryParameters['status'] = status; - } - - let httpRequestParams: ng.IRequestConfig = { - method: 'GET', - url: localVarPath, - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } - /** - * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. - * @summary Finds Pets by tags - * @param tags Tags to filter by - */ - public findPetsByTags (tags: Array, extraHttpRequestParams?: any ) : ng.IHttpPromise> { - const localVarPath = this.basePath + '/pet/findByTags'; - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - // verify required parameter 'tags' is not null or undefined - if (tags === null || tags === undefined) { - throw new Error('Required parameter tags was null or undefined when calling findPetsByTags.'); - } - - if (tags !== undefined) { - queryParameters['tags'] = tags; - } - - let httpRequestParams: ng.IRequestConfig = { - method: 'GET', - url: localVarPath, - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } - /** - * Returns a single pet - * @summary Find pet by ID - * @param petId ID of pet to return - */ - public getPetById (petId: number, extraHttpRequestParams?: any ) : ng.IHttpPromise { - const localVarPath = this.basePath + '/pet/{petId}' - .replace('{' + 'petId' + '}', encodeURIComponent(String(petId))); - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - // verify required parameter 'petId' is not null or undefined - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling getPetById.'); - } - - let httpRequestParams: ng.IRequestConfig = { - method: 'GET', - url: localVarPath, - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } - /** - * - * @summary Update an existing pet - * @param body Pet object that needs to be added to the store - */ - public updatePet (body: models.Pet, extraHttpRequestParams?: any ) : ng.IHttpPromise<{}> { - const localVarPath = this.basePath + '/pet'; - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - // verify required parameter 'body' is not null or undefined - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling updatePet.'); - } - - let httpRequestParams: ng.IRequestConfig = { - method: 'PUT', - url: localVarPath, - data: body, - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } - /** - * - * @summary Updates a pet in the store with form data - * @param petId ID of pet that needs to be updated - * @param name Updated name of the pet - * @param status Updated status of the pet - */ - public updatePetWithForm (petId: number, name?: string, status?: string, extraHttpRequestParams?: any ) : ng.IHttpPromise<{}> { - const localVarPath = this.basePath + '/pet/{petId}' - .replace('{' + 'petId' + '}', encodeURIComponent(String(petId))); - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - let formParams: any = {}; - - // verify required parameter 'petId' is not null or undefined - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling updatePetWithForm.'); - } - - headerParams['Content-Type'] = 'application/x-www-form-urlencoded'; - - formParams['name'] = name; - - formParams['status'] = status; - - let httpRequestParams: ng.IRequestConfig = { - method: 'POST', - url: localVarPath, - data: this.$httpParamSerializer(formParams), - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } - /** - * - * @summary uploads an image - * @param petId ID of pet to update - * @param additionalMetadata Additional data to pass to server - * @param file file to upload - */ - public uploadFile (petId: number, additionalMetadata?: string, file?: any, extraHttpRequestParams?: any ) : ng.IHttpPromise { - const localVarPath = this.basePath + '/pet/{petId}/uploadImage' - .replace('{' + 'petId' + '}', encodeURIComponent(String(petId))); - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - let formParams: any = {}; - - // verify required parameter 'petId' is not null or undefined - if (petId === null || petId === undefined) { - throw new Error('Required parameter petId was null or undefined when calling uploadFile.'); - } - - headerParams['Content-Type'] = 'application/x-www-form-urlencoded'; - - formParams['additionalMetadata'] = additionalMetadata; - - formParams['file'] = file; - - let httpRequestParams: ng.IRequestConfig = { - method: 'POST', - url: localVarPath, - data: this.$httpParamSerializer(formParams), - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } -} diff --git a/samples/client/petstore/typescript-angularjs/api/StoreApi.ts b/samples/client/petstore/typescript-angularjs/api/StoreApi.ts deleted file mode 100644 index 3d56056555..0000000000 --- a/samples/client/petstore/typescript-angularjs/api/StoreApi.ts +++ /dev/null @@ -1,138 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import * as models from '../model/models'; - -/* tslint:disable:no-unused-variable member-ordering */ - -export class StoreApi { - protected basePath = 'http://petstore.swagger.io/v2'; - public defaultHeaders : any = {}; - - static $inject: string[] = ['$http', '$httpParamSerializer', 'basePath']; - - constructor(protected $http: ng.IHttpService, protected $httpParamSerializer?: (d: any) => any, basePath?: string) { - if (basePath !== undefined) { - this.basePath = basePath; - } - } - - /** - * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - * @summary Delete purchase order by ID - * @param orderId ID of the order that needs to be deleted - */ - public deleteOrder (orderId: string, extraHttpRequestParams?: any ) : ng.IHttpPromise<{}> { - const localVarPath = this.basePath + '/store/order/{orderId}' - .replace('{' + 'orderId' + '}', encodeURIComponent(String(orderId))); - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - // verify required parameter 'orderId' is not null or undefined - if (orderId === null || orderId === undefined) { - throw new Error('Required parameter orderId was null or undefined when calling deleteOrder.'); - } - - let httpRequestParams: ng.IRequestConfig = { - method: 'DELETE', - url: localVarPath, - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } - /** - * Returns a map of status codes to quantities - * @summary Returns pet inventories by status - */ - public getInventory (extraHttpRequestParams?: any ) : ng.IHttpPromise<{ [key: string]: number; }> { - const localVarPath = this.basePath + '/store/inventory'; - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - let httpRequestParams: ng.IRequestConfig = { - method: 'GET', - url: localVarPath, - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } - /** - * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions - * @summary Find purchase order by ID - * @param orderId ID of pet that needs to be fetched - */ - public getOrderById (orderId: number, extraHttpRequestParams?: any ) : ng.IHttpPromise { - const localVarPath = this.basePath + '/store/order/{orderId}' - .replace('{' + 'orderId' + '}', encodeURIComponent(String(orderId))); - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - // verify required parameter 'orderId' is not null or undefined - if (orderId === null || orderId === undefined) { - throw new Error('Required parameter orderId was null or undefined when calling getOrderById.'); - } - - let httpRequestParams: ng.IRequestConfig = { - method: 'GET', - url: localVarPath, - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } - /** - * - * @summary Place an order for a pet - * @param body order placed for purchasing the pet - */ - public placeOrder (body: models.Order, extraHttpRequestParams?: any ) : ng.IHttpPromise { - const localVarPath = this.basePath + '/store/order'; - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - // verify required parameter 'body' is not null or undefined - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling placeOrder.'); - } - - let httpRequestParams: ng.IRequestConfig = { - method: 'POST', - url: localVarPath, - data: body, - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } -} diff --git a/samples/client/petstore/typescript-angularjs/api/UserApi.ts b/samples/client/petstore/typescript-angularjs/api/UserApi.ts deleted file mode 100644 index f63bb64b8b..0000000000 --- a/samples/client/petstore/typescript-angularjs/api/UserApi.ts +++ /dev/null @@ -1,274 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import * as models from '../model/models'; - -/* tslint:disable:no-unused-variable member-ordering */ - -export class UserApi { - protected basePath = 'http://petstore.swagger.io/v2'; - public defaultHeaders : any = {}; - - static $inject: string[] = ['$http', '$httpParamSerializer', 'basePath']; - - constructor(protected $http: ng.IHttpService, protected $httpParamSerializer?: (d: any) => any, basePath?: string) { - if (basePath !== undefined) { - this.basePath = basePath; - } - } - - /** - * This can only be done by the logged in user. - * @summary Create user - * @param body Created user object - */ - public createUser (body: models.User, extraHttpRequestParams?: any ) : ng.IHttpPromise<{}> { - const localVarPath = this.basePath + '/user'; - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - // verify required parameter 'body' is not null or undefined - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling createUser.'); - } - - let httpRequestParams: ng.IRequestConfig = { - method: 'POST', - url: localVarPath, - data: body, - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } - /** - * - * @summary Creates list of users with given input array - * @param body List of user object - */ - public createUsersWithArrayInput (body: Array, extraHttpRequestParams?: any ) : ng.IHttpPromise<{}> { - const localVarPath = this.basePath + '/user/createWithArray'; - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - // verify required parameter 'body' is not null or undefined - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling createUsersWithArrayInput.'); - } - - let httpRequestParams: ng.IRequestConfig = { - method: 'POST', - url: localVarPath, - data: body, - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } - /** - * - * @summary Creates list of users with given input array - * @param body List of user object - */ - public createUsersWithListInput (body: Array, extraHttpRequestParams?: any ) : ng.IHttpPromise<{}> { - const localVarPath = this.basePath + '/user/createWithList'; - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - // verify required parameter 'body' is not null or undefined - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling createUsersWithListInput.'); - } - - let httpRequestParams: ng.IRequestConfig = { - method: 'POST', - url: localVarPath, - data: body, - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } - /** - * This can only be done by the logged in user. - * @summary Delete user - * @param username The name that needs to be deleted - */ - public deleteUser (username: string, extraHttpRequestParams?: any ) : ng.IHttpPromise<{}> { - const localVarPath = this.basePath + '/user/{username}' - .replace('{' + 'username' + '}', encodeURIComponent(String(username))); - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - // verify required parameter 'username' is not null or undefined - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling deleteUser.'); - } - - let httpRequestParams: ng.IRequestConfig = { - method: 'DELETE', - url: localVarPath, - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } - /** - * - * @summary Get user by user name - * @param username The name that needs to be fetched. Use user1 for testing. - */ - public getUserByName (username: string, extraHttpRequestParams?: any ) : ng.IHttpPromise { - const localVarPath = this.basePath + '/user/{username}' - .replace('{' + 'username' + '}', encodeURIComponent(String(username))); - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - // verify required parameter 'username' is not null or undefined - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling getUserByName.'); - } - - let httpRequestParams: ng.IRequestConfig = { - method: 'GET', - url: localVarPath, - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } - /** - * - * @summary Logs user into the system - * @param username The user name for login - * @param password The password for login in clear text - */ - public loginUser (username: string, password: string, extraHttpRequestParams?: any ) : ng.IHttpPromise { - const localVarPath = this.basePath + '/user/login'; - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - // verify required parameter 'username' is not null or undefined - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling loginUser.'); - } - - // verify required parameter 'password' is not null or undefined - if (password === null || password === undefined) { - throw new Error('Required parameter password was null or undefined when calling loginUser.'); - } - - if (username !== undefined) { - queryParameters['username'] = username; - } - - if (password !== undefined) { - queryParameters['password'] = password; - } - - let httpRequestParams: ng.IRequestConfig = { - method: 'GET', - url: localVarPath, - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } - /** - * - * @summary Logs out current logged in user session - */ - public logoutUser (extraHttpRequestParams?: any ) : ng.IHttpPromise<{}> { - const localVarPath = this.basePath + '/user/logout'; - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - let httpRequestParams: ng.IRequestConfig = { - method: 'GET', - url: localVarPath, - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } - /** - * This can only be done by the logged in user. - * @summary Updated user - * @param username name that need to be deleted - * @param body Updated user object - */ - public updateUser (username: string, body: models.User, extraHttpRequestParams?: any ) : ng.IHttpPromise<{}> { - const localVarPath = this.basePath + '/user/{username}' - .replace('{' + 'username' + '}', encodeURIComponent(String(username))); - - let queryParameters: any = {}; - let headerParams: any = (Object).assign({}, this.defaultHeaders); - // verify required parameter 'username' is not null or undefined - if (username === null || username === undefined) { - throw new Error('Required parameter username was null or undefined when calling updateUser.'); - } - - // verify required parameter 'body' is not null or undefined - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling updateUser.'); - } - - let httpRequestParams: ng.IRequestConfig = { - method: 'PUT', - url: localVarPath, - data: body, - params: queryParameters, - headers: headerParams - }; - - if (extraHttpRequestParams) { - httpRequestParams = (Object).assign(httpRequestParams, extraHttpRequestParams); - } - - return this.$http(httpRequestParams); - } -} diff --git a/samples/client/petstore/typescript-angularjs/api/api.ts b/samples/client/petstore/typescript-angularjs/api/api.ts deleted file mode 100644 index 4ddd9e2966..0000000000 --- a/samples/client/petstore/typescript-angularjs/api/api.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './PetApi'; -import { PetApi } from './PetApi'; -export * from './StoreApi'; -import { StoreApi } from './StoreApi'; -export * from './UserApi'; -import { UserApi } from './UserApi'; -export const APIS = [PetApi, StoreApi, UserApi]; diff --git a/samples/client/petstore/typescript-angularjs/git_push.sh b/samples/client/petstore/typescript-angularjs/git_push.sh deleted file mode 100644 index ced3be2b0c..0000000000 --- a/samples/client/petstore/typescript-angularjs/git_push.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ -# -# Usage example: /bin/sh ./git_push.sh wing328 openapi-pestore-perl "minor update" "gitlab.com" - -git_user_id=$1 -git_repo_id=$2 -release_note=$3 -git_host=$4 - -if [ "$git_host" = "" ]; then - git_host="github.com" - echo "[INFO] No command line input provided. Set \$git_host to $git_host" -fi - -if [ "$git_user_id" = "" ]; then - git_user_id="GIT_USER_ID" - echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" -fi - -if [ "$git_repo_id" = "" ]; then - git_repo_id="GIT_REPO_ID" - echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" -fi - -if [ "$release_note" = "" ]; then - release_note="Minor update" - echo "[INFO] No command line input provided. Set \$release_note to $release_note" -fi - -# Initialize the local directory as a Git repository -git init - -# Adds the files in the local repository and stages them for commit. -git add . - -# Commits the tracked changes and prepares them to be pushed to a remote repository. -git commit -m "$release_note" - -# Sets the new remote -git_remote=`git remote` -if [ "$git_remote" = "" ]; then # git remote not defined - - if [ "$GIT_TOKEN" = "" ]; then - echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." - git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git - else - git remote add origin https://${git_user_id}:${GIT_TOKEN}@${git_host}/${git_user_id}/${git_repo_id}.git - fi - -fi - -git pull origin master - -# Pushes (Forces) the changes in the local repository up to the remote repository -echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" -git push origin master 2>&1 | grep -v 'To https' - diff --git a/samples/client/petstore/typescript-angularjs/index.ts b/samples/client/petstore/typescript-angularjs/index.ts deleted file mode 100644 index 557365516a..0000000000 --- a/samples/client/petstore/typescript-angularjs/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './api/api'; -export * from './model/models'; \ No newline at end of file diff --git a/samples/client/petstore/typescript-angularjs/model/ApiResponse.ts b/samples/client/petstore/typescript-angularjs/model/ApiResponse.ts deleted file mode 100644 index f3d20e525a..0000000000 --- a/samples/client/petstore/typescript-angularjs/model/ApiResponse.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import * as models from './models'; - -/** - * Describes the result of uploading an image resource - */ -export interface ApiResponse { - "code"?: number; - "type"?: string; - "message"?: string; -} - diff --git a/samples/client/petstore/typescript-angularjs/model/Category.ts b/samples/client/petstore/typescript-angularjs/model/Category.ts deleted file mode 100644 index 54aa7943f8..0000000000 --- a/samples/client/petstore/typescript-angularjs/model/Category.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import * as models from './models'; - -/** - * A category for a pet - */ -export interface Category { - "id"?: number; - "name"?: string; -} - diff --git a/samples/client/petstore/typescript-angularjs/model/Order.ts b/samples/client/petstore/typescript-angularjs/model/Order.ts deleted file mode 100644 index 5e59bc02ea..0000000000 --- a/samples/client/petstore/typescript-angularjs/model/Order.ts +++ /dev/null @@ -1,36 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import * as models from './models'; - -/** - * An order for a pets from the pet store - */ -export interface Order { - "id"?: number; - "petId"?: number; - "quantity"?: number; - "shipDate"?: string; - /** - * Order Status - */ - "status"?: Order.StatusEnum; - "complete"?: boolean; -} - -export namespace Order { - export enum StatusEnum { - Placed = 'placed', - Approved = 'approved', - Delivered = 'delivered' - } -} diff --git a/samples/client/petstore/typescript-angularjs/model/Pet.ts b/samples/client/petstore/typescript-angularjs/model/Pet.ts deleted file mode 100644 index 377696b3b7..0000000000 --- a/samples/client/petstore/typescript-angularjs/model/Pet.ts +++ /dev/null @@ -1,36 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import * as models from './models'; - -/** - * A pet for sale in the pet store - */ -export interface Pet { - "id"?: number; - "category"?: models.Category; - "name": string; - "photoUrls": Array; - "tags"?: Array; - /** - * pet status in the store - */ - "status"?: Pet.StatusEnum; -} - -export namespace Pet { - export enum StatusEnum { - Available = 'available', - Pending = 'pending', - Sold = 'sold' - } -} diff --git a/samples/client/petstore/typescript-angularjs/model/Tag.ts b/samples/client/petstore/typescript-angularjs/model/Tag.ts deleted file mode 100644 index 4babba0f21..0000000000 --- a/samples/client/petstore/typescript-angularjs/model/Tag.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import * as models from './models'; - -/** - * A tag for a pet - */ -export interface Tag { - "id"?: number; - "name"?: string; -} - diff --git a/samples/client/petstore/typescript-angularjs/model/User.ts b/samples/client/petstore/typescript-angularjs/model/User.ts deleted file mode 100644 index 9db54d8c55..0000000000 --- a/samples/client/petstore/typescript-angularjs/model/User.ts +++ /dev/null @@ -1,31 +0,0 @@ -/** - * OpenAPI Petstore - * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import * as models from './models'; - -/** - * A User who is purchasing from the pet store - */ -export interface User { - "id"?: number; - "username"?: string; - "firstName"?: string; - "lastName"?: string; - "email"?: string; - "password"?: string; - "phone"?: string; - /** - * User Status - */ - "userStatus"?: number; -} - diff --git a/samples/client/petstore/typescript-angularjs/model/models.ts b/samples/client/petstore/typescript-angularjs/model/models.ts deleted file mode 100644 index f53c1dd42b..0000000000 --- a/samples/client/petstore/typescript-angularjs/model/models.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from './ApiResponse'; -export * from './Category'; -export * from './Order'; -export * from './Pet'; -export * from './Tag'; -export * from './User'; diff --git a/samples/client/petstore/typescript-angularjs/package.json b/samples/client/petstore/typescript-angularjs/package.json deleted file mode 100644 index afc18b7e77..0000000000 --- a/samples/client/petstore/typescript-angularjs/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "petstore-typescript-node-sample", - "version": "1.0.0", - "repository": "GIT_USER_ID/GIT_REPO_ID", - "description": "Sample of generated TypeScript petstore client", - "main": "api.js", - "scripts": { - "postinstall": "tsd reinstall --overwrite", - "test": "tsc --target ES6 && node client.js", - "clean": "rm -Rf node_modules/ typings/ *.js" - }, - "author": "Swagger Codegen Contributors & Mads M. Tandrup", - "license": "Unlicense", - "dependencies": { - "request": "^2.60.0", - "angular": "^1.4.3" - }, - "devDependencies": { - "tsd": "^0.6.3", - "typescript": "^1.5.3" - } -} diff --git a/samples/client/petstore/typescript-angularjs/pom.xml b/samples/client/petstore/typescript-angularjs/pom.xml deleted file mode 100644 index e334e2d5ca..0000000000 --- a/samples/client/petstore/typescript-angularjs/pom.xml +++ /dev/null @@ -1,59 +0,0 @@ - - 4.0.0 - org.openapitools - TypeScriptAngularPestoreClientTests - pom - 1.0-SNAPSHOT - TS Angular Petstore Client - - - - maven-dependency-plugin - - - package - - copy-dependencies - - - ${project.build.directory} - - - - - - org.codehaus.mojo - exec-maven-plugin - 1.2.1 - - - npm-install - pre-integration-test - - exec - - - npm - - install - - - - - npm-test - integration-test - - exec - - - npm - - test - - - - - - - - diff --git a/samples/client/petstore/typescript-angularjs/tsconfig.json b/samples/client/petstore/typescript-angularjs/tsconfig.json deleted file mode 100644 index 86be0964e3..0000000000 --- a/samples/client/petstore/typescript-angularjs/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "compilerOptions": { - "noImplicitAny": true, - "suppressImplicitAnyIndexErrors": true, - "out": "client.js" - }, - "files": [ - "./index.ts", - "typings/tsd.d.ts" - ] -} diff --git a/samples/client/petstore/typescript-angularjs/tsd.json b/samples/client/petstore/typescript-angularjs/tsd.json deleted file mode 100644 index c4cfa3f1ba..0000000000 --- a/samples/client/petstore/typescript-angularjs/tsd.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "version": "v4", - "repo": "borisyankov/DefinitelyTyped", - "ref": "master", - "path": "typings", - "bundle": "typings/tsd.d.ts", - "installed": { - "angularjs/angular.d.ts": { - "commit": "f6c8ca47193fb67947944a3170912672ac3e908e" - }, - "jquery/jquery.d.ts": { - "commit": "f6c8ca47193fb67947944a3170912672ac3e908e" - }, - "request/request.d.ts": { - "commit": "f6c8ca47193fb67947944a3170912672ac3e908e" - }, - "form-data/form-data.d.ts": { - "commit": "f6c8ca47193fb67947944a3170912672ac3e908e" - }, - "node/node.d.ts": { - "commit": "f6c8ca47193fb67947944a3170912672ac3e908e" - } - } -} diff --git a/samples/client/petstore/typescript-fetch/builds/enum/models/InlineObject.ts b/samples/client/petstore/typescript-fetch/builds/enum/models/InlineObject.ts index e5539a44d9..92edc483c9 100644 --- a/samples/client/petstore/typescript-fetch/builds/enum/models/InlineObject.ts +++ b/samples/client/petstore/typescript-fetch/builds/enum/models/InlineObject.ts @@ -30,7 +30,7 @@ export interface InlineObject { * @type {string} * @memberof InlineObject */ - nullableStringEnum?: InlineObjectNullableStringEnumEnum; + nullableStringEnum?: string | null; /** * * @type {number} @@ -42,7 +42,7 @@ export interface InlineObject { * @type {number} * @memberof InlineObject */ - nullableNumberEnum?: InlineObjectNullableNumberEnumEnum; + nullableNumberEnum?: number | null; } @@ -56,16 +56,6 @@ export const InlineObjectStringEnumEnum = { } as const; export type InlineObjectStringEnumEnum = typeof InlineObjectStringEnumEnum[keyof typeof InlineObjectStringEnumEnum]; -/** - * @export - */ -export const InlineObjectNullableStringEnumEnum = { - One: 'one', - Two: 'two', - Three: 'three' -} as const; -export type InlineObjectNullableStringEnumEnum = typeof InlineObjectNullableStringEnumEnum[keyof typeof InlineObjectNullableStringEnumEnum]; - /** * @export */ @@ -76,16 +66,6 @@ export const InlineObjectNumberEnumEnum = { } as const; export type InlineObjectNumberEnumEnum = typeof InlineObjectNumberEnumEnum[keyof typeof InlineObjectNumberEnumEnum]; -/** - * @export - */ -export const InlineObjectNullableNumberEnumEnum = { - NUMBER_1: 1, - NUMBER_2: 2, - NUMBER_3: 3 -} as const; -export type InlineObjectNullableNumberEnumEnum = typeof InlineObjectNullableNumberEnumEnum[keyof typeof InlineObjectNullableNumberEnumEnum]; - export function InlineObjectFromJSON(json: any): InlineObject { return InlineObjectFromJSONTyped(json, false); diff --git a/samples/client/petstore/typescript-fetch/builds/enum/models/InlineResponse200.ts b/samples/client/petstore/typescript-fetch/builds/enum/models/InlineResponse200.ts index 1e734794f1..dc31a9b0f6 100644 --- a/samples/client/petstore/typescript-fetch/builds/enum/models/InlineResponse200.ts +++ b/samples/client/petstore/typescript-fetch/builds/enum/models/InlineResponse200.ts @@ -30,7 +30,7 @@ export interface InlineResponse200 { * @type {string} * @memberof InlineResponse200 */ - nullableStringEnum?: InlineResponse200NullableStringEnumEnum; + nullableStringEnum?: string | null; /** * * @type {number} @@ -42,7 +42,7 @@ export interface InlineResponse200 { * @type {number} * @memberof InlineResponse200 */ - nullableNumberEnum?: InlineResponse200NullableNumberEnumEnum; + nullableNumberEnum?: number | null; } @@ -56,16 +56,6 @@ export const InlineResponse200StringEnumEnum = { } as const; export type InlineResponse200StringEnumEnum = typeof InlineResponse200StringEnumEnum[keyof typeof InlineResponse200StringEnumEnum]; -/** - * @export - */ -export const InlineResponse200NullableStringEnumEnum = { - One: 'one', - Two: 'two', - Three: 'three' -} as const; -export type InlineResponse200NullableStringEnumEnum = typeof InlineResponse200NullableStringEnumEnum[keyof typeof InlineResponse200NullableStringEnumEnum]; - /** * @export */ @@ -76,16 +66,6 @@ export const InlineResponse200NumberEnumEnum = { } as const; export type InlineResponse200NumberEnumEnum = typeof InlineResponse200NumberEnumEnum[keyof typeof InlineResponse200NumberEnumEnum]; -/** - * @export - */ -export const InlineResponse200NullableNumberEnumEnum = { - NUMBER_1: 1, - NUMBER_2: 2, - NUMBER_3: 3 -} as const; -export type InlineResponse200NullableNumberEnumEnum = typeof InlineResponse200NullableNumberEnumEnum[keyof typeof InlineResponse200NullableNumberEnumEnum]; - export function InlineResponse200FromJSON(json: any): InlineResponse200 { return InlineResponse200FromJSONTyped(json, false); diff --git a/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/InlineObject.ts b/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/InlineObject.ts index f16140bd2d..5fbc88adb7 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/InlineObject.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/InlineObject.ts @@ -30,7 +30,7 @@ export interface InlineObject { * @type {string} * @memberof InlineObject */ - nullableStringEnum?: InlineObjectNullableStringEnumEnum; + nullableStringEnum?: string | null; /** * * @type {number} @@ -42,7 +42,7 @@ export interface InlineObject { * @type {number} * @memberof InlineObject */ - nullableNumberEnum?: InlineObjectNullableNumberEnumEnum; + nullableNumberEnum?: number | null; } /** @@ -58,29 +58,11 @@ export enum InlineObjectStringEnumEnum { * @export * @enum {string} */ -export enum InlineObjectNullableStringEnumEnum { - One = 'one', - Two = 'two', - Three = 'three' -} -/** -* @export -* @enum {string} -*/ export enum InlineObjectNumberEnumEnum { NUMBER_1 = 1, NUMBER_2 = 2, NUMBER_3 = 3 } -/** -* @export -* @enum {string} -*/ -export enum InlineObjectNullableNumberEnumEnum { - NUMBER_1 = 1, - NUMBER_2 = 2, - NUMBER_3 = 3 -} export function InlineObjectFromJSON(json: any): InlineObject { diff --git a/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/InlineResponse200.ts b/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/InlineResponse200.ts index 229056b93d..efa324ef60 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/InlineResponse200.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/InlineResponse200.ts @@ -30,7 +30,7 @@ export interface InlineResponse200 { * @type {string} * @memberof InlineResponse200 */ - nullableStringEnum?: InlineResponse200NullableStringEnumEnum; + nullableStringEnum?: string | null; /** * * @type {number} @@ -42,7 +42,7 @@ export interface InlineResponse200 { * @type {number} * @memberof InlineResponse200 */ - nullableNumberEnum?: InlineResponse200NullableNumberEnumEnum; + nullableNumberEnum?: number | null; } /** @@ -58,29 +58,11 @@ export enum InlineResponse200StringEnumEnum { * @export * @enum {string} */ -export enum InlineResponse200NullableStringEnumEnum { - One = 'one', - Two = 'two', - Three = 'three' -} -/** -* @export -* @enum {string} -*/ export enum InlineResponse200NumberEnumEnum { NUMBER_1 = 1, NUMBER_2 = 2, NUMBER_3 = 3 } -/** -* @export -* @enum {string} -*/ -export enum InlineResponse200NullableNumberEnumEnum { - NUMBER_1 = 1, - NUMBER_2 = 2, - NUMBER_3 = 3 -} export function InlineResponse200FromJSON(json: any): InlineResponse200 { From 51f624ebe444154756933d656c7ea422ea4e8616 Mon Sep 17 00:00:00 2001 From: Kuzma <57258237+ksvirkou-hubspot@users.noreply.github.com> Date: Mon, 30 May 2022 12:49:58 +0300 Subject: [PATCH 023/212] typescript: fix status code (#12472) --- .../src/main/resources/typescript/api/api.mustache | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/resources/typescript/api/api.mustache b/modules/openapi-generator/src/main/resources/typescript/api/api.mustache index 8b1adeb715..a99424df3e 100644 --- a/modules/openapi-generator/src/main/resources/typescript/api/api.mustache +++ b/modules/openapi-generator/src/main/resources/typescript/api/api.mustache @@ -208,7 +208,7 @@ export class {{classname}}ResponseProcessor { return body; {{/is2xx}} {{^is2xx}} - throw new ApiException<{{{dataType}}}>({{code}}, "{{message}}", body, response.headers); + throw new ApiException<{{{dataType}}}>(response.httpStatusCode, "{{message}}", body, response.headers); {{/is2xx}} {{/dataType}} {{^dataType}} From 6f322060f75bd9d1d2a75206ca9a79fd3cd3dc18 Mon Sep 17 00:00:00 2001 From: Kuzma <57258237+ksvirkou-hubspot@users.noreply.github.com> Date: Mon, 30 May 2022 12:51:37 +0300 Subject: [PATCH 024/212] [Typescript] Support text/html by ObjectSerializer.parse (#12459) * add support text/html * regenerate samples * test --- .../resources/typescript/model/ObjectSerializer.mustache | 4 ++++ .../builds/with-unique-items/models/ObjectSerializer.ts | 4 ++++ .../typescript/builds/browser/models/ObjectSerializer.ts | 4 ++++ .../builds/composed-schemas/models/ObjectSerializer.ts | 4 ++++ .../typescript/builds/default/models/ObjectSerializer.ts | 4 ++++ .../typescript/builds/deno/models/ObjectSerializer.ts | 4 ++++ .../typescript/builds/inversify/models/ObjectSerializer.ts | 4 ++++ .../typescript/builds/jquery/models/ObjectSerializer.ts | 4 ++++ .../builds/object_params/models/ObjectSerializer.ts | 4 ++++ .../tests/default/test/models/ObjectSerializer.test.ts | 6 ++++++ 10 files changed, 42 insertions(+) diff --git a/modules/openapi-generator/src/main/resources/typescript/model/ObjectSerializer.mustache b/modules/openapi-generator/src/main/resources/typescript/model/ObjectSerializer.mustache index d1ba83e694..8a88964898 100644 --- a/modules/openapi-generator/src/main/resources/typescript/model/ObjectSerializer.mustache +++ b/modules/openapi-generator/src/main/resources/typescript/model/ObjectSerializer.mustache @@ -244,6 +244,10 @@ export class ObjectSerializer { return JSON.parse(rawData); } + if (mediaType === "text/html") { + return rawData; + } + throw new Error("The mediaType " + mediaType + " is not supported by ObjectSerializer.parse."); } } diff --git a/samples/client/others/typescript/builds/with-unique-items/models/ObjectSerializer.ts b/samples/client/others/typescript/builds/with-unique-items/models/ObjectSerializer.ts index 66e56a9dc8..3f220e663a 100644 --- a/samples/client/others/typescript/builds/with-unique-items/models/ObjectSerializer.ts +++ b/samples/client/others/typescript/builds/with-unique-items/models/ObjectSerializer.ts @@ -216,6 +216,10 @@ export class ObjectSerializer { return JSON.parse(rawData); } + if (mediaType === "text/html") { + return rawData; + } + throw new Error("The mediaType " + mediaType + " is not supported by ObjectSerializer.parse."); } } diff --git a/samples/openapi3/client/petstore/typescript/builds/browser/models/ObjectSerializer.ts b/samples/openapi3/client/petstore/typescript/builds/browser/models/ObjectSerializer.ts index 2fb0962a25..ef7c495e6a 100644 --- a/samples/openapi3/client/petstore/typescript/builds/browser/models/ObjectSerializer.ts +++ b/samples/openapi3/client/petstore/typescript/builds/browser/models/ObjectSerializer.ts @@ -233,6 +233,10 @@ export class ObjectSerializer { return JSON.parse(rawData); } + if (mediaType === "text/html") { + return rawData; + } + throw new Error("The mediaType " + mediaType + " is not supported by ObjectSerializer.parse."); } } diff --git a/samples/openapi3/client/petstore/typescript/builds/composed-schemas/models/ObjectSerializer.ts b/samples/openapi3/client/petstore/typescript/builds/composed-schemas/models/ObjectSerializer.ts index 2630127fb0..2667fd9097 100644 --- a/samples/openapi3/client/petstore/typescript/builds/composed-schemas/models/ObjectSerializer.ts +++ b/samples/openapi3/client/petstore/typescript/builds/composed-schemas/models/ObjectSerializer.ts @@ -245,6 +245,10 @@ export class ObjectSerializer { return JSON.parse(rawData); } + if (mediaType === "text/html") { + return rawData; + } + throw new Error("The mediaType " + mediaType + " is not supported by ObjectSerializer.parse."); } } diff --git a/samples/openapi3/client/petstore/typescript/builds/default/models/ObjectSerializer.ts b/samples/openapi3/client/petstore/typescript/builds/default/models/ObjectSerializer.ts index 2fb0962a25..ef7c495e6a 100644 --- a/samples/openapi3/client/petstore/typescript/builds/default/models/ObjectSerializer.ts +++ b/samples/openapi3/client/petstore/typescript/builds/default/models/ObjectSerializer.ts @@ -233,6 +233,10 @@ export class ObjectSerializer { return JSON.parse(rawData); } + if (mediaType === "text/html") { + return rawData; + } + throw new Error("The mediaType " + mediaType + " is not supported by ObjectSerializer.parse."); } } diff --git a/samples/openapi3/client/petstore/typescript/builds/deno/models/ObjectSerializer.ts b/samples/openapi3/client/petstore/typescript/builds/deno/models/ObjectSerializer.ts index c68836c676..67c7189569 100644 --- a/samples/openapi3/client/petstore/typescript/builds/deno/models/ObjectSerializer.ts +++ b/samples/openapi3/client/petstore/typescript/builds/deno/models/ObjectSerializer.ts @@ -233,6 +233,10 @@ export class ObjectSerializer { return JSON.parse(rawData); } + if (mediaType === "text/html") { + return rawData; + } + throw new Error("The mediaType " + mediaType + " is not supported by ObjectSerializer.parse."); } } diff --git a/samples/openapi3/client/petstore/typescript/builds/inversify/models/ObjectSerializer.ts b/samples/openapi3/client/petstore/typescript/builds/inversify/models/ObjectSerializer.ts index 2fb0962a25..ef7c495e6a 100644 --- a/samples/openapi3/client/petstore/typescript/builds/inversify/models/ObjectSerializer.ts +++ b/samples/openapi3/client/petstore/typescript/builds/inversify/models/ObjectSerializer.ts @@ -233,6 +233,10 @@ export class ObjectSerializer { return JSON.parse(rawData); } + if (mediaType === "text/html") { + return rawData; + } + throw new Error("The mediaType " + mediaType + " is not supported by ObjectSerializer.parse."); } } diff --git a/samples/openapi3/client/petstore/typescript/builds/jquery/models/ObjectSerializer.ts b/samples/openapi3/client/petstore/typescript/builds/jquery/models/ObjectSerializer.ts index 2fb0962a25..ef7c495e6a 100644 --- a/samples/openapi3/client/petstore/typescript/builds/jquery/models/ObjectSerializer.ts +++ b/samples/openapi3/client/petstore/typescript/builds/jquery/models/ObjectSerializer.ts @@ -233,6 +233,10 @@ export class ObjectSerializer { return JSON.parse(rawData); } + if (mediaType === "text/html") { + return rawData; + } + throw new Error("The mediaType " + mediaType + " is not supported by ObjectSerializer.parse."); } } diff --git a/samples/openapi3/client/petstore/typescript/builds/object_params/models/ObjectSerializer.ts b/samples/openapi3/client/petstore/typescript/builds/object_params/models/ObjectSerializer.ts index 2fb0962a25..ef7c495e6a 100644 --- a/samples/openapi3/client/petstore/typescript/builds/object_params/models/ObjectSerializer.ts +++ b/samples/openapi3/client/petstore/typescript/builds/object_params/models/ObjectSerializer.ts @@ -233,6 +233,10 @@ export class ObjectSerializer { return JSON.parse(rawData); } + if (mediaType === "text/html") { + return rawData; + } + throw new Error("The mediaType " + mediaType + " is not supported by ObjectSerializer.parse."); } } diff --git a/samples/openapi3/client/petstore/typescript/tests/default/test/models/ObjectSerializer.test.ts b/samples/openapi3/client/petstore/typescript/tests/default/test/models/ObjectSerializer.test.ts index babc4681fb..3562c97eb9 100644 --- a/samples/openapi3/client/petstore/typescript/tests/default/test/models/ObjectSerializer.test.ts +++ b/samples/openapi3/client/petstore/typescript/tests/default/test/models/ObjectSerializer.test.ts @@ -231,4 +231,10 @@ describe("ObjectSerializer", () => { expect(deserialized).to.deep.equal(categories) }) }) + describe("Parse", () => { + it("text/html", () => { + const input = "\n\n\nError 404 Not Found\n\n

HTTP ERROR 404

\n

Resource not found

\n\n\n" + expect(ObjectSerializer.parse(input, "text/html")).to.equal(input) + }); + }) }) From 129fd0ad5c95b8de90ba5a6350de725a12019071 Mon Sep 17 00:00:00 2001 From: Kuzma <57258237+ksvirkou-hubspot@users.noreply.github.com> Date: Mon, 30 May 2022 12:53:26 +0300 Subject: [PATCH 025/212] [Typescript] update addImport method (fix oneOf) (#11689) * fix addImport method * add function splitComposedType * super.addImport * add docs for splitComposedType * add docs for splitComposedType --- .../openapitools/codegen/DefaultCodegen.java | 4 +-- .../languages/TypeScriptClientCodegen.java | 25 ++++++++++++++++++- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 3c29ddb920..b24b0b6d07 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -5230,13 +5230,13 @@ public class DefaultCodegen implements CodegenConfig { addImport(m.imports, type); } - private void addImport(Set importsToBeAddedTo, String type) { + protected void addImport(Set importsToBeAddedTo, String type) { if (shouldAddImport(type)) { importsToBeAddedTo.add(type); } } - private boolean shouldAddImport(String type) { + protected boolean shouldAddImport(String type) { return type != null && needToImport(type); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java index d7a2af88df..3d84fb3c94 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java @@ -1568,7 +1568,7 @@ public class TypeScriptClientCodegen extends DefaultCodegen implements CodegenCo return; } - String[] parts = type.split("( [|&] )|[<>]"); + String[] parts = splitComposedType(type); for (String s : parts) { if (needToImport(s)) { m.imports.add(s); @@ -1576,6 +1576,29 @@ public class TypeScriptClientCodegen extends DefaultCodegen implements CodegenCo } } + @Override + protected void addImport(Set importsToBeAddedTo, String type) { + if (type == null) { + return; + } + + String[] parts = splitComposedType(type); + for (String s : parts) { + super.addImport(importsToBeAddedTo, s); + } + } + + /** + * Split composed types + * e.g. TheFirstType | TheSecondType to TheFirstType and TheSecondType + * + * @param type String with composed types + * @return list of types + */ + protected String[] splitComposedType(String type) { + return type.replace(" ","").split("[|&<>]"); + } + @Override public GeneratorLanguage generatorLanguage() { return GeneratorLanguage.TYPESCRIPT; } } From 88e2490087a610ea8a7f27c76e992a8af0081c6c Mon Sep 17 00:00:00 2001 From: WeihmannTNG <100708812+WeihmannTNG@users.noreply.github.com> Date: Wed, 1 Jun 2022 02:28:20 +0200 Subject: [PATCH 026/212] [Java/Spring] Fix of issue #12494: call to superclass method is done with correct arguments (#12496) * [Java/Spring] add missing key parameter to put-item method call of super class (#12494) * [Java/Spring] add test for missing key parameter to put-item method call of super class (#12494) --- .../main/resources/JavaSpring/pojo.mustache | 2 +- .../java/spring/SpringCodegenTest.java | 23 ++++++++++ .../src/test/resources/bugs/issue_12494.yaml | 42 +++++++++++++++++++ 3 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 modules/openapi-generator/src/test/resources/bugs/issue_12494.yaml diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/pojo.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/pojo.mustache index 48e6d0faf8..6305be42a1 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/pojo.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/pojo.mustache @@ -181,7 +181,7 @@ public class {{classname}}{{#parent}} extends {{{parent}}}{{/parent}}{{^parent}} {{#isMap}} public {{classname}} put{{nameInCamelCase}}Item(String key, {{{items.datatypeWithEnum}}} {{name}}Item) { - super.put{{nameInCamelCase}}Item({{name}}Item); + super.put{{nameInCamelCase}}Item(key, {{name}}Item); return this; } {{/isMap}} diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java index 51fef65c2a..f5c683322e 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java @@ -1380,4 +1380,27 @@ public class SpringCodegenTest { .assertParameterAnnotations() .containsWithNameAndAttributes("RequestParam", ImmutableMap.of("defaultValue", "\"\"")); } + + @Test + public void testPutItemsMethodContainsKeyInSuperClassMethodCall_issue12494() throws IOException { + File output = Files.createTempDirectory("test").toFile().getCanonicalFile(); + output.deleteOnExit(); + + OpenAPI openAPI = new OpenAPIParser() + .readLocation("src/test/resources/bugs/issue_12494.yaml", null, new ParseOptions()).getOpenAPI(); + SpringCodegen codegen = new SpringCodegen(); + codegen.setOutputDir(output.getAbsolutePath()); + + ClientOptInput input = new ClientOptInput() + .openAPI(openAPI) + .config(codegen); + + DefaultGenerator generator = new DefaultGenerator(); + Map files = generator.opts(input).generate().stream() + .collect(Collectors.toMap(File::getName, Function.identity())); + + JavaFileAssert.assertThat(files.get("ChildClass.java")) + .assertMethod("putSomeMapItem") + .bodyContainsLines("super.putSomeMapItem(key, someMapItem);"); + } } diff --git a/modules/openapi-generator/src/test/resources/bugs/issue_12494.yaml b/modules/openapi-generator/src/test/resources/bugs/issue_12494.yaml new file mode 100644 index 0000000000..c25bc9dfbe --- /dev/null +++ b/modules/openapi-generator/src/test/resources/bugs/issue_12494.yaml @@ -0,0 +1,42 @@ +openapi: '3.0.3' +info: + version: 1.0.0 + title: Example Api +paths: + /dummy: + get: + summary: dummy + operationId: dummy + responses: + '200': + description: OK + + +components: + schemas: + + ChildClass: + type: object + allOf: + - $ref: "#/components/schemas/ParentClass" + - type: object + properties: + objectType: + type: string + default: "ChildClass" + + ParentClass: + type: object + discriminator: + propertyName: objectType + properties: + objectType: + type: string + default: "ParentClass" + someMap: + $ref: "#/components/schemas/MapClass" + + MapClass: + type: object + additionalProperties: + type: string From bcc77d4ac4d233759278b77f1d034d7e8088fe36 Mon Sep 17 00:00:00 2001 From: Matthias Wimmer Date: Wed, 1 Jun 2022 14:00:02 +0200 Subject: [PATCH 027/212] Fix for #12504: invalid elm code for paths containing UUIDs (#12506) Fixes #12504 --- .../src/main/resources/elm/paramToString.mustache | 2 +- samples/openapi3/client/elm/src/Api/Request/Default.elm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/elm/paramToString.mustache b/modules/openapi-generator/src/main/resources/elm/paramToString.mustache index c887cc0c1e..9c19c86365 100644 --- a/modules/openapi-generator/src/main/resources/elm/paramToString.mustache +++ b/modules/openapi-generator/src/main/resources/elm/paramToString.mustache @@ -1 +1 @@ -{{#isArray}}String.join "," << List.map {{#items}}{{>paramToString}}{{/items}}{{/isArray}}{{^isArray}}{{^isEnum}}{{#isString}}identity{{/isString}}{{#isBinary}}identity{{/isBinary}}{{#isByteArray}}identity{{/isByteArray}}{{/isEnum}}{{#isBoolean}}(\val -> if val then "true" else "false"){{/isBoolean}}{{#isDateTime}}Api.Time.dateTimeToString{{/isDateTime}}{{#isDate}}Api.Time.dateToString{{/isDate}}{{#isInteger}}String.fromInt{{/isInteger}}{{#isLong}}String.fromInt{{/isLong}}{{#isNumber}}String.fromFloat{{/isNumber}}{{#isFloat}}String.fromFloat{{/isFloat}}{{#isDouble}}String.fromFloat{{/isDouble}}{{#isEnum}}stringFrom{{^paramName}}Api.Data.{{classname}}{{/paramName}}{{enumName}}{{/isEnum}}{{#isUuid}}Uuid.toString{{/isUuid}}{{/isArray}} \ No newline at end of file +{{#isArray}}String.join "," << List.map {{#items}}{{>paramToString}}{{/items}}{{/isArray}}{{^isArray}}{{^isEnum}}{{^isUuid}}{{#isString}}identity{{/isString}}{{#isBinary}}identity{{/isBinary}}{{#isByteArray}}identity{{/isByteArray}}{{/isUuid}}{{/isEnum}}{{#isBoolean}}(\val -> if val then "true" else "false"){{/isBoolean}}{{#isDateTime}}Api.Time.dateTimeToString{{/isDateTime}}{{#isDate}}Api.Time.dateToString{{/isDate}}{{#isInteger}}String.fromInt{{/isInteger}}{{#isLong}}String.fromInt{{/isLong}}{{#isNumber}}String.fromFloat{{/isNumber}}{{#isFloat}}String.fromFloat{{/isFloat}}{{#isDouble}}String.fromFloat{{/isDouble}}{{#isEnum}}stringFrom{{^paramName}}Api.Data.{{classname}}{{/paramName}}{{enumName}}{{/isEnum}}{{#isUuid}}Uuid.toString{{/isUuid}}{{/isArray}} \ No newline at end of file diff --git a/samples/openapi3/client/elm/src/Api/Request/Default.elm b/samples/openapi3/client/elm/src/Api/Request/Default.elm index 4381273807..23e998284e 100644 --- a/samples/openapi3/client/elm/src/Api/Request/Default.elm +++ b/samples/openapi3/client/elm/src/Api/Request/Default.elm @@ -186,7 +186,7 @@ uuidGet value_query = "GET" "/uuid" [] - [ ( "value", Maybe.map identityUuid.toString value_query ) ] + [ ( "value", Maybe.map Uuid.toString value_query ) ] [] Nothing Uuid.decoder From 41a2964246930891cb9b90401de0b33a0b2432cb Mon Sep 17 00:00:00 2001 From: Jochen Schalanda Date: Thu, 2 Jun 2022 18:33:12 +0200 Subject: [PATCH 028/212] Add support for remote development with Gitpod (#12508) https://gitpod.io/ https://www.gitpod.io/docs/languages/java --- .gitpod.yml | 137 ++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 +- 2 files changed, 138 insertions(+), 1 deletion(-) create mode 100644 .gitpod.yml diff --git a/.gitpod.yml b/.gitpod.yml new file mode 100644 index 0000000000..1dd7933eff --- /dev/null +++ b/.gitpod.yml @@ -0,0 +1,137 @@ +## Learn more about this file at 'https://www.gitpod.io/docs/references/gitpod-yml' +## +## This '.gitpod.yml' file when placed at the root of a project instructs +## Gitpod how to prepare & build the project, start development environments +## and configure continuous prebuilds. Prebuilds when enabled builds a project +## like a CI server so you can start coding right away - no more waiting for +## dependencies to download and builds to finish when reviewing pull-requests +## or hacking on something new. +## +## With Gitpod you can develop software from any device (even iPads) via +## desktop or browser based versions of VS Code or any JetBrains IDE and +## customise it to your individual needs - from themes to extensions, you +## have full control. +## +## The easiest way to try out Gitpod is install the browser extenion: +## 'https://www.gitpod.io/docs/browser-extension' or by prefixing +## 'https://gitpod.io#' to the source control URL of any project. +## +## For example: 'https://gitpod.io#https://github.com/gitpod-io/gitpod' + + +## The 'image' section defines which Docker image Gitpod should use. +## By default, Gitpod uses a standard Docker Image called 'workspace-full' +## which can be found at 'https://github.com/gitpod-io/workspace-images' +## +## Workspaces started based on this default image come pre-installed with +## Docker, Go, Java, Node.js, C/C++, Python, Ruby, Rust, PHP as well as +## tools such as Homebrew, Tailscale, Nginx and several more. +## +## If this image does not include the tools needed for your project then +## a public Docker image or your own Docker file can be configured. +## +## Learn more about images at 'https://www.gitpod.io/docs/config-docker' + +#image: node:buster # use 'https://hub.docker.com/_/node' +# +#image: # leave image undefined if using a Dockerfile +# file: .gitpod.Dockerfile # relative path to the Dockerfile from the +# # root of the project + +## The 'tasks' section defines how Gitpod prepares and builds this project +## or how Gitpod can start development servers. With Gitpod, there are three +## types of tasks: +## +## - before: Use this for tasks that need to run before init and before command. +## - init: Use this to configure prebuilds of heavy-lifting tasks such as +## downloading dependencies or compiling source code. +## - command: Use this to start your database or application when the workspace starts. +## +## Learn more about these tasks at 'https://www.gitpod.io/docs/config-start-tasks' + +#tasks: +# - before: | +# # commands to execute... +# +# - init: | +# # sudo apt-get install python3 # can be used to install operating system +# # dependencies but these are not kept after the +# # prebuild completes thus Gitpod recommends moving +# # operating system dependency installation steps +# # to a custom Dockerfile to make prebuilds faster +# # and to keep your codebase DRY. +# # 'https://www.gitpod.io/docs/config-docker' +# +# # pip install -r requirements.txt # install codebase dependencies +# # cmake # precompile codebase +# +# - name: Web Server +# openMode: split-left +# env: +# WEBSERVER_PORT: 8080 +# command: | +# python3 -m http.server $WEBSERVER_PORT +# +# - name: Web Browser +# openMode: split-right +# env: +# WEBSERVER_PORT: 8080 +# command: | +# gp await-port $WEBSERVER_PORT +# lynx `gp url` + +tasks: + - init: ./mvnw package -DskipTests + +## The 'ports' section defines various ports your may listen on are +## configured in Gitpod on an authenticated URL. By default, all ports +## are in private visibility state. +## +## Learn more about ports at 'https://www.gitpod.io/docs/config-ports' + +#ports: +# - port: 8080 # alternatively configure entire ranges via '8080-8090' +# visibility: private # either 'public' or 'private' (default) +# onOpen: open-browser # either 'open-browser', 'open-preview' or 'ignore' + + +## The 'vscode' section defines a list of Visual Studio Code extensions from +## the OpenVSX.org registry to be installed upon workspace startup. OpenVSX +## is an open alternative to the proprietary Visual Studio Code Marketplace +## and extensions can be added by sending a pull-request with the extension +## identifier to https://github.com/open-vsx/publish-extensions +## +## The identifier of an extension is always ${publisher}.${name}. +## +## For example: 'vscodevim.vim' +## +## Learn more at 'https://www.gitpod.io/docs/ides-and-editors/vscode' + +vscode: + extensions: + - redhat.java + - vscjava.vscode-java-pack + +## The 'github' section defines configuration of continuous prebuilds +## for GitHub repositories when the GitHub application +## 'https://github.com/apps/gitpod-io' is installed in GitHub and granted +## permissions to access the repository. +## +## Learn more at 'https://www.gitpod.io/docs/prebuilds' + +github: + prebuilds: + # enable for the default branch + master: true + # enable for all branches in this repo + branches: true + # enable for pull requests coming from this repo + pullRequests: true + # enable for pull requests coming from forks + pullRequestsFromForks: true + # add a check to pull requests + addCheck: true + # add a "Review in Gitpod" button as a comment to pull requests + addComment: true + # add a "Review in Gitpod" button to the pull request's description + addBadge: false diff --git a/README.md b/README.md index 7748c2bfee..9cbfe531c9 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@
-[![Stable releases in Maven Central](https://img.shields.io/maven-metadata/v/https/repo1.maven.org/maven2/org/openapitools/openapi-generator/maven-metadata.xml.svg)](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.openapitools%22%20AND%20a%3A%22openapi-generator%22) [![Apache 2.0 License](https://img.shields.io/badge/License-Apache%202.0-orange)](./LICENSE) [![Open Collective backers](https://img.shields.io/opencollective/backers/openapi_generator?color=orange&label=OpenCollective%20Backers)](https://opencollective.com/openapi_generator) [![Join the Slack chat room](https://img.shields.io/badge/Slack-Join%20the%20chat%20room-orange)](https://join.slack.com/t/openapi-generator/shared_invite/zt-12jxxd7p2-XUeQM~4pzsU9x~eGLQqX2g) [![Follow OpenAPI Generator Twitter account to get the latest update](https://img.shields.io/twitter/follow/oas_generator.svg?style=social&label=Follow)](https://twitter.com/oas_generator) +[![Stable releases in Maven Central](https://img.shields.io/maven-metadata/v/https/repo1.maven.org/maven2/org/openapitools/openapi-generator/maven-metadata.xml.svg)](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.openapitools%22%20AND%20a%3A%22openapi-generator%22) [![Apache 2.0 License](https://img.shields.io/badge/License-Apache%202.0-orange)](./LICENSE) [![Open Collective backers](https://img.shields.io/opencollective/backers/openapi_generator?color=orange&label=OpenCollective%20Backers)](https://opencollective.com/openapi_generator) [![Join the Slack chat room](https://img.shields.io/badge/Slack-Join%20the%20chat%20room-orange)](https://join.slack.com/t/openapi-generator/shared_invite/zt-12jxxd7p2-XUeQM~4pzsU9x~eGLQqX2g) [![Follow OpenAPI Generator Twitter account to get the latest update](https://img.shields.io/twitter/follow/oas_generator.svg?style=social&label=Follow)](https://twitter.com/oas_generator) [![Contribute with Gitpod](https://img.shields.io/badge/Contribute%20with-Gitpod-908a85?logo=gitpod)](https://gitpod.io/#https://github.com/OpenAPITools/openapi-generator)
From 4d149e7b8752574a69219516d02164f87d229d92 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Fri, 3 Jun 2022 00:36:01 +0800 Subject: [PATCH 029/212] replace tabs with 4-space in SpringCodegenTest.java --- .../org/openapitools/codegen/java/spring/SpringCodegenTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java index f5c683322e..22647ef5dd 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java @@ -1402,5 +1402,5 @@ public class SpringCodegenTest { JavaFileAssert.assertThat(files.get("ChildClass.java")) .assertMethod("putSomeMapItem") .bodyContainsLines("super.putSomeMapItem(key, someMapItem);"); - } + } } From fbc35a2a6f9e2d770b7d769bb90666a69b51388a Mon Sep 17 00:00:00 2001 From: Mike Welsh Date: Thu, 2 Jun 2022 10:36:45 -0600 Subject: [PATCH 030/212] [BUG] Use https URL for Spring milestone repository (#12512) - Also set version for spring maven plugin as it does _not_ work with the milestone version --- .../JavaSpring/libraries/spring-boot/pom-sb3.mustache | 4 +++- .../JavaSpring/libraries/spring-cloud/pom-sb3.mustache | 2 +- samples/openapi3/client/petstore/spring-cloud-3/pom.xml | 2 +- samples/openapi3/server/petstore/springboot-3/pom.xml | 4 +++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom-sb3.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom-sb3.mustache index 8d29737992..52d1067c6e 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom-sb3.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom-sb3.mustache @@ -42,7 +42,7 @@ repository.spring.milestone Spring Milestone Repository - http://repo.spring.io/milestone + https://repo.spring.io/milestone @@ -53,6 +53,8 @@ org.springframework.boot spring-boot-maven-plugin + + 2.7.0 {{#classifier}} {{{classifier}}} diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/pom-sb3.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/pom-sb3.mustache index 1d35db88d8..18a58ba9ad 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/pom-sb3.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/pom-sb3.mustache @@ -39,7 +39,7 @@ repository.spring.milestone Spring Milestone Repository - http://repo.spring.io/milestone + https://repo.spring.io/milestone diff --git a/samples/openapi3/client/petstore/spring-cloud-3/pom.xml b/samples/openapi3/client/petstore/spring-cloud-3/pom.xml index 921000f10f..f5ad2f6469 100644 --- a/samples/openapi3/client/petstore/spring-cloud-3/pom.xml +++ b/samples/openapi3/client/petstore/spring-cloud-3/pom.xml @@ -23,7 +23,7 @@ repository.spring.milestone Spring Milestone Repository - http://repo.spring.io/milestone + https://repo.spring.io/milestone diff --git a/samples/openapi3/server/petstore/springboot-3/pom.xml b/samples/openapi3/server/petstore/springboot-3/pom.xml index 09dcd5a651..d5e81b9527 100644 --- a/samples/openapi3/server/petstore/springboot-3/pom.xml +++ b/samples/openapi3/server/petstore/springboot-3/pom.xml @@ -24,7 +24,7 @@ repository.spring.milestone Spring Milestone Repository - http://repo.spring.io/milestone + https://repo.spring.io/milestone @@ -34,6 +34,8 @@ org.springframework.boot spring-boot-maven-plugin + + 2.7.0 From 421b3be82840561caee5a323a2410f595f312e20 Mon Sep 17 00:00:00 2001 From: Prajon Shakya Date: Fri, 3 Jun 2022 06:10:15 -0400 Subject: [PATCH 031/212] [csharp-netcore] Add "WithHttpInfo" variant methods in api_doc (#12323) * Added 'WithHttpInfo Variant' in api_doc template * Update the samples --- .../resources/csharp-netcore/api_doc.mustache | 46 +- .../docs/MultipartApi.md | 94 +++- .../docs/AnotherFakeApi.md | 37 +- .../docs/DefaultApi.md | 31 +- .../docs/FakeApi.md | 506 +++++++++++++----- .../docs/FakeClassnameTags123Api.md | 37 +- .../docs/PetApi.md | 295 +++++++--- .../docs/StoreApi.md | 125 ++++- .../docs/UserApi.md | 242 +++++++-- .../docs/apis/AnotherFakeApi.md | 37 +- .../docs/apis/DefaultApi.md | 31 +- .../docs/apis/FakeApi.md | 506 +++++++++++++----- .../docs/apis/FakeClassnameTags123Api.md | 37 +- .../docs/apis/PetApi.md | 295 +++++++--- .../docs/apis/StoreApi.md | 125 ++++- .../docs/apis/UserApi.md | 242 +++++++-- .../docs/apis/AnotherFakeApi.md | 37 +- .../docs/apis/DefaultApi.md | 31 +- .../docs/apis/FakeApi.md | 506 +++++++++++++----- .../docs/apis/FakeClassnameTags123Api.md | 37 +- .../docs/apis/PetApi.md | 295 +++++++--- .../docs/apis/StoreApi.md | 125 ++++- .../docs/apis/UserApi.md | 242 +++++++-- .../docs/apis/AnotherFakeApi.md | 37 +- .../docs/apis/DefaultApi.md | 31 +- .../docs/apis/FakeApi.md | 506 +++++++++++++----- .../docs/apis/FakeClassnameTags123Api.md | 37 +- .../docs/apis/PetApi.md | 295 +++++++--- .../docs/apis/StoreApi.md | 125 ++++- .../docs/apis/UserApi.md | 242 +++++++-- .../docs/AnotherFakeApi.md | 37 +- .../docs/DefaultApi.md | 31 +- .../OpenAPIClient-httpclient/docs/FakeApi.md | 506 +++++++++++++----- .../docs/FakeClassnameTags123Api.md | 37 +- .../OpenAPIClient-httpclient/docs/PetApi.md | 295 +++++++--- .../OpenAPIClient-httpclient/docs/StoreApi.md | 125 ++++- .../OpenAPIClient-httpclient/docs/UserApi.md | 242 +++++++-- .../docs/AnotherFakeApi.md | 37 +- .../OpenAPIClient-net47/docs/DefaultApi.md | 31 +- .../OpenAPIClient-net47/docs/FakeApi.md | 506 +++++++++++++----- .../docs/FakeClassnameTags123Api.md | 37 +- .../OpenAPIClient-net47/docs/PetApi.md | 295 +++++++--- .../OpenAPIClient-net47/docs/StoreApi.md | 125 ++++- .../OpenAPIClient-net47/docs/UserApi.md | 242 +++++++-- .../docs/AnotherFakeApi.md | 37 +- .../OpenAPIClient-net5.0/docs/DefaultApi.md | 31 +- .../OpenAPIClient-net5.0/docs/FakeApi.md | 506 +++++++++++++----- .../docs/FakeClassnameTags123Api.md | 37 +- .../OpenAPIClient-net5.0/docs/PetApi.md | 295 +++++++--- .../OpenAPIClient-net5.0/docs/StoreApi.md | 125 ++++- .../OpenAPIClient-net5.0/docs/UserApi.md | 242 +++++++-- .../OpenAPIClient/docs/AnotherFakeApi.md | 37 +- .../OpenAPIClient/docs/DefaultApi.md | 31 +- .../OpenAPIClient/docs/FakeApi.md | 506 +++++++++++++----- .../docs/FakeClassnameTags123Api.md | 37 +- .../OpenAPIClient/docs/PetApi.md | 295 +++++++--- .../OpenAPIClient/docs/StoreApi.md | 125 ++++- .../OpenAPIClient/docs/UserApi.md | 242 +++++++-- .../OpenAPIClientCore/docs/AnotherFakeApi.md | 37 +- .../OpenAPIClientCore/docs/DefaultApi.md | 31 +- .../OpenAPIClientCore/docs/FakeApi.md | 506 +++++++++++++----- .../docs/FakeClassnameTags123Api.md | 37 +- .../OpenAPIClientCore/docs/PetApi.md | 295 +++++++--- .../OpenAPIClientCore/docs/StoreApi.md | 125 ++++- .../OpenAPIClientCore/docs/UserApi.md | 242 +++++++-- .../OpenAPIClientCoreAndNet47/docs/PetApi.md | 265 +++++++-- .../docs/StoreApi.md | 125 ++++- .../OpenAPIClientCoreAndNet47/docs/UserApi.md | 242 +++++++-- 68 files changed, 9500 insertions(+), 2729 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/api_doc.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/api_doc.mustache index 3a3870510c..24c6e591bf 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/api_doc.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/api_doc.mustache @@ -3,10 +3,13 @@ All URIs are relative to *{{{basePath}}}* -Method | HTTP request | Description -------------- | ------------- | ------------- -{{#operations}}{{#operation}}[**{{operationId}}**]({{classname}}.md#{{operationIdLowerCase}}) | **{{httpMethod}}** {{path}} | {{summary}} -{{/operation}}{{/operations}} +| Method | HTTP request | Description | +|--------|--------------|-------------| +{{#operations}} +{{#operation}} +| [**{{operationId}}**]({{classname}}.md#{{operationIdLowerCase}}) | **{{httpMethod}}** {{path}} | {{summary}} | +{{/operation}} +{{/operations}} {{#operations}} {{#operation}} @@ -89,8 +92,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling {{classname}}.{{operationId}}: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling {{classname}}.{{operationId}}: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -98,11 +101,36 @@ namespace Example } ``` +#### Using the {{operationId}}WithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + {{#summary}} + // {{{.}}} + {{/summary}} + {{#returnType}}ApiResponse<{{{.}}}> response = {{/returnType}}apiInstance.{{{operationId}}}WithHttpInfo({{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}});{{#returnType}} + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data);{{/returnType}} +} +catch (ApiException e) +{ + Debug.Print("Exception when calling {{classname}}.{{operationId}}WithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters {{^allParams}}This endpoint does not need any parameter.{{/allParams}}{{#allParams}}{{#-last}} -Name | Type | Description | Notes -------------- | ------------- | ------------- | -------------{{/-last}}{{/allParams}} -{{#allParams}} **{{paramName}}** | {{#isFile}}**{{dataType}}**{{/isFile}}{{#isPrimitiveType}}**{{dataType}}**{{/isPrimitiveType}}{{^isPrimitiveType}}{{^isFile}}[**{{dataType}}**]({{#isContainer}}{{baseType}}{{/isContainer}}{{^isContainer}}{{dataType}}{{/isContainer}}.md){{/isFile}}{{/isPrimitiveType}}| {{description}} | {{^required}}[optional] {{/required}}{{#defaultValue}}[default to {{.}}]{{/defaultValue}} +| Name | Type | Description | Notes | +|------|------|-------------|-------| +{{/-last}} +{{/allParams}} +{{#allParams}} +| **{{paramName}}** | {{#isFile}}**{{dataType}}**{{/isFile}}{{#isPrimitiveType}}**{{dataType}}**{{/isPrimitiveType}}{{^isPrimitiveType}}{{^isFile}}[**{{dataType}}**]({{#isContainer}}{{baseType}}{{/isContainer}}{{^isContainer}}{{dataType}}{{/isContainer}}.md){{/isFile}}{{/isPrimitiveType}} | {{description}} | {{^required}}[optional] {{/required}}{{#defaultValue}}[default to {{.}}]{{/defaultValue}} | {{/allParams}} ### Return type diff --git a/samples/client/others/csharp-netcore-complex-files/docs/MultipartApi.md b/samples/client/others/csharp-netcore-complex-files/docs/MultipartApi.md index 3ba52ec631..1ee90244fd 100644 --- a/samples/client/others/csharp-netcore-complex-files/docs/MultipartApi.md +++ b/samples/client/others/csharp-netcore-complex-files/docs/MultipartApi.md @@ -2,12 +2,11 @@ All URIs are relative to *http://localhost* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**MultipartArray**](MultipartApi.md#multipartarray) | **POST** /multipart-array | -[**MultipartMixed**](MultipartApi.md#multipartmixed) | **POST** /multipart-mixed | -[**MultipartSingle**](MultipartApi.md#multipartsingle) | **POST** /multipart-single | - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**MultipartArray**](MultipartApi.md#multipartarray) | **POST** /multipart-array | | +| [**MultipartMixed**](MultipartApi.md#multipartmixed) | **POST** /multipart-mixed | | +| [**MultipartSingle**](MultipartApi.md#multipartsingle) | **POST** /multipart-single | | # **MultipartArray** @@ -42,8 +41,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling MultipartApi.MultipartArray: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling MultipartApi.MultipartArray: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -51,11 +50,27 @@ namespace Example } ``` +#### Using the MultipartArrayWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.MultipartArrayWithHttpInfo(files); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling MultipartApi.MultipartArrayWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **files** | **List<System.IO.Stream>**| Many files | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **files** | **List<System.IO.Stream>** | Many files | [optional] | ### Return type @@ -113,8 +128,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling MultipartApi.MultipartMixed: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling MultipartApi.MultipartMixed: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -122,13 +137,30 @@ namespace Example } ``` +#### Using the MultipartMixedWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.MultipartMixedWithHttpInfo(status, file, marker); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling MultipartApi.MultipartMixedWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **status** | **MultipartMixedStatus**| | - **file** | **System.IO.Stream****System.IO.Stream**| a file | - **marker** | [**MultipartMixedRequestMarker**](MultipartMixedRequestMarker.md)| | [optional] + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **status** | **MultipartMixedStatus** | | | +| **file** | **System.IO.Stream****System.IO.Stream** | a file | | +| **marker** | [**MultipartMixedRequestMarker**](MultipartMixedRequestMarker.md) | | [optional] | ### Return type @@ -184,8 +216,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling MultipartApi.MultipartSingle: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling MultipartApi.MultipartSingle: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -193,11 +225,27 @@ namespace Example } ``` +#### Using the MultipartSingleWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.MultipartSingleWithHttpInfo(file); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling MultipartApi.MultipartSingleWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **file** | **System.IO.Stream****System.IO.Stream**| One file | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **file** | **System.IO.Stream****System.IO.Stream** | One file | [optional] | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/AnotherFakeApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/AnotherFakeApi.md index 93fca7e408..0ddc28a119 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/AnotherFakeApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/AnotherFakeApi.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**Call123TestSpecialTags**](AnotherFakeApi.md#call123testspecialtags) | **PATCH** /another-fake/dummy | To test special tags - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**Call123TestSpecialTags**](AnotherFakeApi.md#call123testspecialtags) | **PATCH** /another-fake/dummy | To test special tags | # **Call123TestSpecialTags** @@ -42,8 +41,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTags: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTags: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -51,11 +50,31 @@ namespace Example } ``` +#### Using the Call123TestSpecialTagsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test special tags + ApiResponse response = apiInstance.Call123TestSpecialTagsWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTagsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/DefaultApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/DefaultApi.md index e966d3bef4..be19718012 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/DefaultApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/DefaultApi.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**FooGet**](DefaultApi.md#fooget) | **GET** /foo | - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**FooGet**](DefaultApi.md#fooget) | **GET** /foo | | # **FooGet** @@ -38,8 +37,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling DefaultApi.FooGet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling DefaultApi.FooGet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -47,9 +46,27 @@ namespace Example } ``` +#### Using the FooGetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FooGetWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling DefaultApi.FooGetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**FooGetDefaultResponse**](FooGetDefaultResponse.md) diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/FakeApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/FakeApi.md index 8a5cb9aaf4..46d135e359 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/FakeApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/FakeApi.md @@ -2,24 +2,23 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**FakeHealthGet**](FakeApi.md#fakehealthget) | **GET** /fake/health | Health check endpoint -[**FakeOuterBooleanSerialize**](FakeApi.md#fakeouterbooleanserialize) | **POST** /fake/outer/boolean | -[**FakeOuterCompositeSerialize**](FakeApi.md#fakeoutercompositeserialize) | **POST** /fake/outer/composite | -[**FakeOuterNumberSerialize**](FakeApi.md#fakeouternumberserialize) | **POST** /fake/outer/number | -[**FakeOuterStringSerialize**](FakeApi.md#fakeouterstringserialize) | **POST** /fake/outer/string | -[**GetArrayOfEnums**](FakeApi.md#getarrayofenums) | **GET** /fake/array-of-enums | Array of Enums -[**TestBodyWithFileSchema**](FakeApi.md#testbodywithfileschema) | **PUT** /fake/body-with-file-schema | -[**TestBodyWithQueryParams**](FakeApi.md#testbodywithqueryparams) | **PUT** /fake/body-with-query-params | -[**TestClientModel**](FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model -[**TestEndpointParameters**](FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 -[**TestEnumParameters**](FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters -[**TestGroupParameters**](FakeApi.md#testgroupparameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional) -[**TestInlineAdditionalProperties**](FakeApi.md#testinlineadditionalproperties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties -[**TestJsonFormData**](FakeApi.md#testjsonformdata) | **GET** /fake/jsonFormData | test json serialization of form data -[**TestQueryParameterCollectionFormat**](FakeApi.md#testqueryparametercollectionformat) | **PUT** /fake/test-query-parameters | - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**FakeHealthGet**](FakeApi.md#fakehealthget) | **GET** /fake/health | Health check endpoint | +| [**FakeOuterBooleanSerialize**](FakeApi.md#fakeouterbooleanserialize) | **POST** /fake/outer/boolean | | +| [**FakeOuterCompositeSerialize**](FakeApi.md#fakeoutercompositeserialize) | **POST** /fake/outer/composite | | +| [**FakeOuterNumberSerialize**](FakeApi.md#fakeouternumberserialize) | **POST** /fake/outer/number | | +| [**FakeOuterStringSerialize**](FakeApi.md#fakeouterstringserialize) | **POST** /fake/outer/string | | +| [**GetArrayOfEnums**](FakeApi.md#getarrayofenums) | **GET** /fake/array-of-enums | Array of Enums | +| [**TestBodyWithFileSchema**](FakeApi.md#testbodywithfileschema) | **PUT** /fake/body-with-file-schema | | +| [**TestBodyWithQueryParams**](FakeApi.md#testbodywithqueryparams) | **PUT** /fake/body-with-query-params | | +| [**TestClientModel**](FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model | +| [**TestEndpointParameters**](FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 | +| [**TestEnumParameters**](FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters | +| [**TestGroupParameters**](FakeApi.md#testgroupparameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional) | +| [**TestInlineAdditionalProperties**](FakeApi.md#testinlineadditionalproperties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties | +| [**TestJsonFormData**](FakeApi.md#testjsonformdata) | **GET** /fake/jsonFormData | test json serialization of form data | +| [**TestQueryParameterCollectionFormat**](FakeApi.md#testqueryparametercollectionformat) | **PUT** /fake/test-query-parameters | | # **FakeHealthGet** @@ -53,8 +52,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeHealthGet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeHealthGet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -62,9 +61,28 @@ namespace Example } ``` +#### Using the FakeHealthGetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Health check endpoint + ApiResponse response = apiInstance.FakeHealthGetWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeHealthGetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**HealthCheckResult**](HealthCheckResult.md) @@ -120,8 +138,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -129,11 +147,30 @@ namespace Example } ``` +#### Using the FakeOuterBooleanSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterBooleanSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **bool?**| Input boolean as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **bool?** | Input boolean as post body | [optional] | ### Return type @@ -190,8 +227,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -199,11 +236,30 @@ namespace Example } ``` +#### Using the FakeOuterCompositeSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterCompositeSerializeWithHttpInfo(outerComposite); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **outerComposite** | [**OuterComposite**](OuterComposite.md)| Input composite as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **outerComposite** | [**OuterComposite**](OuterComposite.md) | Input composite as post body | [optional] | ### Return type @@ -260,8 +316,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -269,11 +325,30 @@ namespace Example } ``` +#### Using the FakeOuterNumberSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterNumberSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **decimal?**| Input number as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **decimal?** | Input number as post body | [optional] | ### Return type @@ -330,8 +405,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterStringSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterStringSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -339,11 +414,30 @@ namespace Example } ``` +#### Using the FakeOuterStringSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterStringSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterStringSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **string**| Input string as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **string** | Input string as post body | [optional] | ### Return type @@ -398,8 +492,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.GetArrayOfEnums: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.GetArrayOfEnums: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -407,9 +501,28 @@ namespace Example } ``` +#### Using the GetArrayOfEnumsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Array of Enums + ApiResponse> response = apiInstance.GetArrayOfEnumsWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.GetArrayOfEnumsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**List<OuterEnum>**](OuterEnum.md) @@ -464,8 +577,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchema: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchema: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -473,11 +586,27 @@ namespace Example } ``` +#### Using the TestBodyWithFileSchemaWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestBodyWithFileSchemaWithHttpInfo(fileSchemaTestClass); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchemaWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md) | | | ### Return type @@ -532,8 +661,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParams: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParams: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -541,12 +670,28 @@ namespace Example } ``` +#### Using the TestBodyWithQueryParamsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestBodyWithQueryParamsWithHttpInfo(query, user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParamsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **query** | **string**| | - **user** | [**User**](User.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **query** | **string** | | | +| **user** | [**User**](User.md) | | | ### Return type @@ -604,8 +749,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -613,11 +758,31 @@ namespace Example } ``` +#### Using the TestClientModelWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test \"client\" model + ApiResponse response = apiInstance.TestClientModelWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestClientModelWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type @@ -691,8 +856,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestEndpointParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestEndpointParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -700,24 +865,41 @@ namespace Example } ``` +#### Using the TestEndpointParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 + apiInstance.TestEndpointParametersWithHttpInfo(number, _double, patternWithoutDelimiter, _byte, integer, int32, int64, _float, _string, binary, date, dateTime, password, callback); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestEndpointParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **number** | **decimal**| None | - **_double** | **double**| None | - **patternWithoutDelimiter** | **string**| None | - **_byte** | **byte[]**| None | - **integer** | **int?**| None | [optional] - **int32** | **int?**| None | [optional] - **int64** | **long?**| None | [optional] - **_float** | **float?**| None | [optional] - **_string** | **string**| None | [optional] - **binary** | **System.IO.Stream****System.IO.Stream**| None | [optional] - **date** | **DateTime?**| None | [optional] - **dateTime** | **DateTime?**| None | [optional] [default to "2010-02-01T10:20:10.111110+01:00"] - **password** | **string**| None | [optional] - **callback** | **string**| None | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **number** | **decimal** | None | | +| **_double** | **double** | None | | +| **patternWithoutDelimiter** | **string** | None | | +| **_byte** | **byte[]** | None | | +| **integer** | **int?** | None | [optional] | +| **int32** | **int?** | None | [optional] | +| **int64** | **long?** | None | [optional] | +| **_float** | **float?** | None | [optional] | +| **_string** | **string** | None | [optional] | +| **binary** | **System.IO.Stream****System.IO.Stream** | None | [optional] | +| **date** | **DateTime?** | None | [optional] | +| **dateTime** | **DateTime?** | None | [optional] [default to "2010-02-01T10:20:10.111110+01:00"] | +| **password** | **string** | None | [optional] | +| **callback** | **string** | None | [optional] | ### Return type @@ -782,8 +964,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestEnumParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestEnumParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -791,18 +973,35 @@ namespace Example } ``` +#### Using the TestEnumParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test enum parameters + apiInstance.TestEnumParametersWithHttpInfo(enumHeaderStringArray, enumHeaderString, enumQueryStringArray, enumQueryString, enumQueryInteger, enumQueryDouble, enumFormStringArray, enumFormString); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestEnumParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **enumHeaderStringArray** | [**List<string>**](string.md)| Header parameter enum test (string array) | [optional] - **enumHeaderString** | **string**| Header parameter enum test (string) | [optional] [default to -efg] - **enumQueryStringArray** | [**List<string>**](string.md)| Query parameter enum test (string array) | [optional] - **enumQueryString** | **string**| Query parameter enum test (string) | [optional] [default to -efg] - **enumQueryInteger** | **int?**| Query parameter enum test (double) | [optional] - **enumQueryDouble** | **double?**| Query parameter enum test (double) | [optional] - **enumFormStringArray** | [**List<string>**](string.md)| Form parameter enum test (string array) | [optional] [default to $] - **enumFormString** | **string**| Form parameter enum test (string) | [optional] [default to -efg] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **enumHeaderStringArray** | [**List<string>**](string.md) | Header parameter enum test (string array) | [optional] | +| **enumHeaderString** | **string** | Header parameter enum test (string) | [optional] [default to -efg] | +| **enumQueryStringArray** | [**List<string>**](string.md) | Query parameter enum test (string array) | [optional] | +| **enumQueryString** | **string** | Query parameter enum test (string) | [optional] [default to -efg] | +| **enumQueryInteger** | **int?** | Query parameter enum test (double) | [optional] | +| **enumQueryDouble** | **double?** | Query parameter enum test (double) | [optional] | +| **enumFormStringArray** | [**List<string>**](string.md) | Form parameter enum test (string array) | [optional] [default to $] | +| **enumFormString** | **string** | Form parameter enum test (string) | [optional] [default to -efg] | ### Return type @@ -868,8 +1067,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestGroupParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestGroupParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -877,16 +1076,33 @@ namespace Example } ``` +#### Using the TestGroupParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Fake endpoint to test group parameters (optional) + apiInstance.TestGroupParametersWithHttpInfo(requiredStringGroup, requiredBooleanGroup, requiredInt64Group, stringGroup, booleanGroup, int64Group); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestGroupParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **requiredStringGroup** | **int**| Required String in group parameters | - **requiredBooleanGroup** | **bool**| Required Boolean in group parameters | - **requiredInt64Group** | **long**| Required Integer in group parameters | - **stringGroup** | **int?**| String in group parameters | [optional] - **booleanGroup** | **bool?**| Boolean in group parameters | [optional] - **int64Group** | **long?**| Integer in group parameters | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **requiredStringGroup** | **int** | Required String in group parameters | | +| **requiredBooleanGroup** | **bool** | Required Boolean in group parameters | | +| **requiredInt64Group** | **long** | Required Integer in group parameters | | +| **stringGroup** | **int?** | String in group parameters | [optional] | +| **booleanGroup** | **bool?** | Boolean in group parameters | [optional] | +| **int64Group** | **long?** | Integer in group parameters | [optional] | ### Return type @@ -941,8 +1157,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestInlineAdditionalProperties: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestInlineAdditionalProperties: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -950,11 +1166,28 @@ namespace Example } ``` +#### Using the TestInlineAdditionalPropertiesWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // test inline additionalProperties + apiInstance.TestInlineAdditionalPropertiesWithHttpInfo(requestBody); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestInlineAdditionalPropertiesWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **requestBody** | [**Dictionary<string, string>**](string.md)| request body | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **requestBody** | [**Dictionary<string, string>**](string.md) | request body | | ### Return type @@ -1010,8 +1243,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestJsonFormData: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestJsonFormData: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -1019,12 +1252,29 @@ namespace Example } ``` +#### Using the TestJsonFormDataWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // test json serialization of form data + apiInstance.TestJsonFormDataWithHttpInfo(param, param2); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestJsonFormDataWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **param** | **string**| field1 | - **param2** | **string**| field2 | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **param** | **string** | field1 | | +| **param2** | **string** | field2 | | ### Return type @@ -1084,8 +1334,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormat: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormat: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -1093,15 +1343,31 @@ namespace Example } ``` +#### Using the TestQueryParameterCollectionFormatWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestQueryParameterCollectionFormatWithHttpInfo(pipe, ioutil, http, url, context); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormatWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pipe** | [**List<string>**](string.md)| | - **ioutil** | [**List<string>**](string.md)| | - **http** | [**List<string>**](string.md)| | - **url** | [**List<string>**](string.md)| | - **context** | [**List<string>**](string.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pipe** | [**List<string>**](string.md) | | | +| **ioutil** | [**List<string>**](string.md) | | | +| **http** | [**List<string>**](string.md) | | | +| **url** | [**List<string>**](string.md) | | | +| **context** | [**List<string>**](string.md) | | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/FakeClassnameTags123Api.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/FakeClassnameTags123Api.md index 13235fbd10..aff9fbdf0e 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/FakeClassnameTags123Api.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/FakeClassnameTags123Api.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**TestClassname**](FakeClassnameTags123Api.md#testclassname) | **PATCH** /fake_classname_test | To test class name in snake case - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**TestClassname**](FakeClassnameTags123Api.md#testclassname) | **PATCH** /fake_classname_test | To test class name in snake case | # **TestClassname** @@ -47,8 +46,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassname: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassname: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -56,11 +55,31 @@ namespace Example } ``` +#### Using the TestClassnameWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test class name in snake case + ApiResponse response = apiInstance.TestClassnameWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassnameWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/PetApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/PetApi.md index f429575063..589980bafe 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/PetApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/PetApi.md @@ -2,18 +2,17 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store -[**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet -[**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status -[**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags -[**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID -[**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet -[**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data -[**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image -[**UploadFileWithRequiredFile**](PetApi.md#uploadfilewithrequiredfile) | **POST** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store | +| [**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet | +| [**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status | +| [**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags | +| [**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID | +| [**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet | +| [**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data | +| [**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image | +| [**UploadFileWithRequiredFile**](PetApi.md#uploadfilewithrequiredfile) | **POST** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) | # **AddPet** @@ -50,8 +49,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.AddPet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.AddPet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -59,11 +58,28 @@ namespace Example } ``` +#### Using the AddPetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Add a new pet to the store + apiInstance.AddPetWithHttpInfo(pet); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.AddPetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -122,8 +138,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -131,12 +147,29 @@ namespace Example } ``` +#### Using the DeletePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Deletes a pet + apiInstance.DeletePetWithHttpInfo(petId, apiKey); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.DeletePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| Pet id to delete | - **apiKey** | **string**| | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | Pet id to delete | | +| **apiKey** | **string** | | [optional] | ### Return type @@ -197,8 +230,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -206,11 +239,31 @@ namespace Example } ``` +#### Using the FindPetsByStatusWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by status + ApiResponse> response = apiInstance.FindPetsByStatusWithHttpInfo(status); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByStatusWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **status** | [**List<string>**](string.md)| Status values that need to be considered for filter | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **status** | [**List<string>**](string.md) | Status values that need to be considered for filter | | ### Return type @@ -272,8 +325,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -281,11 +334,31 @@ namespace Example } ``` +#### Using the FindPetsByTagsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by tags + ApiResponse> response = apiInstance.FindPetsByTagsWithHttpInfo(tags); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByTagsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **tags** | [**List<string>**](string.md)| Tags to filter by | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **tags** | [**List<string>**](string.md) | Tags to filter by | | ### Return type @@ -349,8 +422,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -358,11 +431,31 @@ namespace Example } ``` +#### Using the GetPetByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find pet by ID + ApiResponse response = apiInstance.GetPetByIdWithHttpInfo(petId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.GetPetByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to return | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to return | | ### Return type @@ -422,8 +515,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -431,11 +524,28 @@ namespace Example } ``` +#### Using the UpdatePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Update an existing pet + apiInstance.UpdatePetWithHttpInfo(pet); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -497,8 +607,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -506,13 +616,30 @@ namespace Example } ``` +#### Using the UpdatePetWithFormWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updates a pet in the store with form data + apiInstance.UpdatePetWithFormWithHttpInfo(petId, name, status); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithFormWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet that needs to be updated | - **name** | **string**| Updated name of the pet | [optional] - **status** | **string**| Updated status of the pet | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet that needs to be updated | | +| **name** | **string** | Updated name of the pet | [optional] | +| **status** | **string** | Updated status of the pet | [optional] | ### Return type @@ -573,8 +700,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -582,13 +709,33 @@ namespace Example } ``` +#### Using the UploadFileWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // uploads an image + ApiResponse response = apiInstance.UploadFileWithHttpInfo(petId, additionalMetadata, file); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UploadFileWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to update | - **additionalMetadata** | **string**| Additional data to pass to server | [optional] - **file** | **System.IO.Stream****System.IO.Stream**| file to upload | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to update | | +| **additionalMetadata** | **string** | Additional data to pass to server | [optional] | +| **file** | **System.IO.Stream****System.IO.Stream** | file to upload | [optional] | ### Return type @@ -649,8 +796,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFile: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFile: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -658,13 +805,33 @@ namespace Example } ``` +#### Using the UploadFileWithRequiredFileWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // uploads an image (required) + ApiResponse response = apiInstance.UploadFileWithRequiredFileWithHttpInfo(petId, requiredFile, additionalMetadata); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFileWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to update | - **requiredFile** | **System.IO.Stream****System.IO.Stream**| file to upload | - **additionalMetadata** | **string**| Additional data to pass to server | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to update | | +| **requiredFile** | **System.IO.Stream****System.IO.Stream** | file to upload | | +| **additionalMetadata** | **string** | Additional data to pass to server | [optional] | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/StoreApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/StoreApi.md index 963ecda9c1..95bbe1b2f1 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/StoreApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/StoreApi.md @@ -2,13 +2,12 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID -[**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status -[**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{order_id} | Find purchase order by ID -[**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID | +| [**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status | +| [**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{order_id} | Find purchase order by ID | +| [**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet | # **DeleteOrder** @@ -44,8 +43,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -53,11 +52,28 @@ namespace Example } ``` +#### Using the DeleteOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete purchase order by ID + apiInstance.DeleteOrderWithHttpInfo(orderId); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.DeleteOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **string**| ID of the order that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **string** | ID of the order that needs to be deleted | | ### Return type @@ -120,8 +136,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -129,9 +145,28 @@ namespace Example } ``` +#### Using the GetInventoryWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Returns pet inventories by status + ApiResponse> response = apiInstance.GetInventoryWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetInventoryWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type **Dictionary** @@ -188,8 +223,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -197,11 +232,31 @@ namespace Example } ``` +#### Using the GetOrderByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find purchase order by ID + ApiResponse response = apiInstance.GetOrderByIdWithHttpInfo(orderId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetOrderByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **long**| ID of pet that needs to be fetched | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **long** | ID of pet that needs to be fetched | | ### Return type @@ -259,8 +314,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -268,11 +323,31 @@ namespace Example } ``` +#### Using the PlaceOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Place an order for a pet + ApiResponse response = apiInstance.PlaceOrderWithHttpInfo(order); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.PlaceOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **order** | [**Order**](Order.md)| order placed for purchasing the pet | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **order** | [**Order**](Order.md) | order placed for purchasing the pet | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/UserApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/UserApi.md index 2f478081dc..a3d461b04c 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/UserApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/UserApi.md @@ -2,17 +2,16 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user -[**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array -[**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array -[**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user -[**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name -[**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system -[**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session -[**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user | +| [**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array | +| [**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array | +| [**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user | +| [**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name | +| [**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system | +| [**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session | +| [**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user | # **CreateUser** @@ -48,8 +47,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -57,11 +56,28 @@ namespace Example } ``` +#### Using the CreateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Create user + apiInstance.CreateUserWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**User**](User.md)| Created user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**User**](User.md) | Created user object | | ### Return type @@ -116,8 +132,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -125,11 +141,28 @@ namespace Example } ``` +#### Using the CreateUsersWithArrayInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithArrayInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -184,8 +217,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -193,11 +226,28 @@ namespace Example } ``` +#### Using the CreateUsersWithListInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithListInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithListInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -254,8 +304,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -263,11 +313,28 @@ namespace Example } ``` +#### Using the DeleteUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete user + apiInstance.DeleteUserWithHttpInfo(username); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.DeleteUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be deleted | | ### Return type @@ -324,8 +391,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -333,11 +400,31 @@ namespace Example } ``` +#### Using the GetUserByNameWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Get user by user name + ApiResponse response = apiInstance.GetUserByNameWithHttpInfo(username); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.GetUserByNameWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be fetched. Use user1 for testing. | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be fetched. Use user1 for testing. | | ### Return type @@ -396,8 +483,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -405,12 +492,32 @@ namespace Example } ``` +#### Using the LoginUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs user into the system + ApiResponse response = apiInstance.LoginUserWithHttpInfo(username, password); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LoginUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The user name for login | - **password** | **string**| The password for login in clear text | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The user name for login | | +| **password** | **string** | The password for login in clear text | | ### Return type @@ -465,8 +572,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -474,9 +581,25 @@ namespace Example } ``` +#### Using the LogoutUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs out current logged in user session + apiInstance.LogoutUserWithHttpInfo(); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LogoutUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type void (empty response body) @@ -533,8 +656,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -542,12 +665,29 @@ namespace Example } ``` +#### Using the UpdateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updated user + apiInstance.UpdateUserWithHttpInfo(username, user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.UpdateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| name that need to be deleted | - **user** | [**User**](User.md)| Updated user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | name that need to be deleted | | +| **user** | [**User**](User.md) | Updated user object | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/AnotherFakeApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/AnotherFakeApi.md index 93f82cb5bd..6acb8396be 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/AnotherFakeApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/AnotherFakeApi.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**Call123TestSpecialTags**](AnotherFakeApi.md#call123testspecialtags) | **PATCH** /another-fake/dummy | To test special tags - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**Call123TestSpecialTags**](AnotherFakeApi.md#call123testspecialtags) | **PATCH** /another-fake/dummy | To test special tags | # **Call123TestSpecialTags** @@ -42,8 +41,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTags: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTags: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -51,11 +50,31 @@ namespace Example } ``` +#### Using the Call123TestSpecialTagsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test special tags + ApiResponse response = apiInstance.Call123TestSpecialTagsWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTagsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/DefaultApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/DefaultApi.md index 66361e2693..71e78ed98b 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/DefaultApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/DefaultApi.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**FooGet**](DefaultApi.md#fooget) | **GET** /foo | - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**FooGet**](DefaultApi.md#fooget) | **GET** /foo | | # **FooGet** @@ -38,8 +37,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling DefaultApi.FooGet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling DefaultApi.FooGet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -47,9 +46,27 @@ namespace Example } ``` +#### Using the FooGetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FooGetWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling DefaultApi.FooGetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**FooGetDefaultResponse**](FooGetDefaultResponse.md) diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/FakeApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/FakeApi.md index 2d03803434..c1202fdbf3 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/FakeApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/FakeApi.md @@ -2,24 +2,23 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**FakeHealthGet**](FakeApi.md#fakehealthget) | **GET** /fake/health | Health check endpoint -[**FakeOuterBooleanSerialize**](FakeApi.md#fakeouterbooleanserialize) | **POST** /fake/outer/boolean | -[**FakeOuterCompositeSerialize**](FakeApi.md#fakeoutercompositeserialize) | **POST** /fake/outer/composite | -[**FakeOuterNumberSerialize**](FakeApi.md#fakeouternumberserialize) | **POST** /fake/outer/number | -[**FakeOuterStringSerialize**](FakeApi.md#fakeouterstringserialize) | **POST** /fake/outer/string | -[**GetArrayOfEnums**](FakeApi.md#getarrayofenums) | **GET** /fake/array-of-enums | Array of Enums -[**TestBodyWithFileSchema**](FakeApi.md#testbodywithfileschema) | **PUT** /fake/body-with-file-schema | -[**TestBodyWithQueryParams**](FakeApi.md#testbodywithqueryparams) | **PUT** /fake/body-with-query-params | -[**TestClientModel**](FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model -[**TestEndpointParameters**](FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 -[**TestEnumParameters**](FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters -[**TestGroupParameters**](FakeApi.md#testgroupparameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional) -[**TestInlineAdditionalProperties**](FakeApi.md#testinlineadditionalproperties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties -[**TestJsonFormData**](FakeApi.md#testjsonformdata) | **GET** /fake/jsonFormData | test json serialization of form data -[**TestQueryParameterCollectionFormat**](FakeApi.md#testqueryparametercollectionformat) | **PUT** /fake/test-query-parameters | - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**FakeHealthGet**](FakeApi.md#fakehealthget) | **GET** /fake/health | Health check endpoint | +| [**FakeOuterBooleanSerialize**](FakeApi.md#fakeouterbooleanserialize) | **POST** /fake/outer/boolean | | +| [**FakeOuterCompositeSerialize**](FakeApi.md#fakeoutercompositeserialize) | **POST** /fake/outer/composite | | +| [**FakeOuterNumberSerialize**](FakeApi.md#fakeouternumberserialize) | **POST** /fake/outer/number | | +| [**FakeOuterStringSerialize**](FakeApi.md#fakeouterstringserialize) | **POST** /fake/outer/string | | +| [**GetArrayOfEnums**](FakeApi.md#getarrayofenums) | **GET** /fake/array-of-enums | Array of Enums | +| [**TestBodyWithFileSchema**](FakeApi.md#testbodywithfileschema) | **PUT** /fake/body-with-file-schema | | +| [**TestBodyWithQueryParams**](FakeApi.md#testbodywithqueryparams) | **PUT** /fake/body-with-query-params | | +| [**TestClientModel**](FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model | +| [**TestEndpointParameters**](FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 | +| [**TestEnumParameters**](FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters | +| [**TestGroupParameters**](FakeApi.md#testgroupparameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional) | +| [**TestInlineAdditionalProperties**](FakeApi.md#testinlineadditionalproperties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties | +| [**TestJsonFormData**](FakeApi.md#testjsonformdata) | **GET** /fake/jsonFormData | test json serialization of form data | +| [**TestQueryParameterCollectionFormat**](FakeApi.md#testqueryparametercollectionformat) | **PUT** /fake/test-query-parameters | | # **FakeHealthGet** @@ -53,8 +52,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeHealthGet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeHealthGet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -62,9 +61,28 @@ namespace Example } ``` +#### Using the FakeHealthGetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Health check endpoint + ApiResponse response = apiInstance.FakeHealthGetWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeHealthGetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**HealthCheckResult**](HealthCheckResult.md) @@ -120,8 +138,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -129,11 +147,30 @@ namespace Example } ``` +#### Using the FakeOuterBooleanSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterBooleanSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **bool?**| Input boolean as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **bool?** | Input boolean as post body | [optional] | ### Return type @@ -190,8 +227,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -199,11 +236,30 @@ namespace Example } ``` +#### Using the FakeOuterCompositeSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterCompositeSerializeWithHttpInfo(outerComposite); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **outerComposite** | [**OuterComposite?**](OuterComposite?.md)| Input composite as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **outerComposite** | [**OuterComposite?**](OuterComposite?.md) | Input composite as post body | [optional] | ### Return type @@ -260,8 +316,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -269,11 +325,30 @@ namespace Example } ``` +#### Using the FakeOuterNumberSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterNumberSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **decimal?**| Input number as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **decimal?** | Input number as post body | [optional] | ### Return type @@ -330,8 +405,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterStringSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterStringSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -339,11 +414,30 @@ namespace Example } ``` +#### Using the FakeOuterStringSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterStringSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterStringSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **string?**| Input string as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **string?** | Input string as post body | [optional] | ### Return type @@ -398,8 +492,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.GetArrayOfEnums: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.GetArrayOfEnums: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -407,9 +501,28 @@ namespace Example } ``` +#### Using the GetArrayOfEnumsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Array of Enums + ApiResponse> response = apiInstance.GetArrayOfEnumsWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.GetArrayOfEnumsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**List<OuterEnum>**](OuterEnum.md) @@ -464,8 +577,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchema: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchema: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -473,11 +586,27 @@ namespace Example } ``` +#### Using the TestBodyWithFileSchemaWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestBodyWithFileSchemaWithHttpInfo(fileSchemaTestClass); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchemaWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md) | | | ### Return type @@ -532,8 +661,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParams: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParams: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -541,12 +670,28 @@ namespace Example } ``` +#### Using the TestBodyWithQueryParamsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestBodyWithQueryParamsWithHttpInfo(query, user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParamsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **query** | **string**| | - **user** | [**User**](User.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **query** | **string** | | | +| **user** | [**User**](User.md) | | | ### Return type @@ -604,8 +749,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -613,11 +758,31 @@ namespace Example } ``` +#### Using the TestClientModelWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test \"client\" model + ApiResponse response = apiInstance.TestClientModelWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestClientModelWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type @@ -691,8 +856,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestEndpointParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestEndpointParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -700,24 +865,41 @@ namespace Example } ``` +#### Using the TestEndpointParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 + apiInstance.TestEndpointParametersWithHttpInfo(number, _double, patternWithoutDelimiter, _byte, integer, int32, int64, _float, _string, binary, date, password, callback, dateTime); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestEndpointParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **number** | **decimal**| None | - **_double** | **double**| None | - **patternWithoutDelimiter** | **string**| None | - **_byte** | **byte[]**| None | - **integer** | **int?**| None | [optional] - **int32** | **int?**| None | [optional] - **int64** | **long?**| None | [optional] - **_float** | **float?**| None | [optional] - **_string** | **string?**| None | [optional] - **binary** | **System.IO.Stream?****System.IO.Stream?**| None | [optional] - **date** | **DateTime?**| None | [optional] - **password** | **string?**| None | [optional] - **callback** | **string?**| None | [optional] - **dateTime** | **DateTime?**| None | [optional] [default to "2010-02-01T10:20:10.111110+01:00"] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **number** | **decimal** | None | | +| **_double** | **double** | None | | +| **patternWithoutDelimiter** | **string** | None | | +| **_byte** | **byte[]** | None | | +| **integer** | **int?** | None | [optional] | +| **int32** | **int?** | None | [optional] | +| **int64** | **long?** | None | [optional] | +| **_float** | **float?** | None | [optional] | +| **_string** | **string?** | None | [optional] | +| **binary** | **System.IO.Stream?****System.IO.Stream?** | None | [optional] | +| **date** | **DateTime?** | None | [optional] | +| **password** | **string?** | None | [optional] | +| **callback** | **string?** | None | [optional] | +| **dateTime** | **DateTime?** | None | [optional] [default to "2010-02-01T10:20:10.111110+01:00"] | ### Return type @@ -782,8 +964,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestEnumParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestEnumParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -791,18 +973,35 @@ namespace Example } ``` +#### Using the TestEnumParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test enum parameters + apiInstance.TestEnumParametersWithHttpInfo(enumHeaderStringArray, enumQueryStringArray, enumQueryInteger, enumQueryDouble, enumHeaderString, enumQueryString, enumFormStringArray, enumFormString); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestEnumParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **enumHeaderStringArray** | [**List<string>?**](string.md)| Header parameter enum test (string array) | [optional] - **enumQueryStringArray** | [**List<string>?**](string.md)| Query parameter enum test (string array) | [optional] - **enumQueryInteger** | **int?**| Query parameter enum test (double) | [optional] - **enumQueryDouble** | **double?**| Query parameter enum test (double) | [optional] - **enumHeaderString** | **string?**| Header parameter enum test (string) | [optional] [default to -efg] - **enumQueryString** | **string?**| Query parameter enum test (string) | [optional] [default to -efg] - **enumFormStringArray** | [**List<string>?**](string.md)| Form parameter enum test (string array) | [optional] [default to $] - **enumFormString** | **string?**| Form parameter enum test (string) | [optional] [default to -efg] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **enumHeaderStringArray** | [**List<string>?**](string.md) | Header parameter enum test (string array) | [optional] | +| **enumQueryStringArray** | [**List<string>?**](string.md) | Query parameter enum test (string array) | [optional] | +| **enumQueryInteger** | **int?** | Query parameter enum test (double) | [optional] | +| **enumQueryDouble** | **double?** | Query parameter enum test (double) | [optional] | +| **enumHeaderString** | **string?** | Header parameter enum test (string) | [optional] [default to -efg] | +| **enumQueryString** | **string?** | Query parameter enum test (string) | [optional] [default to -efg] | +| **enumFormStringArray** | [**List<string>?**](string.md) | Form parameter enum test (string array) | [optional] [default to $] | +| **enumFormString** | **string?** | Form parameter enum test (string) | [optional] [default to -efg] | ### Return type @@ -868,8 +1067,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestGroupParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestGroupParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -877,16 +1076,33 @@ namespace Example } ``` +#### Using the TestGroupParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Fake endpoint to test group parameters (optional) + apiInstance.TestGroupParametersWithHttpInfo(requiredStringGroup, requiredBooleanGroup, requiredInt64Group, stringGroup, booleanGroup, int64Group); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestGroupParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **requiredStringGroup** | **int**| Required String in group parameters | - **requiredBooleanGroup** | **bool**| Required Boolean in group parameters | - **requiredInt64Group** | **long**| Required Integer in group parameters | - **stringGroup** | **int?**| String in group parameters | [optional] - **booleanGroup** | **bool?**| Boolean in group parameters | [optional] - **int64Group** | **long?**| Integer in group parameters | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **requiredStringGroup** | **int** | Required String in group parameters | | +| **requiredBooleanGroup** | **bool** | Required Boolean in group parameters | | +| **requiredInt64Group** | **long** | Required Integer in group parameters | | +| **stringGroup** | **int?** | String in group parameters | [optional] | +| **booleanGroup** | **bool?** | Boolean in group parameters | [optional] | +| **int64Group** | **long?** | Integer in group parameters | [optional] | ### Return type @@ -941,8 +1157,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestInlineAdditionalProperties: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestInlineAdditionalProperties: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -950,11 +1166,28 @@ namespace Example } ``` +#### Using the TestInlineAdditionalPropertiesWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // test inline additionalProperties + apiInstance.TestInlineAdditionalPropertiesWithHttpInfo(requestBody); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestInlineAdditionalPropertiesWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **requestBody** | [**Dictionary<string, string>**](string.md)| request body | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **requestBody** | [**Dictionary<string, string>**](string.md) | request body | | ### Return type @@ -1010,8 +1243,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestJsonFormData: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestJsonFormData: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -1019,12 +1252,29 @@ namespace Example } ``` +#### Using the TestJsonFormDataWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // test json serialization of form data + apiInstance.TestJsonFormDataWithHttpInfo(param, param2); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestJsonFormDataWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **param** | **string**| field1 | - **param2** | **string**| field2 | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **param** | **string** | field1 | | +| **param2** | **string** | field2 | | ### Return type @@ -1084,8 +1334,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormat: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormat: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -1093,15 +1343,31 @@ namespace Example } ``` +#### Using the TestQueryParameterCollectionFormatWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestQueryParameterCollectionFormatWithHttpInfo(pipe, ioutil, http, url, context); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormatWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pipe** | [**List<string>**](string.md)| | - **ioutil** | [**List<string>**](string.md)| | - **http** | [**List<string>**](string.md)| | - **url** | [**List<string>**](string.md)| | - **context** | [**List<string>**](string.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pipe** | [**List<string>**](string.md) | | | +| **ioutil** | [**List<string>**](string.md) | | | +| **http** | [**List<string>**](string.md) | | | +| **url** | [**List<string>**](string.md) | | | +| **context** | [**List<string>**](string.md) | | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/FakeClassnameTags123Api.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/FakeClassnameTags123Api.md index 0708e362fb..efa948aa4b 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/FakeClassnameTags123Api.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/FakeClassnameTags123Api.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**TestClassname**](FakeClassnameTags123Api.md#testclassname) | **PATCH** /fake_classname_test | To test class name in snake case - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**TestClassname**](FakeClassnameTags123Api.md#testclassname) | **PATCH** /fake_classname_test | To test class name in snake case | # **TestClassname** @@ -47,8 +46,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassname: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassname: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -56,11 +55,31 @@ namespace Example } ``` +#### Using the TestClassnameWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test class name in snake case + ApiResponse response = apiInstance.TestClassnameWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassnameWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/PetApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/PetApi.md index dcea2d8dd6..18c0d4baf3 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/PetApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/PetApi.md @@ -2,18 +2,17 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store -[**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet -[**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status -[**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags -[**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID -[**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet -[**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data -[**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image -[**UploadFileWithRequiredFile**](PetApi.md#uploadfilewithrequiredfile) | **POST** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store | +| [**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet | +| [**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status | +| [**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags | +| [**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID | +| [**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet | +| [**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data | +| [**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image | +| [**UploadFileWithRequiredFile**](PetApi.md#uploadfilewithrequiredfile) | **POST** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) | # **AddPet** @@ -50,8 +49,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.AddPet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.AddPet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -59,11 +58,28 @@ namespace Example } ``` +#### Using the AddPetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Add a new pet to the store + apiInstance.AddPetWithHttpInfo(pet); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.AddPetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -122,8 +138,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -131,12 +147,29 @@ namespace Example } ``` +#### Using the DeletePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Deletes a pet + apiInstance.DeletePetWithHttpInfo(petId, apiKey); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.DeletePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| Pet id to delete | - **apiKey** | **string?**| | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | Pet id to delete | | +| **apiKey** | **string?** | | [optional] | ### Return type @@ -197,8 +230,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -206,11 +239,31 @@ namespace Example } ``` +#### Using the FindPetsByStatusWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by status + ApiResponse> response = apiInstance.FindPetsByStatusWithHttpInfo(status); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByStatusWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **status** | [**List<string>**](string.md)| Status values that need to be considered for filter | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **status** | [**List<string>**](string.md) | Status values that need to be considered for filter | | ### Return type @@ -272,8 +325,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -281,11 +334,31 @@ namespace Example } ``` +#### Using the FindPetsByTagsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by tags + ApiResponse> response = apiInstance.FindPetsByTagsWithHttpInfo(tags); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByTagsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **tags** | [**List<string>**](string.md)| Tags to filter by | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **tags** | [**List<string>**](string.md) | Tags to filter by | | ### Return type @@ -349,8 +422,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -358,11 +431,31 @@ namespace Example } ``` +#### Using the GetPetByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find pet by ID + ApiResponse response = apiInstance.GetPetByIdWithHttpInfo(petId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.GetPetByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to return | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to return | | ### Return type @@ -422,8 +515,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -431,11 +524,28 @@ namespace Example } ``` +#### Using the UpdatePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Update an existing pet + apiInstance.UpdatePetWithHttpInfo(pet); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -497,8 +607,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -506,13 +616,30 @@ namespace Example } ``` +#### Using the UpdatePetWithFormWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updates a pet in the store with form data + apiInstance.UpdatePetWithFormWithHttpInfo(petId, name, status); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithFormWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet that needs to be updated | - **name** | **string?**| Updated name of the pet | [optional] - **status** | **string?**| Updated status of the pet | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet that needs to be updated | | +| **name** | **string?** | Updated name of the pet | [optional] | +| **status** | **string?** | Updated status of the pet | [optional] | ### Return type @@ -573,8 +700,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -582,13 +709,33 @@ namespace Example } ``` +#### Using the UploadFileWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // uploads an image + ApiResponse response = apiInstance.UploadFileWithHttpInfo(petId, additionalMetadata, file); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UploadFileWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to update | - **additionalMetadata** | **string?**| Additional data to pass to server | [optional] - **file** | **System.IO.Stream?****System.IO.Stream?**| file to upload | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to update | | +| **additionalMetadata** | **string?** | Additional data to pass to server | [optional] | +| **file** | **System.IO.Stream?****System.IO.Stream?** | file to upload | [optional] | ### Return type @@ -649,8 +796,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFile: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFile: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -658,13 +805,33 @@ namespace Example } ``` +#### Using the UploadFileWithRequiredFileWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // uploads an image (required) + ApiResponse response = apiInstance.UploadFileWithRequiredFileWithHttpInfo(petId, requiredFile, additionalMetadata); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFileWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to update | - **requiredFile** | **System.IO.Stream****System.IO.Stream**| file to upload | - **additionalMetadata** | **string?**| Additional data to pass to server | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to update | | +| **requiredFile** | **System.IO.Stream****System.IO.Stream** | file to upload | | +| **additionalMetadata** | **string?** | Additional data to pass to server | [optional] | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/StoreApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/StoreApi.md index a1e45f5d79..04c9407eb4 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/StoreApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/StoreApi.md @@ -2,13 +2,12 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID -[**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status -[**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{order_id} | Find purchase order by ID -[**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID | +| [**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status | +| [**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{order_id} | Find purchase order by ID | +| [**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet | # **DeleteOrder** @@ -44,8 +43,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -53,11 +52,28 @@ namespace Example } ``` +#### Using the DeleteOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete purchase order by ID + apiInstance.DeleteOrderWithHttpInfo(orderId); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.DeleteOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **string**| ID of the order that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **string** | ID of the order that needs to be deleted | | ### Return type @@ -120,8 +136,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -129,9 +145,28 @@ namespace Example } ``` +#### Using the GetInventoryWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Returns pet inventories by status + ApiResponse> response = apiInstance.GetInventoryWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetInventoryWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type **Dictionary** @@ -188,8 +223,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -197,11 +232,31 @@ namespace Example } ``` +#### Using the GetOrderByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find purchase order by ID + ApiResponse response = apiInstance.GetOrderByIdWithHttpInfo(orderId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetOrderByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **long**| ID of pet that needs to be fetched | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **long** | ID of pet that needs to be fetched | | ### Return type @@ -259,8 +314,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -268,11 +323,31 @@ namespace Example } ``` +#### Using the PlaceOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Place an order for a pet + ApiResponse response = apiInstance.PlaceOrderWithHttpInfo(order); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.PlaceOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **order** | [**Order**](Order.md)| order placed for purchasing the pet | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **order** | [**Order**](Order.md) | order placed for purchasing the pet | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/UserApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/UserApi.md index 70ff20fa89..fd1c1a7d62 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/UserApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/UserApi.md @@ -2,17 +2,16 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user -[**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array -[**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array -[**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user -[**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name -[**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system -[**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session -[**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user | +| [**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array | +| [**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array | +| [**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user | +| [**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name | +| [**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system | +| [**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session | +| [**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user | # **CreateUser** @@ -48,8 +47,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -57,11 +56,28 @@ namespace Example } ``` +#### Using the CreateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Create user + apiInstance.CreateUserWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**User**](User.md)| Created user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**User**](User.md) | Created user object | | ### Return type @@ -116,8 +132,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -125,11 +141,28 @@ namespace Example } ``` +#### Using the CreateUsersWithArrayInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithArrayInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -184,8 +217,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -193,11 +226,28 @@ namespace Example } ``` +#### Using the CreateUsersWithListInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithListInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithListInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -254,8 +304,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -263,11 +313,28 @@ namespace Example } ``` +#### Using the DeleteUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete user + apiInstance.DeleteUserWithHttpInfo(username); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.DeleteUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be deleted | | ### Return type @@ -324,8 +391,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -333,11 +400,31 @@ namespace Example } ``` +#### Using the GetUserByNameWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Get user by user name + ApiResponse response = apiInstance.GetUserByNameWithHttpInfo(username); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.GetUserByNameWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be fetched. Use user1 for testing. | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be fetched. Use user1 for testing. | | ### Return type @@ -396,8 +483,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -405,12 +492,32 @@ namespace Example } ``` +#### Using the LoginUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs user into the system + ApiResponse response = apiInstance.LoginUserWithHttpInfo(username, password); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LoginUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The user name for login | - **password** | **string**| The password for login in clear text | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The user name for login | | +| **password** | **string** | The password for login in clear text | | ### Return type @@ -465,8 +572,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -474,9 +581,25 @@ namespace Example } ``` +#### Using the LogoutUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs out current logged in user session + apiInstance.LogoutUserWithHttpInfo(); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LogoutUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type void (empty response body) @@ -533,8 +656,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -542,12 +665,29 @@ namespace Example } ``` +#### Using the UpdateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updated user + apiInstance.UpdateUserWithHttpInfo(username, user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.UpdateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| name that need to be deleted | - **user** | [**User**](User.md)| Updated user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | name that need to be deleted | | +| **user** | [**User**](User.md) | Updated user object | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/AnotherFakeApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/AnotherFakeApi.md index 93f82cb5bd..6acb8396be 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/AnotherFakeApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/AnotherFakeApi.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**Call123TestSpecialTags**](AnotherFakeApi.md#call123testspecialtags) | **PATCH** /another-fake/dummy | To test special tags - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**Call123TestSpecialTags**](AnotherFakeApi.md#call123testspecialtags) | **PATCH** /another-fake/dummy | To test special tags | # **Call123TestSpecialTags** @@ -42,8 +41,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTags: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTags: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -51,11 +50,31 @@ namespace Example } ``` +#### Using the Call123TestSpecialTagsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test special tags + ApiResponse response = apiInstance.Call123TestSpecialTagsWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTagsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/DefaultApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/DefaultApi.md index 66361e2693..71e78ed98b 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/DefaultApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/DefaultApi.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**FooGet**](DefaultApi.md#fooget) | **GET** /foo | - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**FooGet**](DefaultApi.md#fooget) | **GET** /foo | | # **FooGet** @@ -38,8 +37,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling DefaultApi.FooGet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling DefaultApi.FooGet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -47,9 +46,27 @@ namespace Example } ``` +#### Using the FooGetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FooGetWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling DefaultApi.FooGetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**FooGetDefaultResponse**](FooGetDefaultResponse.md) diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/FakeApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/FakeApi.md index 7aedac0df2..dd5e3225a6 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/FakeApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/FakeApi.md @@ -2,24 +2,23 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**FakeHealthGet**](FakeApi.md#fakehealthget) | **GET** /fake/health | Health check endpoint -[**FakeOuterBooleanSerialize**](FakeApi.md#fakeouterbooleanserialize) | **POST** /fake/outer/boolean | -[**FakeOuterCompositeSerialize**](FakeApi.md#fakeoutercompositeserialize) | **POST** /fake/outer/composite | -[**FakeOuterNumberSerialize**](FakeApi.md#fakeouternumberserialize) | **POST** /fake/outer/number | -[**FakeOuterStringSerialize**](FakeApi.md#fakeouterstringserialize) | **POST** /fake/outer/string | -[**GetArrayOfEnums**](FakeApi.md#getarrayofenums) | **GET** /fake/array-of-enums | Array of Enums -[**TestBodyWithFileSchema**](FakeApi.md#testbodywithfileschema) | **PUT** /fake/body-with-file-schema | -[**TestBodyWithQueryParams**](FakeApi.md#testbodywithqueryparams) | **PUT** /fake/body-with-query-params | -[**TestClientModel**](FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model -[**TestEndpointParameters**](FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 -[**TestEnumParameters**](FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters -[**TestGroupParameters**](FakeApi.md#testgroupparameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional) -[**TestInlineAdditionalProperties**](FakeApi.md#testinlineadditionalproperties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties -[**TestJsonFormData**](FakeApi.md#testjsonformdata) | **GET** /fake/jsonFormData | test json serialization of form data -[**TestQueryParameterCollectionFormat**](FakeApi.md#testqueryparametercollectionformat) | **PUT** /fake/test-query-parameters | - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**FakeHealthGet**](FakeApi.md#fakehealthget) | **GET** /fake/health | Health check endpoint | +| [**FakeOuterBooleanSerialize**](FakeApi.md#fakeouterbooleanserialize) | **POST** /fake/outer/boolean | | +| [**FakeOuterCompositeSerialize**](FakeApi.md#fakeoutercompositeserialize) | **POST** /fake/outer/composite | | +| [**FakeOuterNumberSerialize**](FakeApi.md#fakeouternumberserialize) | **POST** /fake/outer/number | | +| [**FakeOuterStringSerialize**](FakeApi.md#fakeouterstringserialize) | **POST** /fake/outer/string | | +| [**GetArrayOfEnums**](FakeApi.md#getarrayofenums) | **GET** /fake/array-of-enums | Array of Enums | +| [**TestBodyWithFileSchema**](FakeApi.md#testbodywithfileschema) | **PUT** /fake/body-with-file-schema | | +| [**TestBodyWithQueryParams**](FakeApi.md#testbodywithqueryparams) | **PUT** /fake/body-with-query-params | | +| [**TestClientModel**](FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model | +| [**TestEndpointParameters**](FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 | +| [**TestEnumParameters**](FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters | +| [**TestGroupParameters**](FakeApi.md#testgroupparameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional) | +| [**TestInlineAdditionalProperties**](FakeApi.md#testinlineadditionalproperties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties | +| [**TestJsonFormData**](FakeApi.md#testjsonformdata) | **GET** /fake/jsonFormData | test json serialization of form data | +| [**TestQueryParameterCollectionFormat**](FakeApi.md#testqueryparametercollectionformat) | **PUT** /fake/test-query-parameters | | # **FakeHealthGet** @@ -53,8 +52,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeHealthGet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeHealthGet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -62,9 +61,28 @@ namespace Example } ``` +#### Using the FakeHealthGetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Health check endpoint + ApiResponse response = apiInstance.FakeHealthGetWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeHealthGetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**HealthCheckResult**](HealthCheckResult.md) @@ -120,8 +138,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -129,11 +147,30 @@ namespace Example } ``` +#### Using the FakeOuterBooleanSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterBooleanSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **bool?**| Input boolean as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **bool?** | Input boolean as post body | [optional] | ### Return type @@ -190,8 +227,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -199,11 +236,30 @@ namespace Example } ``` +#### Using the FakeOuterCompositeSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterCompositeSerializeWithHttpInfo(outerComposite); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **outerComposite** | [**OuterComposite**](OuterComposite.md)| Input composite as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **outerComposite** | [**OuterComposite**](OuterComposite.md) | Input composite as post body | [optional] | ### Return type @@ -260,8 +316,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -269,11 +325,30 @@ namespace Example } ``` +#### Using the FakeOuterNumberSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterNumberSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **decimal?**| Input number as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **decimal?** | Input number as post body | [optional] | ### Return type @@ -330,8 +405,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterStringSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterStringSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -339,11 +414,30 @@ namespace Example } ``` +#### Using the FakeOuterStringSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterStringSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterStringSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **string**| Input string as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **string** | Input string as post body | [optional] | ### Return type @@ -398,8 +492,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.GetArrayOfEnums: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.GetArrayOfEnums: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -407,9 +501,28 @@ namespace Example } ``` +#### Using the GetArrayOfEnumsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Array of Enums + ApiResponse> response = apiInstance.GetArrayOfEnumsWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.GetArrayOfEnumsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**List<OuterEnum>**](OuterEnum.md) @@ -464,8 +577,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchema: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchema: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -473,11 +586,27 @@ namespace Example } ``` +#### Using the TestBodyWithFileSchemaWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestBodyWithFileSchemaWithHttpInfo(fileSchemaTestClass); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchemaWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md) | | | ### Return type @@ -532,8 +661,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParams: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParams: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -541,12 +670,28 @@ namespace Example } ``` +#### Using the TestBodyWithQueryParamsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestBodyWithQueryParamsWithHttpInfo(query, user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParamsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **query** | **string**| | - **user** | [**User**](User.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **query** | **string** | | | +| **user** | [**User**](User.md) | | | ### Return type @@ -604,8 +749,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -613,11 +758,31 @@ namespace Example } ``` +#### Using the TestClientModelWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test \"client\" model + ApiResponse response = apiInstance.TestClientModelWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestClientModelWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type @@ -691,8 +856,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestEndpointParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestEndpointParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -700,24 +865,41 @@ namespace Example } ``` +#### Using the TestEndpointParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 + apiInstance.TestEndpointParametersWithHttpInfo(number, _double, patternWithoutDelimiter, _byte, integer, int32, int64, _float, _string, binary, date, password, callback, dateTime); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestEndpointParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **number** | **decimal**| None | - **_double** | **double**| None | - **patternWithoutDelimiter** | **string**| None | - **_byte** | **byte[]**| None | - **integer** | **int?**| None | [optional] - **int32** | **int?**| None | [optional] - **int64** | **long?**| None | [optional] - **_float** | **float?**| None | [optional] - **_string** | **string**| None | [optional] - **binary** | **System.IO.Stream****System.IO.Stream**| None | [optional] - **date** | **DateTime?**| None | [optional] - **password** | **string**| None | [optional] - **callback** | **string**| None | [optional] - **dateTime** | **DateTime?**| None | [optional] [default to "2010-02-01T10:20:10.111110+01:00"] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **number** | **decimal** | None | | +| **_double** | **double** | None | | +| **patternWithoutDelimiter** | **string** | None | | +| **_byte** | **byte[]** | None | | +| **integer** | **int?** | None | [optional] | +| **int32** | **int?** | None | [optional] | +| **int64** | **long?** | None | [optional] | +| **_float** | **float?** | None | [optional] | +| **_string** | **string** | None | [optional] | +| **binary** | **System.IO.Stream****System.IO.Stream** | None | [optional] | +| **date** | **DateTime?** | None | [optional] | +| **password** | **string** | None | [optional] | +| **callback** | **string** | None | [optional] | +| **dateTime** | **DateTime?** | None | [optional] [default to "2010-02-01T10:20:10.111110+01:00"] | ### Return type @@ -782,8 +964,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestEnumParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestEnumParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -791,18 +973,35 @@ namespace Example } ``` +#### Using the TestEnumParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test enum parameters + apiInstance.TestEnumParametersWithHttpInfo(enumHeaderStringArray, enumQueryStringArray, enumQueryInteger, enumQueryDouble, enumHeaderString, enumQueryString, enumFormStringArray, enumFormString); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestEnumParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **enumHeaderStringArray** | [**List<string>**](string.md)| Header parameter enum test (string array) | [optional] - **enumQueryStringArray** | [**List<string>**](string.md)| Query parameter enum test (string array) | [optional] - **enumQueryInteger** | **int?**| Query parameter enum test (double) | [optional] - **enumQueryDouble** | **double?**| Query parameter enum test (double) | [optional] - **enumHeaderString** | **string**| Header parameter enum test (string) | [optional] [default to -efg] - **enumQueryString** | **string**| Query parameter enum test (string) | [optional] [default to -efg] - **enumFormStringArray** | [**List<string>**](string.md)| Form parameter enum test (string array) | [optional] [default to $] - **enumFormString** | **string**| Form parameter enum test (string) | [optional] [default to -efg] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **enumHeaderStringArray** | [**List<string>**](string.md) | Header parameter enum test (string array) | [optional] | +| **enumQueryStringArray** | [**List<string>**](string.md) | Query parameter enum test (string array) | [optional] | +| **enumQueryInteger** | **int?** | Query parameter enum test (double) | [optional] | +| **enumQueryDouble** | **double?** | Query parameter enum test (double) | [optional] | +| **enumHeaderString** | **string** | Header parameter enum test (string) | [optional] [default to -efg] | +| **enumQueryString** | **string** | Query parameter enum test (string) | [optional] [default to -efg] | +| **enumFormStringArray** | [**List<string>**](string.md) | Form parameter enum test (string array) | [optional] [default to $] | +| **enumFormString** | **string** | Form parameter enum test (string) | [optional] [default to -efg] | ### Return type @@ -868,8 +1067,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestGroupParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestGroupParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -877,16 +1076,33 @@ namespace Example } ``` +#### Using the TestGroupParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Fake endpoint to test group parameters (optional) + apiInstance.TestGroupParametersWithHttpInfo(requiredStringGroup, requiredBooleanGroup, requiredInt64Group, stringGroup, booleanGroup, int64Group); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestGroupParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **requiredStringGroup** | **int**| Required String in group parameters | - **requiredBooleanGroup** | **bool**| Required Boolean in group parameters | - **requiredInt64Group** | **long**| Required Integer in group parameters | - **stringGroup** | **int?**| String in group parameters | [optional] - **booleanGroup** | **bool?**| Boolean in group parameters | [optional] - **int64Group** | **long?**| Integer in group parameters | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **requiredStringGroup** | **int** | Required String in group parameters | | +| **requiredBooleanGroup** | **bool** | Required Boolean in group parameters | | +| **requiredInt64Group** | **long** | Required Integer in group parameters | | +| **stringGroup** | **int?** | String in group parameters | [optional] | +| **booleanGroup** | **bool?** | Boolean in group parameters | [optional] | +| **int64Group** | **long?** | Integer in group parameters | [optional] | ### Return type @@ -941,8 +1157,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestInlineAdditionalProperties: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestInlineAdditionalProperties: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -950,11 +1166,28 @@ namespace Example } ``` +#### Using the TestInlineAdditionalPropertiesWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // test inline additionalProperties + apiInstance.TestInlineAdditionalPropertiesWithHttpInfo(requestBody); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestInlineAdditionalPropertiesWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **requestBody** | [**Dictionary<string, string>**](string.md)| request body | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **requestBody** | [**Dictionary<string, string>**](string.md) | request body | | ### Return type @@ -1010,8 +1243,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestJsonFormData: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestJsonFormData: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -1019,12 +1252,29 @@ namespace Example } ``` +#### Using the TestJsonFormDataWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // test json serialization of form data + apiInstance.TestJsonFormDataWithHttpInfo(param, param2); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestJsonFormDataWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **param** | **string**| field1 | - **param2** | **string**| field2 | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **param** | **string** | field1 | | +| **param2** | **string** | field2 | | ### Return type @@ -1084,8 +1334,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormat: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormat: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -1093,15 +1343,31 @@ namespace Example } ``` +#### Using the TestQueryParameterCollectionFormatWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestQueryParameterCollectionFormatWithHttpInfo(pipe, ioutil, http, url, context); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormatWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pipe** | [**List<string>**](string.md)| | - **ioutil** | [**List<string>**](string.md)| | - **http** | [**List<string>**](string.md)| | - **url** | [**List<string>**](string.md)| | - **context** | [**List<string>**](string.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pipe** | [**List<string>**](string.md) | | | +| **ioutil** | [**List<string>**](string.md) | | | +| **http** | [**List<string>**](string.md) | | | +| **url** | [**List<string>**](string.md) | | | +| **context** | [**List<string>**](string.md) | | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/FakeClassnameTags123Api.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/FakeClassnameTags123Api.md index 0708e362fb..efa948aa4b 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/FakeClassnameTags123Api.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/FakeClassnameTags123Api.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**TestClassname**](FakeClassnameTags123Api.md#testclassname) | **PATCH** /fake_classname_test | To test class name in snake case - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**TestClassname**](FakeClassnameTags123Api.md#testclassname) | **PATCH** /fake_classname_test | To test class name in snake case | # **TestClassname** @@ -47,8 +46,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassname: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassname: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -56,11 +55,31 @@ namespace Example } ``` +#### Using the TestClassnameWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test class name in snake case + ApiResponse response = apiInstance.TestClassnameWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassnameWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/PetApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/PetApi.md index b61d641883..f651b3db0d 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/PetApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/PetApi.md @@ -2,18 +2,17 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store -[**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet -[**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status -[**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags -[**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID -[**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet -[**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data -[**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image -[**UploadFileWithRequiredFile**](PetApi.md#uploadfilewithrequiredfile) | **POST** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store | +| [**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet | +| [**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status | +| [**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags | +| [**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID | +| [**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet | +| [**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data | +| [**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image | +| [**UploadFileWithRequiredFile**](PetApi.md#uploadfilewithrequiredfile) | **POST** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) | # **AddPet** @@ -50,8 +49,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.AddPet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.AddPet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -59,11 +58,28 @@ namespace Example } ``` +#### Using the AddPetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Add a new pet to the store + apiInstance.AddPetWithHttpInfo(pet); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.AddPetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -122,8 +138,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -131,12 +147,29 @@ namespace Example } ``` +#### Using the DeletePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Deletes a pet + apiInstance.DeletePetWithHttpInfo(petId, apiKey); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.DeletePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| Pet id to delete | - **apiKey** | **string**| | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | Pet id to delete | | +| **apiKey** | **string** | | [optional] | ### Return type @@ -197,8 +230,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -206,11 +239,31 @@ namespace Example } ``` +#### Using the FindPetsByStatusWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by status + ApiResponse> response = apiInstance.FindPetsByStatusWithHttpInfo(status); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByStatusWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **status** | [**List<string>**](string.md)| Status values that need to be considered for filter | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **status** | [**List<string>**](string.md) | Status values that need to be considered for filter | | ### Return type @@ -272,8 +325,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -281,11 +334,31 @@ namespace Example } ``` +#### Using the FindPetsByTagsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by tags + ApiResponse> response = apiInstance.FindPetsByTagsWithHttpInfo(tags); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByTagsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **tags** | [**List<string>**](string.md)| Tags to filter by | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **tags** | [**List<string>**](string.md) | Tags to filter by | | ### Return type @@ -349,8 +422,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -358,11 +431,31 @@ namespace Example } ``` +#### Using the GetPetByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find pet by ID + ApiResponse response = apiInstance.GetPetByIdWithHttpInfo(petId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.GetPetByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to return | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to return | | ### Return type @@ -422,8 +515,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -431,11 +524,28 @@ namespace Example } ``` +#### Using the UpdatePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Update an existing pet + apiInstance.UpdatePetWithHttpInfo(pet); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -497,8 +607,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -506,13 +616,30 @@ namespace Example } ``` +#### Using the UpdatePetWithFormWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updates a pet in the store with form data + apiInstance.UpdatePetWithFormWithHttpInfo(petId, name, status); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithFormWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet that needs to be updated | - **name** | **string**| Updated name of the pet | [optional] - **status** | **string**| Updated status of the pet | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet that needs to be updated | | +| **name** | **string** | Updated name of the pet | [optional] | +| **status** | **string** | Updated status of the pet | [optional] | ### Return type @@ -573,8 +700,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -582,13 +709,33 @@ namespace Example } ``` +#### Using the UploadFileWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // uploads an image + ApiResponse response = apiInstance.UploadFileWithHttpInfo(petId, additionalMetadata, file); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UploadFileWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to update | - **additionalMetadata** | **string**| Additional data to pass to server | [optional] - **file** | **System.IO.Stream****System.IO.Stream**| file to upload | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to update | | +| **additionalMetadata** | **string** | Additional data to pass to server | [optional] | +| **file** | **System.IO.Stream****System.IO.Stream** | file to upload | [optional] | ### Return type @@ -649,8 +796,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFile: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFile: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -658,13 +805,33 @@ namespace Example } ``` +#### Using the UploadFileWithRequiredFileWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // uploads an image (required) + ApiResponse response = apiInstance.UploadFileWithRequiredFileWithHttpInfo(petId, requiredFile, additionalMetadata); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFileWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to update | - **requiredFile** | **System.IO.Stream****System.IO.Stream**| file to upload | - **additionalMetadata** | **string**| Additional data to pass to server | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to update | | +| **requiredFile** | **System.IO.Stream****System.IO.Stream** | file to upload | | +| **additionalMetadata** | **string** | Additional data to pass to server | [optional] | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/StoreApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/StoreApi.md index a1e45f5d79..04c9407eb4 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/StoreApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/StoreApi.md @@ -2,13 +2,12 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID -[**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status -[**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{order_id} | Find purchase order by ID -[**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID | +| [**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status | +| [**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{order_id} | Find purchase order by ID | +| [**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet | # **DeleteOrder** @@ -44,8 +43,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -53,11 +52,28 @@ namespace Example } ``` +#### Using the DeleteOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete purchase order by ID + apiInstance.DeleteOrderWithHttpInfo(orderId); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.DeleteOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **string**| ID of the order that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **string** | ID of the order that needs to be deleted | | ### Return type @@ -120,8 +136,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -129,9 +145,28 @@ namespace Example } ``` +#### Using the GetInventoryWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Returns pet inventories by status + ApiResponse> response = apiInstance.GetInventoryWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetInventoryWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type **Dictionary** @@ -188,8 +223,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -197,11 +232,31 @@ namespace Example } ``` +#### Using the GetOrderByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find purchase order by ID + ApiResponse response = apiInstance.GetOrderByIdWithHttpInfo(orderId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetOrderByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **long**| ID of pet that needs to be fetched | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **long** | ID of pet that needs to be fetched | | ### Return type @@ -259,8 +314,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -268,11 +323,31 @@ namespace Example } ``` +#### Using the PlaceOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Place an order for a pet + ApiResponse response = apiInstance.PlaceOrderWithHttpInfo(order); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.PlaceOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **order** | [**Order**](Order.md)| order placed for purchasing the pet | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **order** | [**Order**](Order.md) | order placed for purchasing the pet | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/UserApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/UserApi.md index 70ff20fa89..fd1c1a7d62 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/UserApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/UserApi.md @@ -2,17 +2,16 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user -[**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array -[**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array -[**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user -[**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name -[**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system -[**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session -[**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user | +| [**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array | +| [**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array | +| [**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user | +| [**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name | +| [**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system | +| [**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session | +| [**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user | # **CreateUser** @@ -48,8 +47,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -57,11 +56,28 @@ namespace Example } ``` +#### Using the CreateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Create user + apiInstance.CreateUserWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**User**](User.md)| Created user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**User**](User.md) | Created user object | | ### Return type @@ -116,8 +132,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -125,11 +141,28 @@ namespace Example } ``` +#### Using the CreateUsersWithArrayInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithArrayInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -184,8 +217,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -193,11 +226,28 @@ namespace Example } ``` +#### Using the CreateUsersWithListInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithListInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithListInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -254,8 +304,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -263,11 +313,28 @@ namespace Example } ``` +#### Using the DeleteUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete user + apiInstance.DeleteUserWithHttpInfo(username); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.DeleteUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be deleted | | ### Return type @@ -324,8 +391,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -333,11 +400,31 @@ namespace Example } ``` +#### Using the GetUserByNameWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Get user by user name + ApiResponse response = apiInstance.GetUserByNameWithHttpInfo(username); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.GetUserByNameWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be fetched. Use user1 for testing. | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be fetched. Use user1 for testing. | | ### Return type @@ -396,8 +483,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -405,12 +492,32 @@ namespace Example } ``` +#### Using the LoginUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs user into the system + ApiResponse response = apiInstance.LoginUserWithHttpInfo(username, password); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LoginUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The user name for login | - **password** | **string**| The password for login in clear text | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The user name for login | | +| **password** | **string** | The password for login in clear text | | ### Return type @@ -465,8 +572,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -474,9 +581,25 @@ namespace Example } ``` +#### Using the LogoutUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs out current logged in user session + apiInstance.LogoutUserWithHttpInfo(); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LogoutUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type void (empty response body) @@ -533,8 +656,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -542,12 +665,29 @@ namespace Example } ``` +#### Using the UpdateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updated user + apiInstance.UpdateUserWithHttpInfo(username, user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.UpdateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| name that need to be deleted | - **user** | [**User**](User.md)| Updated user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | name that need to be deleted | | +| **user** | [**User**](User.md) | Updated user object | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/AnotherFakeApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/AnotherFakeApi.md index 93f82cb5bd..6acb8396be 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/AnotherFakeApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/AnotherFakeApi.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**Call123TestSpecialTags**](AnotherFakeApi.md#call123testspecialtags) | **PATCH** /another-fake/dummy | To test special tags - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**Call123TestSpecialTags**](AnotherFakeApi.md#call123testspecialtags) | **PATCH** /another-fake/dummy | To test special tags | # **Call123TestSpecialTags** @@ -42,8 +41,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTags: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTags: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -51,11 +50,31 @@ namespace Example } ``` +#### Using the Call123TestSpecialTagsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test special tags + ApiResponse response = apiInstance.Call123TestSpecialTagsWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTagsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/DefaultApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/DefaultApi.md index 66361e2693..71e78ed98b 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/DefaultApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/DefaultApi.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**FooGet**](DefaultApi.md#fooget) | **GET** /foo | - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**FooGet**](DefaultApi.md#fooget) | **GET** /foo | | # **FooGet** @@ -38,8 +37,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling DefaultApi.FooGet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling DefaultApi.FooGet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -47,9 +46,27 @@ namespace Example } ``` +#### Using the FooGetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FooGetWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling DefaultApi.FooGetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**FooGetDefaultResponse**](FooGetDefaultResponse.md) diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/FakeApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/FakeApi.md index 7aedac0df2..dd5e3225a6 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/FakeApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/FakeApi.md @@ -2,24 +2,23 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**FakeHealthGet**](FakeApi.md#fakehealthget) | **GET** /fake/health | Health check endpoint -[**FakeOuterBooleanSerialize**](FakeApi.md#fakeouterbooleanserialize) | **POST** /fake/outer/boolean | -[**FakeOuterCompositeSerialize**](FakeApi.md#fakeoutercompositeserialize) | **POST** /fake/outer/composite | -[**FakeOuterNumberSerialize**](FakeApi.md#fakeouternumberserialize) | **POST** /fake/outer/number | -[**FakeOuterStringSerialize**](FakeApi.md#fakeouterstringserialize) | **POST** /fake/outer/string | -[**GetArrayOfEnums**](FakeApi.md#getarrayofenums) | **GET** /fake/array-of-enums | Array of Enums -[**TestBodyWithFileSchema**](FakeApi.md#testbodywithfileschema) | **PUT** /fake/body-with-file-schema | -[**TestBodyWithQueryParams**](FakeApi.md#testbodywithqueryparams) | **PUT** /fake/body-with-query-params | -[**TestClientModel**](FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model -[**TestEndpointParameters**](FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 -[**TestEnumParameters**](FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters -[**TestGroupParameters**](FakeApi.md#testgroupparameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional) -[**TestInlineAdditionalProperties**](FakeApi.md#testinlineadditionalproperties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties -[**TestJsonFormData**](FakeApi.md#testjsonformdata) | **GET** /fake/jsonFormData | test json serialization of form data -[**TestQueryParameterCollectionFormat**](FakeApi.md#testqueryparametercollectionformat) | **PUT** /fake/test-query-parameters | - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**FakeHealthGet**](FakeApi.md#fakehealthget) | **GET** /fake/health | Health check endpoint | +| [**FakeOuterBooleanSerialize**](FakeApi.md#fakeouterbooleanserialize) | **POST** /fake/outer/boolean | | +| [**FakeOuterCompositeSerialize**](FakeApi.md#fakeoutercompositeserialize) | **POST** /fake/outer/composite | | +| [**FakeOuterNumberSerialize**](FakeApi.md#fakeouternumberserialize) | **POST** /fake/outer/number | | +| [**FakeOuterStringSerialize**](FakeApi.md#fakeouterstringserialize) | **POST** /fake/outer/string | | +| [**GetArrayOfEnums**](FakeApi.md#getarrayofenums) | **GET** /fake/array-of-enums | Array of Enums | +| [**TestBodyWithFileSchema**](FakeApi.md#testbodywithfileschema) | **PUT** /fake/body-with-file-schema | | +| [**TestBodyWithQueryParams**](FakeApi.md#testbodywithqueryparams) | **PUT** /fake/body-with-query-params | | +| [**TestClientModel**](FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model | +| [**TestEndpointParameters**](FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 | +| [**TestEnumParameters**](FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters | +| [**TestGroupParameters**](FakeApi.md#testgroupparameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional) | +| [**TestInlineAdditionalProperties**](FakeApi.md#testinlineadditionalproperties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties | +| [**TestJsonFormData**](FakeApi.md#testjsonformdata) | **GET** /fake/jsonFormData | test json serialization of form data | +| [**TestQueryParameterCollectionFormat**](FakeApi.md#testqueryparametercollectionformat) | **PUT** /fake/test-query-parameters | | # **FakeHealthGet** @@ -53,8 +52,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeHealthGet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeHealthGet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -62,9 +61,28 @@ namespace Example } ``` +#### Using the FakeHealthGetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Health check endpoint + ApiResponse response = apiInstance.FakeHealthGetWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeHealthGetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**HealthCheckResult**](HealthCheckResult.md) @@ -120,8 +138,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -129,11 +147,30 @@ namespace Example } ``` +#### Using the FakeOuterBooleanSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterBooleanSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **bool?**| Input boolean as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **bool?** | Input boolean as post body | [optional] | ### Return type @@ -190,8 +227,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -199,11 +236,30 @@ namespace Example } ``` +#### Using the FakeOuterCompositeSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterCompositeSerializeWithHttpInfo(outerComposite); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **outerComposite** | [**OuterComposite**](OuterComposite.md)| Input composite as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **outerComposite** | [**OuterComposite**](OuterComposite.md) | Input composite as post body | [optional] | ### Return type @@ -260,8 +316,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -269,11 +325,30 @@ namespace Example } ``` +#### Using the FakeOuterNumberSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterNumberSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **decimal?**| Input number as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **decimal?** | Input number as post body | [optional] | ### Return type @@ -330,8 +405,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterStringSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterStringSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -339,11 +414,30 @@ namespace Example } ``` +#### Using the FakeOuterStringSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterStringSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterStringSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **string**| Input string as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **string** | Input string as post body | [optional] | ### Return type @@ -398,8 +492,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.GetArrayOfEnums: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.GetArrayOfEnums: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -407,9 +501,28 @@ namespace Example } ``` +#### Using the GetArrayOfEnumsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Array of Enums + ApiResponse> response = apiInstance.GetArrayOfEnumsWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.GetArrayOfEnumsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**List<OuterEnum>**](OuterEnum.md) @@ -464,8 +577,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchema: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchema: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -473,11 +586,27 @@ namespace Example } ``` +#### Using the TestBodyWithFileSchemaWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestBodyWithFileSchemaWithHttpInfo(fileSchemaTestClass); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchemaWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md) | | | ### Return type @@ -532,8 +661,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParams: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParams: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -541,12 +670,28 @@ namespace Example } ``` +#### Using the TestBodyWithQueryParamsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestBodyWithQueryParamsWithHttpInfo(query, user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParamsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **query** | **string**| | - **user** | [**User**](User.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **query** | **string** | | | +| **user** | [**User**](User.md) | | | ### Return type @@ -604,8 +749,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -613,11 +758,31 @@ namespace Example } ``` +#### Using the TestClientModelWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test \"client\" model + ApiResponse response = apiInstance.TestClientModelWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestClientModelWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type @@ -691,8 +856,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestEndpointParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestEndpointParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -700,24 +865,41 @@ namespace Example } ``` +#### Using the TestEndpointParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 + apiInstance.TestEndpointParametersWithHttpInfo(number, _double, patternWithoutDelimiter, _byte, integer, int32, int64, _float, _string, binary, date, password, callback, dateTime); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestEndpointParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **number** | **decimal**| None | - **_double** | **double**| None | - **patternWithoutDelimiter** | **string**| None | - **_byte** | **byte[]**| None | - **integer** | **int?**| None | [optional] - **int32** | **int?**| None | [optional] - **int64** | **long?**| None | [optional] - **_float** | **float?**| None | [optional] - **_string** | **string**| None | [optional] - **binary** | **System.IO.Stream****System.IO.Stream**| None | [optional] - **date** | **DateTime?**| None | [optional] - **password** | **string**| None | [optional] - **callback** | **string**| None | [optional] - **dateTime** | **DateTime?**| None | [optional] [default to "2010-02-01T10:20:10.111110+01:00"] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **number** | **decimal** | None | | +| **_double** | **double** | None | | +| **patternWithoutDelimiter** | **string** | None | | +| **_byte** | **byte[]** | None | | +| **integer** | **int?** | None | [optional] | +| **int32** | **int?** | None | [optional] | +| **int64** | **long?** | None | [optional] | +| **_float** | **float?** | None | [optional] | +| **_string** | **string** | None | [optional] | +| **binary** | **System.IO.Stream****System.IO.Stream** | None | [optional] | +| **date** | **DateTime?** | None | [optional] | +| **password** | **string** | None | [optional] | +| **callback** | **string** | None | [optional] | +| **dateTime** | **DateTime?** | None | [optional] [default to "2010-02-01T10:20:10.111110+01:00"] | ### Return type @@ -782,8 +964,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestEnumParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestEnumParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -791,18 +973,35 @@ namespace Example } ``` +#### Using the TestEnumParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test enum parameters + apiInstance.TestEnumParametersWithHttpInfo(enumHeaderStringArray, enumQueryStringArray, enumQueryInteger, enumQueryDouble, enumHeaderString, enumQueryString, enumFormStringArray, enumFormString); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestEnumParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **enumHeaderStringArray** | [**List<string>**](string.md)| Header parameter enum test (string array) | [optional] - **enumQueryStringArray** | [**List<string>**](string.md)| Query parameter enum test (string array) | [optional] - **enumQueryInteger** | **int?**| Query parameter enum test (double) | [optional] - **enumQueryDouble** | **double?**| Query parameter enum test (double) | [optional] - **enumHeaderString** | **string**| Header parameter enum test (string) | [optional] [default to -efg] - **enumQueryString** | **string**| Query parameter enum test (string) | [optional] [default to -efg] - **enumFormStringArray** | [**List<string>**](string.md)| Form parameter enum test (string array) | [optional] [default to $] - **enumFormString** | **string**| Form parameter enum test (string) | [optional] [default to -efg] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **enumHeaderStringArray** | [**List<string>**](string.md) | Header parameter enum test (string array) | [optional] | +| **enumQueryStringArray** | [**List<string>**](string.md) | Query parameter enum test (string array) | [optional] | +| **enumQueryInteger** | **int?** | Query parameter enum test (double) | [optional] | +| **enumQueryDouble** | **double?** | Query parameter enum test (double) | [optional] | +| **enumHeaderString** | **string** | Header parameter enum test (string) | [optional] [default to -efg] | +| **enumQueryString** | **string** | Query parameter enum test (string) | [optional] [default to -efg] | +| **enumFormStringArray** | [**List<string>**](string.md) | Form parameter enum test (string array) | [optional] [default to $] | +| **enumFormString** | **string** | Form parameter enum test (string) | [optional] [default to -efg] | ### Return type @@ -868,8 +1067,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestGroupParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestGroupParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -877,16 +1076,33 @@ namespace Example } ``` +#### Using the TestGroupParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Fake endpoint to test group parameters (optional) + apiInstance.TestGroupParametersWithHttpInfo(requiredStringGroup, requiredBooleanGroup, requiredInt64Group, stringGroup, booleanGroup, int64Group); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestGroupParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **requiredStringGroup** | **int**| Required String in group parameters | - **requiredBooleanGroup** | **bool**| Required Boolean in group parameters | - **requiredInt64Group** | **long**| Required Integer in group parameters | - **stringGroup** | **int?**| String in group parameters | [optional] - **booleanGroup** | **bool?**| Boolean in group parameters | [optional] - **int64Group** | **long?**| Integer in group parameters | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **requiredStringGroup** | **int** | Required String in group parameters | | +| **requiredBooleanGroup** | **bool** | Required Boolean in group parameters | | +| **requiredInt64Group** | **long** | Required Integer in group parameters | | +| **stringGroup** | **int?** | String in group parameters | [optional] | +| **booleanGroup** | **bool?** | Boolean in group parameters | [optional] | +| **int64Group** | **long?** | Integer in group parameters | [optional] | ### Return type @@ -941,8 +1157,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestInlineAdditionalProperties: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestInlineAdditionalProperties: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -950,11 +1166,28 @@ namespace Example } ``` +#### Using the TestInlineAdditionalPropertiesWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // test inline additionalProperties + apiInstance.TestInlineAdditionalPropertiesWithHttpInfo(requestBody); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestInlineAdditionalPropertiesWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **requestBody** | [**Dictionary<string, string>**](string.md)| request body | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **requestBody** | [**Dictionary<string, string>**](string.md) | request body | | ### Return type @@ -1010,8 +1243,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestJsonFormData: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestJsonFormData: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -1019,12 +1252,29 @@ namespace Example } ``` +#### Using the TestJsonFormDataWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // test json serialization of form data + apiInstance.TestJsonFormDataWithHttpInfo(param, param2); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestJsonFormDataWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **param** | **string**| field1 | - **param2** | **string**| field2 | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **param** | **string** | field1 | | +| **param2** | **string** | field2 | | ### Return type @@ -1084,8 +1334,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormat: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormat: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -1093,15 +1343,31 @@ namespace Example } ``` +#### Using the TestQueryParameterCollectionFormatWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestQueryParameterCollectionFormatWithHttpInfo(pipe, ioutil, http, url, context); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormatWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pipe** | [**List<string>**](string.md)| | - **ioutil** | [**List<string>**](string.md)| | - **http** | [**List<string>**](string.md)| | - **url** | [**List<string>**](string.md)| | - **context** | [**List<string>**](string.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pipe** | [**List<string>**](string.md) | | | +| **ioutil** | [**List<string>**](string.md) | | | +| **http** | [**List<string>**](string.md) | | | +| **url** | [**List<string>**](string.md) | | | +| **context** | [**List<string>**](string.md) | | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/FakeClassnameTags123Api.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/FakeClassnameTags123Api.md index 0708e362fb..efa948aa4b 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/FakeClassnameTags123Api.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/FakeClassnameTags123Api.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**TestClassname**](FakeClassnameTags123Api.md#testclassname) | **PATCH** /fake_classname_test | To test class name in snake case - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**TestClassname**](FakeClassnameTags123Api.md#testclassname) | **PATCH** /fake_classname_test | To test class name in snake case | # **TestClassname** @@ -47,8 +46,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassname: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassname: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -56,11 +55,31 @@ namespace Example } ``` +#### Using the TestClassnameWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test class name in snake case + ApiResponse response = apiInstance.TestClassnameWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassnameWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/PetApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/PetApi.md index b61d641883..f651b3db0d 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/PetApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/PetApi.md @@ -2,18 +2,17 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store -[**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet -[**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status -[**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags -[**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID -[**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet -[**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data -[**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image -[**UploadFileWithRequiredFile**](PetApi.md#uploadfilewithrequiredfile) | **POST** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store | +| [**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet | +| [**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status | +| [**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags | +| [**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID | +| [**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet | +| [**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data | +| [**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image | +| [**UploadFileWithRequiredFile**](PetApi.md#uploadfilewithrequiredfile) | **POST** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) | # **AddPet** @@ -50,8 +49,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.AddPet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.AddPet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -59,11 +58,28 @@ namespace Example } ``` +#### Using the AddPetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Add a new pet to the store + apiInstance.AddPetWithHttpInfo(pet); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.AddPetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -122,8 +138,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -131,12 +147,29 @@ namespace Example } ``` +#### Using the DeletePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Deletes a pet + apiInstance.DeletePetWithHttpInfo(petId, apiKey); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.DeletePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| Pet id to delete | - **apiKey** | **string**| | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | Pet id to delete | | +| **apiKey** | **string** | | [optional] | ### Return type @@ -197,8 +230,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -206,11 +239,31 @@ namespace Example } ``` +#### Using the FindPetsByStatusWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by status + ApiResponse> response = apiInstance.FindPetsByStatusWithHttpInfo(status); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByStatusWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **status** | [**List<string>**](string.md)| Status values that need to be considered for filter | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **status** | [**List<string>**](string.md) | Status values that need to be considered for filter | | ### Return type @@ -272,8 +325,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -281,11 +334,31 @@ namespace Example } ``` +#### Using the FindPetsByTagsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by tags + ApiResponse> response = apiInstance.FindPetsByTagsWithHttpInfo(tags); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByTagsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **tags** | [**List<string>**](string.md)| Tags to filter by | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **tags** | [**List<string>**](string.md) | Tags to filter by | | ### Return type @@ -349,8 +422,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -358,11 +431,31 @@ namespace Example } ``` +#### Using the GetPetByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find pet by ID + ApiResponse response = apiInstance.GetPetByIdWithHttpInfo(petId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.GetPetByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to return | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to return | | ### Return type @@ -422,8 +515,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -431,11 +524,28 @@ namespace Example } ``` +#### Using the UpdatePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Update an existing pet + apiInstance.UpdatePetWithHttpInfo(pet); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -497,8 +607,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -506,13 +616,30 @@ namespace Example } ``` +#### Using the UpdatePetWithFormWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updates a pet in the store with form data + apiInstance.UpdatePetWithFormWithHttpInfo(petId, name, status); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithFormWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet that needs to be updated | - **name** | **string**| Updated name of the pet | [optional] - **status** | **string**| Updated status of the pet | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet that needs to be updated | | +| **name** | **string** | Updated name of the pet | [optional] | +| **status** | **string** | Updated status of the pet | [optional] | ### Return type @@ -573,8 +700,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -582,13 +709,33 @@ namespace Example } ``` +#### Using the UploadFileWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // uploads an image + ApiResponse response = apiInstance.UploadFileWithHttpInfo(petId, additionalMetadata, file); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UploadFileWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to update | - **additionalMetadata** | **string**| Additional data to pass to server | [optional] - **file** | **System.IO.Stream****System.IO.Stream**| file to upload | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to update | | +| **additionalMetadata** | **string** | Additional data to pass to server | [optional] | +| **file** | **System.IO.Stream****System.IO.Stream** | file to upload | [optional] | ### Return type @@ -649,8 +796,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFile: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFile: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -658,13 +805,33 @@ namespace Example } ``` +#### Using the UploadFileWithRequiredFileWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // uploads an image (required) + ApiResponse response = apiInstance.UploadFileWithRequiredFileWithHttpInfo(petId, requiredFile, additionalMetadata); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFileWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to update | - **requiredFile** | **System.IO.Stream****System.IO.Stream**| file to upload | - **additionalMetadata** | **string**| Additional data to pass to server | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to update | | +| **requiredFile** | **System.IO.Stream****System.IO.Stream** | file to upload | | +| **additionalMetadata** | **string** | Additional data to pass to server | [optional] | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/StoreApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/StoreApi.md index a1e45f5d79..04c9407eb4 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/StoreApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/StoreApi.md @@ -2,13 +2,12 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID -[**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status -[**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{order_id} | Find purchase order by ID -[**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID | +| [**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status | +| [**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{order_id} | Find purchase order by ID | +| [**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet | # **DeleteOrder** @@ -44,8 +43,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -53,11 +52,28 @@ namespace Example } ``` +#### Using the DeleteOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete purchase order by ID + apiInstance.DeleteOrderWithHttpInfo(orderId); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.DeleteOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **string**| ID of the order that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **string** | ID of the order that needs to be deleted | | ### Return type @@ -120,8 +136,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -129,9 +145,28 @@ namespace Example } ``` +#### Using the GetInventoryWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Returns pet inventories by status + ApiResponse> response = apiInstance.GetInventoryWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetInventoryWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type **Dictionary** @@ -188,8 +223,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -197,11 +232,31 @@ namespace Example } ``` +#### Using the GetOrderByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find purchase order by ID + ApiResponse response = apiInstance.GetOrderByIdWithHttpInfo(orderId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetOrderByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **long**| ID of pet that needs to be fetched | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **long** | ID of pet that needs to be fetched | | ### Return type @@ -259,8 +314,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -268,11 +323,31 @@ namespace Example } ``` +#### Using the PlaceOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Place an order for a pet + ApiResponse response = apiInstance.PlaceOrderWithHttpInfo(order); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.PlaceOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **order** | [**Order**](Order.md)| order placed for purchasing the pet | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **order** | [**Order**](Order.md) | order placed for purchasing the pet | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/UserApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/UserApi.md index 70ff20fa89..fd1c1a7d62 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/UserApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/UserApi.md @@ -2,17 +2,16 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user -[**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array -[**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array -[**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user -[**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name -[**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system -[**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session -[**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user | +| [**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array | +| [**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array | +| [**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user | +| [**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name | +| [**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system | +| [**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session | +| [**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user | # **CreateUser** @@ -48,8 +47,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -57,11 +56,28 @@ namespace Example } ``` +#### Using the CreateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Create user + apiInstance.CreateUserWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**User**](User.md)| Created user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**User**](User.md) | Created user object | | ### Return type @@ -116,8 +132,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -125,11 +141,28 @@ namespace Example } ``` +#### Using the CreateUsersWithArrayInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithArrayInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -184,8 +217,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -193,11 +226,28 @@ namespace Example } ``` +#### Using the CreateUsersWithListInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithListInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithListInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -254,8 +304,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -263,11 +313,28 @@ namespace Example } ``` +#### Using the DeleteUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete user + apiInstance.DeleteUserWithHttpInfo(username); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.DeleteUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be deleted | | ### Return type @@ -324,8 +391,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -333,11 +400,31 @@ namespace Example } ``` +#### Using the GetUserByNameWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Get user by user name + ApiResponse response = apiInstance.GetUserByNameWithHttpInfo(username); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.GetUserByNameWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be fetched. Use user1 for testing. | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be fetched. Use user1 for testing. | | ### Return type @@ -396,8 +483,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -405,12 +492,32 @@ namespace Example } ``` +#### Using the LoginUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs user into the system + ApiResponse response = apiInstance.LoginUserWithHttpInfo(username, password); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LoginUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The user name for login | - **password** | **string**| The password for login in clear text | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The user name for login | | +| **password** | **string** | The password for login in clear text | | ### Return type @@ -465,8 +572,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -474,9 +581,25 @@ namespace Example } ``` +#### Using the LogoutUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs out current logged in user session + apiInstance.LogoutUserWithHttpInfo(); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LogoutUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type void (empty response body) @@ -533,8 +656,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -542,12 +665,29 @@ namespace Example } ``` +#### Using the UpdateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updated user + apiInstance.UpdateUserWithHttpInfo(username, user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.UpdateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| name that need to be deleted | - **user** | [**User**](User.md)| Updated user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | name that need to be deleted | | +| **user** | [**User**](User.md) | Updated user object | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/AnotherFakeApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/AnotherFakeApi.md index 83cdaf2ae9..29d83f09b3 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/AnotherFakeApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/AnotherFakeApi.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**Call123TestSpecialTags**](AnotherFakeApi.md#call123testspecialtags) | **PATCH** /another-fake/dummy | To test special tags - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**Call123TestSpecialTags**](AnotherFakeApi.md#call123testspecialtags) | **PATCH** /another-fake/dummy | To test special tags | # **Call123TestSpecialTags** @@ -46,8 +45,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTags: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTags: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -55,11 +54,31 @@ namespace Example } ``` +#### Using the Call123TestSpecialTagsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test special tags + ApiResponse response = apiInstance.Call123TestSpecialTagsWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTagsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/DefaultApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/DefaultApi.md index b991ca1ec5..39473b1ca0 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/DefaultApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/DefaultApi.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**FooGet**](DefaultApi.md#fooget) | **GET** /foo | - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**FooGet**](DefaultApi.md#fooget) | **GET** /foo | | # **FooGet** @@ -42,8 +41,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling DefaultApi.FooGet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling DefaultApi.FooGet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -51,9 +50,27 @@ namespace Example } ``` +#### Using the FooGetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FooGetWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling DefaultApi.FooGetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**FooGetDefaultResponse**](FooGetDefaultResponse.md) diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/FakeApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/FakeApi.md index 42e8aea531..53a8b4e4eb 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/FakeApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/FakeApi.md @@ -2,24 +2,23 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**FakeHealthGet**](FakeApi.md#fakehealthget) | **GET** /fake/health | Health check endpoint -[**FakeOuterBooleanSerialize**](FakeApi.md#fakeouterbooleanserialize) | **POST** /fake/outer/boolean | -[**FakeOuterCompositeSerialize**](FakeApi.md#fakeoutercompositeserialize) | **POST** /fake/outer/composite | -[**FakeOuterNumberSerialize**](FakeApi.md#fakeouternumberserialize) | **POST** /fake/outer/number | -[**FakeOuterStringSerialize**](FakeApi.md#fakeouterstringserialize) | **POST** /fake/outer/string | -[**GetArrayOfEnums**](FakeApi.md#getarrayofenums) | **GET** /fake/array-of-enums | Array of Enums -[**TestBodyWithFileSchema**](FakeApi.md#testbodywithfileschema) | **PUT** /fake/body-with-file-schema | -[**TestBodyWithQueryParams**](FakeApi.md#testbodywithqueryparams) | **PUT** /fake/body-with-query-params | -[**TestClientModel**](FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model -[**TestEndpointParameters**](FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 -[**TestEnumParameters**](FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters -[**TestGroupParameters**](FakeApi.md#testgroupparameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional) -[**TestInlineAdditionalProperties**](FakeApi.md#testinlineadditionalproperties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties -[**TestJsonFormData**](FakeApi.md#testjsonformdata) | **GET** /fake/jsonFormData | test json serialization of form data -[**TestQueryParameterCollectionFormat**](FakeApi.md#testqueryparametercollectionformat) | **PUT** /fake/test-query-parameters | - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**FakeHealthGet**](FakeApi.md#fakehealthget) | **GET** /fake/health | Health check endpoint | +| [**FakeOuterBooleanSerialize**](FakeApi.md#fakeouterbooleanserialize) | **POST** /fake/outer/boolean | | +| [**FakeOuterCompositeSerialize**](FakeApi.md#fakeoutercompositeserialize) | **POST** /fake/outer/composite | | +| [**FakeOuterNumberSerialize**](FakeApi.md#fakeouternumberserialize) | **POST** /fake/outer/number | | +| [**FakeOuterStringSerialize**](FakeApi.md#fakeouterstringserialize) | **POST** /fake/outer/string | | +| [**GetArrayOfEnums**](FakeApi.md#getarrayofenums) | **GET** /fake/array-of-enums | Array of Enums | +| [**TestBodyWithFileSchema**](FakeApi.md#testbodywithfileschema) | **PUT** /fake/body-with-file-schema | | +| [**TestBodyWithQueryParams**](FakeApi.md#testbodywithqueryparams) | **PUT** /fake/body-with-query-params | | +| [**TestClientModel**](FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model | +| [**TestEndpointParameters**](FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 | +| [**TestEnumParameters**](FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters | +| [**TestGroupParameters**](FakeApi.md#testgroupparameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional) | +| [**TestInlineAdditionalProperties**](FakeApi.md#testinlineadditionalproperties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties | +| [**TestJsonFormData**](FakeApi.md#testjsonformdata) | **GET** /fake/jsonFormData | test json serialization of form data | +| [**TestQueryParameterCollectionFormat**](FakeApi.md#testqueryparametercollectionformat) | **PUT** /fake/test-query-parameters | | # **FakeHealthGet** @@ -57,8 +56,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeHealthGet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeHealthGet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -66,9 +65,28 @@ namespace Example } ``` +#### Using the FakeHealthGetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Health check endpoint + ApiResponse response = apiInstance.FakeHealthGetWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeHealthGetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**HealthCheckResult**](HealthCheckResult.md) @@ -128,8 +146,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -137,11 +155,30 @@ namespace Example } ``` +#### Using the FakeOuterBooleanSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterBooleanSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **bool?**| Input boolean as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **bool?** | Input boolean as post body | [optional] | ### Return type @@ -202,8 +239,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -211,11 +248,30 @@ namespace Example } ``` +#### Using the FakeOuterCompositeSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterCompositeSerializeWithHttpInfo(outerComposite); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **outerComposite** | [**OuterComposite**](OuterComposite.md)| Input composite as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **outerComposite** | [**OuterComposite**](OuterComposite.md) | Input composite as post body | [optional] | ### Return type @@ -276,8 +332,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -285,11 +341,30 @@ namespace Example } ``` +#### Using the FakeOuterNumberSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterNumberSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **decimal?**| Input number as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **decimal?** | Input number as post body | [optional] | ### Return type @@ -350,8 +425,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterStringSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterStringSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -359,11 +434,30 @@ namespace Example } ``` +#### Using the FakeOuterStringSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterStringSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterStringSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **string**| Input string as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **string** | Input string as post body | [optional] | ### Return type @@ -422,8 +516,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.GetArrayOfEnums: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.GetArrayOfEnums: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -431,9 +525,28 @@ namespace Example } ``` +#### Using the GetArrayOfEnumsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Array of Enums + ApiResponse> response = apiInstance.GetArrayOfEnumsWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.GetArrayOfEnumsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**List<OuterEnum>**](OuterEnum.md) @@ -492,8 +605,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchema: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchema: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -501,11 +614,27 @@ namespace Example } ``` +#### Using the TestBodyWithFileSchemaWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestBodyWithFileSchemaWithHttpInfo(fileSchemaTestClass); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchemaWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md) | | | ### Return type @@ -564,8 +693,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParams: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParams: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -573,12 +702,28 @@ namespace Example } ``` +#### Using the TestBodyWithQueryParamsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestBodyWithQueryParamsWithHttpInfo(query, user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParamsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **query** | **string**| | - **user** | [**User**](User.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **query** | **string** | | | +| **user** | [**User**](User.md) | | | ### Return type @@ -640,8 +785,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -649,11 +794,31 @@ namespace Example } ``` +#### Using the TestClientModelWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test \"client\" model + ApiResponse response = apiInstance.TestClientModelWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestClientModelWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type @@ -731,8 +896,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestEndpointParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestEndpointParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -740,24 +905,41 @@ namespace Example } ``` +#### Using the TestEndpointParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 + apiInstance.TestEndpointParametersWithHttpInfo(number, _double, patternWithoutDelimiter, _byte, integer, int32, int64, _float, _string, binary, date, dateTime, password, callback); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestEndpointParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **number** | **decimal**| None | - **_double** | **double**| None | - **patternWithoutDelimiter** | **string**| None | - **_byte** | **byte[]**| None | - **integer** | **int?**| None | [optional] - **int32** | **int?**| None | [optional] - **int64** | **long?**| None | [optional] - **_float** | **float?**| None | [optional] - **_string** | **string**| None | [optional] - **binary** | **FileParameter****FileParameter**| None | [optional] - **date** | **DateTime?**| None | [optional] - **dateTime** | **DateTime?**| None | [optional] [default to "2010-02-01T10:20:10.111110+01:00"] - **password** | **string**| None | [optional] - **callback** | **string**| None | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **number** | **decimal** | None | | +| **_double** | **double** | None | | +| **patternWithoutDelimiter** | **string** | None | | +| **_byte** | **byte[]** | None | | +| **integer** | **int?** | None | [optional] | +| **int32** | **int?** | None | [optional] | +| **int64** | **long?** | None | [optional] | +| **_float** | **float?** | None | [optional] | +| **_string** | **string** | None | [optional] | +| **binary** | **FileParameter****FileParameter** | None | [optional] | +| **date** | **DateTime?** | None | [optional] | +| **dateTime** | **DateTime?** | None | [optional] [default to "2010-02-01T10:20:10.111110+01:00"] | +| **password** | **string** | None | [optional] | +| **callback** | **string** | None | [optional] | ### Return type @@ -826,8 +1008,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestEnumParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestEnumParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -835,18 +1017,35 @@ namespace Example } ``` +#### Using the TestEnumParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test enum parameters + apiInstance.TestEnumParametersWithHttpInfo(enumHeaderStringArray, enumHeaderString, enumQueryStringArray, enumQueryString, enumQueryInteger, enumQueryDouble, enumFormStringArray, enumFormString); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestEnumParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **enumHeaderStringArray** | [**List<string>**](string.md)| Header parameter enum test (string array) | [optional] - **enumHeaderString** | **string**| Header parameter enum test (string) | [optional] [default to -efg] - **enumQueryStringArray** | [**List<string>**](string.md)| Query parameter enum test (string array) | [optional] - **enumQueryString** | **string**| Query parameter enum test (string) | [optional] [default to -efg] - **enumQueryInteger** | **int?**| Query parameter enum test (double) | [optional] - **enumQueryDouble** | **double?**| Query parameter enum test (double) | [optional] - **enumFormStringArray** | [**List<string>**](string.md)| Form parameter enum test (string array) | [optional] [default to $] - **enumFormString** | **string**| Form parameter enum test (string) | [optional] [default to -efg] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **enumHeaderStringArray** | [**List<string>**](string.md) | Header parameter enum test (string array) | [optional] | +| **enumHeaderString** | **string** | Header parameter enum test (string) | [optional] [default to -efg] | +| **enumQueryStringArray** | [**List<string>**](string.md) | Query parameter enum test (string array) | [optional] | +| **enumQueryString** | **string** | Query parameter enum test (string) | [optional] [default to -efg] | +| **enumQueryInteger** | **int?** | Query parameter enum test (double) | [optional] | +| **enumQueryDouble** | **double?** | Query parameter enum test (double) | [optional] | +| **enumFormStringArray** | [**List<string>**](string.md) | Form parameter enum test (string array) | [optional] [default to $] | +| **enumFormString** | **string** | Form parameter enum test (string) | [optional] [default to -efg] | ### Return type @@ -916,8 +1115,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestGroupParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestGroupParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -925,16 +1124,33 @@ namespace Example } ``` +#### Using the TestGroupParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Fake endpoint to test group parameters (optional) + apiInstance.TestGroupParametersWithHttpInfo(requiredStringGroup, requiredBooleanGroup, requiredInt64Group, stringGroup, booleanGroup, int64Group); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestGroupParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **requiredStringGroup** | **int**| Required String in group parameters | - **requiredBooleanGroup** | **bool**| Required Boolean in group parameters | - **requiredInt64Group** | **long**| Required Integer in group parameters | - **stringGroup** | **int?**| String in group parameters | [optional] - **booleanGroup** | **bool?**| Boolean in group parameters | [optional] - **int64Group** | **long?**| Integer in group parameters | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **requiredStringGroup** | **int** | Required String in group parameters | | +| **requiredBooleanGroup** | **bool** | Required Boolean in group parameters | | +| **requiredInt64Group** | **long** | Required Integer in group parameters | | +| **stringGroup** | **int?** | String in group parameters | [optional] | +| **booleanGroup** | **bool?** | Boolean in group parameters | [optional] | +| **int64Group** | **long?** | Integer in group parameters | [optional] | ### Return type @@ -993,8 +1209,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestInlineAdditionalProperties: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestInlineAdditionalProperties: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -1002,11 +1218,28 @@ namespace Example } ``` +#### Using the TestInlineAdditionalPropertiesWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // test inline additionalProperties + apiInstance.TestInlineAdditionalPropertiesWithHttpInfo(requestBody); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestInlineAdditionalPropertiesWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **requestBody** | [**Dictionary<string, string>**](string.md)| request body | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **requestBody** | [**Dictionary<string, string>**](string.md) | request body | | ### Return type @@ -1066,8 +1299,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestJsonFormData: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestJsonFormData: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -1075,12 +1308,29 @@ namespace Example } ``` +#### Using the TestJsonFormDataWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // test json serialization of form data + apiInstance.TestJsonFormDataWithHttpInfo(param, param2); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestJsonFormDataWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **param** | **string**| field1 | - **param2** | **string**| field2 | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **param** | **string** | field1 | | +| **param2** | **string** | field2 | | ### Return type @@ -1144,8 +1394,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormat: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormat: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -1153,15 +1403,31 @@ namespace Example } ``` +#### Using the TestQueryParameterCollectionFormatWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestQueryParameterCollectionFormatWithHttpInfo(pipe, ioutil, http, url, context); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormatWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pipe** | [**List<string>**](string.md)| | - **ioutil** | [**List<string>**](string.md)| | - **http** | [**List<string>**](string.md)| | - **url** | [**List<string>**](string.md)| | - **context** | [**List<string>**](string.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pipe** | [**List<string>**](string.md) | | | +| **ioutil** | [**List<string>**](string.md) | | | +| **http** | [**List<string>**](string.md) | | | +| **url** | [**List<string>**](string.md) | | | +| **context** | [**List<string>**](string.md) | | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/FakeClassnameTags123Api.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/FakeClassnameTags123Api.md index 4c748ad71c..2e5782b55c 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/FakeClassnameTags123Api.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/FakeClassnameTags123Api.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**TestClassname**](FakeClassnameTags123Api.md#testclassname) | **PATCH** /fake_classname_test | To test class name in snake case - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**TestClassname**](FakeClassnameTags123Api.md#testclassname) | **PATCH** /fake_classname_test | To test class name in snake case | # **TestClassname** @@ -51,8 +50,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassname: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassname: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -60,11 +59,31 @@ namespace Example } ``` +#### Using the TestClassnameWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test class name in snake case + ApiResponse response = apiInstance.TestClassnameWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassnameWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/PetApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/PetApi.md index 505380841a..9f3f7aa9f2 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/PetApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/PetApi.md @@ -2,18 +2,17 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store -[**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet -[**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status -[**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags -[**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID -[**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet -[**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data -[**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image -[**UploadFileWithRequiredFile**](PetApi.md#uploadfilewithrequiredfile) | **POST** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store | +| [**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet | +| [**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status | +| [**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags | +| [**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID | +| [**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet | +| [**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data | +| [**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image | +| [**UploadFileWithRequiredFile**](PetApi.md#uploadfilewithrequiredfile) | **POST** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) | # **AddPet** @@ -54,8 +53,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.AddPet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.AddPet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -63,11 +62,28 @@ namespace Example } ``` +#### Using the AddPetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Add a new pet to the store + apiInstance.AddPetWithHttpInfo(pet); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.AddPetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -130,8 +146,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -139,12 +155,29 @@ namespace Example } ``` +#### Using the DeletePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Deletes a pet + apiInstance.DeletePetWithHttpInfo(petId, apiKey); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.DeletePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| Pet id to delete | - **apiKey** | **string**| | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | Pet id to delete | | +| **apiKey** | **string** | | [optional] | ### Return type @@ -209,8 +242,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -218,11 +251,31 @@ namespace Example } ``` +#### Using the FindPetsByStatusWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by status + ApiResponse> response = apiInstance.FindPetsByStatusWithHttpInfo(status); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByStatusWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **status** | [**List<string>**](string.md)| Status values that need to be considered for filter | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **status** | [**List<string>**](string.md) | Status values that need to be considered for filter | | ### Return type @@ -288,8 +341,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -297,11 +350,31 @@ namespace Example } ``` +#### Using the FindPetsByTagsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by tags + ApiResponse> response = apiInstance.FindPetsByTagsWithHttpInfo(tags); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByTagsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **tags** | [**List<string>**](string.md)| Tags to filter by | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **tags** | [**List<string>**](string.md) | Tags to filter by | | ### Return type @@ -369,8 +442,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -378,11 +451,31 @@ namespace Example } ``` +#### Using the GetPetByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find pet by ID + ApiResponse response = apiInstance.GetPetByIdWithHttpInfo(petId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.GetPetByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to return | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to return | | ### Return type @@ -446,8 +539,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -455,11 +548,28 @@ namespace Example } ``` +#### Using the UpdatePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Update an existing pet + apiInstance.UpdatePetWithHttpInfo(pet); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -525,8 +635,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -534,13 +644,30 @@ namespace Example } ``` +#### Using the UpdatePetWithFormWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updates a pet in the store with form data + apiInstance.UpdatePetWithFormWithHttpInfo(petId, name, status); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithFormWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet that needs to be updated | - **name** | **string**| Updated name of the pet | [optional] - **status** | **string**| Updated status of the pet | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet that needs to be updated | | +| **name** | **string** | Updated name of the pet | [optional] | +| **status** | **string** | Updated status of the pet | [optional] | ### Return type @@ -605,8 +732,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -614,13 +741,33 @@ namespace Example } ``` +#### Using the UploadFileWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // uploads an image + ApiResponse response = apiInstance.UploadFileWithHttpInfo(petId, additionalMetadata, file); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UploadFileWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to update | - **additionalMetadata** | **string**| Additional data to pass to server | [optional] - **file** | **FileParameter****FileParameter**| file to upload | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to update | | +| **additionalMetadata** | **string** | Additional data to pass to server | [optional] | +| **file** | **FileParameter****FileParameter** | file to upload | [optional] | ### Return type @@ -685,8 +832,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFile: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFile: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -694,13 +841,33 @@ namespace Example } ``` +#### Using the UploadFileWithRequiredFileWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // uploads an image (required) + ApiResponse response = apiInstance.UploadFileWithRequiredFileWithHttpInfo(petId, requiredFile, additionalMetadata); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFileWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to update | - **requiredFile** | **FileParameter****FileParameter**| file to upload | - **additionalMetadata** | **string**| Additional data to pass to server | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to update | | +| **requiredFile** | **FileParameter****FileParameter** | file to upload | | +| **additionalMetadata** | **string** | Additional data to pass to server | [optional] | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/StoreApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/StoreApi.md index 44bf0ce59e..449b73a0a5 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/StoreApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/StoreApi.md @@ -2,13 +2,12 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID -[**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status -[**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{order_id} | Find purchase order by ID -[**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID | +| [**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status | +| [**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{order_id} | Find purchase order by ID | +| [**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet | # **DeleteOrder** @@ -48,8 +47,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -57,11 +56,28 @@ namespace Example } ``` +#### Using the DeleteOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete purchase order by ID + apiInstance.DeleteOrderWithHttpInfo(orderId); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.DeleteOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **string**| ID of the order that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **string** | ID of the order that needs to be deleted | | ### Return type @@ -128,8 +144,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -137,9 +153,28 @@ namespace Example } ``` +#### Using the GetInventoryWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Returns pet inventories by status + ApiResponse> response = apiInstance.GetInventoryWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetInventoryWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type **Dictionary** @@ -200,8 +235,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -209,11 +244,31 @@ namespace Example } ``` +#### Using the GetOrderByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find purchase order by ID + ApiResponse response = apiInstance.GetOrderByIdWithHttpInfo(orderId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetOrderByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **long**| ID of pet that needs to be fetched | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **long** | ID of pet that needs to be fetched | | ### Return type @@ -275,8 +330,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -284,11 +339,31 @@ namespace Example } ``` +#### Using the PlaceOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Place an order for a pet + ApiResponse response = apiInstance.PlaceOrderWithHttpInfo(order); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.PlaceOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **order** | [**Order**](Order.md)| order placed for purchasing the pet | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **order** | [**Order**](Order.md) | order placed for purchasing the pet | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/UserApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/UserApi.md index fe9ac2db81..86fd3fbf7e 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/UserApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/UserApi.md @@ -2,17 +2,16 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user -[**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array -[**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array -[**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user -[**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name -[**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system -[**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session -[**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user | +| [**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array | +| [**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array | +| [**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user | +| [**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name | +| [**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system | +| [**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session | +| [**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user | # **CreateUser** @@ -52,8 +51,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -61,11 +60,28 @@ namespace Example } ``` +#### Using the CreateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Create user + apiInstance.CreateUserWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**User**](User.md)| Created user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**User**](User.md) | Created user object | | ### Return type @@ -124,8 +140,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -133,11 +149,28 @@ namespace Example } ``` +#### Using the CreateUsersWithArrayInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithArrayInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -196,8 +229,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -205,11 +238,28 @@ namespace Example } ``` +#### Using the CreateUsersWithListInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithListInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithListInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -270,8 +320,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -279,11 +329,28 @@ namespace Example } ``` +#### Using the DeleteUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete user + apiInstance.DeleteUserWithHttpInfo(username); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.DeleteUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be deleted | | ### Return type @@ -344,8 +411,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -353,11 +420,31 @@ namespace Example } ``` +#### Using the GetUserByNameWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Get user by user name + ApiResponse response = apiInstance.GetUserByNameWithHttpInfo(username); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.GetUserByNameWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be fetched. Use user1 for testing. | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be fetched. Use user1 for testing. | | ### Return type @@ -420,8 +507,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -429,12 +516,32 @@ namespace Example } ``` +#### Using the LoginUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs user into the system + ApiResponse response = apiInstance.LoginUserWithHttpInfo(username, password); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LoginUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The user name for login | - **password** | **string**| The password for login in clear text | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The user name for login | | +| **password** | **string** | The password for login in clear text | | ### Return type @@ -493,8 +600,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -502,9 +609,25 @@ namespace Example } ``` +#### Using the LogoutUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs out current logged in user session + apiInstance.LogoutUserWithHttpInfo(); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LogoutUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type void (empty response body) @@ -565,8 +688,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -574,12 +697,29 @@ namespace Example } ``` +#### Using the UpdateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updated user + apiInstance.UpdateUserWithHttpInfo(username, user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.UpdateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| name that need to be deleted | - **user** | [**User**](User.md)| Updated user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | name that need to be deleted | | +| **user** | [**User**](User.md) | Updated user object | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/AnotherFakeApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/AnotherFakeApi.md index 93fca7e408..0ddc28a119 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/AnotherFakeApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/AnotherFakeApi.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**Call123TestSpecialTags**](AnotherFakeApi.md#call123testspecialtags) | **PATCH** /another-fake/dummy | To test special tags - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**Call123TestSpecialTags**](AnotherFakeApi.md#call123testspecialtags) | **PATCH** /another-fake/dummy | To test special tags | # **Call123TestSpecialTags** @@ -42,8 +41,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTags: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTags: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -51,11 +50,31 @@ namespace Example } ``` +#### Using the Call123TestSpecialTagsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test special tags + ApiResponse response = apiInstance.Call123TestSpecialTagsWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTagsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/DefaultApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/DefaultApi.md index e966d3bef4..be19718012 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/DefaultApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/DefaultApi.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**FooGet**](DefaultApi.md#fooget) | **GET** /foo | - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**FooGet**](DefaultApi.md#fooget) | **GET** /foo | | # **FooGet** @@ -38,8 +37,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling DefaultApi.FooGet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling DefaultApi.FooGet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -47,9 +46,27 @@ namespace Example } ``` +#### Using the FooGetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FooGetWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling DefaultApi.FooGetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**FooGetDefaultResponse**](FooGetDefaultResponse.md) diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/FakeApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/FakeApi.md index 8a5cb9aaf4..46d135e359 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/FakeApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/FakeApi.md @@ -2,24 +2,23 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**FakeHealthGet**](FakeApi.md#fakehealthget) | **GET** /fake/health | Health check endpoint -[**FakeOuterBooleanSerialize**](FakeApi.md#fakeouterbooleanserialize) | **POST** /fake/outer/boolean | -[**FakeOuterCompositeSerialize**](FakeApi.md#fakeoutercompositeserialize) | **POST** /fake/outer/composite | -[**FakeOuterNumberSerialize**](FakeApi.md#fakeouternumberserialize) | **POST** /fake/outer/number | -[**FakeOuterStringSerialize**](FakeApi.md#fakeouterstringserialize) | **POST** /fake/outer/string | -[**GetArrayOfEnums**](FakeApi.md#getarrayofenums) | **GET** /fake/array-of-enums | Array of Enums -[**TestBodyWithFileSchema**](FakeApi.md#testbodywithfileschema) | **PUT** /fake/body-with-file-schema | -[**TestBodyWithQueryParams**](FakeApi.md#testbodywithqueryparams) | **PUT** /fake/body-with-query-params | -[**TestClientModel**](FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model -[**TestEndpointParameters**](FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 -[**TestEnumParameters**](FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters -[**TestGroupParameters**](FakeApi.md#testgroupparameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional) -[**TestInlineAdditionalProperties**](FakeApi.md#testinlineadditionalproperties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties -[**TestJsonFormData**](FakeApi.md#testjsonformdata) | **GET** /fake/jsonFormData | test json serialization of form data -[**TestQueryParameterCollectionFormat**](FakeApi.md#testqueryparametercollectionformat) | **PUT** /fake/test-query-parameters | - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**FakeHealthGet**](FakeApi.md#fakehealthget) | **GET** /fake/health | Health check endpoint | +| [**FakeOuterBooleanSerialize**](FakeApi.md#fakeouterbooleanserialize) | **POST** /fake/outer/boolean | | +| [**FakeOuterCompositeSerialize**](FakeApi.md#fakeoutercompositeserialize) | **POST** /fake/outer/composite | | +| [**FakeOuterNumberSerialize**](FakeApi.md#fakeouternumberserialize) | **POST** /fake/outer/number | | +| [**FakeOuterStringSerialize**](FakeApi.md#fakeouterstringserialize) | **POST** /fake/outer/string | | +| [**GetArrayOfEnums**](FakeApi.md#getarrayofenums) | **GET** /fake/array-of-enums | Array of Enums | +| [**TestBodyWithFileSchema**](FakeApi.md#testbodywithfileschema) | **PUT** /fake/body-with-file-schema | | +| [**TestBodyWithQueryParams**](FakeApi.md#testbodywithqueryparams) | **PUT** /fake/body-with-query-params | | +| [**TestClientModel**](FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model | +| [**TestEndpointParameters**](FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 | +| [**TestEnumParameters**](FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters | +| [**TestGroupParameters**](FakeApi.md#testgroupparameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional) | +| [**TestInlineAdditionalProperties**](FakeApi.md#testinlineadditionalproperties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties | +| [**TestJsonFormData**](FakeApi.md#testjsonformdata) | **GET** /fake/jsonFormData | test json serialization of form data | +| [**TestQueryParameterCollectionFormat**](FakeApi.md#testqueryparametercollectionformat) | **PUT** /fake/test-query-parameters | | # **FakeHealthGet** @@ -53,8 +52,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeHealthGet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeHealthGet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -62,9 +61,28 @@ namespace Example } ``` +#### Using the FakeHealthGetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Health check endpoint + ApiResponse response = apiInstance.FakeHealthGetWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeHealthGetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**HealthCheckResult**](HealthCheckResult.md) @@ -120,8 +138,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -129,11 +147,30 @@ namespace Example } ``` +#### Using the FakeOuterBooleanSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterBooleanSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **bool?**| Input boolean as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **bool?** | Input boolean as post body | [optional] | ### Return type @@ -190,8 +227,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -199,11 +236,30 @@ namespace Example } ``` +#### Using the FakeOuterCompositeSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterCompositeSerializeWithHttpInfo(outerComposite); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **outerComposite** | [**OuterComposite**](OuterComposite.md)| Input composite as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **outerComposite** | [**OuterComposite**](OuterComposite.md) | Input composite as post body | [optional] | ### Return type @@ -260,8 +316,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -269,11 +325,30 @@ namespace Example } ``` +#### Using the FakeOuterNumberSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterNumberSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **decimal?**| Input number as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **decimal?** | Input number as post body | [optional] | ### Return type @@ -330,8 +405,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterStringSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterStringSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -339,11 +414,30 @@ namespace Example } ``` +#### Using the FakeOuterStringSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterStringSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterStringSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **string**| Input string as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **string** | Input string as post body | [optional] | ### Return type @@ -398,8 +492,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.GetArrayOfEnums: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.GetArrayOfEnums: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -407,9 +501,28 @@ namespace Example } ``` +#### Using the GetArrayOfEnumsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Array of Enums + ApiResponse> response = apiInstance.GetArrayOfEnumsWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.GetArrayOfEnumsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**List<OuterEnum>**](OuterEnum.md) @@ -464,8 +577,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchema: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchema: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -473,11 +586,27 @@ namespace Example } ``` +#### Using the TestBodyWithFileSchemaWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestBodyWithFileSchemaWithHttpInfo(fileSchemaTestClass); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchemaWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md) | | | ### Return type @@ -532,8 +661,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParams: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParams: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -541,12 +670,28 @@ namespace Example } ``` +#### Using the TestBodyWithQueryParamsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestBodyWithQueryParamsWithHttpInfo(query, user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParamsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **query** | **string**| | - **user** | [**User**](User.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **query** | **string** | | | +| **user** | [**User**](User.md) | | | ### Return type @@ -604,8 +749,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -613,11 +758,31 @@ namespace Example } ``` +#### Using the TestClientModelWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test \"client\" model + ApiResponse response = apiInstance.TestClientModelWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestClientModelWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type @@ -691,8 +856,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestEndpointParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestEndpointParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -700,24 +865,41 @@ namespace Example } ``` +#### Using the TestEndpointParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 + apiInstance.TestEndpointParametersWithHttpInfo(number, _double, patternWithoutDelimiter, _byte, integer, int32, int64, _float, _string, binary, date, dateTime, password, callback); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestEndpointParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **number** | **decimal**| None | - **_double** | **double**| None | - **patternWithoutDelimiter** | **string**| None | - **_byte** | **byte[]**| None | - **integer** | **int?**| None | [optional] - **int32** | **int?**| None | [optional] - **int64** | **long?**| None | [optional] - **_float** | **float?**| None | [optional] - **_string** | **string**| None | [optional] - **binary** | **System.IO.Stream****System.IO.Stream**| None | [optional] - **date** | **DateTime?**| None | [optional] - **dateTime** | **DateTime?**| None | [optional] [default to "2010-02-01T10:20:10.111110+01:00"] - **password** | **string**| None | [optional] - **callback** | **string**| None | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **number** | **decimal** | None | | +| **_double** | **double** | None | | +| **patternWithoutDelimiter** | **string** | None | | +| **_byte** | **byte[]** | None | | +| **integer** | **int?** | None | [optional] | +| **int32** | **int?** | None | [optional] | +| **int64** | **long?** | None | [optional] | +| **_float** | **float?** | None | [optional] | +| **_string** | **string** | None | [optional] | +| **binary** | **System.IO.Stream****System.IO.Stream** | None | [optional] | +| **date** | **DateTime?** | None | [optional] | +| **dateTime** | **DateTime?** | None | [optional] [default to "2010-02-01T10:20:10.111110+01:00"] | +| **password** | **string** | None | [optional] | +| **callback** | **string** | None | [optional] | ### Return type @@ -782,8 +964,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestEnumParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestEnumParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -791,18 +973,35 @@ namespace Example } ``` +#### Using the TestEnumParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test enum parameters + apiInstance.TestEnumParametersWithHttpInfo(enumHeaderStringArray, enumHeaderString, enumQueryStringArray, enumQueryString, enumQueryInteger, enumQueryDouble, enumFormStringArray, enumFormString); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestEnumParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **enumHeaderStringArray** | [**List<string>**](string.md)| Header parameter enum test (string array) | [optional] - **enumHeaderString** | **string**| Header parameter enum test (string) | [optional] [default to -efg] - **enumQueryStringArray** | [**List<string>**](string.md)| Query parameter enum test (string array) | [optional] - **enumQueryString** | **string**| Query parameter enum test (string) | [optional] [default to -efg] - **enumQueryInteger** | **int?**| Query parameter enum test (double) | [optional] - **enumQueryDouble** | **double?**| Query parameter enum test (double) | [optional] - **enumFormStringArray** | [**List<string>**](string.md)| Form parameter enum test (string array) | [optional] [default to $] - **enumFormString** | **string**| Form parameter enum test (string) | [optional] [default to -efg] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **enumHeaderStringArray** | [**List<string>**](string.md) | Header parameter enum test (string array) | [optional] | +| **enumHeaderString** | **string** | Header parameter enum test (string) | [optional] [default to -efg] | +| **enumQueryStringArray** | [**List<string>**](string.md) | Query parameter enum test (string array) | [optional] | +| **enumQueryString** | **string** | Query parameter enum test (string) | [optional] [default to -efg] | +| **enumQueryInteger** | **int?** | Query parameter enum test (double) | [optional] | +| **enumQueryDouble** | **double?** | Query parameter enum test (double) | [optional] | +| **enumFormStringArray** | [**List<string>**](string.md) | Form parameter enum test (string array) | [optional] [default to $] | +| **enumFormString** | **string** | Form parameter enum test (string) | [optional] [default to -efg] | ### Return type @@ -868,8 +1067,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestGroupParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestGroupParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -877,16 +1076,33 @@ namespace Example } ``` +#### Using the TestGroupParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Fake endpoint to test group parameters (optional) + apiInstance.TestGroupParametersWithHttpInfo(requiredStringGroup, requiredBooleanGroup, requiredInt64Group, stringGroup, booleanGroup, int64Group); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestGroupParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **requiredStringGroup** | **int**| Required String in group parameters | - **requiredBooleanGroup** | **bool**| Required Boolean in group parameters | - **requiredInt64Group** | **long**| Required Integer in group parameters | - **stringGroup** | **int?**| String in group parameters | [optional] - **booleanGroup** | **bool?**| Boolean in group parameters | [optional] - **int64Group** | **long?**| Integer in group parameters | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **requiredStringGroup** | **int** | Required String in group parameters | | +| **requiredBooleanGroup** | **bool** | Required Boolean in group parameters | | +| **requiredInt64Group** | **long** | Required Integer in group parameters | | +| **stringGroup** | **int?** | String in group parameters | [optional] | +| **booleanGroup** | **bool?** | Boolean in group parameters | [optional] | +| **int64Group** | **long?** | Integer in group parameters | [optional] | ### Return type @@ -941,8 +1157,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestInlineAdditionalProperties: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestInlineAdditionalProperties: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -950,11 +1166,28 @@ namespace Example } ``` +#### Using the TestInlineAdditionalPropertiesWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // test inline additionalProperties + apiInstance.TestInlineAdditionalPropertiesWithHttpInfo(requestBody); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestInlineAdditionalPropertiesWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **requestBody** | [**Dictionary<string, string>**](string.md)| request body | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **requestBody** | [**Dictionary<string, string>**](string.md) | request body | | ### Return type @@ -1010,8 +1243,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestJsonFormData: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestJsonFormData: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -1019,12 +1252,29 @@ namespace Example } ``` +#### Using the TestJsonFormDataWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // test json serialization of form data + apiInstance.TestJsonFormDataWithHttpInfo(param, param2); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestJsonFormDataWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **param** | **string**| field1 | - **param2** | **string**| field2 | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **param** | **string** | field1 | | +| **param2** | **string** | field2 | | ### Return type @@ -1084,8 +1334,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormat: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormat: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -1093,15 +1343,31 @@ namespace Example } ``` +#### Using the TestQueryParameterCollectionFormatWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestQueryParameterCollectionFormatWithHttpInfo(pipe, ioutil, http, url, context); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormatWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pipe** | [**List<string>**](string.md)| | - **ioutil** | [**List<string>**](string.md)| | - **http** | [**List<string>**](string.md)| | - **url** | [**List<string>**](string.md)| | - **context** | [**List<string>**](string.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pipe** | [**List<string>**](string.md) | | | +| **ioutil** | [**List<string>**](string.md) | | | +| **http** | [**List<string>**](string.md) | | | +| **url** | [**List<string>**](string.md) | | | +| **context** | [**List<string>**](string.md) | | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/FakeClassnameTags123Api.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/FakeClassnameTags123Api.md index 13235fbd10..aff9fbdf0e 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/FakeClassnameTags123Api.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/FakeClassnameTags123Api.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**TestClassname**](FakeClassnameTags123Api.md#testclassname) | **PATCH** /fake_classname_test | To test class name in snake case - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**TestClassname**](FakeClassnameTags123Api.md#testclassname) | **PATCH** /fake_classname_test | To test class name in snake case | # **TestClassname** @@ -47,8 +46,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassname: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassname: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -56,11 +55,31 @@ namespace Example } ``` +#### Using the TestClassnameWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test class name in snake case + ApiResponse response = apiInstance.TestClassnameWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassnameWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/PetApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/PetApi.md index f429575063..589980bafe 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/PetApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/PetApi.md @@ -2,18 +2,17 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store -[**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet -[**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status -[**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags -[**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID -[**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet -[**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data -[**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image -[**UploadFileWithRequiredFile**](PetApi.md#uploadfilewithrequiredfile) | **POST** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store | +| [**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet | +| [**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status | +| [**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags | +| [**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID | +| [**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet | +| [**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data | +| [**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image | +| [**UploadFileWithRequiredFile**](PetApi.md#uploadfilewithrequiredfile) | **POST** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) | # **AddPet** @@ -50,8 +49,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.AddPet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.AddPet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -59,11 +58,28 @@ namespace Example } ``` +#### Using the AddPetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Add a new pet to the store + apiInstance.AddPetWithHttpInfo(pet); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.AddPetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -122,8 +138,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -131,12 +147,29 @@ namespace Example } ``` +#### Using the DeletePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Deletes a pet + apiInstance.DeletePetWithHttpInfo(petId, apiKey); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.DeletePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| Pet id to delete | - **apiKey** | **string**| | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | Pet id to delete | | +| **apiKey** | **string** | | [optional] | ### Return type @@ -197,8 +230,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -206,11 +239,31 @@ namespace Example } ``` +#### Using the FindPetsByStatusWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by status + ApiResponse> response = apiInstance.FindPetsByStatusWithHttpInfo(status); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByStatusWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **status** | [**List<string>**](string.md)| Status values that need to be considered for filter | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **status** | [**List<string>**](string.md) | Status values that need to be considered for filter | | ### Return type @@ -272,8 +325,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -281,11 +334,31 @@ namespace Example } ``` +#### Using the FindPetsByTagsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by tags + ApiResponse> response = apiInstance.FindPetsByTagsWithHttpInfo(tags); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByTagsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **tags** | [**List<string>**](string.md)| Tags to filter by | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **tags** | [**List<string>**](string.md) | Tags to filter by | | ### Return type @@ -349,8 +422,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -358,11 +431,31 @@ namespace Example } ``` +#### Using the GetPetByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find pet by ID + ApiResponse response = apiInstance.GetPetByIdWithHttpInfo(petId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.GetPetByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to return | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to return | | ### Return type @@ -422,8 +515,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -431,11 +524,28 @@ namespace Example } ``` +#### Using the UpdatePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Update an existing pet + apiInstance.UpdatePetWithHttpInfo(pet); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -497,8 +607,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -506,13 +616,30 @@ namespace Example } ``` +#### Using the UpdatePetWithFormWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updates a pet in the store with form data + apiInstance.UpdatePetWithFormWithHttpInfo(petId, name, status); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithFormWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet that needs to be updated | - **name** | **string**| Updated name of the pet | [optional] - **status** | **string**| Updated status of the pet | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet that needs to be updated | | +| **name** | **string** | Updated name of the pet | [optional] | +| **status** | **string** | Updated status of the pet | [optional] | ### Return type @@ -573,8 +700,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -582,13 +709,33 @@ namespace Example } ``` +#### Using the UploadFileWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // uploads an image + ApiResponse response = apiInstance.UploadFileWithHttpInfo(petId, additionalMetadata, file); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UploadFileWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to update | - **additionalMetadata** | **string**| Additional data to pass to server | [optional] - **file** | **System.IO.Stream****System.IO.Stream**| file to upload | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to update | | +| **additionalMetadata** | **string** | Additional data to pass to server | [optional] | +| **file** | **System.IO.Stream****System.IO.Stream** | file to upload | [optional] | ### Return type @@ -649,8 +796,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFile: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFile: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -658,13 +805,33 @@ namespace Example } ``` +#### Using the UploadFileWithRequiredFileWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // uploads an image (required) + ApiResponse response = apiInstance.UploadFileWithRequiredFileWithHttpInfo(petId, requiredFile, additionalMetadata); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFileWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to update | - **requiredFile** | **System.IO.Stream****System.IO.Stream**| file to upload | - **additionalMetadata** | **string**| Additional data to pass to server | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to update | | +| **requiredFile** | **System.IO.Stream****System.IO.Stream** | file to upload | | +| **additionalMetadata** | **string** | Additional data to pass to server | [optional] | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/StoreApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/StoreApi.md index 963ecda9c1..95bbe1b2f1 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/StoreApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/StoreApi.md @@ -2,13 +2,12 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID -[**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status -[**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{order_id} | Find purchase order by ID -[**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID | +| [**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status | +| [**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{order_id} | Find purchase order by ID | +| [**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet | # **DeleteOrder** @@ -44,8 +43,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -53,11 +52,28 @@ namespace Example } ``` +#### Using the DeleteOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete purchase order by ID + apiInstance.DeleteOrderWithHttpInfo(orderId); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.DeleteOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **string**| ID of the order that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **string** | ID of the order that needs to be deleted | | ### Return type @@ -120,8 +136,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -129,9 +145,28 @@ namespace Example } ``` +#### Using the GetInventoryWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Returns pet inventories by status + ApiResponse> response = apiInstance.GetInventoryWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetInventoryWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type **Dictionary** @@ -188,8 +223,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -197,11 +232,31 @@ namespace Example } ``` +#### Using the GetOrderByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find purchase order by ID + ApiResponse response = apiInstance.GetOrderByIdWithHttpInfo(orderId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetOrderByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **long**| ID of pet that needs to be fetched | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **long** | ID of pet that needs to be fetched | | ### Return type @@ -259,8 +314,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -268,11 +323,31 @@ namespace Example } ``` +#### Using the PlaceOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Place an order for a pet + ApiResponse response = apiInstance.PlaceOrderWithHttpInfo(order); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.PlaceOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **order** | [**Order**](Order.md)| order placed for purchasing the pet | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **order** | [**Order**](Order.md) | order placed for purchasing the pet | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/UserApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/UserApi.md index 2f478081dc..a3d461b04c 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/UserApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/UserApi.md @@ -2,17 +2,16 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user -[**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array -[**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array -[**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user -[**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name -[**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system -[**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session -[**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user | +| [**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array | +| [**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array | +| [**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user | +| [**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name | +| [**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system | +| [**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session | +| [**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user | # **CreateUser** @@ -48,8 +47,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -57,11 +56,28 @@ namespace Example } ``` +#### Using the CreateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Create user + apiInstance.CreateUserWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**User**](User.md)| Created user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**User**](User.md) | Created user object | | ### Return type @@ -116,8 +132,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -125,11 +141,28 @@ namespace Example } ``` +#### Using the CreateUsersWithArrayInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithArrayInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -184,8 +217,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -193,11 +226,28 @@ namespace Example } ``` +#### Using the CreateUsersWithListInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithListInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithListInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -254,8 +304,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -263,11 +313,28 @@ namespace Example } ``` +#### Using the DeleteUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete user + apiInstance.DeleteUserWithHttpInfo(username); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.DeleteUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be deleted | | ### Return type @@ -324,8 +391,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -333,11 +400,31 @@ namespace Example } ``` +#### Using the GetUserByNameWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Get user by user name + ApiResponse response = apiInstance.GetUserByNameWithHttpInfo(username); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.GetUserByNameWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be fetched. Use user1 for testing. | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be fetched. Use user1 for testing. | | ### Return type @@ -396,8 +483,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -405,12 +492,32 @@ namespace Example } ``` +#### Using the LoginUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs user into the system + ApiResponse response = apiInstance.LoginUserWithHttpInfo(username, password); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LoginUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The user name for login | - **password** | **string**| The password for login in clear text | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The user name for login | | +| **password** | **string** | The password for login in clear text | | ### Return type @@ -465,8 +572,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -474,9 +581,25 @@ namespace Example } ``` +#### Using the LogoutUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs out current logged in user session + apiInstance.LogoutUserWithHttpInfo(); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LogoutUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type void (empty response body) @@ -533,8 +656,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -542,12 +665,29 @@ namespace Example } ``` +#### Using the UpdateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updated user + apiInstance.UpdateUserWithHttpInfo(username, user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.UpdateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| name that need to be deleted | - **user** | [**User**](User.md)| Updated user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | name that need to be deleted | | +| **user** | [**User**](User.md) | Updated user object | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/AnotherFakeApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/AnotherFakeApi.md index 93fca7e408..0ddc28a119 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/AnotherFakeApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/AnotherFakeApi.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**Call123TestSpecialTags**](AnotherFakeApi.md#call123testspecialtags) | **PATCH** /another-fake/dummy | To test special tags - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**Call123TestSpecialTags**](AnotherFakeApi.md#call123testspecialtags) | **PATCH** /another-fake/dummy | To test special tags | # **Call123TestSpecialTags** @@ -42,8 +41,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTags: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTags: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -51,11 +50,31 @@ namespace Example } ``` +#### Using the Call123TestSpecialTagsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test special tags + ApiResponse response = apiInstance.Call123TestSpecialTagsWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTagsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/DefaultApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/DefaultApi.md index e966d3bef4..be19718012 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/DefaultApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/DefaultApi.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**FooGet**](DefaultApi.md#fooget) | **GET** /foo | - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**FooGet**](DefaultApi.md#fooget) | **GET** /foo | | # **FooGet** @@ -38,8 +37,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling DefaultApi.FooGet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling DefaultApi.FooGet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -47,9 +46,27 @@ namespace Example } ``` +#### Using the FooGetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FooGetWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling DefaultApi.FooGetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**FooGetDefaultResponse**](FooGetDefaultResponse.md) diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/FakeApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/FakeApi.md index 8a5cb9aaf4..46d135e359 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/FakeApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/FakeApi.md @@ -2,24 +2,23 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**FakeHealthGet**](FakeApi.md#fakehealthget) | **GET** /fake/health | Health check endpoint -[**FakeOuterBooleanSerialize**](FakeApi.md#fakeouterbooleanserialize) | **POST** /fake/outer/boolean | -[**FakeOuterCompositeSerialize**](FakeApi.md#fakeoutercompositeserialize) | **POST** /fake/outer/composite | -[**FakeOuterNumberSerialize**](FakeApi.md#fakeouternumberserialize) | **POST** /fake/outer/number | -[**FakeOuterStringSerialize**](FakeApi.md#fakeouterstringserialize) | **POST** /fake/outer/string | -[**GetArrayOfEnums**](FakeApi.md#getarrayofenums) | **GET** /fake/array-of-enums | Array of Enums -[**TestBodyWithFileSchema**](FakeApi.md#testbodywithfileschema) | **PUT** /fake/body-with-file-schema | -[**TestBodyWithQueryParams**](FakeApi.md#testbodywithqueryparams) | **PUT** /fake/body-with-query-params | -[**TestClientModel**](FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model -[**TestEndpointParameters**](FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 -[**TestEnumParameters**](FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters -[**TestGroupParameters**](FakeApi.md#testgroupparameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional) -[**TestInlineAdditionalProperties**](FakeApi.md#testinlineadditionalproperties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties -[**TestJsonFormData**](FakeApi.md#testjsonformdata) | **GET** /fake/jsonFormData | test json serialization of form data -[**TestQueryParameterCollectionFormat**](FakeApi.md#testqueryparametercollectionformat) | **PUT** /fake/test-query-parameters | - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**FakeHealthGet**](FakeApi.md#fakehealthget) | **GET** /fake/health | Health check endpoint | +| [**FakeOuterBooleanSerialize**](FakeApi.md#fakeouterbooleanserialize) | **POST** /fake/outer/boolean | | +| [**FakeOuterCompositeSerialize**](FakeApi.md#fakeoutercompositeserialize) | **POST** /fake/outer/composite | | +| [**FakeOuterNumberSerialize**](FakeApi.md#fakeouternumberserialize) | **POST** /fake/outer/number | | +| [**FakeOuterStringSerialize**](FakeApi.md#fakeouterstringserialize) | **POST** /fake/outer/string | | +| [**GetArrayOfEnums**](FakeApi.md#getarrayofenums) | **GET** /fake/array-of-enums | Array of Enums | +| [**TestBodyWithFileSchema**](FakeApi.md#testbodywithfileschema) | **PUT** /fake/body-with-file-schema | | +| [**TestBodyWithQueryParams**](FakeApi.md#testbodywithqueryparams) | **PUT** /fake/body-with-query-params | | +| [**TestClientModel**](FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model | +| [**TestEndpointParameters**](FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 | +| [**TestEnumParameters**](FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters | +| [**TestGroupParameters**](FakeApi.md#testgroupparameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional) | +| [**TestInlineAdditionalProperties**](FakeApi.md#testinlineadditionalproperties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties | +| [**TestJsonFormData**](FakeApi.md#testjsonformdata) | **GET** /fake/jsonFormData | test json serialization of form data | +| [**TestQueryParameterCollectionFormat**](FakeApi.md#testqueryparametercollectionformat) | **PUT** /fake/test-query-parameters | | # **FakeHealthGet** @@ -53,8 +52,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeHealthGet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeHealthGet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -62,9 +61,28 @@ namespace Example } ``` +#### Using the FakeHealthGetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Health check endpoint + ApiResponse response = apiInstance.FakeHealthGetWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeHealthGetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**HealthCheckResult**](HealthCheckResult.md) @@ -120,8 +138,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -129,11 +147,30 @@ namespace Example } ``` +#### Using the FakeOuterBooleanSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterBooleanSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **bool?**| Input boolean as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **bool?** | Input boolean as post body | [optional] | ### Return type @@ -190,8 +227,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -199,11 +236,30 @@ namespace Example } ``` +#### Using the FakeOuterCompositeSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterCompositeSerializeWithHttpInfo(outerComposite); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **outerComposite** | [**OuterComposite**](OuterComposite.md)| Input composite as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **outerComposite** | [**OuterComposite**](OuterComposite.md) | Input composite as post body | [optional] | ### Return type @@ -260,8 +316,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -269,11 +325,30 @@ namespace Example } ``` +#### Using the FakeOuterNumberSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterNumberSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **decimal?**| Input number as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **decimal?** | Input number as post body | [optional] | ### Return type @@ -330,8 +405,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterStringSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterStringSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -339,11 +414,30 @@ namespace Example } ``` +#### Using the FakeOuterStringSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterStringSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterStringSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **string**| Input string as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **string** | Input string as post body | [optional] | ### Return type @@ -398,8 +492,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.GetArrayOfEnums: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.GetArrayOfEnums: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -407,9 +501,28 @@ namespace Example } ``` +#### Using the GetArrayOfEnumsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Array of Enums + ApiResponse> response = apiInstance.GetArrayOfEnumsWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.GetArrayOfEnumsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**List<OuterEnum>**](OuterEnum.md) @@ -464,8 +577,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchema: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchema: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -473,11 +586,27 @@ namespace Example } ``` +#### Using the TestBodyWithFileSchemaWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestBodyWithFileSchemaWithHttpInfo(fileSchemaTestClass); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchemaWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md) | | | ### Return type @@ -532,8 +661,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParams: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParams: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -541,12 +670,28 @@ namespace Example } ``` +#### Using the TestBodyWithQueryParamsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestBodyWithQueryParamsWithHttpInfo(query, user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParamsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **query** | **string**| | - **user** | [**User**](User.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **query** | **string** | | | +| **user** | [**User**](User.md) | | | ### Return type @@ -604,8 +749,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -613,11 +758,31 @@ namespace Example } ``` +#### Using the TestClientModelWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test \"client\" model + ApiResponse response = apiInstance.TestClientModelWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestClientModelWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type @@ -691,8 +856,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestEndpointParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestEndpointParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -700,24 +865,41 @@ namespace Example } ``` +#### Using the TestEndpointParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 + apiInstance.TestEndpointParametersWithHttpInfo(number, _double, patternWithoutDelimiter, _byte, integer, int32, int64, _float, _string, binary, date, dateTime, password, callback); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestEndpointParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **number** | **decimal**| None | - **_double** | **double**| None | - **patternWithoutDelimiter** | **string**| None | - **_byte** | **byte[]**| None | - **integer** | **int?**| None | [optional] - **int32** | **int?**| None | [optional] - **int64** | **long?**| None | [optional] - **_float** | **float?**| None | [optional] - **_string** | **string**| None | [optional] - **binary** | **System.IO.Stream****System.IO.Stream**| None | [optional] - **date** | **DateTime?**| None | [optional] - **dateTime** | **DateTime?**| None | [optional] [default to "2010-02-01T10:20:10.111110+01:00"] - **password** | **string**| None | [optional] - **callback** | **string**| None | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **number** | **decimal** | None | | +| **_double** | **double** | None | | +| **patternWithoutDelimiter** | **string** | None | | +| **_byte** | **byte[]** | None | | +| **integer** | **int?** | None | [optional] | +| **int32** | **int?** | None | [optional] | +| **int64** | **long?** | None | [optional] | +| **_float** | **float?** | None | [optional] | +| **_string** | **string** | None | [optional] | +| **binary** | **System.IO.Stream****System.IO.Stream** | None | [optional] | +| **date** | **DateTime?** | None | [optional] | +| **dateTime** | **DateTime?** | None | [optional] [default to "2010-02-01T10:20:10.111110+01:00"] | +| **password** | **string** | None | [optional] | +| **callback** | **string** | None | [optional] | ### Return type @@ -782,8 +964,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestEnumParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestEnumParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -791,18 +973,35 @@ namespace Example } ``` +#### Using the TestEnumParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test enum parameters + apiInstance.TestEnumParametersWithHttpInfo(enumHeaderStringArray, enumHeaderString, enumQueryStringArray, enumQueryString, enumQueryInteger, enumQueryDouble, enumFormStringArray, enumFormString); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestEnumParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **enumHeaderStringArray** | [**List<string>**](string.md)| Header parameter enum test (string array) | [optional] - **enumHeaderString** | **string**| Header parameter enum test (string) | [optional] [default to -efg] - **enumQueryStringArray** | [**List<string>**](string.md)| Query parameter enum test (string array) | [optional] - **enumQueryString** | **string**| Query parameter enum test (string) | [optional] [default to -efg] - **enumQueryInteger** | **int?**| Query parameter enum test (double) | [optional] - **enumQueryDouble** | **double?**| Query parameter enum test (double) | [optional] - **enumFormStringArray** | [**List<string>**](string.md)| Form parameter enum test (string array) | [optional] [default to $] - **enumFormString** | **string**| Form parameter enum test (string) | [optional] [default to -efg] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **enumHeaderStringArray** | [**List<string>**](string.md) | Header parameter enum test (string array) | [optional] | +| **enumHeaderString** | **string** | Header parameter enum test (string) | [optional] [default to -efg] | +| **enumQueryStringArray** | [**List<string>**](string.md) | Query parameter enum test (string array) | [optional] | +| **enumQueryString** | **string** | Query parameter enum test (string) | [optional] [default to -efg] | +| **enumQueryInteger** | **int?** | Query parameter enum test (double) | [optional] | +| **enumQueryDouble** | **double?** | Query parameter enum test (double) | [optional] | +| **enumFormStringArray** | [**List<string>**](string.md) | Form parameter enum test (string array) | [optional] [default to $] | +| **enumFormString** | **string** | Form parameter enum test (string) | [optional] [default to -efg] | ### Return type @@ -868,8 +1067,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestGroupParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestGroupParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -877,16 +1076,33 @@ namespace Example } ``` +#### Using the TestGroupParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Fake endpoint to test group parameters (optional) + apiInstance.TestGroupParametersWithHttpInfo(requiredStringGroup, requiredBooleanGroup, requiredInt64Group, stringGroup, booleanGroup, int64Group); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestGroupParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **requiredStringGroup** | **int**| Required String in group parameters | - **requiredBooleanGroup** | **bool**| Required Boolean in group parameters | - **requiredInt64Group** | **long**| Required Integer in group parameters | - **stringGroup** | **int?**| String in group parameters | [optional] - **booleanGroup** | **bool?**| Boolean in group parameters | [optional] - **int64Group** | **long?**| Integer in group parameters | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **requiredStringGroup** | **int** | Required String in group parameters | | +| **requiredBooleanGroup** | **bool** | Required Boolean in group parameters | | +| **requiredInt64Group** | **long** | Required Integer in group parameters | | +| **stringGroup** | **int?** | String in group parameters | [optional] | +| **booleanGroup** | **bool?** | Boolean in group parameters | [optional] | +| **int64Group** | **long?** | Integer in group parameters | [optional] | ### Return type @@ -941,8 +1157,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestInlineAdditionalProperties: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestInlineAdditionalProperties: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -950,11 +1166,28 @@ namespace Example } ``` +#### Using the TestInlineAdditionalPropertiesWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // test inline additionalProperties + apiInstance.TestInlineAdditionalPropertiesWithHttpInfo(requestBody); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestInlineAdditionalPropertiesWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **requestBody** | [**Dictionary<string, string>**](string.md)| request body | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **requestBody** | [**Dictionary<string, string>**](string.md) | request body | | ### Return type @@ -1010,8 +1243,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestJsonFormData: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestJsonFormData: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -1019,12 +1252,29 @@ namespace Example } ``` +#### Using the TestJsonFormDataWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // test json serialization of form data + apiInstance.TestJsonFormDataWithHttpInfo(param, param2); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestJsonFormDataWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **param** | **string**| field1 | - **param2** | **string**| field2 | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **param** | **string** | field1 | | +| **param2** | **string** | field2 | | ### Return type @@ -1084,8 +1334,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormat: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormat: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -1093,15 +1343,31 @@ namespace Example } ``` +#### Using the TestQueryParameterCollectionFormatWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestQueryParameterCollectionFormatWithHttpInfo(pipe, ioutil, http, url, context); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormatWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pipe** | [**List<string>**](string.md)| | - **ioutil** | [**List<string>**](string.md)| | - **http** | [**List<string>**](string.md)| | - **url** | [**List<string>**](string.md)| | - **context** | [**List<string>**](string.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pipe** | [**List<string>**](string.md) | | | +| **ioutil** | [**List<string>**](string.md) | | | +| **http** | [**List<string>**](string.md) | | | +| **url** | [**List<string>**](string.md) | | | +| **context** | [**List<string>**](string.md) | | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/FakeClassnameTags123Api.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/FakeClassnameTags123Api.md index 13235fbd10..aff9fbdf0e 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/FakeClassnameTags123Api.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/FakeClassnameTags123Api.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**TestClassname**](FakeClassnameTags123Api.md#testclassname) | **PATCH** /fake_classname_test | To test class name in snake case - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**TestClassname**](FakeClassnameTags123Api.md#testclassname) | **PATCH** /fake_classname_test | To test class name in snake case | # **TestClassname** @@ -47,8 +46,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassname: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassname: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -56,11 +55,31 @@ namespace Example } ``` +#### Using the TestClassnameWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test class name in snake case + ApiResponse response = apiInstance.TestClassnameWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassnameWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/PetApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/PetApi.md index f429575063..589980bafe 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/PetApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/PetApi.md @@ -2,18 +2,17 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store -[**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet -[**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status -[**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags -[**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID -[**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet -[**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data -[**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image -[**UploadFileWithRequiredFile**](PetApi.md#uploadfilewithrequiredfile) | **POST** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store | +| [**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet | +| [**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status | +| [**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags | +| [**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID | +| [**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet | +| [**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data | +| [**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image | +| [**UploadFileWithRequiredFile**](PetApi.md#uploadfilewithrequiredfile) | **POST** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) | # **AddPet** @@ -50,8 +49,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.AddPet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.AddPet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -59,11 +58,28 @@ namespace Example } ``` +#### Using the AddPetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Add a new pet to the store + apiInstance.AddPetWithHttpInfo(pet); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.AddPetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -122,8 +138,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -131,12 +147,29 @@ namespace Example } ``` +#### Using the DeletePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Deletes a pet + apiInstance.DeletePetWithHttpInfo(petId, apiKey); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.DeletePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| Pet id to delete | - **apiKey** | **string**| | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | Pet id to delete | | +| **apiKey** | **string** | | [optional] | ### Return type @@ -197,8 +230,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -206,11 +239,31 @@ namespace Example } ``` +#### Using the FindPetsByStatusWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by status + ApiResponse> response = apiInstance.FindPetsByStatusWithHttpInfo(status); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByStatusWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **status** | [**List<string>**](string.md)| Status values that need to be considered for filter | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **status** | [**List<string>**](string.md) | Status values that need to be considered for filter | | ### Return type @@ -272,8 +325,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -281,11 +334,31 @@ namespace Example } ``` +#### Using the FindPetsByTagsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by tags + ApiResponse> response = apiInstance.FindPetsByTagsWithHttpInfo(tags); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByTagsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **tags** | [**List<string>**](string.md)| Tags to filter by | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **tags** | [**List<string>**](string.md) | Tags to filter by | | ### Return type @@ -349,8 +422,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -358,11 +431,31 @@ namespace Example } ``` +#### Using the GetPetByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find pet by ID + ApiResponse response = apiInstance.GetPetByIdWithHttpInfo(petId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.GetPetByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to return | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to return | | ### Return type @@ -422,8 +515,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -431,11 +524,28 @@ namespace Example } ``` +#### Using the UpdatePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Update an existing pet + apiInstance.UpdatePetWithHttpInfo(pet); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -497,8 +607,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -506,13 +616,30 @@ namespace Example } ``` +#### Using the UpdatePetWithFormWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updates a pet in the store with form data + apiInstance.UpdatePetWithFormWithHttpInfo(petId, name, status); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithFormWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet that needs to be updated | - **name** | **string**| Updated name of the pet | [optional] - **status** | **string**| Updated status of the pet | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet that needs to be updated | | +| **name** | **string** | Updated name of the pet | [optional] | +| **status** | **string** | Updated status of the pet | [optional] | ### Return type @@ -573,8 +700,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -582,13 +709,33 @@ namespace Example } ``` +#### Using the UploadFileWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // uploads an image + ApiResponse response = apiInstance.UploadFileWithHttpInfo(petId, additionalMetadata, file); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UploadFileWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to update | - **additionalMetadata** | **string**| Additional data to pass to server | [optional] - **file** | **System.IO.Stream****System.IO.Stream**| file to upload | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to update | | +| **additionalMetadata** | **string** | Additional data to pass to server | [optional] | +| **file** | **System.IO.Stream****System.IO.Stream** | file to upload | [optional] | ### Return type @@ -649,8 +796,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFile: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFile: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -658,13 +805,33 @@ namespace Example } ``` +#### Using the UploadFileWithRequiredFileWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // uploads an image (required) + ApiResponse response = apiInstance.UploadFileWithRequiredFileWithHttpInfo(petId, requiredFile, additionalMetadata); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFileWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to update | - **requiredFile** | **System.IO.Stream****System.IO.Stream**| file to upload | - **additionalMetadata** | **string**| Additional data to pass to server | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to update | | +| **requiredFile** | **System.IO.Stream****System.IO.Stream** | file to upload | | +| **additionalMetadata** | **string** | Additional data to pass to server | [optional] | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/StoreApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/StoreApi.md index 963ecda9c1..95bbe1b2f1 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/StoreApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/StoreApi.md @@ -2,13 +2,12 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID -[**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status -[**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{order_id} | Find purchase order by ID -[**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID | +| [**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status | +| [**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{order_id} | Find purchase order by ID | +| [**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet | # **DeleteOrder** @@ -44,8 +43,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -53,11 +52,28 @@ namespace Example } ``` +#### Using the DeleteOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete purchase order by ID + apiInstance.DeleteOrderWithHttpInfo(orderId); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.DeleteOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **string**| ID of the order that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **string** | ID of the order that needs to be deleted | | ### Return type @@ -120,8 +136,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -129,9 +145,28 @@ namespace Example } ``` +#### Using the GetInventoryWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Returns pet inventories by status + ApiResponse> response = apiInstance.GetInventoryWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetInventoryWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type **Dictionary** @@ -188,8 +223,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -197,11 +232,31 @@ namespace Example } ``` +#### Using the GetOrderByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find purchase order by ID + ApiResponse response = apiInstance.GetOrderByIdWithHttpInfo(orderId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetOrderByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **long**| ID of pet that needs to be fetched | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **long** | ID of pet that needs to be fetched | | ### Return type @@ -259,8 +314,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -268,11 +323,31 @@ namespace Example } ``` +#### Using the PlaceOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Place an order for a pet + ApiResponse response = apiInstance.PlaceOrderWithHttpInfo(order); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.PlaceOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **order** | [**Order**](Order.md)| order placed for purchasing the pet | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **order** | [**Order**](Order.md) | order placed for purchasing the pet | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/UserApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/UserApi.md index 2f478081dc..a3d461b04c 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/UserApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/UserApi.md @@ -2,17 +2,16 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user -[**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array -[**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array -[**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user -[**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name -[**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system -[**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session -[**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user | +| [**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array | +| [**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array | +| [**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user | +| [**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name | +| [**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system | +| [**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session | +| [**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user | # **CreateUser** @@ -48,8 +47,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -57,11 +56,28 @@ namespace Example } ``` +#### Using the CreateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Create user + apiInstance.CreateUserWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**User**](User.md)| Created user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**User**](User.md) | Created user object | | ### Return type @@ -116,8 +132,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -125,11 +141,28 @@ namespace Example } ``` +#### Using the CreateUsersWithArrayInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithArrayInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -184,8 +217,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -193,11 +226,28 @@ namespace Example } ``` +#### Using the CreateUsersWithListInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithListInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithListInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -254,8 +304,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -263,11 +313,28 @@ namespace Example } ``` +#### Using the DeleteUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete user + apiInstance.DeleteUserWithHttpInfo(username); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.DeleteUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be deleted | | ### Return type @@ -324,8 +391,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -333,11 +400,31 @@ namespace Example } ``` +#### Using the GetUserByNameWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Get user by user name + ApiResponse response = apiInstance.GetUserByNameWithHttpInfo(username); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.GetUserByNameWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be fetched. Use user1 for testing. | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be fetched. Use user1 for testing. | | ### Return type @@ -396,8 +483,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -405,12 +492,32 @@ namespace Example } ``` +#### Using the LoginUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs user into the system + ApiResponse response = apiInstance.LoginUserWithHttpInfo(username, password); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LoginUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The user name for login | - **password** | **string**| The password for login in clear text | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The user name for login | | +| **password** | **string** | The password for login in clear text | | ### Return type @@ -465,8 +572,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -474,9 +581,25 @@ namespace Example } ``` +#### Using the LogoutUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs out current logged in user session + apiInstance.LogoutUserWithHttpInfo(); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LogoutUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type void (empty response body) @@ -533,8 +656,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -542,12 +665,29 @@ namespace Example } ``` +#### Using the UpdateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updated user + apiInstance.UpdateUserWithHttpInfo(username, user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.UpdateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| name that need to be deleted | - **user** | [**User**](User.md)| Updated user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | name that need to be deleted | | +| **user** | [**User**](User.md) | Updated user object | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/AnotherFakeApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/AnotherFakeApi.md index 93fca7e408..0ddc28a119 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/AnotherFakeApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/AnotherFakeApi.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**Call123TestSpecialTags**](AnotherFakeApi.md#call123testspecialtags) | **PATCH** /another-fake/dummy | To test special tags - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**Call123TestSpecialTags**](AnotherFakeApi.md#call123testspecialtags) | **PATCH** /another-fake/dummy | To test special tags | # **Call123TestSpecialTags** @@ -42,8 +41,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTags: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTags: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -51,11 +50,31 @@ namespace Example } ``` +#### Using the Call123TestSpecialTagsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test special tags + ApiResponse response = apiInstance.Call123TestSpecialTagsWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTagsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/DefaultApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/DefaultApi.md index e966d3bef4..be19718012 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/DefaultApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/DefaultApi.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**FooGet**](DefaultApi.md#fooget) | **GET** /foo | - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**FooGet**](DefaultApi.md#fooget) | **GET** /foo | | # **FooGet** @@ -38,8 +37,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling DefaultApi.FooGet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling DefaultApi.FooGet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -47,9 +46,27 @@ namespace Example } ``` +#### Using the FooGetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FooGetWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling DefaultApi.FooGetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**FooGetDefaultResponse**](FooGetDefaultResponse.md) diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/FakeApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/FakeApi.md index 8a5cb9aaf4..46d135e359 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/FakeApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/FakeApi.md @@ -2,24 +2,23 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**FakeHealthGet**](FakeApi.md#fakehealthget) | **GET** /fake/health | Health check endpoint -[**FakeOuterBooleanSerialize**](FakeApi.md#fakeouterbooleanserialize) | **POST** /fake/outer/boolean | -[**FakeOuterCompositeSerialize**](FakeApi.md#fakeoutercompositeserialize) | **POST** /fake/outer/composite | -[**FakeOuterNumberSerialize**](FakeApi.md#fakeouternumberserialize) | **POST** /fake/outer/number | -[**FakeOuterStringSerialize**](FakeApi.md#fakeouterstringserialize) | **POST** /fake/outer/string | -[**GetArrayOfEnums**](FakeApi.md#getarrayofenums) | **GET** /fake/array-of-enums | Array of Enums -[**TestBodyWithFileSchema**](FakeApi.md#testbodywithfileschema) | **PUT** /fake/body-with-file-schema | -[**TestBodyWithQueryParams**](FakeApi.md#testbodywithqueryparams) | **PUT** /fake/body-with-query-params | -[**TestClientModel**](FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model -[**TestEndpointParameters**](FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 -[**TestEnumParameters**](FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters -[**TestGroupParameters**](FakeApi.md#testgroupparameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional) -[**TestInlineAdditionalProperties**](FakeApi.md#testinlineadditionalproperties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties -[**TestJsonFormData**](FakeApi.md#testjsonformdata) | **GET** /fake/jsonFormData | test json serialization of form data -[**TestQueryParameterCollectionFormat**](FakeApi.md#testqueryparametercollectionformat) | **PUT** /fake/test-query-parameters | - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**FakeHealthGet**](FakeApi.md#fakehealthget) | **GET** /fake/health | Health check endpoint | +| [**FakeOuterBooleanSerialize**](FakeApi.md#fakeouterbooleanserialize) | **POST** /fake/outer/boolean | | +| [**FakeOuterCompositeSerialize**](FakeApi.md#fakeoutercompositeserialize) | **POST** /fake/outer/composite | | +| [**FakeOuterNumberSerialize**](FakeApi.md#fakeouternumberserialize) | **POST** /fake/outer/number | | +| [**FakeOuterStringSerialize**](FakeApi.md#fakeouterstringserialize) | **POST** /fake/outer/string | | +| [**GetArrayOfEnums**](FakeApi.md#getarrayofenums) | **GET** /fake/array-of-enums | Array of Enums | +| [**TestBodyWithFileSchema**](FakeApi.md#testbodywithfileschema) | **PUT** /fake/body-with-file-schema | | +| [**TestBodyWithQueryParams**](FakeApi.md#testbodywithqueryparams) | **PUT** /fake/body-with-query-params | | +| [**TestClientModel**](FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model | +| [**TestEndpointParameters**](FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 | +| [**TestEnumParameters**](FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters | +| [**TestGroupParameters**](FakeApi.md#testgroupparameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional) | +| [**TestInlineAdditionalProperties**](FakeApi.md#testinlineadditionalproperties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties | +| [**TestJsonFormData**](FakeApi.md#testjsonformdata) | **GET** /fake/jsonFormData | test json serialization of form data | +| [**TestQueryParameterCollectionFormat**](FakeApi.md#testqueryparametercollectionformat) | **PUT** /fake/test-query-parameters | | # **FakeHealthGet** @@ -53,8 +52,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeHealthGet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeHealthGet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -62,9 +61,28 @@ namespace Example } ``` +#### Using the FakeHealthGetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Health check endpoint + ApiResponse response = apiInstance.FakeHealthGetWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeHealthGetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**HealthCheckResult**](HealthCheckResult.md) @@ -120,8 +138,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -129,11 +147,30 @@ namespace Example } ``` +#### Using the FakeOuterBooleanSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterBooleanSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **bool?**| Input boolean as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **bool?** | Input boolean as post body | [optional] | ### Return type @@ -190,8 +227,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -199,11 +236,30 @@ namespace Example } ``` +#### Using the FakeOuterCompositeSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterCompositeSerializeWithHttpInfo(outerComposite); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **outerComposite** | [**OuterComposite**](OuterComposite.md)| Input composite as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **outerComposite** | [**OuterComposite**](OuterComposite.md) | Input composite as post body | [optional] | ### Return type @@ -260,8 +316,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -269,11 +325,30 @@ namespace Example } ``` +#### Using the FakeOuterNumberSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterNumberSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **decimal?**| Input number as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **decimal?** | Input number as post body | [optional] | ### Return type @@ -330,8 +405,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterStringSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterStringSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -339,11 +414,30 @@ namespace Example } ``` +#### Using the FakeOuterStringSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterStringSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterStringSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **string**| Input string as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **string** | Input string as post body | [optional] | ### Return type @@ -398,8 +492,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.GetArrayOfEnums: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.GetArrayOfEnums: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -407,9 +501,28 @@ namespace Example } ``` +#### Using the GetArrayOfEnumsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Array of Enums + ApiResponse> response = apiInstance.GetArrayOfEnumsWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.GetArrayOfEnumsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**List<OuterEnum>**](OuterEnum.md) @@ -464,8 +577,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchema: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchema: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -473,11 +586,27 @@ namespace Example } ``` +#### Using the TestBodyWithFileSchemaWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestBodyWithFileSchemaWithHttpInfo(fileSchemaTestClass); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchemaWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md) | | | ### Return type @@ -532,8 +661,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParams: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParams: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -541,12 +670,28 @@ namespace Example } ``` +#### Using the TestBodyWithQueryParamsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestBodyWithQueryParamsWithHttpInfo(query, user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParamsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **query** | **string**| | - **user** | [**User**](User.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **query** | **string** | | | +| **user** | [**User**](User.md) | | | ### Return type @@ -604,8 +749,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -613,11 +758,31 @@ namespace Example } ``` +#### Using the TestClientModelWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test \"client\" model + ApiResponse response = apiInstance.TestClientModelWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestClientModelWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type @@ -691,8 +856,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestEndpointParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestEndpointParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -700,24 +865,41 @@ namespace Example } ``` +#### Using the TestEndpointParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 + apiInstance.TestEndpointParametersWithHttpInfo(number, _double, patternWithoutDelimiter, _byte, integer, int32, int64, _float, _string, binary, date, dateTime, password, callback); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestEndpointParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **number** | **decimal**| None | - **_double** | **double**| None | - **patternWithoutDelimiter** | **string**| None | - **_byte** | **byte[]**| None | - **integer** | **int?**| None | [optional] - **int32** | **int?**| None | [optional] - **int64** | **long?**| None | [optional] - **_float** | **float?**| None | [optional] - **_string** | **string**| None | [optional] - **binary** | **System.IO.Stream****System.IO.Stream**| None | [optional] - **date** | **DateTime?**| None | [optional] - **dateTime** | **DateTime?**| None | [optional] [default to "2010-02-01T10:20:10.111110+01:00"] - **password** | **string**| None | [optional] - **callback** | **string**| None | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **number** | **decimal** | None | | +| **_double** | **double** | None | | +| **patternWithoutDelimiter** | **string** | None | | +| **_byte** | **byte[]** | None | | +| **integer** | **int?** | None | [optional] | +| **int32** | **int?** | None | [optional] | +| **int64** | **long?** | None | [optional] | +| **_float** | **float?** | None | [optional] | +| **_string** | **string** | None | [optional] | +| **binary** | **System.IO.Stream****System.IO.Stream** | None | [optional] | +| **date** | **DateTime?** | None | [optional] | +| **dateTime** | **DateTime?** | None | [optional] [default to "2010-02-01T10:20:10.111110+01:00"] | +| **password** | **string** | None | [optional] | +| **callback** | **string** | None | [optional] | ### Return type @@ -782,8 +964,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestEnumParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestEnumParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -791,18 +973,35 @@ namespace Example } ``` +#### Using the TestEnumParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test enum parameters + apiInstance.TestEnumParametersWithHttpInfo(enumHeaderStringArray, enumHeaderString, enumQueryStringArray, enumQueryString, enumQueryInteger, enumQueryDouble, enumFormStringArray, enumFormString); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestEnumParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **enumHeaderStringArray** | [**List<string>**](string.md)| Header parameter enum test (string array) | [optional] - **enumHeaderString** | **string**| Header parameter enum test (string) | [optional] [default to -efg] - **enumQueryStringArray** | [**List<string>**](string.md)| Query parameter enum test (string array) | [optional] - **enumQueryString** | **string**| Query parameter enum test (string) | [optional] [default to -efg] - **enumQueryInteger** | **int?**| Query parameter enum test (double) | [optional] - **enumQueryDouble** | **double?**| Query parameter enum test (double) | [optional] - **enumFormStringArray** | [**List<string>**](string.md)| Form parameter enum test (string array) | [optional] [default to $] - **enumFormString** | **string**| Form parameter enum test (string) | [optional] [default to -efg] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **enumHeaderStringArray** | [**List<string>**](string.md) | Header parameter enum test (string array) | [optional] | +| **enumHeaderString** | **string** | Header parameter enum test (string) | [optional] [default to -efg] | +| **enumQueryStringArray** | [**List<string>**](string.md) | Query parameter enum test (string array) | [optional] | +| **enumQueryString** | **string** | Query parameter enum test (string) | [optional] [default to -efg] | +| **enumQueryInteger** | **int?** | Query parameter enum test (double) | [optional] | +| **enumQueryDouble** | **double?** | Query parameter enum test (double) | [optional] | +| **enumFormStringArray** | [**List<string>**](string.md) | Form parameter enum test (string array) | [optional] [default to $] | +| **enumFormString** | **string** | Form parameter enum test (string) | [optional] [default to -efg] | ### Return type @@ -868,8 +1067,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestGroupParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestGroupParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -877,16 +1076,33 @@ namespace Example } ``` +#### Using the TestGroupParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Fake endpoint to test group parameters (optional) + apiInstance.TestGroupParametersWithHttpInfo(requiredStringGroup, requiredBooleanGroup, requiredInt64Group, stringGroup, booleanGroup, int64Group); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestGroupParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **requiredStringGroup** | **int**| Required String in group parameters | - **requiredBooleanGroup** | **bool**| Required Boolean in group parameters | - **requiredInt64Group** | **long**| Required Integer in group parameters | - **stringGroup** | **int?**| String in group parameters | [optional] - **booleanGroup** | **bool?**| Boolean in group parameters | [optional] - **int64Group** | **long?**| Integer in group parameters | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **requiredStringGroup** | **int** | Required String in group parameters | | +| **requiredBooleanGroup** | **bool** | Required Boolean in group parameters | | +| **requiredInt64Group** | **long** | Required Integer in group parameters | | +| **stringGroup** | **int?** | String in group parameters | [optional] | +| **booleanGroup** | **bool?** | Boolean in group parameters | [optional] | +| **int64Group** | **long?** | Integer in group parameters | [optional] | ### Return type @@ -941,8 +1157,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestInlineAdditionalProperties: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestInlineAdditionalProperties: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -950,11 +1166,28 @@ namespace Example } ``` +#### Using the TestInlineAdditionalPropertiesWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // test inline additionalProperties + apiInstance.TestInlineAdditionalPropertiesWithHttpInfo(requestBody); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestInlineAdditionalPropertiesWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **requestBody** | [**Dictionary<string, string>**](string.md)| request body | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **requestBody** | [**Dictionary<string, string>**](string.md) | request body | | ### Return type @@ -1010,8 +1243,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestJsonFormData: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestJsonFormData: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -1019,12 +1252,29 @@ namespace Example } ``` +#### Using the TestJsonFormDataWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // test json serialization of form data + apiInstance.TestJsonFormDataWithHttpInfo(param, param2); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestJsonFormDataWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **param** | **string**| field1 | - **param2** | **string**| field2 | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **param** | **string** | field1 | | +| **param2** | **string** | field2 | | ### Return type @@ -1084,8 +1334,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormat: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormat: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -1093,15 +1343,31 @@ namespace Example } ``` +#### Using the TestQueryParameterCollectionFormatWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestQueryParameterCollectionFormatWithHttpInfo(pipe, ioutil, http, url, context); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormatWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pipe** | [**List<string>**](string.md)| | - **ioutil** | [**List<string>**](string.md)| | - **http** | [**List<string>**](string.md)| | - **url** | [**List<string>**](string.md)| | - **context** | [**List<string>**](string.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pipe** | [**List<string>**](string.md) | | | +| **ioutil** | [**List<string>**](string.md) | | | +| **http** | [**List<string>**](string.md) | | | +| **url** | [**List<string>**](string.md) | | | +| **context** | [**List<string>**](string.md) | | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/FakeClassnameTags123Api.md b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/FakeClassnameTags123Api.md index 13235fbd10..aff9fbdf0e 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/FakeClassnameTags123Api.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/FakeClassnameTags123Api.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**TestClassname**](FakeClassnameTags123Api.md#testclassname) | **PATCH** /fake_classname_test | To test class name in snake case - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**TestClassname**](FakeClassnameTags123Api.md#testclassname) | **PATCH** /fake_classname_test | To test class name in snake case | # **TestClassname** @@ -47,8 +46,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassname: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassname: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -56,11 +55,31 @@ namespace Example } ``` +#### Using the TestClassnameWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test class name in snake case + ApiResponse response = apiInstance.TestClassnameWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassnameWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/PetApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/PetApi.md index f429575063..589980bafe 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/PetApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/PetApi.md @@ -2,18 +2,17 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store -[**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet -[**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status -[**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags -[**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID -[**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet -[**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data -[**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image -[**UploadFileWithRequiredFile**](PetApi.md#uploadfilewithrequiredfile) | **POST** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store | +| [**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet | +| [**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status | +| [**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags | +| [**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID | +| [**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet | +| [**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data | +| [**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image | +| [**UploadFileWithRequiredFile**](PetApi.md#uploadfilewithrequiredfile) | **POST** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) | # **AddPet** @@ -50,8 +49,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.AddPet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.AddPet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -59,11 +58,28 @@ namespace Example } ``` +#### Using the AddPetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Add a new pet to the store + apiInstance.AddPetWithHttpInfo(pet); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.AddPetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -122,8 +138,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -131,12 +147,29 @@ namespace Example } ``` +#### Using the DeletePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Deletes a pet + apiInstance.DeletePetWithHttpInfo(petId, apiKey); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.DeletePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| Pet id to delete | - **apiKey** | **string**| | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | Pet id to delete | | +| **apiKey** | **string** | | [optional] | ### Return type @@ -197,8 +230,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -206,11 +239,31 @@ namespace Example } ``` +#### Using the FindPetsByStatusWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by status + ApiResponse> response = apiInstance.FindPetsByStatusWithHttpInfo(status); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByStatusWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **status** | [**List<string>**](string.md)| Status values that need to be considered for filter | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **status** | [**List<string>**](string.md) | Status values that need to be considered for filter | | ### Return type @@ -272,8 +325,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -281,11 +334,31 @@ namespace Example } ``` +#### Using the FindPetsByTagsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by tags + ApiResponse> response = apiInstance.FindPetsByTagsWithHttpInfo(tags); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByTagsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **tags** | [**List<string>**](string.md)| Tags to filter by | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **tags** | [**List<string>**](string.md) | Tags to filter by | | ### Return type @@ -349,8 +422,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -358,11 +431,31 @@ namespace Example } ``` +#### Using the GetPetByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find pet by ID + ApiResponse response = apiInstance.GetPetByIdWithHttpInfo(petId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.GetPetByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to return | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to return | | ### Return type @@ -422,8 +515,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -431,11 +524,28 @@ namespace Example } ``` +#### Using the UpdatePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Update an existing pet + apiInstance.UpdatePetWithHttpInfo(pet); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -497,8 +607,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -506,13 +616,30 @@ namespace Example } ``` +#### Using the UpdatePetWithFormWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updates a pet in the store with form data + apiInstance.UpdatePetWithFormWithHttpInfo(petId, name, status); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithFormWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet that needs to be updated | - **name** | **string**| Updated name of the pet | [optional] - **status** | **string**| Updated status of the pet | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet that needs to be updated | | +| **name** | **string** | Updated name of the pet | [optional] | +| **status** | **string** | Updated status of the pet | [optional] | ### Return type @@ -573,8 +700,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -582,13 +709,33 @@ namespace Example } ``` +#### Using the UploadFileWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // uploads an image + ApiResponse response = apiInstance.UploadFileWithHttpInfo(petId, additionalMetadata, file); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UploadFileWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to update | - **additionalMetadata** | **string**| Additional data to pass to server | [optional] - **file** | **System.IO.Stream****System.IO.Stream**| file to upload | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to update | | +| **additionalMetadata** | **string** | Additional data to pass to server | [optional] | +| **file** | **System.IO.Stream****System.IO.Stream** | file to upload | [optional] | ### Return type @@ -649,8 +796,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFile: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFile: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -658,13 +805,33 @@ namespace Example } ``` +#### Using the UploadFileWithRequiredFileWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // uploads an image (required) + ApiResponse response = apiInstance.UploadFileWithRequiredFileWithHttpInfo(petId, requiredFile, additionalMetadata); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFileWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to update | - **requiredFile** | **System.IO.Stream****System.IO.Stream**| file to upload | - **additionalMetadata** | **string**| Additional data to pass to server | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to update | | +| **requiredFile** | **System.IO.Stream****System.IO.Stream** | file to upload | | +| **additionalMetadata** | **string** | Additional data to pass to server | [optional] | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/StoreApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/StoreApi.md index 963ecda9c1..95bbe1b2f1 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/StoreApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/StoreApi.md @@ -2,13 +2,12 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID -[**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status -[**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{order_id} | Find purchase order by ID -[**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID | +| [**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status | +| [**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{order_id} | Find purchase order by ID | +| [**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet | # **DeleteOrder** @@ -44,8 +43,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -53,11 +52,28 @@ namespace Example } ``` +#### Using the DeleteOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete purchase order by ID + apiInstance.DeleteOrderWithHttpInfo(orderId); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.DeleteOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **string**| ID of the order that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **string** | ID of the order that needs to be deleted | | ### Return type @@ -120,8 +136,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -129,9 +145,28 @@ namespace Example } ``` +#### Using the GetInventoryWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Returns pet inventories by status + ApiResponse> response = apiInstance.GetInventoryWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetInventoryWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type **Dictionary** @@ -188,8 +223,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -197,11 +232,31 @@ namespace Example } ``` +#### Using the GetOrderByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find purchase order by ID + ApiResponse response = apiInstance.GetOrderByIdWithHttpInfo(orderId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetOrderByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **long**| ID of pet that needs to be fetched | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **long** | ID of pet that needs to be fetched | | ### Return type @@ -259,8 +314,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -268,11 +323,31 @@ namespace Example } ``` +#### Using the PlaceOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Place an order for a pet + ApiResponse response = apiInstance.PlaceOrderWithHttpInfo(order); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.PlaceOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **order** | [**Order**](Order.md)| order placed for purchasing the pet | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **order** | [**Order**](Order.md) | order placed for purchasing the pet | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/UserApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/UserApi.md index 2f478081dc..a3d461b04c 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/UserApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/UserApi.md @@ -2,17 +2,16 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user -[**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array -[**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array -[**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user -[**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name -[**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system -[**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session -[**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user | +| [**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array | +| [**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array | +| [**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user | +| [**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name | +| [**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system | +| [**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session | +| [**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user | # **CreateUser** @@ -48,8 +47,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -57,11 +56,28 @@ namespace Example } ``` +#### Using the CreateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Create user + apiInstance.CreateUserWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**User**](User.md)| Created user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**User**](User.md) | Created user object | | ### Return type @@ -116,8 +132,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -125,11 +141,28 @@ namespace Example } ``` +#### Using the CreateUsersWithArrayInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithArrayInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -184,8 +217,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -193,11 +226,28 @@ namespace Example } ``` +#### Using the CreateUsersWithListInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithListInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithListInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -254,8 +304,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -263,11 +313,28 @@ namespace Example } ``` +#### Using the DeleteUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete user + apiInstance.DeleteUserWithHttpInfo(username); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.DeleteUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be deleted | | ### Return type @@ -324,8 +391,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -333,11 +400,31 @@ namespace Example } ``` +#### Using the GetUserByNameWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Get user by user name + ApiResponse response = apiInstance.GetUserByNameWithHttpInfo(username); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.GetUserByNameWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be fetched. Use user1 for testing. | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be fetched. Use user1 for testing. | | ### Return type @@ -396,8 +483,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -405,12 +492,32 @@ namespace Example } ``` +#### Using the LoginUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs user into the system + ApiResponse response = apiInstance.LoginUserWithHttpInfo(username, password); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LoginUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The user name for login | - **password** | **string**| The password for login in clear text | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The user name for login | | +| **password** | **string** | The password for login in clear text | | ### Return type @@ -465,8 +572,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -474,9 +581,25 @@ namespace Example } ``` +#### Using the LogoutUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs out current logged in user session + apiInstance.LogoutUserWithHttpInfo(); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LogoutUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type void (empty response body) @@ -533,8 +656,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -542,12 +665,29 @@ namespace Example } ``` +#### Using the UpdateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updated user + apiInstance.UpdateUserWithHttpInfo(username, user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.UpdateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| name that need to be deleted | - **user** | [**User**](User.md)| Updated user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | name that need to be deleted | | +| **user** | [**User**](User.md) | Updated user object | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/AnotherFakeApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/AnotherFakeApi.md index 93fca7e408..0ddc28a119 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/AnotherFakeApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/AnotherFakeApi.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**Call123TestSpecialTags**](AnotherFakeApi.md#call123testspecialtags) | **PATCH** /another-fake/dummy | To test special tags - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**Call123TestSpecialTags**](AnotherFakeApi.md#call123testspecialtags) | **PATCH** /another-fake/dummy | To test special tags | # **Call123TestSpecialTags** @@ -42,8 +41,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTags: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTags: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -51,11 +50,31 @@ namespace Example } ``` +#### Using the Call123TestSpecialTagsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test special tags + ApiResponse response = apiInstance.Call123TestSpecialTagsWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTagsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/DefaultApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/DefaultApi.md index e966d3bef4..be19718012 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/DefaultApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/DefaultApi.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**FooGet**](DefaultApi.md#fooget) | **GET** /foo | - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**FooGet**](DefaultApi.md#fooget) | **GET** /foo | | # **FooGet** @@ -38,8 +37,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling DefaultApi.FooGet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling DefaultApi.FooGet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -47,9 +46,27 @@ namespace Example } ``` +#### Using the FooGetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FooGetWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling DefaultApi.FooGetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**FooGetDefaultResponse**](FooGetDefaultResponse.md) diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/FakeApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/FakeApi.md index 8a5cb9aaf4..46d135e359 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/FakeApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/FakeApi.md @@ -2,24 +2,23 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**FakeHealthGet**](FakeApi.md#fakehealthget) | **GET** /fake/health | Health check endpoint -[**FakeOuterBooleanSerialize**](FakeApi.md#fakeouterbooleanserialize) | **POST** /fake/outer/boolean | -[**FakeOuterCompositeSerialize**](FakeApi.md#fakeoutercompositeserialize) | **POST** /fake/outer/composite | -[**FakeOuterNumberSerialize**](FakeApi.md#fakeouternumberserialize) | **POST** /fake/outer/number | -[**FakeOuterStringSerialize**](FakeApi.md#fakeouterstringserialize) | **POST** /fake/outer/string | -[**GetArrayOfEnums**](FakeApi.md#getarrayofenums) | **GET** /fake/array-of-enums | Array of Enums -[**TestBodyWithFileSchema**](FakeApi.md#testbodywithfileschema) | **PUT** /fake/body-with-file-schema | -[**TestBodyWithQueryParams**](FakeApi.md#testbodywithqueryparams) | **PUT** /fake/body-with-query-params | -[**TestClientModel**](FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model -[**TestEndpointParameters**](FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 -[**TestEnumParameters**](FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters -[**TestGroupParameters**](FakeApi.md#testgroupparameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional) -[**TestInlineAdditionalProperties**](FakeApi.md#testinlineadditionalproperties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties -[**TestJsonFormData**](FakeApi.md#testjsonformdata) | **GET** /fake/jsonFormData | test json serialization of form data -[**TestQueryParameterCollectionFormat**](FakeApi.md#testqueryparametercollectionformat) | **PUT** /fake/test-query-parameters | - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**FakeHealthGet**](FakeApi.md#fakehealthget) | **GET** /fake/health | Health check endpoint | +| [**FakeOuterBooleanSerialize**](FakeApi.md#fakeouterbooleanserialize) | **POST** /fake/outer/boolean | | +| [**FakeOuterCompositeSerialize**](FakeApi.md#fakeoutercompositeserialize) | **POST** /fake/outer/composite | | +| [**FakeOuterNumberSerialize**](FakeApi.md#fakeouternumberserialize) | **POST** /fake/outer/number | | +| [**FakeOuterStringSerialize**](FakeApi.md#fakeouterstringserialize) | **POST** /fake/outer/string | | +| [**GetArrayOfEnums**](FakeApi.md#getarrayofenums) | **GET** /fake/array-of-enums | Array of Enums | +| [**TestBodyWithFileSchema**](FakeApi.md#testbodywithfileschema) | **PUT** /fake/body-with-file-schema | | +| [**TestBodyWithQueryParams**](FakeApi.md#testbodywithqueryparams) | **PUT** /fake/body-with-query-params | | +| [**TestClientModel**](FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model | +| [**TestEndpointParameters**](FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 | +| [**TestEnumParameters**](FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters | +| [**TestGroupParameters**](FakeApi.md#testgroupparameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional) | +| [**TestInlineAdditionalProperties**](FakeApi.md#testinlineadditionalproperties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties | +| [**TestJsonFormData**](FakeApi.md#testjsonformdata) | **GET** /fake/jsonFormData | test json serialization of form data | +| [**TestQueryParameterCollectionFormat**](FakeApi.md#testqueryparametercollectionformat) | **PUT** /fake/test-query-parameters | | # **FakeHealthGet** @@ -53,8 +52,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeHealthGet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeHealthGet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -62,9 +61,28 @@ namespace Example } ``` +#### Using the FakeHealthGetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Health check endpoint + ApiResponse response = apiInstance.FakeHealthGetWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeHealthGetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**HealthCheckResult**](HealthCheckResult.md) @@ -120,8 +138,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -129,11 +147,30 @@ namespace Example } ``` +#### Using the FakeOuterBooleanSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterBooleanSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **bool?**| Input boolean as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **bool?** | Input boolean as post body | [optional] | ### Return type @@ -190,8 +227,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -199,11 +236,30 @@ namespace Example } ``` +#### Using the FakeOuterCompositeSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterCompositeSerializeWithHttpInfo(outerComposite); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterCompositeSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **outerComposite** | [**OuterComposite**](OuterComposite.md)| Input composite as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **outerComposite** | [**OuterComposite**](OuterComposite.md) | Input composite as post body | [optional] | ### Return type @@ -260,8 +316,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -269,11 +325,30 @@ namespace Example } ``` +#### Using the FakeOuterNumberSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterNumberSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterNumberSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **decimal?**| Input number as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **decimal?** | Input number as post body | [optional] | ### Return type @@ -330,8 +405,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.FakeOuterStringSerialize: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.FakeOuterStringSerialize: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -339,11 +414,30 @@ namespace Example } ``` +#### Using the FakeOuterStringSerializeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + ApiResponse response = apiInstance.FakeOuterStringSerializeWithHttpInfo(body); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.FakeOuterStringSerializeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **body** | **string**| Input string as post body | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **body** | **string** | Input string as post body | [optional] | ### Return type @@ -398,8 +492,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.GetArrayOfEnums: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.GetArrayOfEnums: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -407,9 +501,28 @@ namespace Example } ``` +#### Using the GetArrayOfEnumsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Array of Enums + ApiResponse> response = apiInstance.GetArrayOfEnumsWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.GetArrayOfEnumsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type [**List<OuterEnum>**](OuterEnum.md) @@ -464,8 +577,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchema: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchema: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -473,11 +586,27 @@ namespace Example } ``` +#### Using the TestBodyWithFileSchemaWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestBodyWithFileSchemaWithHttpInfo(fileSchemaTestClass); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestBodyWithFileSchemaWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md) | | | ### Return type @@ -532,8 +661,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParams: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParams: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -541,12 +670,28 @@ namespace Example } ``` +#### Using the TestBodyWithQueryParamsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestBodyWithQueryParamsWithHttpInfo(query, user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestBodyWithQueryParamsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **query** | **string**| | - **user** | [**User**](User.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **query** | **string** | | | +| **user** | [**User**](User.md) | | | ### Return type @@ -604,8 +749,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -613,11 +758,31 @@ namespace Example } ``` +#### Using the TestClientModelWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test \"client\" model + ApiResponse response = apiInstance.TestClientModelWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestClientModelWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type @@ -691,8 +856,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestEndpointParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestEndpointParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -700,24 +865,41 @@ namespace Example } ``` +#### Using the TestEndpointParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 + apiInstance.TestEndpointParametersWithHttpInfo(number, _double, patternWithoutDelimiter, _byte, integer, int32, int64, _float, _string, binary, date, dateTime, password, callback); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestEndpointParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **number** | **decimal**| None | - **_double** | **double**| None | - **patternWithoutDelimiter** | **string**| None | - **_byte** | **byte[]**| None | - **integer** | **int?**| None | [optional] - **int32** | **int?**| None | [optional] - **int64** | **long?**| None | [optional] - **_float** | **float?**| None | [optional] - **_string** | **string**| None | [optional] - **binary** | **System.IO.Stream****System.IO.Stream**| None | [optional] - **date** | **DateTime?**| None | [optional] - **dateTime** | **DateTime?**| None | [optional] [default to "2010-02-01T10:20:10.111110+01:00"] - **password** | **string**| None | [optional] - **callback** | **string**| None | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **number** | **decimal** | None | | +| **_double** | **double** | None | | +| **patternWithoutDelimiter** | **string** | None | | +| **_byte** | **byte[]** | None | | +| **integer** | **int?** | None | [optional] | +| **int32** | **int?** | None | [optional] | +| **int64** | **long?** | None | [optional] | +| **_float** | **float?** | None | [optional] | +| **_string** | **string** | None | [optional] | +| **binary** | **System.IO.Stream****System.IO.Stream** | None | [optional] | +| **date** | **DateTime?** | None | [optional] | +| **dateTime** | **DateTime?** | None | [optional] [default to "2010-02-01T10:20:10.111110+01:00"] | +| **password** | **string** | None | [optional] | +| **callback** | **string** | None | [optional] | ### Return type @@ -782,8 +964,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestEnumParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestEnumParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -791,18 +973,35 @@ namespace Example } ``` +#### Using the TestEnumParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test enum parameters + apiInstance.TestEnumParametersWithHttpInfo(enumHeaderStringArray, enumHeaderString, enumQueryStringArray, enumQueryString, enumQueryInteger, enumQueryDouble, enumFormStringArray, enumFormString); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestEnumParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **enumHeaderStringArray** | [**List<string>**](string.md)| Header parameter enum test (string array) | [optional] - **enumHeaderString** | **string**| Header parameter enum test (string) | [optional] [default to -efg] - **enumQueryStringArray** | [**List<string>**](string.md)| Query parameter enum test (string array) | [optional] - **enumQueryString** | **string**| Query parameter enum test (string) | [optional] [default to -efg] - **enumQueryInteger** | **int?**| Query parameter enum test (double) | [optional] - **enumQueryDouble** | **double?**| Query parameter enum test (double) | [optional] - **enumFormStringArray** | [**List<string>**](string.md)| Form parameter enum test (string array) | [optional] [default to $] - **enumFormString** | **string**| Form parameter enum test (string) | [optional] [default to -efg] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **enumHeaderStringArray** | [**List<string>**](string.md) | Header parameter enum test (string array) | [optional] | +| **enumHeaderString** | **string** | Header parameter enum test (string) | [optional] [default to -efg] | +| **enumQueryStringArray** | [**List<string>**](string.md) | Query parameter enum test (string array) | [optional] | +| **enumQueryString** | **string** | Query parameter enum test (string) | [optional] [default to -efg] | +| **enumQueryInteger** | **int?** | Query parameter enum test (double) | [optional] | +| **enumQueryDouble** | **double?** | Query parameter enum test (double) | [optional] | +| **enumFormStringArray** | [**List<string>**](string.md) | Form parameter enum test (string array) | [optional] [default to $] | +| **enumFormString** | **string** | Form parameter enum test (string) | [optional] [default to -efg] | ### Return type @@ -868,8 +1067,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestGroupParameters: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestGroupParameters: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -877,16 +1076,33 @@ namespace Example } ``` +#### Using the TestGroupParametersWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Fake endpoint to test group parameters (optional) + apiInstance.TestGroupParametersWithHttpInfo(requiredStringGroup, requiredBooleanGroup, requiredInt64Group, stringGroup, booleanGroup, int64Group); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestGroupParametersWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **requiredStringGroup** | **int**| Required String in group parameters | - **requiredBooleanGroup** | **bool**| Required Boolean in group parameters | - **requiredInt64Group** | **long**| Required Integer in group parameters | - **stringGroup** | **int?**| String in group parameters | [optional] - **booleanGroup** | **bool?**| Boolean in group parameters | [optional] - **int64Group** | **long?**| Integer in group parameters | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **requiredStringGroup** | **int** | Required String in group parameters | | +| **requiredBooleanGroup** | **bool** | Required Boolean in group parameters | | +| **requiredInt64Group** | **long** | Required Integer in group parameters | | +| **stringGroup** | **int?** | String in group parameters | [optional] | +| **booleanGroup** | **bool?** | Boolean in group parameters | [optional] | +| **int64Group** | **long?** | Integer in group parameters | [optional] | ### Return type @@ -941,8 +1157,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestInlineAdditionalProperties: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestInlineAdditionalProperties: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -950,11 +1166,28 @@ namespace Example } ``` +#### Using the TestInlineAdditionalPropertiesWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // test inline additionalProperties + apiInstance.TestInlineAdditionalPropertiesWithHttpInfo(requestBody); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestInlineAdditionalPropertiesWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **requestBody** | [**Dictionary<string, string>**](string.md)| request body | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **requestBody** | [**Dictionary<string, string>**](string.md) | request body | | ### Return type @@ -1010,8 +1243,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestJsonFormData: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestJsonFormData: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -1019,12 +1252,29 @@ namespace Example } ``` +#### Using the TestJsonFormDataWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // test json serialization of form data + apiInstance.TestJsonFormDataWithHttpInfo(param, param2); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestJsonFormDataWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **param** | **string**| field1 | - **param2** | **string**| field2 | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **param** | **string** | field1 | | +| **param2** | **string** | field2 | | ### Return type @@ -1084,8 +1334,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormat: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormat: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -1093,15 +1343,31 @@ namespace Example } ``` +#### Using the TestQueryParameterCollectionFormatWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + apiInstance.TestQueryParameterCollectionFormatWithHttpInfo(pipe, ioutil, http, url, context); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeApi.TestQueryParameterCollectionFormatWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pipe** | [**List<string>**](string.md)| | - **ioutil** | [**List<string>**](string.md)| | - **http** | [**List<string>**](string.md)| | - **url** | [**List<string>**](string.md)| | - **context** | [**List<string>**](string.md)| | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pipe** | [**List<string>**](string.md) | | | +| **ioutil** | [**List<string>**](string.md) | | | +| **http** | [**List<string>**](string.md) | | | +| **url** | [**List<string>**](string.md) | | | +| **context** | [**List<string>**](string.md) | | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/FakeClassnameTags123Api.md b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/FakeClassnameTags123Api.md index 13235fbd10..aff9fbdf0e 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/FakeClassnameTags123Api.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/FakeClassnameTags123Api.md @@ -2,10 +2,9 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**TestClassname**](FakeClassnameTags123Api.md#testclassname) | **PATCH** /fake_classname_test | To test class name in snake case - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**TestClassname**](FakeClassnameTags123Api.md#testclassname) | **PATCH** /fake_classname_test | To test class name in snake case | # **TestClassname** @@ -47,8 +46,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassname: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassname: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -56,11 +55,31 @@ namespace Example } ``` +#### Using the TestClassnameWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // To test class name in snake case + ApiResponse response = apiInstance.TestClassnameWithHttpInfo(modelClient); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling FakeClassnameTags123Api.TestClassnameWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelClient** | [**ModelClient**](ModelClient.md)| client model | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **modelClient** | [**ModelClient**](ModelClient.md) | client model | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/PetApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/PetApi.md index f429575063..589980bafe 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/PetApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/PetApi.md @@ -2,18 +2,17 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store -[**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet -[**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status -[**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags -[**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID -[**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet -[**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data -[**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image -[**UploadFileWithRequiredFile**](PetApi.md#uploadfilewithrequiredfile) | **POST** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store | +| [**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet | +| [**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status | +| [**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags | +| [**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID | +| [**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet | +| [**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data | +| [**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image | +| [**UploadFileWithRequiredFile**](PetApi.md#uploadfilewithrequiredfile) | **POST** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) | # **AddPet** @@ -50,8 +49,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.AddPet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.AddPet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -59,11 +58,28 @@ namespace Example } ``` +#### Using the AddPetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Add a new pet to the store + apiInstance.AddPetWithHttpInfo(pet); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.AddPetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -122,8 +138,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -131,12 +147,29 @@ namespace Example } ``` +#### Using the DeletePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Deletes a pet + apiInstance.DeletePetWithHttpInfo(petId, apiKey); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.DeletePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| Pet id to delete | - **apiKey** | **string**| | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | Pet id to delete | | +| **apiKey** | **string** | | [optional] | ### Return type @@ -197,8 +230,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -206,11 +239,31 @@ namespace Example } ``` +#### Using the FindPetsByStatusWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by status + ApiResponse> response = apiInstance.FindPetsByStatusWithHttpInfo(status); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByStatusWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **status** | [**List<string>**](string.md)| Status values that need to be considered for filter | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **status** | [**List<string>**](string.md) | Status values that need to be considered for filter | | ### Return type @@ -272,8 +325,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -281,11 +334,31 @@ namespace Example } ``` +#### Using the FindPetsByTagsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by tags + ApiResponse> response = apiInstance.FindPetsByTagsWithHttpInfo(tags); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByTagsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **tags** | [**List<string>**](string.md)| Tags to filter by | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **tags** | [**List<string>**](string.md) | Tags to filter by | | ### Return type @@ -349,8 +422,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -358,11 +431,31 @@ namespace Example } ``` +#### Using the GetPetByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find pet by ID + ApiResponse response = apiInstance.GetPetByIdWithHttpInfo(petId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.GetPetByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to return | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to return | | ### Return type @@ -422,8 +515,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -431,11 +524,28 @@ namespace Example } ``` +#### Using the UpdatePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Update an existing pet + apiInstance.UpdatePetWithHttpInfo(pet); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -497,8 +607,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -506,13 +616,30 @@ namespace Example } ``` +#### Using the UpdatePetWithFormWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updates a pet in the store with form data + apiInstance.UpdatePetWithFormWithHttpInfo(petId, name, status); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithFormWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet that needs to be updated | - **name** | **string**| Updated name of the pet | [optional] - **status** | **string**| Updated status of the pet | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet that needs to be updated | | +| **name** | **string** | Updated name of the pet | [optional] | +| **status** | **string** | Updated status of the pet | [optional] | ### Return type @@ -573,8 +700,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -582,13 +709,33 @@ namespace Example } ``` +#### Using the UploadFileWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // uploads an image + ApiResponse response = apiInstance.UploadFileWithHttpInfo(petId, additionalMetadata, file); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UploadFileWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to update | - **additionalMetadata** | **string**| Additional data to pass to server | [optional] - **file** | **System.IO.Stream****System.IO.Stream**| file to upload | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to update | | +| **additionalMetadata** | **string** | Additional data to pass to server | [optional] | +| **file** | **System.IO.Stream****System.IO.Stream** | file to upload | [optional] | ### Return type @@ -649,8 +796,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFile: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFile: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -658,13 +805,33 @@ namespace Example } ``` +#### Using the UploadFileWithRequiredFileWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // uploads an image (required) + ApiResponse response = apiInstance.UploadFileWithRequiredFileWithHttpInfo(petId, requiredFile, additionalMetadata); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UploadFileWithRequiredFileWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to update | - **requiredFile** | **System.IO.Stream****System.IO.Stream**| file to upload | - **additionalMetadata** | **string**| Additional data to pass to server | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to update | | +| **requiredFile** | **System.IO.Stream****System.IO.Stream** | file to upload | | +| **additionalMetadata** | **string** | Additional data to pass to server | [optional] | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/StoreApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/StoreApi.md index 963ecda9c1..95bbe1b2f1 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/StoreApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/StoreApi.md @@ -2,13 +2,12 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID -[**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status -[**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{order_id} | Find purchase order by ID -[**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{order_id} | Delete purchase order by ID | +| [**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status | +| [**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{order_id} | Find purchase order by ID | +| [**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet | # **DeleteOrder** @@ -44,8 +43,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -53,11 +52,28 @@ namespace Example } ``` +#### Using the DeleteOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete purchase order by ID + apiInstance.DeleteOrderWithHttpInfo(orderId); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.DeleteOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **string**| ID of the order that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **string** | ID of the order that needs to be deleted | | ### Return type @@ -120,8 +136,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -129,9 +145,28 @@ namespace Example } ``` +#### Using the GetInventoryWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Returns pet inventories by status + ApiResponse> response = apiInstance.GetInventoryWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetInventoryWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type **Dictionary** @@ -188,8 +223,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -197,11 +232,31 @@ namespace Example } ``` +#### Using the GetOrderByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find purchase order by ID + ApiResponse response = apiInstance.GetOrderByIdWithHttpInfo(orderId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetOrderByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **long**| ID of pet that needs to be fetched | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **long** | ID of pet that needs to be fetched | | ### Return type @@ -259,8 +314,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -268,11 +323,31 @@ namespace Example } ``` +#### Using the PlaceOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Place an order for a pet + ApiResponse response = apiInstance.PlaceOrderWithHttpInfo(order); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.PlaceOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **order** | [**Order**](Order.md)| order placed for purchasing the pet | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **order** | [**Order**](Order.md) | order placed for purchasing the pet | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/UserApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/UserApi.md index 2f478081dc..a3d461b04c 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/UserApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/UserApi.md @@ -2,17 +2,16 @@ All URIs are relative to *http://petstore.swagger.io:80/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user -[**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array -[**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array -[**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user -[**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name -[**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system -[**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session -[**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user | +| [**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array | +| [**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array | +| [**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user | +| [**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name | +| [**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system | +| [**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session | +| [**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user | # **CreateUser** @@ -48,8 +47,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -57,11 +56,28 @@ namespace Example } ``` +#### Using the CreateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Create user + apiInstance.CreateUserWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**User**](User.md)| Created user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**User**](User.md) | Created user object | | ### Return type @@ -116,8 +132,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -125,11 +141,28 @@ namespace Example } ``` +#### Using the CreateUsersWithArrayInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithArrayInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -184,8 +217,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -193,11 +226,28 @@ namespace Example } ``` +#### Using the CreateUsersWithListInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithListInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithListInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -254,8 +304,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -263,11 +313,28 @@ namespace Example } ``` +#### Using the DeleteUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete user + apiInstance.DeleteUserWithHttpInfo(username); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.DeleteUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be deleted | | ### Return type @@ -324,8 +391,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -333,11 +400,31 @@ namespace Example } ``` +#### Using the GetUserByNameWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Get user by user name + ApiResponse response = apiInstance.GetUserByNameWithHttpInfo(username); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.GetUserByNameWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be fetched. Use user1 for testing. | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be fetched. Use user1 for testing. | | ### Return type @@ -396,8 +483,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -405,12 +492,32 @@ namespace Example } ``` +#### Using the LoginUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs user into the system + ApiResponse response = apiInstance.LoginUserWithHttpInfo(username, password); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LoginUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The user name for login | - **password** | **string**| The password for login in clear text | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The user name for login | | +| **password** | **string** | The password for login in clear text | | ### Return type @@ -465,8 +572,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -474,9 +581,25 @@ namespace Example } ``` +#### Using the LogoutUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs out current logged in user session + apiInstance.LogoutUserWithHttpInfo(); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LogoutUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type void (empty response body) @@ -533,8 +656,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -542,12 +665,29 @@ namespace Example } ``` +#### Using the UpdateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updated user + apiInstance.UpdateUserWithHttpInfo(username, user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.UpdateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| name that need to be deleted | - **user** | [**User**](User.md)| Updated user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | name that need to be deleted | | +| **user** | [**User**](User.md) | Updated user object | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/docs/PetApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/docs/PetApi.md index 109fec4f41..296f1489a0 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/docs/PetApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/docs/PetApi.md @@ -2,17 +2,16 @@ All URIs are relative to *http://petstore.swagger.io/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store -[**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet -[**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status -[**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags -[**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID -[**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet -[**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data -[**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store | +| [**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet | +| [**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status | +| [**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags | +| [**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID | +| [**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet | +| [**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data | +| [**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image | # **AddPet** @@ -50,8 +49,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.AddPet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.AddPet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -59,11 +58,31 @@ namespace Example } ``` +#### Using the AddPetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Add a new pet to the store + ApiResponse response = apiInstance.AddPetWithHttpInfo(pet); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.AddPetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -123,8 +142,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -132,12 +151,29 @@ namespace Example } ``` +#### Using the DeletePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Deletes a pet + apiInstance.DeletePetWithHttpInfo(petId, apiKey); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.DeletePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| Pet id to delete | - **apiKey** | **string**| | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | Pet id to delete | | +| **apiKey** | **string** | | [optional] | ### Return type @@ -198,8 +234,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -207,11 +243,31 @@ namespace Example } ``` +#### Using the FindPetsByStatusWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by status + ApiResponse> response = apiInstance.FindPetsByStatusWithHttpInfo(status); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByStatusWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **status** | [**List<string>**](string.md)| Status values that need to be considered for filter | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **status** | [**List<string>**](string.md) | Status values that need to be considered for filter | | ### Return type @@ -273,8 +329,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -282,11 +338,31 @@ namespace Example } ``` +#### Using the FindPetsByTagsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Finds Pets by tags + ApiResponse> response = apiInstance.FindPetsByTagsWithHttpInfo(tags); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.FindPetsByTagsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **tags** | [**List<string>**](string.md)| Tags to filter by | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **tags** | [**List<string>**](string.md) | Tags to filter by | | ### Return type @@ -350,8 +426,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -359,11 +435,31 @@ namespace Example } ``` +#### Using the GetPetByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find pet by ID + ApiResponse response = apiInstance.GetPetByIdWithHttpInfo(petId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.GetPetByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to return | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to return | | ### Return type @@ -424,8 +520,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -433,11 +529,31 @@ namespace Example } ``` +#### Using the UpdatePetWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Update an existing pet + ApiResponse response = apiInstance.UpdatePetWithHttpInfo(pet); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **pet** | [**Pet**](Pet.md) | Pet object that needs to be added to the store | | ### Return type @@ -500,8 +616,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -509,13 +625,30 @@ namespace Example } ``` +#### Using the UpdatePetWithFormWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updates a pet in the store with form data + apiInstance.UpdatePetWithFormWithHttpInfo(petId, name, status); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UpdatePetWithFormWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet that needs to be updated | - **name** | **string**| Updated name of the pet | [optional] - **status** | **string**| Updated status of the pet | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet that needs to be updated | | +| **name** | **string** | Updated name of the pet | [optional] | +| **status** | **string** | Updated status of the pet | [optional] | ### Return type @@ -576,8 +709,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -585,13 +718,33 @@ namespace Example } ``` +#### Using the UploadFileWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // uploads an image + ApiResponse response = apiInstance.UploadFileWithHttpInfo(petId, additionalMetadata, file); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling PetApi.UploadFileWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **long**| ID of pet to update | - **additionalMetadata** | **string**| Additional data to pass to server | [optional] - **file** | **System.IO.Stream****System.IO.Stream**| file to upload | [optional] +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **petId** | **long** | ID of pet to update | | +| **additionalMetadata** | **string** | Additional data to pass to server | [optional] | +| **file** | **System.IO.Stream****System.IO.Stream** | file to upload | [optional] | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/docs/StoreApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/docs/StoreApi.md index a3c7f1f92b..019ff47ee0 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/docs/StoreApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/docs/StoreApi.md @@ -2,13 +2,12 @@ All URIs are relative to *http://petstore.swagger.io/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{orderId} | Delete purchase order by ID -[**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status -[**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{orderId} | Find purchase order by ID -[**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{orderId} | Delete purchase order by ID | +| [**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status | +| [**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{orderId} | Find purchase order by ID | +| [**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet | # **DeleteOrder** @@ -44,8 +43,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -53,11 +52,28 @@ namespace Example } ``` +#### Using the DeleteOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete purchase order by ID + apiInstance.DeleteOrderWithHttpInfo(orderId); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.DeleteOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **string**| ID of the order that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **string** | ID of the order that needs to be deleted | | ### Return type @@ -120,8 +136,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -129,9 +145,28 @@ namespace Example } ``` +#### Using the GetInventoryWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Returns pet inventories by status + ApiResponse> response = apiInstance.GetInventoryWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetInventoryWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type **Dictionary** @@ -188,8 +223,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -197,11 +232,31 @@ namespace Example } ``` +#### Using the GetOrderByIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Find purchase order by ID + ApiResponse response = apiInstance.GetOrderByIdWithHttpInfo(orderId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.GetOrderByIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **long**| ID of pet that needs to be fetched | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **orderId** | **long** | ID of pet that needs to be fetched | | ### Return type @@ -259,8 +314,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -268,11 +323,31 @@ namespace Example } ``` +#### Using the PlaceOrderWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Place an order for a pet + ApiResponse response = apiInstance.PlaceOrderWithHttpInfo(order); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling StoreApi.PlaceOrderWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **order** | [**Order**](Order.md)| order placed for purchasing the pet | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **order** | [**Order**](Order.md) | order placed for purchasing the pet | | ### Return type diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/docs/UserApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/docs/UserApi.md index 3989554768..3e85a28880 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/docs/UserApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/docs/UserApi.md @@ -2,17 +2,16 @@ All URIs are relative to *http://petstore.swagger.io/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user -[**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array -[**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array -[**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user -[**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name -[**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system -[**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session -[**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user - +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user | +| [**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array | +| [**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array | +| [**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user | +| [**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name | +| [**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system | +| [**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session | +| [**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user | # **CreateUser** @@ -53,8 +52,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -62,11 +61,28 @@ namespace Example } ``` +#### Using the CreateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Create user + apiInstance.CreateUserWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**User**](User.md)| Created user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**User**](User.md) | Created user object | | ### Return type @@ -126,8 +142,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -135,11 +151,28 @@ namespace Example } ``` +#### Using the CreateUsersWithArrayInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithArrayInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -199,8 +232,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -208,11 +241,28 @@ namespace Example } ``` +#### Using the CreateUsersWithListInputWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Creates list of users with given input array + apiInstance.CreateUsersWithListInputWithHttpInfo(user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.CreateUsersWithListInputWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **user** | [**List<User>**](User.md)| List of user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **user** | [**List<User>**](User.md) | List of user object | | ### Return type @@ -274,8 +324,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -283,11 +333,28 @@ namespace Example } ``` +#### Using the DeleteUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete user + apiInstance.DeleteUserWithHttpInfo(username); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.DeleteUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be deleted | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be deleted | | ### Return type @@ -344,8 +411,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -353,11 +420,31 @@ namespace Example } ``` +#### Using the GetUserByNameWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Get user by user name + ApiResponse response = apiInstance.GetUserByNameWithHttpInfo(username); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.GetUserByNameWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The name that needs to be fetched. Use user1 for testing. | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The name that needs to be fetched. Use user1 for testing. | | ### Return type @@ -416,8 +503,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -425,12 +512,32 @@ namespace Example } ``` +#### Using the LoginUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs user into the system + ApiResponse response = apiInstance.LoginUserWithHttpInfo(username, password); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LoginUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| The user name for login | - **password** | **string**| The password for login in clear text | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | The user name for login | | +| **password** | **string** | The password for login in clear text | | ### Return type @@ -490,8 +597,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -499,9 +606,25 @@ namespace Example } ``` +#### Using the LogoutUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Logs out current logged in user session + apiInstance.LogoutUserWithHttpInfo(); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.LogoutUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters This endpoint does not need any parameter. - ### Return type void (empty response body) @@ -563,8 +686,8 @@ namespace Example } catch (ApiException e) { - Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message ); - Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } } @@ -572,12 +695,29 @@ namespace Example } ``` +#### Using the UpdateUserWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Updated user + apiInstance.UpdateUserWithHttpInfo(username, user); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling UserApi.UpdateUserWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **string**| name that need to be deleted | - **user** | [**User**](User.md)| Updated user object | +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **username** | **string** | name that need to be deleted | | +| **user** | [**User**](User.md) | Updated user object | | ### Return type From f043602151d2f2c7670dfcfd19a415fbcb8ca8ae Mon Sep 17 00:00:00 2001 From: William Cheng Date: Fri, 3 Jun 2022 18:16:27 +0800 Subject: [PATCH 032/212] update samples --- .../others/csharp-netcore-complex-files/docs/MultipartApi.md | 1 - .../OpenAPIClient-ConditionalSerialization/docs/DefaultApi.md | 2 +- .../docs/apis/DefaultApi.md | 2 +- .../OpenAPIClient-generichost-net6.0/docs/apis/DefaultApi.md | 2 +- .../docs/apis/DefaultApi.md | 2 +- .../csharp-netcore/OpenAPIClient-httpclient/docs/DefaultApi.md | 2 +- .../csharp-netcore/OpenAPIClient-net47/docs/DefaultApi.md | 2 +- .../csharp-netcore/OpenAPIClient-net5.0/docs/DefaultApi.md | 2 +- .../petstore/csharp-netcore/OpenAPIClient/docs/DefaultApi.md | 2 +- .../csharp-netcore/OpenAPIClientCore/docs/DefaultApi.md | 2 +- 10 files changed, 9 insertions(+), 10 deletions(-) diff --git a/samples/client/others/csharp-netcore-complex-files/docs/MultipartApi.md b/samples/client/others/csharp-netcore-complex-files/docs/MultipartApi.md index 1ee90244fd..eccfa79034 100644 --- a/samples/client/others/csharp-netcore-complex-files/docs/MultipartApi.md +++ b/samples/client/others/csharp-netcore-complex-files/docs/MultipartApi.md @@ -155,7 +155,6 @@ catch (ApiException e) ### Parameters - | Name | Type | Description | Notes | |------|------|-------------|-------| | **status** | **MultipartMixedStatus** | | | diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/DefaultApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/DefaultApi.md index be19718012..3a93305e15 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/DefaultApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/DefaultApi.md @@ -52,7 +52,7 @@ This returns an ApiResponse object which contains the response data, status code ```csharp try { - ApiResponse response = apiInstance.FooGetWithHttpInfo(); + ApiResponse response = apiInstance.FooGetWithHttpInfo(); Debug.Write("Status Code: " + response.StatusCode); Debug.Write("Response Headers: " + response.Headers); Debug.Write("Response Body: " + response.Data); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/DefaultApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/DefaultApi.md index 71e78ed98b..44c4a0cfac 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/DefaultApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/DefaultApi.md @@ -52,7 +52,7 @@ This returns an ApiResponse object which contains the response data, status code ```csharp try { - ApiResponse response = apiInstance.FooGetWithHttpInfo(); + ApiResponse response = apiInstance.FooGetWithHttpInfo(); Debug.Write("Status Code: " + response.StatusCode); Debug.Write("Response Headers: " + response.Headers); Debug.Write("Response Body: " + response.Data); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/DefaultApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/DefaultApi.md index 71e78ed98b..44c4a0cfac 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/DefaultApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/DefaultApi.md @@ -52,7 +52,7 @@ This returns an ApiResponse object which contains the response data, status code ```csharp try { - ApiResponse response = apiInstance.FooGetWithHttpInfo(); + ApiResponse response = apiInstance.FooGetWithHttpInfo(); Debug.Write("Status Code: " + response.StatusCode); Debug.Write("Response Headers: " + response.Headers); Debug.Write("Response Body: " + response.Data); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/DefaultApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/DefaultApi.md index 71e78ed98b..44c4a0cfac 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/DefaultApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/DefaultApi.md @@ -52,7 +52,7 @@ This returns an ApiResponse object which contains the response data, status code ```csharp try { - ApiResponse response = apiInstance.FooGetWithHttpInfo(); + ApiResponse response = apiInstance.FooGetWithHttpInfo(); Debug.Write("Status Code: " + response.StatusCode); Debug.Write("Response Headers: " + response.Headers); Debug.Write("Response Body: " + response.Data); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/DefaultApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/DefaultApi.md index 39473b1ca0..62dbad7c49 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/DefaultApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/DefaultApi.md @@ -56,7 +56,7 @@ This returns an ApiResponse object which contains the response data, status code ```csharp try { - ApiResponse response = apiInstance.FooGetWithHttpInfo(); + ApiResponse response = apiInstance.FooGetWithHttpInfo(); Debug.Write("Status Code: " + response.StatusCode); Debug.Write("Response Headers: " + response.Headers); Debug.Write("Response Body: " + response.Data); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/DefaultApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/DefaultApi.md index be19718012..3a93305e15 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/DefaultApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/DefaultApi.md @@ -52,7 +52,7 @@ This returns an ApiResponse object which contains the response data, status code ```csharp try { - ApiResponse response = apiInstance.FooGetWithHttpInfo(); + ApiResponse response = apiInstance.FooGetWithHttpInfo(); Debug.Write("Status Code: " + response.StatusCode); Debug.Write("Response Headers: " + response.Headers); Debug.Write("Response Body: " + response.Data); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/DefaultApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/DefaultApi.md index be19718012..3a93305e15 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/DefaultApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/DefaultApi.md @@ -52,7 +52,7 @@ This returns an ApiResponse object which contains the response data, status code ```csharp try { - ApiResponse response = apiInstance.FooGetWithHttpInfo(); + ApiResponse response = apiInstance.FooGetWithHttpInfo(); Debug.Write("Status Code: " + response.StatusCode); Debug.Write("Response Headers: " + response.Headers); Debug.Write("Response Body: " + response.Data); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/DefaultApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/DefaultApi.md index be19718012..3a93305e15 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/DefaultApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/DefaultApi.md @@ -52,7 +52,7 @@ This returns an ApiResponse object which contains the response data, status code ```csharp try { - ApiResponse response = apiInstance.FooGetWithHttpInfo(); + ApiResponse response = apiInstance.FooGetWithHttpInfo(); Debug.Write("Status Code: " + response.StatusCode); Debug.Write("Response Headers: " + response.Headers); Debug.Write("Response Body: " + response.Data); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/DefaultApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/DefaultApi.md index be19718012..3a93305e15 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/DefaultApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/DefaultApi.md @@ -52,7 +52,7 @@ This returns an ApiResponse object which contains the response data, status code ```csharp try { - ApiResponse response = apiInstance.FooGetWithHttpInfo(); + ApiResponse response = apiInstance.FooGetWithHttpInfo(); Debug.Write("Status Code: " + response.StatusCode); Debug.Write("Response Headers: " + response.Headers); Debug.Write("Response Body: " + response.Data); From c1deedb938867339bb394697ac6fef886db0eabe Mon Sep 17 00:00:00 2001 From: Sorin Florea <30589784+sorin-florea@users.noreply.github.com> Date: Fri, 3 Jun 2022 13:19:02 +0300 Subject: [PATCH 033/212] Add Gradle Enterprise logo (#12518) --- website/src/dynamic/users.yml | 6 +++++- .../static/img/companies/gradle-enterprise.png | Bin 0 -> 24342 bytes 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 website/static/img/companies/gradle-enterprise.png diff --git a/website/src/dynamic/users.yml b/website/src/dynamic/users.yml index ad1862970b..b0f7a5d995 100644 --- a/website/src/dynamic/users.yml +++ b/website/src/dynamic/users.yml @@ -564,4 +564,8 @@ image: "img/companies/outscale.png" infoLink: "https://www.outscale.com/" pinned: false - +- + caption: Gradle Enterprise + image: "img/companies/gradle-enterprise.png" + infoLink: "https://gradle.com/" + pinned: false diff --git a/website/static/img/companies/gradle-enterprise.png b/website/static/img/companies/gradle-enterprise.png new file mode 100644 index 0000000000000000000000000000000000000000..46b5bd607fa9be17b0f76f30f3370eeb7b7f4c6f GIT binary patch literal 24342 zcmd3Ogl$Meb1OaIk0R=}$DI(n|jdTtqMz?@ScPP>gqeDUjq?<8PLU1Fu zQG@sE#dmJvf5r#i|1&%R7|xm`<6DR9 z6ni?D#(&74zc_g{@VVf=rs*BKPe{_gvhAX~SOU2p*|KWWaBl1@r!!kA)4kI;!(v6R zsHvLbsoMzt8JDL+yolFy2v}Sobne<8jT!z&|Fe$IcO8UMwP~zEb%g&4BxVYd02#(- zb>t+;oaZ4%^&kDC{p2GosI{7_48cvhjQ4jW{__>`u8-w*QomaKe^}Eg-j30v5 zWwu1=Im6i@+cfH5iA#-o{h%NBR83hmX*hLV=kAc1cdhg&UiotlNBo^eV4nIa`I`{S zlCby1c6(K4AhQE}x)^X<`R+~Zp{eNMhK#|Fzrxs_Ttk6o2CBhDs_zYKf?6M(ZhVE^ z?HT?1El4u2kTlS3*UVSV?%AN&$#!Q|)?@zbf4}sTULluGeCF@}V7nUZvH9zAMT)BB zuY1@)fK-psKC{ecI&(e5x$cb&Z1EgH`lDF}!ks7_9oUnb3$En%OK@MFFP2 zD7Itq|51|n^|3S+AE@zTQB^=O))l+4^5&48D+cg$L>J;`YC6AxCXE#w8R974v4foN=^PZ`5(P;1}#u(@kI6j5q2KS~awSV?Jf}tqm8u5&a`6&}P{@880$Xh~h17 zx}Wde&>e-_iIsf6{xvMBi$(gk-@6y~*jvZFU;0U3{p%AZK;)X8oO%))x8v)}$<8WL z#+1JZ0MP+Et#=|dqW*G67OxZgDV+1~Zvw9aCfA@h@DI&54yf6cB+TM@M7CQpZF@_Vp+cXWE*g8a@L$ly_ns>ssTU5;wJzq zHs8K~sfFAxlY**&tp{z*P%h?NYEV`9)5q3uruE#n(}?y;-3nB7{UCHdL0A(re_A25 zGNAu=3Ti~fE{ZE1=bNQ>%&`M+5SsTH-NITU0s>U4!s!LP0n0QOD%{@cH<=^_u3z^^IP`r2U%3oR-20e1(TZ_3*n(E2?mS*Z)~ZBNcwzWc{; zi3QD@T&$G?>{Z+A&EMz`IUemvtJlH{27~ME) z_*RNK7%hqV`%^+ER)?W)zGQz*XM1t%qS#me!C0SS{#-wi(8u{~^=emlR^G}ZWgqMk z20CvN8~V@159C+KRd+ZotG<3>Dd;?Ld3TbdmPGCKR${%e6|V#1{vST18SuTDYB#1z z@6=NG=vy4~KWezsA$3uDj;E6f5}lKX@eFb%`hxDALh<^hSzT zcFi`%rbTEWDNBoHP*!8cPWhF$a6>&V#ZkjOBDClmQ_{yV;*MlZ| zVyu_b=tPRE9dUuzS?MYcJL})g>&$Na{WaUT#upi|-p;7xj^{0{srO4x3P60iKxzW;Y3!u3gSA5f$i^fNCr*Xy?5)oTmvTeCBrF{&^e3_UrgmFF2;@t@ewCPZ%= z@|nXsEMRW0>9l#>&)+bGu>6(rK>k%a;o(ZjG<04(ycBanoxE5u{N7fqXG{P2(7$7* zXo7r0y!QczSru8Cx=c|7W6v>6DSrik?y|c$gKBGWmY=GKjI%N76T#S@zjnnEiR@V5^fqIUw+&e1wlZ zgZvmaRjfu%x0hae#?E*d6Yj-#G<+m2YcW<&3jWW}YT;e&9S@`KiIz34_)nFzAo}s* zM0#%h6_ZCA>BCAU%->r4n%(VV7D z>TE`-E{pPsa--e3?!SR`hj?*Uw`E)x^lUsB7)04NR1MY*k>TY1Z$2?yEM#FQvADqy z>?)A*#7`yO5+Q{r15?)OdH%nR!ST)<3USQEwI?~uvj<~q?qB<7PB1cf2x7a~>0dJE z04A?J*#*}6e6Gaa}9 z9PNO%^EED^H~;TuaiNqjZlFccUb<7kfTS?J`N+V2W*@-|1h$H>VVCF4Vg^W7vzocG zKf8y-!{uMN94M}s{E;nwzbr)Hv=%R|Epnj1&UC`yJw7%M(!_WjwK0>zf~^IO7>>M@y6t!{Xmw(L_cL06(1^=&^fGw0wMGMRR(b0` zfbPHlA@Zd|*mK>R-PL*SCxQZSTOTBN3Sibv8u^!st+n%4td*Dk`q#PyO`jBJ3nYyB z9K{4B{a&!IVDgFMRyCzp6(;44eq?tN0qqbx z|8>-3HhgT_>Bv;dut4S`*w|Af#_gR0>k?0rT ztA&Of^$y92N2^}RUUG^qa^Ej}Iq}vIUV-QHazlfeG z{WU_`lX#J1P|yL(h6cd?u$A@d>_rUYU%o6#u&g_x+9~yU3T!kGTPV#GGGi`D;of2p=1HP*U4&H1XDasw%!dvf6cVKlX(2 zOtD0)_0t|sgX#TkvNIvF`*SKfx7(y_^lm+!CUf!DTQ)Dyf)`2ul>%zK?-ENXWai7h z`t-vhW|(SshSyL@dtVIvdc>|44V1;blbvFh)y3AVCxDHWKCVD~DY~yzx0)GlYE{z_ zyZ2Q~O=97T$>rLfRQ~a4rmBa>Q1lig046Ts}(((S_E4+shCTmDm> zrJVmIP0-5qAYVB@o1JiCe<_c1Ctl*kY3I0lOVU?E4o@3)I$D;@hideG8_))|NKV3YTBQj}Hd3frLqwfhtxgp`*(6ORm4DmDjw{S0g8+<+`!$81INAYRPC2%Dd3*4l`6qys66 zxy(8e|1pJ$Q0wDcXg-CSO2vqTscr zIyCv}%JA@rlD4ex%C8}N!2X~8EL~33G;1>AXh_Za*;0aPNR-i(^{skimO=J=nJ0!H za0|vn9?Rz&JK+#svU?1hTffw@Z(rv)cJxvV-+jxFhaI@m5r2~ACO!j(Li8z?ZTbR$ zC=bQhwIV=w|3RDdXUeA8F|RL9S@p%&$R=ul>8L>6dqs=sv{5*dkOs<-nS%gkryAzR zbIK}lJ{p&=J$v%Al`Zx=$ZH!ZVDm6-I}fR6b&LGI0!8*NeiHeGT2_uQB2?PPEzXPgCbqqX>tj2iBOA97^yY^Xr z?E=vX$naI0kd2H51vAe#U1D~ryJZWZNNq9)O6gF(F0^r8^84o65A9OD+)fV3jzq(U z_9syq*V}C4AIqPRgT}zvr3RUzqg2*e`Y-N3rfgMmnWW%fd-p(~St!&IW@;_7u{AWF zYnnN|3H5dMW!<9fQoM!|VdH*TVa0lI322`z@PEH5F)^!X@C}w_0A{p4*>s_1Fa4-^ z={g6yx*()TK5Jm5D3OBxep0^Y^9k+P>0cd-xo34pqV7?e8j7V%hSRt381o`THOp9V z@MRG9TL}UX*`DqDO}0aluf(9PWI#Lkt>%7u(%17DEDWojM|cw21-7JE%)QrelWSV! z&i6d+YvXX{%jp;By#_n`+EN6%w^)hC0b66*DzwXVx5Am^*fAAQ_%Z2Rp_sr9@5R9S z+%~ndPz+u(b#8n2=Q2>>8y7GUD3U{e-ia2L%5(v&fT30k!Q~0v?n4i5j$3Xb&QBZc zm|g_<%aJq-lJK?4#~t8w|Jm0#|hZR|vli9hB2;T+lj3vO~amrmDSESj?eYxbFE-CUxQg4U595cv>{Q7=2+Q=dCv^M|hidDsJR*AZaD?laK zwrY!{Se>Cw_pua^@yo1EP=P36fb$$NdbY{Ra(s38<}oRc?!J4oqfq+IA3l7~O4^E{ zG{FCJAyD=0^oBZ@P> zgW)Vm6zB=EUCU105>s6&6O>#YzPAUmEBR<%_N0;JI(tYL_!&2cfxdVfAUO(P__;8R z_1Z^L-wCRCLm;a3g%mh9?c6|7!9+=RW^><>$A|Yy;-hpu*ZZZ| zd@h8l-Z$sRVZK;HDTacnoV!6L*s^y}njiv+JLE~4ix|XnTpF(JBSjVg47}Xb0ix74 z*%V>A3TVVWB%)g(z{i5X4?H;p`1t&(-;8A}026o!qR&5{jWC1_bfCUWqeQu^#sm$% zduP(1ho`4xohx-4B18jafJ~To7CV+o1ZS*O-L$aL>2nYo~xXGPtXpm z9Hi2ws;BVxoP)UOXf{;XQF!>zDzgw)usb+^k9ue|2c6iDCETp`ubOAB`a{Ecm2Hjf zsy{^u=#W=a<}HE7QgCI4E#`r}sTN+L|3 zQa9R-qP=;6Kcsg~vfyP{n=UPx3nfgqyalf?4JK-SsP#uYnY>PmO#swUR6v;Sz%mY? z-;QuUC1zsAAYYLABlS|+gC*6$F@*bl^z>>V4;v}}!t9rUfyCy4jM7G)COOXA&4r-e7}B{L^Fe`BO+*$?HvKQ^2d)Eg zip53q7b-Pk$>{Z3D&M ze6Oq6nQ?yf%lS$F=b_rk^=Yo`z8$Rb?zxaqr814nLp4K=#_KmE9Owy{xFw~=?rcvA zJ_;Qjtjgye5yTGdBjRT?c8aR%Rd4_4g=$rqpl|?6Rf!k@sG@(Y=OE3$;v%WVu4JgYX77?0mUxZsNV>b;x54}sv8FAsMisVZOsNrtBZGNUGfew>nD+R3T4)V?(<$VFbtaPE;5p{YlThS_ zq;G@21}vQ+b+tv|&X(N$-27zVu?=xhl{^&?A1(ohd?nBnBXlg~AJ4nJQapH)8nIw| zUBhj$x>xEtz>7mNv7;vAOO10X-*UWx(319YNi%89rfRAK`|KY;+bUl}T^4T*XsE~0 zfVVx_@TU@lC>pdMJ+($8P#5Y*VS}3WB9NK>3L+AehFJ!GvcV~8d@S!DszbURcATuo z-TrEjh+DX!vPS|WL)H~J-4FnJj7oKfcp&MgK25rNwu@IFHvD?YwNNA$w=&B&jJMQ9 z1^e5jx)yj7%L{}V*<(jmkE5G35fL$H7QVy)@Raz}Hs4n{wTe=OjwfARe|v1wl*Ef= z)LPC~Y&yKmD`RI3S7xYA;dSd!yJzlZca32Psm6C2{)uP-7%u*&jnM@z zM{s(d8pK|9bm;d{73hpP0G*%g@Lc}spWkX!p!$yiK30e&rXvI%Y9=e$yQi4>CVPL( zQ@X;!hnms4E{#&rj((e0=kl#vlt{%+eWd}(OI)U`1c{G}#K~1#-91drfmG)r)m-4r z%&)>txnEwWR2kpG{18csXv}4wonwZ{#7w3){-*Vh9xS&FU7yb{)ub6sP69L&{wYxC zL&aDvs&gIFzhs-ron6J~vU$}E%DLCgEAfujkFWM$r6BZm{_miPTxC zA=^cr)?mGRm_ zp?7mpqgj<16ym89Frn^1LXr9N)fw~?81IZ#;*1d`{$?~dV_`qk`K77;8xB}*>tO)> zhVJTfn-;;kaQ}EJh3x;%0=%-*2q<`x&{VW%n%T(W&uTb{txLy{&VCS)UNLF@0RKY{ zB}C(7F#TmbDgjH|x8|}cDRvN712WfItM=IxVnos9VGKDuGny5rU_bPT#U%|nKl6(d zY(#3uZYp7LGM6+Rj7`YIVRox$EalIunIGS;H}}0{XcPXxkY_U@^f@UM(@cn_ z`N)8KNl(=gGx{!Tg#~Kse`UAuGtH#waxJdZ@MD9&OGESTtko9jmz^q(S8q%bRDB}3 zvulThJnDuOf5aJe=+n_^T_hQL308f7@WO9K^C&&%MfS4qv|s6kw-CunebEo=b01#u z1S$^3~9$3ex>&Q>m^j;#iJYT|wUe6aEWa3yX!gHen zf!!E#Li(z#3mO(PT5|QvJw`V7_bzFBKtTIsFog3s5Aov-dp@b8??J|GX_hMl3duaH z9$P=(^=9{6mx%WU!ceM-caw=BNfmQ@gn@P}B!3;r`omsTT)zGgtU>ToW+7pS=)fcX zQV#9{EQr*&@Wb2^{xOXHpaW~d^mfj|W6ba-5%nN=a+imKaHHWT2knJnT|w0Nk3}QR z%EsBFhP4q5&hv-4(UfRu_1177Nh$6)DQ-cm+?Ud24@A4SC+wF$1?`qlN-)N*inG_A zId!-EqrKVWdWS~Kl#bOo)Pz+p#~9c zCM1a*d)@kYy%8pf5!&Jcm?GJ6bYD(Cka&@g5+cFC_K5e@+|623iRqW9v>dH6IZxlm z$NKFt0M>5y`Pji=`DrK+E;7%kKOA!Ic^1g0?tI3tV`>( zMf?KjPQ?!(Z0+-c`;liLwD1=Fw{j;Hds(I~YE`w!75{Co)<)qj{7#V}Oh9F1p0QJ6 ze<`a&yg_-$Iv46v~G^y`Evnm#13(GZwBfIy{mHGyybUoaf#0t?kr~>(-SzGU(pQXWCN=;g%YT z`hDEqx$c1}$L+i{{p(H>@v>uV$X?;Y+?@ogA@2lZQG=sz;a!Dy_K?nY8^Edu8FO?r zw%1-BsNXGH;1jUB{~gk>@jj$rq#iH3J*Ko6QZ@h2j2DhdreSYdRg_iuaF4uM2Vpke zJ`>#6PWc{9)S8RgBaK81H(jSFu^h68gD&56FtT<~PbgF66LfZw92))#2V3{I& zUzYi?Vvm2iz-~auXS)Mw9bkoY=cQe(Zil8XvYa6MAp({K=btm11c$-C2L|C|EHd`~ zS3sAP$Dh47eh@#Xdyqt8rg0pm;ZhX<<{p(z!TZX!09l5v?+Y*QO~6#Lj7j$PG|(u#C>Zq3*Kqv&-4K< zm+yBtx%Dcs?8{HrPt6YaFB&tf8hp9B1*~VTGr;<@N#TgfOp*CDW#wYSrmT8I66mkX4wn++710OQEe4NnvT4- zgbP0d|02Nm+Itp(^kBb1zbj$HwVPSp?iSZiA0MCiNSp;+Qp?tMc;}ZS%Qmc|?x&I2 zEnG+`#PvQOLiQ<&5;j}Jnrj-V`Jz@|IA0=o=Im0t$lnsotpD!oyS3?LdWb`1=$*G$ zZzKyBbDxak?*wwK@je#h)oTRgT}1{Okmo_f7u8aet+UfvT!dc)z^mwiykT* z^uX;+K`&1)vLy9O=Rbe8?rpo#Y<%RN{t7WphS>O7>{LlLM8r8<3Zrel%uU=??6ise zjoIs!ovUOq74&$wTL;Y-u5h+7@J#~8EbK|_toap?t)PsxBD(D!);Ygy5Zs@8k*n-; zXcU193`tMND9bpRQlF=~zwAT&-0Z;(HCw{K>u=p`Z&Nk-DoQX!y^%1&LnDvi8Ch)8 zzk~5aq5HeZpL?RJZskisZYnO=@SnqojMbfdzuxCoAgk?Os^cYhA3iJ)*|#HoDq|$q# zXXrCrXqeR$*qyTnQoFN1!(D6Fqjv|u4L2~AEyb2z_L85pD=0j-4%f+#zT0js-w~;r z68G549Okw;7lkz?fZ<4(u4Ao2O>BvOyAy`GM!>E@aH4L(varv{d0#*qAgrguuQ_IL zC&|3<*6%mH4-67VGnK#D$w<&m^Ls3No6onL!fS0>CmR}0GF317<0QrQ0{o@U^?AOl z_BCYxKwY06mJWqnbdDus3T=Ns=XoX+3418Wg~d#uN_m9@N}MX6_FX=7tL*65SoH`#%)wPwi?yO%;R60?OJu^QE z4;vXef@nvt$BYsQH<#rO^1_EhQYX&na{I@ol~v!&rW~c;aiw@TmgxSQHK0v#n7-RV z$ihu($>>fvkb|IKZVlVYv@XmVy1IP9pu=y~qOvmU%A{vfBu?Eb1wElT(QjlY9k1GBvV>aykw_yoNCqj0)In=oguVLSN zq_Gya1EE{pmc(Sxo{eA+zP?0&)z+iq z;R=dR9=8!PvFNy~HGJ2BewG1V*;#GzW3Re>@sPwIGN;D2QBClD(C?P@+b|MrJ@;lt zFe!X!<5j0k=5V5qk1xY6mRYh451)$NDH9pvz?6k{_*5SIet!9(TVbOZwcMPE3aqH+ z{I}<@I(*BtO*|7u?AE~DwY)qob_@+O^Ib%mj4c$UWh;6l(zi^=$^hL0xqWDdFqnOm zXCt@I;I`^Ohn5|Ou&w*kB1gV0@d*x@aAb>v@0T>kQA^7%XZcVRS|jO}IKG#&oyXCi zCL&2D3*#4{C!tQe4|#A3IHU&2O-~ixf2*u_Me%W=Z29MgMM9_caGK&qd$G za#i*`+LCC;Dq`0PIj2jyWSO}iZHZsJEm{u)_zWfdWXUwckM_>E#<$FlC++%E3IyaX zG(ESeoIp@1@KJ)T{++w6F@6NKyp5@Fftss1wE!=h`UiC9O)$^TZTT@H_5_^5N zr{tVL{38R41~ZO@Y5)r(Kc6ClTfbC+GyMP(*Dr%Jtkan3hZQf%-8!k^OH=*6Ee^Sl z0RIW%+-IODZhE?pBRF}oergGxQ=j^jAe)Lk)7L{5OPdz;I{sd`Fcuixi&AcT>GJDE zqtE{=r-H%59s~{A_{{jYoxUILQf*Njrr4SU=ZAgGj50yd%@WB{ zRoaPJi0&7Vc^Lm9>vS9{%vowMK7HCcYQk+WR4n2oz)=eCSFSv0Kw~fCIuvr@4s&NM z3Ou1KuwBc{bhS7ZfY2ZUMM<^Q2+SR}7xS1OmH}@ywCk`XLN>u}@j%<^8|qEG&o>Kv z$Zp_E4cw~Nii(hb)4UKa%hD?T$60}^_+#Sd1#LrXdj{C9+;-)?`l!5$%C`#kiw58Lm6_u;=Q`Y-P)!3OD#P6n zMB&8eQf#in!%o{52KBBtVzcghx?jgKnw^Wc?qC#tkvSQx+?{^rFdNl@62;QKH5l?% zTtQ6$UA&K6^f|F#FMbjduOB;NW2^GN1G(Jx>e5_v0JOQsb-4}g7GYr38Q`iub59mB zN!hF7n)gYMd7F|R4iTG7ezLP}&qJOsSJ*3$gaIC@Z>jdY*Mq&Aic`6ZJGpp1xJo!y zHV}{Xh^lVi8I>m7JNwiQ{Y_o7ts4LRAqiY~)|9j;>^(tIka=hP6?zc$GU$0yaJ8R- zy^sYOYDd>JxPuwq`uN+yRCO_jf1&Nt?hdfn+mdfizA5xWhDY_o(#;+)c>rhH8xnts z>5GYvD}6y#8JiktM7$=fA0(3pz7aOpZ1OVF`P##Y?}Y_Uj*0Syqi@rVbsbBNt=A3~ zUDz8zOELxDYtf5wZl{Gxcf7 z!+ux8$24loidf4no@s>hJ;a2H*C*4al>w zYBrAc#d&CS-dfPKovt4J`HPYBg&S3w}#@18%TQJKh9wGMx=p zZ;xZHNo&2QAF^&#H!w+)ki#||W{_YxjlXX%52f0h_!KfL0f;ctz@=P)3Ku0^b`3 zJrnn-vp{AO24DZoN2K}WR{r^nS4ypw*g6GYw41IG&2nj;lrQZ!N5Qf7>eAAK?$Nwj zwuSGvQwXJXTHq$6VrwPSTRWHsqaixl*-nKy?cM@7ARA+{&hwkZWZOaaGPdl>LxHIL zV<=8@LsInJx{b(Qs-y?5k42qa-r6DVNN3256%?yjk^DZ&HD=wrR&f|RG$U*_mqn%* zrs?`m60vi4`$hzW?%dy}c0B7;#=j?T2Of8ox3^C;-raAk{etN~y8a4j_YT=#_8;}Ns;Y2E& zTAz;P1C3kS*G|^$r8{jn%Mv2L>1hosIG(m@gALt;mU(yl4d7HAK(%W?W&K*`^b&i1 za{OZPvvMirC#R!DX0yyc{l;S5-BQt9`_lCZKexBKVyYL(^H8fLR7u4e0MrBuHMwNp z_>9JzL2-msO)X8V^wUUJ$qwtPV~oOOUFQ_Sa8X3cW_t5^!jQc_4c(ATD&q!gtc!!F zz(T^V@8Eu{ZN?+;3|G?SWwOyDc*-jCZeSN8jOdHgZL!+1G_BdGplw2UxikHm$=4u8 z?~C7V6TBdFy?@3<^#D6}pQ`EG_=!CApdtm*T5@e=LTmWfPD}d9tD?@jiOe@;Of5>v zm#zVQdj!_3PFBj!P+pe;!rUm$Q9EuN=~^RvL-jt)?xz}x#a3GZ0entPGH ze+Bxi7cRXy)J=)aLv!?qeX{?ydB)#t4;Az;X>FuC2TvoH(w3-aVp3DIhQ1E_Mr-&r za^t~c*9JVb5s6om(ngICFCuDuXzm?0nGx#}lslKg)p=aal4HIvFjaZi(yK}| zm*KTF7{C&us`Uk2s-XV5?w6Q4BA2Y-_btckM`{-A*NAdJ#SekBQ z|LYku_JjIi4As5LqqY((WEg^_bcO4b=kWgGaPj)~xdf$W{2ecL^)mVCG%~RB+ZE8q z#(%)kx!|egafvC*ey^3+g80t9f8(RERS~`LYA4#0wo&QBZsxB3tTNHQ(We#8$B>Ze z8iBN%FXo>PSNq#kp?*gVH$-MVn|8@&!?sqJE!rRSYWB2DRlMG@^LjlEoNQ}b10YX) zXIP)*lV&UZln*%qiMqQ6s{jrZCrwq8yzrxJYONC?cYZ{<_^_HB1surR*F6yG+%A6G zd0gD`RP9KHSW1Y!#3!0iN^-IR2%ponRSnaxdKnRF>@Lu z;a$c)Bh~kw*axXh+~9-2?FF7oS00t?Ba5PknVD-a6CX2R4Eq9Y@Ps(S9CI|o7dck1 z9t{WSR}5Y|xCHtxGTtYkfP>x_9;Xb-Zo(!OQj(o-o<@W!HeB+TwZANr-!P>qpI>~? zVw12#*jvg=iJJBco0?-2{%uT$yJr3?$XuH1270uCj`$QLy$^%}_&$oIj98>a5~e{EfEshYWrf zwJf5pd&2uF=d}IdHB84b>yvWP!(fJ>Rsw^;CJUJB(*o+3O?t~gYwFD)+-zsVyvdWB zH=LQg{V`f)RoPiP5F4nGpW$^<6{T}EG@O|}fBcQt(YpL1QO;YQ5FgpGjW|Sysn>Op zcDp6i9(rg2sCiYZrvrblJ2mb_ysKQlGap`V(%4F;!bP*u117Np8|Tg;BH$G<_ggzV z9oxhT3f~j(F0uemD?@fLuZdwj8xL*Cx)-u#E40?|FY{Z#-8nx5&)zLveXqWU&$#~# zHA_u`8#U6a&Lkd6V%?QUc%bY?Okz|dO4B+MX5pGh$W}^t5rAKF zPc{mpYr!)MB(5ygEdo@e;XSDC@w)zz^2Y(LUCnMCGmIXc9Bh%IQlsaKk@6v?t1$?R z@tXa~nAwk=i1utzYiWxblAtH5^DEG2wKqlYRw6KQkIWpF=vyatfHirpo@CY|wnsht zcG8zlOC3)z7~8bOH;<6*J-r;=X-T;0MO2?8v)$wr#d0T^Bx0G{OeIjH*HzF+vdUS? zdFr-N6roeco`o?ewqNjC?M;of_x5jyJYBMVW~;9yc-HWN*W6rGNedPi>+*7d_X0~} z!61r}ZzLqM#_tyIO(6DKH%?wFZ|RS?;n!9=+TT#NNPg4H#G-cU!<@FA7CV9%_vz_K zpQ)Ws$y2korz+ytuE`uC6>zG`X$D}38!tbemOakT&h5znvdMfrqwi;gBb{#Fp@=}I zS((1dOyrrBn3`6uyMAA8THCX&N2W|PrnPIvG*?za9(^4wL;D?^)0KnE$##aMZZ8=G z@x5%`f9OdT2Yag{?&KIsUUB)9PSfC0Xc@i?G2yJ|H8nfGJ3*dx`iK{wwRGTia4+F; z#3u)**Js11$HDRL&+yj5)i{jG_rfgpd zmf&FOI2W<`z;pA#T0|F1b&pK!&WHUplP5ZN?WS3@&SsjYjz2=xFO2lR-%*6NJLizs zQXT>a?cWsPxd4FwhH-R0Pd@E=^m2a4`ZMl1H@IQk_xDNmz`V6#}=%PmVrA!@#B%zS`*(fu0 z!$)tHg=8UT&j}8?66vKaqW1DEHn0Vx-UL)!J}p3LZF4Kyt*zUaxc&RqNsfF2TkfE) zkjIx@zvcMFKpy=BfMslgB$6GncL`BP@~tDW+bmB!XaYB{_y+TCh@OEW=4k1Kg(Q;hN31Q7>#U0$?r%s6j! zZ3g;$3mjAWQXjh3j*O%FptUGg;1Cfo^?e629N`I5xLanN5X$ zjEV+~A^N*sks56)#f(8T2=^4r9AYv)R@jAOm#X}7pRvZ~>}dk67n;YSxADEEu2)9* zHA1!;bObfJ#q8$-kj296dc{{#v>_Q~fffP<^NA74Z@rcPS#5`CRBuwxKrJoW=I zcLt5Qd?EtbUc01?bjfFou3Z6h#`wi)&qr%j`AKznsnb>olr9a3QI?T6^XB{#3u0l7Sr|KkB z(vtqxHv%j-=xeXNf3Kz4OPz%t+fVgYBt%?c<&HkkDrMFl2Upj1h^?|0LcaKsFKPnE z7heXr=2f61H3VesN0OA>TyU|SB;sWN?%cqeh(`V$a9cJ1CMv)0K((HCzPcR*x>Nn<{{=`} zeG=J4*+ek+eh0&NRuy2+M@ZRH6yR;0ZnF4b?rh}a_S+{c2@lkbuUd+b1PzQQb!CLd z!6e?)A}x0@pM0W5sRQ|*jgx>@o5s>j;4~fa-c1oN&X`*aO`N&X=*#YoYY=YUW_SAO z`M_Q;xO&(D`fP-#f1_78P$3-2Eo;DJf5@)ohY(YqtZN^y|dAkxd^}jS=%bu4Jwjw@fN2?(2u=6g$%^f#(}w z!oKv=GV|i!ewjR{Ks06xHB^**GZuZA#Nk3z%|Op1f-$|C5j_ntt!iqP-Y+M%doRa0l;jdZ)JH&Az!zB^fN8z@j|o`pb@ zc~;G)2^H)HG&@V~5B^+|_tYcY`w|kTp&@x-=;)e(s5ySxb88B0FbJAk0d85>Cq;#q zfR_5UDMtBc3(Rj*)uOXGaRn33*H3TTXu9TE7y|FlK(i^6_=64RGai+=gCyLXgDO(o51BbYpkK>kGH#2b7l99DmQL-JGK@BuHupxF!R7kF|N@ z-%mJ=9KS0_K6C5RX=Q-YFp{n1cW%yp$8eNP%X`v!?w!1h_U-kkFg6ax3-LyM?MQs- zB!A1JB^YqA3Q%OCBl^v9t9o}=>G7k0=H8Ket+x?nJag;&jQ?a#sQ6tC4~0!x`{{>O7`j0{fQt)dfj$=jOgH8=CYAj9_s-I z``t8bm8oY40S^9*HIXSUE%r}H#&3N*QX#>|RVrtpMxk2J~ z)j523S3qxO7X9ZE?aVy18TDIX<~ZB#%0T)3Ql`q~!J0yo*ROnVv3O;-1V zS?h+pl@YF_(;YdG-dDQhKmRVwE@fNI|Lob>MhydKts9jSenew#HG7dYDQe%?-jf#a zn3Sqz&sa--8#=jp*`m5BlU$oA{3#t-SEIIy;#Z;Vw67gJO8|@~Z6%(n7XGo&*_RILZe2enKYz_oc-T8^spGkUFT2rHuA-pE5n0*N4JULl8N6 z>Co@I*aN$zgkh-HA%J)WD{T7kSzI)fbxH9dubFS)F1#_?_MvO38IPUWOwsbYAJx}D z?7tUAPz8wg?{R$Z%3O#&zo-Q3v?3c$WV~1tzjS{r_h|HuUUWKl>v3tSIuCig<8Om)ozLJ*6&m^W<2C^(QU@yQTk-D`p07${@lMU7!s_nhmYW8BNC&hA&_b~ zVKcYwgKMY*ZpgNy%yr;Mp=XnoMtDDjsHADky8IH(BoOq!y1DMJrnaq16BQ9eM5Q+c zq$(H?kRVM3X`x7wqErP5(gg&hgIp;hqO{OEA&Ar%P|6KOnsh=4ARQ8VLg(AOcklo3 z#+M(GoQ#Z&z0X-$XRSHsnl*zXm%ih;!{V&Ov2j8htd=!5d>#*3m6FzjTR|j9H#o~749+*oLxL(}C1T%J==tvtB z#-#;>(@_ea)xW&%p$!Vkv7cFWrBi+gBZ0HliY~8lpkdT6Q5oTZ0l}dmEzgWXyL$2Y zpGbkWvM=;zCJm2kl_8Z^m+p#yfu6r+_{`}-3U4%j=*UIXp?;iaeS4?EzeBj{k5-0k zXcTRX$EqK71m2tJqYPvBN6P|wvsqn!U0VKEK9^g`H_V@k100iZwhye!$gG09AoFqR z!s@E4(J-OG+{fBAJ!3{FBZ%Q<|}t2mSt({t8BCb|QrR>2fr z17d7c;dW~wBJ^D7Go!i_?VgbckK7yD6y+77r~;j?Rc^L4Y8{{qU4VuB^vRkrg$8AF zh2}h|_Jc5;svR)}@yN`i)_Fy!iSB!$D8jc!Q0c`chh`-4s#n+#yd$-;WLYFJf#JSJ z%$KWSB)<{3*JMdFy4+c*Kj&gS0V1xF`vz1Be8Q4U1_qDOgue`2DZ&$0`A%{is&(wH z9g@*K^+Rzr`-6e%R~E=(VmOb6H}|)d#46C7?mo+z$KZ|!;hcO;p04@{2tM=;daYSU zsRlTZW^sf{QvI@XA<4JY*^ZztMa9}Ot%i9^ueGAnUnsjvpos}}Z#n3K(Ul_MZECP{ zI4}Dw^q__XpM?XBUk~{q)J8~+k|~yq&umhn2Sv5)qQ?_DG4t)YKaR<+ptAN|1H$tx zkci#9<+s5w3l{O(e>avs zK3B=r=q(=d3o)u`P$)H?#96k5yBw^#ejDLl5Kz<2HSeToP4Y;o>FQno%&RM!Z}Lf7 zInaA|0$c+R&;#)J1Ng5#WyyyfMNxM1-rZpZ*QO)>u(nG>->#LfcgvR7RaZwU4-g9j zw=o0aIGdfLG2@Mc+tD$^$sI$P7-1kBE?p9MQXOBX$@_5CE(uKt{WR^dvj)Pdf%&Qn z!x&~oP&i0S&xgt$Nm{uvmVvw2u@GyK@#ns+uVhCM5xHCE5E;z39ZG`Y`~}7Vewe*t zIS>Lb@z+tV$#YBHPIn(c!cI4IMJ{OZf4?v}F?Y(Df9oZA5afryfvLyR(MIU!u3({u z;f;+fal!AT)ucU(MWc%B0)Qh-(z&FoEQy6sZ-?uGv{y^cMeya#CJ%*@K;UVOzJ>jC z(0yAL{rgk|K0H=J@{$-iL2qhhePGKV|4#2zC!b~i)^F467{=xirlW6-l{+)PrtPSV zDbw3~VAGe_%o2mf35!cNN&$tr#2Ud}vV8f`)XI$D#??7TuLQDsugsOp_gV9%LswQQ zp2pu0ZS8s`ho!9q*+YOtNS`1PDqd9eZjqZQuic$epWU$Onj08v^nkbL!jP)o!fL}TJCc00j3iiPxZJw#q z2Ui6$SGZHQho(VM5f~DEdosdf0eMDz>EPt@g z%)3K)W>%fRFIBxmHHJ4~MY#w255O+P+o(&PM7KorX!3p@6FqkRipaSbG=eie01ZCO z_mcXt7lv)P9cZcBI#T7<>n@kl?0|#kpN^4c)o>^B3r^QhdgohCTfw(T(R`J?;?=;M&K}~hIXy=uJmT`)OrD>o411jU!kVOxUE6T(c!SYe9ua{~Q_e!~aj znQEQyA;q|jOWe6ZBx-RiHh#NvrhTK24(mC2HqG<2rs(u-}fIpsIK#j z1NSON^R*hF|MSSJsmaHcGUC!n;gOPF!{mUb3DPME^&v|CN-OfAky|QsROGaF0V84U zXI<>pNW*on#x5n(%2H3>DDylt<7nJ6<=&xKUBk;K5d}h)*-iL#^R(}_Pw>e7rB^Zi zzkaDiyLkD35jUP+TRKU~8x@dhZqu_fs$WYH$Is2Y$n9V411TL$Nu}<}EW;FLXWrF8 z^Y4tef4Eh)O)6YCQ(zluSw5LkUtjsa3&#IOS}Td9l;=cd)){g})?8}IQ835-NZ%bZ zu3zmyGvGAD*a-+yc#z!)Qn^pG0XmM!G(XjyHG(c2s}eCF5VcQ#;g`2`&d)Jg1X|Tc zK(2@ zdkC8cs~hjH(%-qwtvuofFM{Sxf00YF-c6Ki>V^4H)+dl5cj3svMTK5^w$FFi)(F#^ zcwOrE#t6@zYU?k0u8q>l)qw4E)tj-vkIGC9$Vz012%|lG*NrRr3LkV8_zfIr%4fQg zDZ*-j3bh&0_cof-cjZf-O5a3pc-Trpu}yg-E76xZt{(bgWE?X^ywKYvgr?F5R^CVwS%Wls}hyKM?J&h@-i{h4zm#8lLs-jK`J% z)cv&mNU4(Mf3`nG0Sp?P{(0-_F-q|YywS4{nh%7A?VzM9?x<3De#2ahRcOB9W2qmu#*4f1+g9{x>(+(ve8vquF*u-~i%%1@6W= zSKoPb_`d$N^gW}xE83EQA<~?`S5+Q@(Y6NiZZMgp7!R4gZ-WCPZT;xlmKWLIetfY; zyJYInzo~4rZQ^e`lk`&Jk5RgTvml`U2c+hzY!x?o(VHMBRwA@03@6Z*?Xhf=H{UDW za04t_vgb*-UbQ-^;jrUiD<36dZ&GB&FE<=xeg>D`IUm9_VXv|8W@azH)cZ*n?T{Ji z-%2u1+iy`&ZjezH4x!wGu3GNahK;&K@1>LJ)*49)W3} zzYg9w?>%%)5()xQBd317XpVv$ozNC;X`cBz9C@l@RXEMs(|x;@+vu}~nzx!pX5AvP zb5rnKj}JO<4^?6`2;Z*H!Il4VEGMpzXYZ8jWT$jG&a8ScyjC~;MCzV39_^4(L@X95 z&=K2b4YgDi3B22{4hHF)&f-c=G9aJOqe0|()(E1`{&z%APjt_I%WTGye}S^KlZl5B z+}Qy~aWJ=6eCB`GVnr)%#Y%rw;ci9zM}l&-qY9fILDympsEAm;b*i-6GT}_JE{ES1 z@FdjaY6M33N9(BX1h^l&lWJccLLmJa>$9fAjcKgdvBM3XPB?cGXM43hM;)XDIMR{u z4C_9FPo8tlozlk`qXL1epz<3qf;bJjb74!XH!bP4yBrLa*-CJ>mKrOPzWoAERbT?achrB>-3}y3NoUHG%j#Ew;E1!kX8IWPI(=)+&th;#>+2cYy?C9q zOAzx@lde9ljy#|D4VdH(-SUR^UR?hu4kciQynK(sVu;#C^}I=C_^;qBb2jB6#WuS( z#*PbPw3@#mC}t*)vUYo8Esj2Q1_((s>UOLJJZ?Ztzxi99YW0S3drafH{H}u4Y57(+ z_;X3ifD!A}@w7;}Fwz|5tlt{42OwC0e#C3PT zyj1(Eup#i@TFJTnp_D$QbH%kL>2<~3dVCf8n;=)%${fCN_UVzm%<(r1*(^+l zb=7rkcvlyHSGPM#ivRkoeZW@8P(!Ox9m8?VotWd-3F#_Ck$a<9M`rpO z*3o<+1A!ANcPXu&&1Jk@MZE~l@}7HTkKpVr3&P6-1D|ptt5y^e&=X#ikg;oV*WvHZ zR1uweLaJ{7r_OUp!!M#A4<#GuM1NAiT!{Dlm1(}bd7{4oJ<&+f zQaje1O-RRUu`%vwIi5&=;tjCWytBz(%Z3{gKilNi|7 zovIQ^ROqvrbIN~U;S6d2qf-{u=r4jGy%2cGj7lmgc|I?4x94-uU1h?RusIEH=Qv}$tDTtdj@ zOnX%6t24zk`pkr-zI#7#__lNdR2)5dm)gY!=Ayhe^~D}@YYOY z!7=0f(0!LD1;`ws?qJaP7~)egfz7Bx-Q-ucZSGg$Z|e|-e*G3po&6w;WSKml zI+LhJDv=?wc4fchH%vtNLi=;VGx2o?wRcIr#Gl0OzrFP1sYj#V)JHluaMT$r^&p`L z1gAJ!?o3Ga$t;lly}a0VO&FFeUbyE~lv*cRoQL;GTh+#9-&wYZl;yiw?W)Ob^wHm# z=s_+>^4d#dlo=&6YA8SjUr{DObU04|X*Z6BLGWARF97T&dlDgR1f706A@+v`i!1uYbgvL84UL$tfH+WYAJY zKh{4xnltNu;|$^rRC(SJ78@9tT0fu$@fYk1^mk) zc@}JY?JzQ#*i)v%;9;k(hUTIQe!q)vvP4g(=#}?LqMGP zq9HsTUvcNiXMUsotMHdZ_`8yed5y5Xa@LJ6Jl$T@WAbvzmFzq0jlY)zY<`2>+y2!i ztt=n6eSf-s4tey&nzT48gQW+Wg~K}=X&+D+2T7BMACU-$?ftgeh!yyXbvGnA{Xs@0 zXKp+NZ(}+BVfjQIf3ucN02s!eJl-l?0@VQ(3KVPqIR;NVZ-4yb*+q3?Df8bkb}A}h z0P?S`Fx83O@jqXG%lxl>Bo);fHSl--=K%%ovj4pO0c^+q{rG?7$B%;)y|uxjLaEx0 zimp5@M_d5=6uI!^#2YV Date: Sat, 4 Jun 2022 16:25:15 +0800 Subject: [PATCH 034/212] [java][okhttp-gson] Fix NPE in the response header, junit5 issue in surefire plugin (#12525) * fix okhttp pom to work correctly with junit5 * fix version, fix NPE in response headers --- .../okhttp-gson/apiException.mustache | 2 +- .../Java/libraries/okhttp-gson/pom.mustache | 19 +++++++++++++++++-- .../others/java/okhttp-gson-streaming/pom.xml | 19 +++++++++++++++++-- .../org/openapitools/client/ApiException.java | 2 +- .../okhttp-gson-dynamicOperations/pom.xml | 19 +++++++++++++++++-- .../org/openapitools/client/ApiException.java | 2 +- .../java/okhttp-gson-parcelableModel/pom.xml | 19 +++++++++++++++++-- .../org/openapitools/client/ApiException.java | 2 +- .../client/petstore/java/okhttp-gson/pom.xml | 19 +++++++++++++++++-- .../org/openapitools/client/ApiException.java | 2 +- 10 files changed, 90 insertions(+), 15 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/apiException.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/apiException.mustache index 2fa7644b10..3050315676 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/apiException.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/apiException.mustache @@ -169,7 +169,7 @@ public class ApiException extends{{#useRuntimeException}} RuntimeException {{/us */ public String getMessage() { return String.format("Message: %s%nHTTP response code: %s%nHTTP response body: %s%nHTTP response headers: %s", - super.getMessage(), this.getCode(), this.getResponseBody(), this.getResponseHeaders().toString()); + super.getMessage(), this.getCode(), this.getResponseBody(), this.getResponseHeaders()); } {{#errorObjectType}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/pom.mustache index b64698d7f3..682335e631 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/pom.mustache @@ -77,7 +77,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.0.0-M5 + 2.22.2 @@ -89,6 +89,14 @@ methods 10 + + + + org.junit.jupiter + junit-jupiter-engine + ${junit-version} + + maven-dependency-plugin @@ -370,10 +378,16 @@ org.junit.jupiter - junit-jupiter-api + junit-jupiter-engine ${junit-version} test + + org.junit.platform + junit-platform-runner + ${junit-platform-runner.version} + test + org.mockito mockito-core @@ -404,6 +418,7 @@ 2.0.2 {{/useBeanValidation}} 5.8.2 + 1.6.2 3.12.4 2.1.1 1.1.1 diff --git a/samples/client/others/java/okhttp-gson-streaming/pom.xml b/samples/client/others/java/okhttp-gson-streaming/pom.xml index 1428ead94e..3c47e6808d 100644 --- a/samples/client/others/java/okhttp-gson-streaming/pom.xml +++ b/samples/client/others/java/okhttp-gson-streaming/pom.xml @@ -70,7 +70,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.0.0-M5 + 2.22.2 @@ -82,6 +82,14 @@ methods 10 + + + + org.junit.jupiter + junit-jupiter-engine + ${junit-version} + + maven-dependency-plugin @@ -309,10 +317,16 @@ org.junit.jupiter - junit-jupiter-api + junit-jupiter-engine ${junit-version} test + + org.junit.platform + junit-platform-runner + ${junit-platform-runner.version} + test + org.mockito mockito-core @@ -332,6 +346,7 @@ 0.2.2 1.3.5 5.8.2 + 1.6.2 3.12.4 2.1.1 1.1.1 diff --git a/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/ApiException.java b/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/ApiException.java index 4f1a2f6ce8..a5343e43d5 100644 --- a/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/ApiException.java +++ b/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/ApiException.java @@ -161,6 +161,6 @@ public class ApiException extends Exception { */ public String getMessage() { return String.format("Message: %s%nHTTP response code: %s%nHTTP response body: %s%nHTTP response headers: %s", - super.getMessage(), this.getCode(), this.getResponseBody(), this.getResponseHeaders().toString()); + super.getMessage(), this.getCode(), this.getResponseBody(), this.getResponseHeaders()); } } diff --git a/samples/client/petstore/java/okhttp-gson-dynamicOperations/pom.xml b/samples/client/petstore/java/okhttp-gson-dynamicOperations/pom.xml index b1cb064f74..6e5df8dd21 100644 --- a/samples/client/petstore/java/okhttp-gson-dynamicOperations/pom.xml +++ b/samples/client/petstore/java/okhttp-gson-dynamicOperations/pom.xml @@ -70,7 +70,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.0.0-M5 + 2.22.2 @@ -82,6 +82,14 @@ methods 10 + + + + org.junit.jupiter + junit-jupiter-engine + ${junit-version} + + maven-dependency-plugin @@ -319,10 +327,16 @@ org.junit.jupiter - junit-jupiter-api + junit-jupiter-engine ${junit-version} test + + org.junit.platform + junit-platform-runner + ${junit-platform-runner.version} + test + org.mockito mockito-core @@ -342,6 +356,7 @@ 0.2.2 1.3.5 5.8.2 + 1.6.2 3.12.4 2.1.1 1.1.1 diff --git a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/ApiException.java b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/ApiException.java index da9b4595b0..d181c0ff40 100644 --- a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/ApiException.java +++ b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/ApiException.java @@ -161,6 +161,6 @@ public class ApiException extends Exception { */ public String getMessage() { return String.format("Message: %s%nHTTP response code: %s%nHTTP response body: %s%nHTTP response headers: %s", - super.getMessage(), this.getCode(), this.getResponseBody(), this.getResponseHeaders().toString()); + super.getMessage(), this.getCode(), this.getResponseBody(), this.getResponseHeaders()); } } diff --git a/samples/client/petstore/java/okhttp-gson-parcelableModel/pom.xml b/samples/client/petstore/java/okhttp-gson-parcelableModel/pom.xml index bf2648a512..044a5a47db 100644 --- a/samples/client/petstore/java/okhttp-gson-parcelableModel/pom.xml +++ b/samples/client/petstore/java/okhttp-gson-parcelableModel/pom.xml @@ -70,7 +70,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.0.0-M5 + 2.22.2 @@ -82,6 +82,14 @@ methods 10 + + + + org.junit.jupiter + junit-jupiter-engine + ${junit-version} + + maven-dependency-plugin @@ -321,10 +329,16 @@ org.junit.jupiter - junit-jupiter-api + junit-jupiter-engine ${junit-version} test + + org.junit.platform + junit-platform-runner + ${junit-platform-runner.version} + test + org.mockito mockito-core @@ -344,6 +358,7 @@ 0.2.2 1.3.5 5.8.2 + 1.6.2 3.12.4 2.1.1 1.1.1 diff --git a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/ApiException.java b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/ApiException.java index da9b4595b0..d181c0ff40 100644 --- a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/ApiException.java +++ b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/ApiException.java @@ -161,6 +161,6 @@ public class ApiException extends Exception { */ public String getMessage() { return String.format("Message: %s%nHTTP response code: %s%nHTTP response body: %s%nHTTP response headers: %s", - super.getMessage(), this.getCode(), this.getResponseBody(), this.getResponseHeaders().toString()); + super.getMessage(), this.getCode(), this.getResponseBody(), this.getResponseHeaders()); } } diff --git a/samples/client/petstore/java/okhttp-gson/pom.xml b/samples/client/petstore/java/okhttp-gson/pom.xml index 3a71322355..dfc6153489 100644 --- a/samples/client/petstore/java/okhttp-gson/pom.xml +++ b/samples/client/petstore/java/okhttp-gson/pom.xml @@ -70,7 +70,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.0.0-M5 + 2.22.2 @@ -82,6 +82,14 @@ methods 10 + + + + org.junit.jupiter + junit-jupiter-engine + ${junit-version} + + maven-dependency-plugin @@ -314,10 +322,16 @@ org.junit.jupiter - junit-jupiter-api + junit-jupiter-engine ${junit-version} test + + org.junit.platform + junit-platform-runner + ${junit-platform-runner.version} + test + org.mockito mockito-core @@ -337,6 +351,7 @@ 0.2.2 1.3.5 5.8.2 + 1.6.2 3.12.4 2.1.1 1.1.1 diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/ApiException.java b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/ApiException.java index da9b4595b0..d181c0ff40 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/ApiException.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/ApiException.java @@ -161,6 +161,6 @@ public class ApiException extends Exception { */ public String getMessage() { return String.format("Message: %s%nHTTP response code: %s%nHTTP response body: %s%nHTTP response headers: %s", - super.getMessage(), this.getCode(), this.getResponseBody(), this.getResponseHeaders().toString()); + super.getMessage(), this.getCode(), this.getResponseBody(), this.getResponseHeaders()); } } From fe8187ba6d03ed90fd97d365ecb8dab97c2e4fff Mon Sep 17 00:00:00 2001 From: Bruno Coelho <4brunu@users.noreply.github.com> Date: Sat, 4 Jun 2022 09:26:59 +0100 Subject: [PATCH 035/212] [Kotlin][Client] replace java.nio.* to avoid crash on Android API 25 and bellow (#12529) * [Kotlin][Client] replace java.nio.* to avoid crash on Android API 25 and bellow * [Kotlin][Client] update sample projects * [Kotlin][Client] update sample projects --- .../infrastructure/ApiClient.kt.mustache | 16 ++++++++++------ .../client/infrastructure/ApiClient.kt | 14 +++++++++----- .../client/infrastructure/ApiClient.kt | 14 +++++++++----- .../client/infrastructure/ApiClient.kt | 14 +++++++++----- .../client/infrastructure/ApiClient.kt | 14 +++++++++----- .../client/infrastructure/ApiClient.kt | 14 +++++++++----- .../client/infrastructure/ApiClient.kt | 14 +++++++++----- .../client/infrastructure/ApiClient.kt | 14 +++++++++----- .../client/infrastructure/ApiClient.kt | 14 +++++++++----- .../client/infrastructure/ApiClient.kt | 14 +++++++++----- .../client/infrastructure/ApiClient.kt | 14 +++++++++----- .../client/infrastructure/ApiClient.kt | 14 +++++++++----- .../client/infrastructure/ApiClient.kt | 14 +++++++++----- .../client/infrastructure/ApiClient.kt | 14 +++++++++----- .../client/infrastructure/ApiClient.kt | 14 +++++++++----- .../client/infrastructure/ApiClient.kt | 14 +++++++++----- .../client/infrastructure/ApiClient.kt | 14 +++++++++----- .../client/infrastructure/ApiClient.kt | 14 +++++++++----- .../client/infrastructure/ApiClient.kt | 14 +++++++++----- .../client/infrastructure/ApiClient.kt | 14 +++++++++----- 20 files changed, 181 insertions(+), 101 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/infrastructure/ApiClient.kt.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/infrastructure/ApiClient.kt.mustache index 50adff4378..32b2028281 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/infrastructure/ApiClient.kt.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/infrastructure/ApiClient.kt.mustache @@ -206,22 +206,26 @@ import com.squareup.moshi.adapter return null } if (T::class.java == File::class.java) { - // return tempfile + // return tempFile {{^supportAndroidApiLevel25AndBelow}} // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options - val f = java.nio.file.Files.createTempFile("tmp.{{packageName}}", null).toFile() + val tempFile = java.nio.file.Files.createTempFile("tmp.{{packageName}}", null).toFile() {{/supportAndroidApiLevel25AndBelow}} {{#supportAndroidApiLevel25AndBelow}} - val f = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + val tempFile = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { java.nio.file.Files.createTempFile("tmp.net.medicineone.teleconsultationandroid.openapi.openapicommon", null).toFile() } else { @Suppress("DEPRECATION") createTempFile("tmp.net.medicineone.teleconsultationandroid.openapi.openapicommon", null) } {{/supportAndroidApiLevel25AndBelow}} - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { diff --git a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index 5b21ddef1c..6db8e7c74f 100644 --- a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -116,12 +116,16 @@ open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClie return null } if (T::class.java == File::class.java) { - // return tempfile + // return tempFile // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options - val f = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + val tempFile = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { diff --git a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index 3dd90f5f36..bfd00ac6a2 100644 --- a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -118,12 +118,16 @@ open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClie return null } if (T::class.java == File::class.java) { - // return tempfile + // return tempFile // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options - val f = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + val tempFile = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { diff --git a/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index 3dd90f5f36..bfd00ac6a2 100644 --- a/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -118,12 +118,16 @@ open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClie return null } if (T::class.java == File::class.java) { - // return tempfile + // return tempFile // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options - val f = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + val tempFile = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { diff --git a/samples/client/petstore/kotlin-default-values-jvm-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-default-values-jvm-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index 5b21ddef1c..6db8e7c74f 100644 --- a/samples/client/petstore/kotlin-default-values-jvm-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-default-values-jvm-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -116,12 +116,16 @@ open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClie return null } if (T::class.java == File::class.java) { - // return tempfile + // return tempFile // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options - val f = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + val tempFile = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { diff --git a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index 3dd90f5f36..bfd00ac6a2 100644 --- a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -118,12 +118,16 @@ open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClie return null } if (T::class.java == File::class.java) { - // return tempfile + // return tempFile // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options - val f = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + val tempFile = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { diff --git a/samples/client/petstore/kotlin-enum-default-value/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-enum-default-value/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index 3dd90f5f36..bfd00ac6a2 100644 --- a/samples/client/petstore/kotlin-enum-default-value/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-enum-default-value/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -118,12 +118,16 @@ open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClie return null } if (T::class.java == File::class.java) { - // return tempfile + // return tempFile // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options - val f = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + val tempFile = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { diff --git a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index 78a723ea49..17485b2c88 100644 --- a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -117,12 +117,16 @@ open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClie return null } if (T::class.java == File::class.java) { - // return tempfile + // return tempFile // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options - val f = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + val tempFile = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { diff --git a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index e4f45f2892..5040c47697 100644 --- a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -117,12 +117,16 @@ open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClie return null } if (T::class.java == File::class.java) { - // return tempfile + // return tempFile // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options - val f = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + val tempFile = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { diff --git a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index e00657437a..804c66706c 100644 --- a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -119,16 +119,20 @@ open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClie return null } if (T::class.java == File::class.java) { - // return tempfile - val f = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + // return tempFile + val tempFile = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { java.nio.file.Files.createTempFile("tmp.net.medicineone.teleconsultationandroid.openapi.openapicommon", null).toFile() } else { @Suppress("DEPRECATION") createTempFile("tmp.net.medicineone.teleconsultationandroid.openapi.openapicommon", null) } - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index ab05dc14f2..cacd2b743b 100644 --- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -120,12 +120,16 @@ open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClie return null } if (T::class.java == File::class.java) { - // return tempfile + // return tempFile // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options - val f = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + val tempFile = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { diff --git a/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index c48bc6a819..4ad22a02df 100644 --- a/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -118,12 +118,16 @@ open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClie return null } if (T::class.java == File::class.java) { - // return tempfile + // return tempFile // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options - val f = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + val tempFile = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { diff --git a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index c48bc6a819..4ad22a02df 100644 --- a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -118,12 +118,16 @@ open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClie return null } if (T::class.java == File::class.java) { - // return tempfile + // return tempFile // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options - val f = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + val tempFile = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { diff --git a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index 1c2e0a93e8..61ba8e3041 100644 --- a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -118,12 +118,16 @@ internal open class ApiClient(val baseUrl: String, val client: OkHttpClient = de return null } if (T::class.java == File::class.java) { - // return tempfile + // return tempFile // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options - val f = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + val tempFile = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { diff --git a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index c48bc6a819..4ad22a02df 100644 --- a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -118,12 +118,16 @@ open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClie return null } if (T::class.java == File::class.java) { - // return tempfile + // return tempFile // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options - val f = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + val tempFile = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { diff --git a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index ef5d984072..9fcf138505 100644 --- a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -116,12 +116,16 @@ open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClie return null } if (T::class.java == File::class.java) { - // return tempfile + // return tempFile // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options - val f = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + val tempFile = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { diff --git a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index c48bc6a819..4ad22a02df 100644 --- a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -118,12 +118,16 @@ open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClie return null } if (T::class.java == File::class.java) { - // return tempfile + // return tempFile // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options - val f = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + val tempFile = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { diff --git a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index d4ea2444ab..3d6b7ccb79 100644 --- a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -118,12 +118,16 @@ open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClie return null } if (T::class.java == File::class.java) { - // return tempfile + // return tempFile // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options - val f = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + val tempFile = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { diff --git a/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index 3dd90f5f36..bfd00ac6a2 100644 --- a/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -118,12 +118,16 @@ open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClie return null } if (T::class.java == File::class.java) { - // return tempfile + // return tempFile // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options - val f = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + val tempFile = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { diff --git a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index c48bc6a819..4ad22a02df 100644 --- a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -118,12 +118,16 @@ open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClie return null } if (T::class.java == File::class.java) { - // return tempfile + // return tempFile // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options - val f = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() - f.deleteOnExit() - body.byteStream().use { java.nio.file.Files.copy(it, f.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING) } - return f as T + val tempFile = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T } val bodyContent = body.string() if (bodyContent.isEmpty()) { From 38018d8b9438cf454c76f5de87fe042094f00fae Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sat, 4 Jun 2022 18:23:28 +0800 Subject: [PATCH 036/212] Test PHP Symfony server sample in github action (#12533) * test php symfony server sample in github action * update php laravel samples * add tests for php 7.x, 8.x --- .github/workflows/samples-php7.yaml | 32 +++++++++++++++++++ .github/workflows/samples-php8.yaml | 32 +++++++++++++++++++ bin/configs/php-laravel.yaml | 2 ++ .../php-symfony-SymfonyBundle-php.yaml | 2 ++ .../petstore/php-laravel/lib/composer.json | 2 +- .../php-symfony/SymfonyBundle-php/README.md | 2 +- .../SymfonyBundle-php/composer.json | 2 +- .../php-symfony/SymfonyBundle-php/git_push.sh | 4 +-- 8 files changed, 73 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/samples-php7.yaml create mode 100644 .github/workflows/samples-php8.yaml diff --git a/.github/workflows/samples-php7.yaml b/.github/workflows/samples-php7.yaml new file mode 100644 index 0000000000..f675345bff --- /dev/null +++ b/.github/workflows/samples-php7.yaml @@ -0,0 +1,32 @@ +name: Samples PHP 7.x + +on: + push: + paths: + - samples/server/petstore/php-laravel/lib/ + pull_request: + paths: + - samples/server/petstore/php-laravel/lib/ +jobs: + build: + name: Build PHP projects + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + sample: + # servers + - samples/server/petstore/php-laravel/lib/ + steps: + - uses: actions/checkout@v3 + - name: Setup PHP with tools + uses: shivammathur/setup-php@v2 + with: + php-version: '7.4' + tools: php-cs-fixer, phpunit + - name: composer install + working-directory: ${{ matrix.sample }} + run: composer install + - name: phpunit + working-directory: ${{ matrix.sample }} + run: vendor/bin/phpunit diff --git a/.github/workflows/samples-php8.yaml b/.github/workflows/samples-php8.yaml new file mode 100644 index 0000000000..18c279bc3c --- /dev/null +++ b/.github/workflows/samples-php8.yaml @@ -0,0 +1,32 @@ +name: Samples PHP 8.x + +on: + push: + paths: + - samples/server/petstore/php-symfony/SymfonyBundle-php/ + pull_request: + paths: + - samples/server/petstore/php-symfony/SymfonyBundle-php/ +jobs: + build: + name: Build PHP projects + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + sample: + # servers + - samples/server/petstore/php-symfony/SymfonyBundle-php/ + steps: + - uses: actions/checkout@v3 + - name: Setup PHP with tools + uses: shivammathur/setup-php@v2 + with: + php-version: '8.1' + tools: php-cs-fixer, phpunit + - name: composer install + working-directory: ${{ matrix.sample }} + run: composer install + - name: phpunit + working-directory: ${{ matrix.sample }} + run: vendor/bin/phpunit diff --git a/bin/configs/php-laravel.yaml b/bin/configs/php-laravel.yaml index 2d29f5000a..88d1737432 100644 --- a/bin/configs/php-laravel.yaml +++ b/bin/configs/php-laravel.yaml @@ -2,3 +2,5 @@ generatorName: php-laravel outputDir: samples/server/petstore/php-laravel inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml templateDir: modules/openapi-generator/src/main/resources/php-laravel +gitUserId: openapitools +gitRepoId: petstore diff --git a/bin/configs/php-symfony-SymfonyBundle-php.yaml b/bin/configs/php-symfony-SymfonyBundle-php.yaml index f7c6218a50..45871b6da2 100644 --- a/bin/configs/php-symfony-SymfonyBundle-php.yaml +++ b/bin/configs/php-symfony-SymfonyBundle-php.yaml @@ -2,3 +2,5 @@ generatorName: php-symfony outputDir: samples/server/petstore/php-symfony/SymfonyBundle-php inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml templateDir: modules/openapi-generator/src/main/resources/php-symfony +gitUserId: openapitools +gitRepoId: petstore diff --git a/samples/server/petstore/php-laravel/lib/composer.json b/samples/server/petstore/php-laravel/lib/composer.json index ac7642b6f7..a794a18191 100644 --- a/samples/server/petstore/php-laravel/lib/composer.json +++ b/samples/server/petstore/php-laravel/lib/composer.json @@ -1,5 +1,5 @@ { - "name": "GIT_USER_ID/GIT_REPO_ID", + "name": "openapitools/petstore", "description": ".", "keywords": ["framework", "laravel"], "license": "MIT", diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/README.md b/samples/server/petstore/php-symfony/SymfonyBundle-php/README.md index a421474892..c39149e71d 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/README.md +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/README.md @@ -26,7 +26,7 @@ To install the dependencies via [Composer](http://getcomposer.org/), add the fol Then run: ``` -composer require GIT_USER_ID/GIT_REPO_ID:dev-master +composer require openapitools/petstore:dev-master ``` to add the generated openapi bundle as a dependency. diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/composer.json b/samples/server/petstore/php-symfony/SymfonyBundle-php/composer.json index 7374fe0cec..7683bf2cc8 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/composer.json +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/composer.json @@ -1,5 +1,5 @@ { - "name": "GIT_USER_ID/GIT_REPO_ID", + "name": "openapitools/petstore", "description": "", "keywords": [ "openapi", diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/git_push.sh b/samples/server/petstore/php-symfony/SymfonyBundle-php/git_push.sh index f53a75d4fa..1d215e4cb2 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/git_push.sh +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/git_push.sh @@ -14,12 +14,12 @@ if [ "$git_host" = "" ]; then fi if [ "$git_user_id" = "" ]; then - git_user_id="GIT_USER_ID" + git_user_id="openapitools" echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" fi if [ "$git_repo_id" = "" ]; then - git_repo_id="GIT_REPO_ID" + git_repo_id="petstore" echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" fi From f30257d10a8e3a34807c0d69fb517803682fbd01 Mon Sep 17 00:00:00 2001 From: Daniel Metzner <40868718+dmetzner@users.noreply.github.com> Date: Sat, 4 Jun 2022 12:35:33 +0200 Subject: [PATCH 037/212] Fix syntax error for $jsonDeserializationVisitor (#12521) --- .../serialization/StrictJsonDeserializationVisitor.mustache | 2 +- .../Service/StrictJsonDeserializationVisitor.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/php-symfony/serialization/StrictJsonDeserializationVisitor.mustache b/modules/openapi-generator/src/main/resources/php-symfony/serialization/StrictJsonDeserializationVisitor.mustache index 9c279d2ed3..2679abe76c 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/serialization/StrictJsonDeserializationVisitor.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/serialization/StrictJsonDeserializationVisitor.mustache @@ -27,7 +27,7 @@ use JMS\Serializer\Visitor\DeserializationVisitorInterface; class StrictJsonDeserializationVisitor implements DeserializationVisitorInterface { - protected $jsonDeserializationVisitor: JsonDeserializationVisitor; + protected JsonDeserializationVisitor $jsonDeserializationVisitor; public function __construct( int $options = 0, diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/StrictJsonDeserializationVisitor.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/StrictJsonDeserializationVisitor.php index 62fee4cc7a..af59d95a14 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/StrictJsonDeserializationVisitor.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/StrictJsonDeserializationVisitor.php @@ -27,7 +27,7 @@ use JMS\Serializer\Visitor\DeserializationVisitorInterface; class StrictJsonDeserializationVisitor implements DeserializationVisitorInterface { - protected $jsonDeserializationVisitor: JsonDeserializationVisitor; + protected JsonDeserializationVisitor $jsonDeserializationVisitor; public function __construct( int $options = 0, From aac39eabc78dac4df59b5c456afd6d598eedfd29 Mon Sep 17 00:00:00 2001 From: Bogdan Ilchyshyn Date: Sat, 4 Jun 2022 20:40:13 +1000 Subject: [PATCH 038/212] fixing typo in InitOverrideFunction (#12528) --- .../main/resources/typescript-fetch/apis.mustache | 12 ++++++------ .../main/resources/typescript-fetch/runtime.mustache | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/typescript-fetch/apis.mustache b/modules/openapi-generator/src/main/resources/typescript-fetch/apis.mustache index 3249eb9770..3e71efcd1e 100644 --- a/modules/openapi-generator/src/main/resources/typescript-fetch/apis.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-fetch/apis.mustache @@ -52,7 +52,7 @@ export interface {{classname}}Interface { * @throws {RequiredError} * @memberof {{classname}}Interface */ - {{nickname}}Raw({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request, {{/allParams.0}}initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + {{nickname}}Raw({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request, {{/allParams.0}}initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** {{#notes}} @@ -63,10 +63,10 @@ export interface {{classname}}Interface { {{/summary}} */ {{^useSingleRequestParameter}} - {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{#isNullable}} | null{{/isNullable}}{{/isEnum}}, {{/allParams}}initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<{{{returnType}}}{{^returnType}}void{{/returnType}}>; + {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{#isNullable}} | null{{/isNullable}}{{/isEnum}}, {{/allParams}}initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{{{returnType}}}{{^returnType}}void{{/returnType}}>; {{/useSingleRequestParameter}} {{#useSingleRequestParameter}} - {{nickname}}({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request, {{/allParams.0}}initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<{{{returnType}}}{{^returnType}}void{{/returnType}}>; + {{nickname}}({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request, {{/allParams.0}}initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{{{returnType}}}{{^returnType}}void{{/returnType}}>; {{/useSingleRequestParameter}} {{/operation}} @@ -94,7 +94,7 @@ export class {{classname}} extends runtime.BaseAPI { * {{&summary}} {{/summary}} */ - async {{nickname}}Raw({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request, {{/allParams.0}}initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async {{nickname}}Raw({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request, {{/allParams.0}}initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { {{#allParams}} {{#required}} if (requestParameters.{{paramName}} === null || requestParameters.{{paramName}} === undefined) { @@ -334,7 +334,7 @@ export class {{classname}} extends runtime.BaseAPI { {{/summary}} */ {{^useSingleRequestParameter}} - async {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{#isNullable}} | null{{/isNullable}}{{/isEnum}}, {{/allParams}}initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<{{{returnType}}}{{^returnType}}void{{/returnType}}> { + async {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{#isNullable}} | null{{/isNullable}}{{/isEnum}}, {{/allParams}}initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{{{returnType}}}{{^returnType}}void{{/returnType}}> { {{#returnType}} const response = await this.{{nickname}}Raw({{#allParams.0}}{ {{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}} }, {{/allParams.0}}initOverrides); return await response.value(); @@ -345,7 +345,7 @@ export class {{classname}} extends runtime.BaseAPI { } {{/useSingleRequestParameter}} {{#useSingleRequestParameter}} - async {{nickname}}({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request{{^hasRequiredParams}} = {}{{/hasRequiredParams}}, {{/allParams.0}}initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<{{{returnType}}}{{^returnType}}void{{/returnType}}> { + async {{nickname}}({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request{{^hasRequiredParams}} = {}{{/hasRequiredParams}}, {{/allParams.0}}initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{{{returnType}}}{{^returnType}}void{{/returnType}}> { {{#returnType}} const response = await this.{{nickname}}Raw({{#allParams.0}}requestParameters, {{/allParams.0}}initOverrides); return await response.value(); diff --git a/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache b/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache index a1bd07719c..6fc46aff26 100644 --- a/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache @@ -102,7 +102,7 @@ export class BaseAPI { return this.withMiddleware(...middlewares); } - protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction): Promise { + protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise { const { url, init } = await this.createFetchParams(context, initOverrides); const response = await this.fetchApi(url, init); if (response.status >= 200 && response.status < 300) { @@ -111,7 +111,7 @@ export class BaseAPI { throw new ResponseError(response, 'Response returned an error code'); } - private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction) { + private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) { let url = this.configuration.basePath + context.path; if (context.query !== undefined && Object.keys(context.query).length !== 0) { // only add the querystring to the URL if there are query parameters. @@ -231,7 +231,7 @@ export type HTTPBody = Json | FormData | URLSearchParams; export type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody } export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original'; -export type InitOverideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise +export type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise export interface FetchParams { url: string; From ee9ba4a95a97955a1aa6a7c4f226a3e945d4e9fd Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sat, 4 Jun 2022 18:43:59 +0800 Subject: [PATCH 039/212] update ts samples --- .../default-v3.0/apis/AnotherFakeApi.ts | 4 +- .../builds/default-v3.0/apis/DefaultApi.ts | 4 +- .../builds/default-v3.0/apis/FakeApi.ts | 68 +++++++++---------- .../apis/FakeClassnameTags123Api.ts | 4 +- .../builds/default-v3.0/apis/PetApi.ts | 36 +++++----- .../builds/default-v3.0/apis/StoreApi.ts | 16 ++--- .../builds/default-v3.0/apis/UserApi.ts | 32 ++++----- .../builds/default-v3.0/runtime.ts | 6 +- .../builds/default/apis/PetApi.ts | 32 ++++----- .../builds/default/apis/StoreApi.ts | 16 ++--- .../builds/default/apis/UserApi.ts | 32 ++++----- .../builds/default/runtime.ts | 6 +- .../builds/enum/apis/DefaultApi.ts | 16 ++--- .../typescript-fetch/builds/enum/runtime.ts | 6 +- .../builds/es6-target/src/apis/PetApi.ts | 32 ++++----- .../builds/es6-target/src/apis/StoreApi.ts | 16 ++--- .../builds/es6-target/src/apis/UserApi.ts | 32 ++++----- .../builds/es6-target/src/runtime.ts | 6 +- .../builds/multiple-parameters/apis/PetApi.ts | 32 ++++----- .../multiple-parameters/apis/StoreApi.ts | 16 ++--- .../multiple-parameters/apis/UserApi.ts | 32 ++++----- .../builds/multiple-parameters/runtime.ts | 6 +- .../src/apis/PetApi.ts | 32 ++++----- .../src/apis/StoreApi.ts | 16 ++--- .../src/apis/UserApi.ts | 32 ++++----- .../src/runtime.ts | 6 +- .../sagas-and-records/src/apis/BehaviorApi.ts | 8 +-- .../sagas-and-records/src/apis/PetApi.ts | 48 ++++++------- .../sagas-and-records/src/apis/PetPartApi.ts | 8 +-- .../sagas-and-records/src/apis/StoreApi.ts | 16 ++--- .../sagas-and-records/src/apis/UserApi.ts | 32 ++++----- .../builds/sagas-and-records/src/runtime.ts | 6 +- .../builds/with-interfaces/apis/PetApi.ts | 64 ++++++++--------- .../builds/with-interfaces/apis/StoreApi.ts | 32 ++++----- .../builds/with-interfaces/apis/UserApi.ts | 64 ++++++++--------- .../builds/with-interfaces/runtime.ts | 6 +- .../with-npm-version/src/apis/PetApi.ts | 32 ++++----- .../with-npm-version/src/apis/StoreApi.ts | 16 ++--- .../with-npm-version/src/apis/UserApi.ts | 32 ++++----- .../builds/with-npm-version/src/runtime.ts | 6 +- .../with-string-enums/apis/DefaultApi.ts | 16 ++--- .../builds/with-string-enums/runtime.ts | 6 +- .../without-runtime-checks/src/apis/PetApi.ts | 32 ++++----- .../src/apis/StoreApi.ts | 16 ++--- .../src/apis/UserApi.ts | 32 ++++----- .../without-runtime-checks/src/runtime.ts | 6 +- 46 files changed, 507 insertions(+), 507 deletions(-) diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/AnotherFakeApi.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/AnotherFakeApi.ts index d321d0d501..d5efb55791 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/AnotherFakeApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/AnotherFakeApi.ts @@ -33,7 +33,7 @@ export class AnotherFakeApi extends runtime.BaseAPI { * To test special tags and operation ID starting with number * To test special tags */ - async _123testSpecialTagsRaw(requestParameters: 123testSpecialTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async _123testSpecialTagsRaw(requestParameters: 123testSpecialTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.client === null || requestParameters.client === undefined) { throw new runtime.RequiredError('client','Required parameter requestParameters.client was null or undefined when calling _123testSpecialTags.'); } @@ -59,7 +59,7 @@ export class AnotherFakeApi extends runtime.BaseAPI { * To test special tags and operation ID starting with number * To test special tags */ - async _123testSpecialTags(requestParameters: 123testSpecialTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async _123testSpecialTags(requestParameters: 123testSpecialTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this._123testSpecialTagsRaw(requestParameters, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/DefaultApi.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/DefaultApi.ts index 5ba2972170..71b1df5310 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/DefaultApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/DefaultApi.ts @@ -27,7 +27,7 @@ export class DefaultApi extends runtime.BaseAPI { /** */ - async fooGetRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async fooGetRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -44,7 +44,7 @@ export class DefaultApi extends runtime.BaseAPI { /** */ - async fooGet(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async fooGet(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.fooGetRaw(initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/FakeApi.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/FakeApi.ts index 13e2fb30a2..6ac834f403 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/FakeApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/FakeApi.ts @@ -149,7 +149,7 @@ export class FakeApi extends runtime.BaseAPI { /** * Health check endpoint */ - async fakeHealthGetRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async fakeHealthGetRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -167,7 +167,7 @@ export class FakeApi extends runtime.BaseAPI { /** * Health check endpoint */ - async fakeHealthGet(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async fakeHealthGet(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.fakeHealthGetRaw(initOverrides); return await response.value(); } @@ -175,7 +175,7 @@ export class FakeApi extends runtime.BaseAPI { /** * test http signature authentication */ - async fakeHttpSignatureTestRaw(requestParameters: FakeHttpSignatureTestRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async fakeHttpSignatureTestRaw(requestParameters: FakeHttpSignatureTestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.pet === null || requestParameters.pet === undefined) { throw new runtime.RequiredError('pet','Required parameter requestParameters.pet was null or undefined when calling fakeHttpSignatureTest.'); } @@ -208,14 +208,14 @@ export class FakeApi extends runtime.BaseAPI { /** * test http signature authentication */ - async fakeHttpSignatureTest(requestParameters: FakeHttpSignatureTestRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async fakeHttpSignatureTest(requestParameters: FakeHttpSignatureTestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.fakeHttpSignatureTestRaw(requestParameters, initOverrides); } /** * Test serialization of outer boolean types */ - async fakeOuterBooleanSerializeRaw(requestParameters: FakeOuterBooleanSerializeRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async fakeOuterBooleanSerializeRaw(requestParameters: FakeOuterBooleanSerializeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -236,7 +236,7 @@ export class FakeApi extends runtime.BaseAPI { /** * Test serialization of outer boolean types */ - async fakeOuterBooleanSerialize(requestParameters: FakeOuterBooleanSerializeRequest = {}, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async fakeOuterBooleanSerialize(requestParameters: FakeOuterBooleanSerializeRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.fakeOuterBooleanSerializeRaw(requestParameters, initOverrides); return await response.value(); } @@ -244,7 +244,7 @@ export class FakeApi extends runtime.BaseAPI { /** * Test serialization of object with outer number type */ - async fakeOuterCompositeSerializeRaw(requestParameters: FakeOuterCompositeSerializeRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async fakeOuterCompositeSerializeRaw(requestParameters: FakeOuterCompositeSerializeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -265,7 +265,7 @@ export class FakeApi extends runtime.BaseAPI { /** * Test serialization of object with outer number type */ - async fakeOuterCompositeSerialize(requestParameters: FakeOuterCompositeSerializeRequest = {}, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async fakeOuterCompositeSerialize(requestParameters: FakeOuterCompositeSerializeRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.fakeOuterCompositeSerializeRaw(requestParameters, initOverrides); return await response.value(); } @@ -273,7 +273,7 @@ export class FakeApi extends runtime.BaseAPI { /** * Test serialization of outer number types */ - async fakeOuterNumberSerializeRaw(requestParameters: FakeOuterNumberSerializeRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async fakeOuterNumberSerializeRaw(requestParameters: FakeOuterNumberSerializeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -294,7 +294,7 @@ export class FakeApi extends runtime.BaseAPI { /** * Test serialization of outer number types */ - async fakeOuterNumberSerialize(requestParameters: FakeOuterNumberSerializeRequest = {}, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async fakeOuterNumberSerialize(requestParameters: FakeOuterNumberSerializeRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.fakeOuterNumberSerializeRaw(requestParameters, initOverrides); return await response.value(); } @@ -302,7 +302,7 @@ export class FakeApi extends runtime.BaseAPI { /** * Test serialization of outer string types */ - async fakeOuterStringSerializeRaw(requestParameters: FakeOuterStringSerializeRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async fakeOuterStringSerializeRaw(requestParameters: FakeOuterStringSerializeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -323,7 +323,7 @@ export class FakeApi extends runtime.BaseAPI { /** * Test serialization of outer string types */ - async fakeOuterStringSerialize(requestParameters: FakeOuterStringSerializeRequest = {}, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async fakeOuterStringSerialize(requestParameters: FakeOuterStringSerializeRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.fakeOuterStringSerializeRaw(requestParameters, initOverrides); return await response.value(); } @@ -331,7 +331,7 @@ export class FakeApi extends runtime.BaseAPI { /** * Test serialization of enum (int) properties with examples */ - async fakePropertyEnumIntegerSerializeRaw(requestParameters: FakePropertyEnumIntegerSerializeRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async fakePropertyEnumIntegerSerializeRaw(requestParameters: FakePropertyEnumIntegerSerializeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.outerObjectWithEnumProperty === null || requestParameters.outerObjectWithEnumProperty === undefined) { throw new runtime.RequiredError('outerObjectWithEnumProperty','Required parameter requestParameters.outerObjectWithEnumProperty was null or undefined when calling fakePropertyEnumIntegerSerialize.'); } @@ -356,7 +356,7 @@ export class FakeApi extends runtime.BaseAPI { /** * Test serialization of enum (int) properties with examples */ - async fakePropertyEnumIntegerSerialize(requestParameters: FakePropertyEnumIntegerSerializeRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async fakePropertyEnumIntegerSerialize(requestParameters: FakePropertyEnumIntegerSerializeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.fakePropertyEnumIntegerSerializeRaw(requestParameters, initOverrides); return await response.value(); } @@ -364,7 +364,7 @@ export class FakeApi extends runtime.BaseAPI { /** * For this test, the body has to be a binary file. */ - async testBodyWithBinaryRaw(requestParameters: TestBodyWithBinaryRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async testBodyWithBinaryRaw(requestParameters: TestBodyWithBinaryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling testBodyWithBinary.'); } @@ -389,14 +389,14 @@ export class FakeApi extends runtime.BaseAPI { /** * For this test, the body has to be a binary file. */ - async testBodyWithBinary(requestParameters: TestBodyWithBinaryRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async testBodyWithBinary(requestParameters: TestBodyWithBinaryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.testBodyWithBinaryRaw(requestParameters, initOverrides); } /** * For this test, the body for this request must reference a schema named `File`. */ - async testBodyWithFileSchemaRaw(requestParameters: TestBodyWithFileSchemaRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async testBodyWithFileSchemaRaw(requestParameters: TestBodyWithFileSchemaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.fileSchemaTestClass === null || requestParameters.fileSchemaTestClass === undefined) { throw new runtime.RequiredError('fileSchemaTestClass','Required parameter requestParameters.fileSchemaTestClass was null or undefined when calling testBodyWithFileSchema.'); } @@ -421,13 +421,13 @@ export class FakeApi extends runtime.BaseAPI { /** * For this test, the body for this request must reference a schema named `File`. */ - async testBodyWithFileSchema(requestParameters: TestBodyWithFileSchemaRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async testBodyWithFileSchema(requestParameters: TestBodyWithFileSchemaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.testBodyWithFileSchemaRaw(requestParameters, initOverrides); } /** */ - async testBodyWithQueryParamsRaw(requestParameters: TestBodyWithQueryParamsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async testBodyWithQueryParamsRaw(requestParameters: TestBodyWithQueryParamsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.query === null || requestParameters.query === undefined) { throw new runtime.RequiredError('query','Required parameter requestParameters.query was null or undefined when calling testBodyWithQueryParams.'); } @@ -459,7 +459,7 @@ export class FakeApi extends runtime.BaseAPI { /** */ - async testBodyWithQueryParams(requestParameters: TestBodyWithQueryParamsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async testBodyWithQueryParams(requestParameters: TestBodyWithQueryParamsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.testBodyWithQueryParamsRaw(requestParameters, initOverrides); } @@ -467,7 +467,7 @@ export class FakeApi extends runtime.BaseAPI { * To test \"client\" model * To test \"client\" model */ - async testClientModelRaw(requestParameters: TestClientModelRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async testClientModelRaw(requestParameters: TestClientModelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.client === null || requestParameters.client === undefined) { throw new runtime.RequiredError('client','Required parameter requestParameters.client was null or undefined when calling testClientModel.'); } @@ -493,7 +493,7 @@ export class FakeApi extends runtime.BaseAPI { * To test \"client\" model * To test \"client\" model */ - async testClientModel(requestParameters: TestClientModelRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async testClientModel(requestParameters: TestClientModelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.testClientModelRaw(requestParameters, initOverrides); return await response.value(); } @@ -502,7 +502,7 @@ export class FakeApi extends runtime.BaseAPI { * Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 * Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 */ - async testEndpointParametersRaw(requestParameters: TestEndpointParametersRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async testEndpointParametersRaw(requestParameters: TestEndpointParametersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.number === null || requestParameters.number === undefined) { throw new runtime.RequiredError('number','Required parameter requestParameters.number was null or undefined when calling testEndpointParameters.'); } @@ -613,7 +613,7 @@ export class FakeApi extends runtime.BaseAPI { * Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 * Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 */ - async testEndpointParameters(requestParameters: TestEndpointParametersRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async testEndpointParameters(requestParameters: TestEndpointParametersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.testEndpointParametersRaw(requestParameters, initOverrides); } @@ -621,7 +621,7 @@ export class FakeApi extends runtime.BaseAPI { * To test enum parameters * To test enum parameters */ - async testEnumParametersRaw(requestParameters: TestEnumParametersRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async testEnumParametersRaw(requestParameters: TestEnumParametersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters.enumQueryStringArray) { @@ -691,7 +691,7 @@ export class FakeApi extends runtime.BaseAPI { * To test enum parameters * To test enum parameters */ - async testEnumParameters(requestParameters: TestEnumParametersRequest = {}, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async testEnumParameters(requestParameters: TestEnumParametersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.testEnumParametersRaw(requestParameters, initOverrides); } @@ -699,7 +699,7 @@ export class FakeApi extends runtime.BaseAPI { * Fake endpoint to test group parameters (optional) * Fake endpoint to test group parameters (optional) */ - async testGroupParametersRaw(requestParameters: TestGroupParametersRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async testGroupParametersRaw(requestParameters: TestGroupParametersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.requiredStringGroup === null || requestParameters.requiredStringGroup === undefined) { throw new runtime.RequiredError('requiredStringGroup','Required parameter requestParameters.requiredStringGroup was null or undefined when calling testGroupParameters.'); } @@ -762,7 +762,7 @@ export class FakeApi extends runtime.BaseAPI { * Fake endpoint to test group parameters (optional) * Fake endpoint to test group parameters (optional) */ - async testGroupParameters(requestParameters: TestGroupParametersRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async testGroupParameters(requestParameters: TestGroupParametersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.testGroupParametersRaw(requestParameters, initOverrides); } @@ -770,7 +770,7 @@ export class FakeApi extends runtime.BaseAPI { * * test inline additionalProperties */ - async testInlineAdditionalPropertiesRaw(requestParameters: TestInlineAdditionalPropertiesRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async testInlineAdditionalPropertiesRaw(requestParameters: TestInlineAdditionalPropertiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.requestBody === null || requestParameters.requestBody === undefined) { throw new runtime.RequiredError('requestBody','Required parameter requestParameters.requestBody was null or undefined when calling testInlineAdditionalProperties.'); } @@ -796,7 +796,7 @@ export class FakeApi extends runtime.BaseAPI { * * test inline additionalProperties */ - async testInlineAdditionalProperties(requestParameters: TestInlineAdditionalPropertiesRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async testInlineAdditionalProperties(requestParameters: TestInlineAdditionalPropertiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.testInlineAdditionalPropertiesRaw(requestParameters, initOverrides); } @@ -804,7 +804,7 @@ export class FakeApi extends runtime.BaseAPI { * * test json serialization of form data */ - async testJsonFormDataRaw(requestParameters: TestJsonFormDataRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async testJsonFormDataRaw(requestParameters: TestJsonFormDataRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.param === null || requestParameters.param === undefined) { throw new runtime.RequiredError('param','Required parameter requestParameters.param was null or undefined when calling testJsonFormData.'); } @@ -854,14 +854,14 @@ export class FakeApi extends runtime.BaseAPI { * * test json serialization of form data */ - async testJsonFormData(requestParameters: TestJsonFormDataRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async testJsonFormData(requestParameters: TestJsonFormDataRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.testJsonFormDataRaw(requestParameters, initOverrides); } /** * To test the collection format in query parameters */ - async testQueryParameterCollectionFormatRaw(requestParameters: TestQueryParameterCollectionFormatRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async testQueryParameterCollectionFormatRaw(requestParameters: TestQueryParameterCollectionFormatRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.pipe === null || requestParameters.pipe === undefined) { throw new runtime.RequiredError('pipe','Required parameter requestParameters.pipe was null or undefined when calling testQueryParameterCollectionFormat.'); } @@ -931,7 +931,7 @@ export class FakeApi extends runtime.BaseAPI { /** * To test the collection format in query parameters */ - async testQueryParameterCollectionFormat(requestParameters: TestQueryParameterCollectionFormatRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async testQueryParameterCollectionFormat(requestParameters: TestQueryParameterCollectionFormatRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.testQueryParameterCollectionFormatRaw(requestParameters, initOverrides); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/FakeClassnameTags123Api.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/FakeClassnameTags123Api.ts index c7db645f48..e7766827ee 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/FakeClassnameTags123Api.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/FakeClassnameTags123Api.ts @@ -33,7 +33,7 @@ export class FakeClassnameTags123Api extends runtime.BaseAPI { * To test class name in snake case * To test class name in snake case */ - async testClassnameRaw(requestParameters: TestClassnameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async testClassnameRaw(requestParameters: TestClassnameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.client === null || requestParameters.client === undefined) { throw new runtime.RequiredError('client','Required parameter requestParameters.client was null or undefined when calling testClassname.'); } @@ -63,7 +63,7 @@ export class FakeClassnameTags123Api extends runtime.BaseAPI { * To test class name in snake case * To test class name in snake case */ - async testClassname(requestParameters: TestClassnameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async testClassname(requestParameters: TestClassnameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.testClassnameRaw(requestParameters, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/PetApi.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/PetApi.ts index bbf3377e09..c28b0741ef 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/PetApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/PetApi.ts @@ -75,7 +75,7 @@ export class PetApi extends runtime.BaseAPI { * * Add a new pet to the store */ - async addPetRaw(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async addPetRaw(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.pet === null || requestParameters.pet === undefined) { throw new runtime.RequiredError('pet','Required parameter requestParameters.pet was null or undefined when calling addPet.'); } @@ -106,7 +106,7 @@ export class PetApi extends runtime.BaseAPI { * * Add a new pet to the store */ - async addPet(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async addPet(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.addPetRaw(requestParameters, initOverrides); } @@ -114,7 +114,7 @@ export class PetApi extends runtime.BaseAPI { * * Deletes a pet */ - async deletePetRaw(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deletePetRaw(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling deletePet.'); } @@ -146,7 +146,7 @@ export class PetApi extends runtime.BaseAPI { * * Deletes a pet */ - async deletePet(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deletePet(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deletePetRaw(requestParameters, initOverrides); } @@ -154,7 +154,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple status values can be provided with comma separated strings * Finds Pets by status */ - async findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>> { + async findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.status === null || requestParameters.status === undefined) { throw new runtime.RequiredError('status','Required parameter requestParameters.status was null or undefined when calling findPetsByStatus.'); } @@ -186,7 +186,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple status values can be provided with comma separated strings * Finds Pets by status */ - async findPetsByStatus(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByStatus(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.findPetsByStatusRaw(requestParameters, initOverrides); return await response.value(); } @@ -195,7 +195,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. * Finds Pets by tags */ - async findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>> { + async findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.tags === null || requestParameters.tags === undefined) { throw new runtime.RequiredError('tags','Required parameter requestParameters.tags was null or undefined when calling findPetsByTags.'); } @@ -227,7 +227,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. * Finds Pets by tags */ - async findPetsByTags(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByTags(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.findPetsByTagsRaw(requestParameters, initOverrides); return await response.value(); } @@ -236,7 +236,7 @@ export class PetApi extends runtime.BaseAPI { * Returns a single pet * Find pet by ID */ - async getPetByIdRaw(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getPetByIdRaw(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling getPetById.'); } @@ -263,7 +263,7 @@ export class PetApi extends runtime.BaseAPI { * Returns a single pet * Find pet by ID */ - async getPetById(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getPetById(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getPetByIdRaw(requestParameters, initOverrides); return await response.value(); } @@ -272,7 +272,7 @@ export class PetApi extends runtime.BaseAPI { * * Update an existing pet */ - async updatePetRaw(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updatePetRaw(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.pet === null || requestParameters.pet === undefined) { throw new runtime.RequiredError('pet','Required parameter requestParameters.pet was null or undefined when calling updatePet.'); } @@ -303,7 +303,7 @@ export class PetApi extends runtime.BaseAPI { * * Update an existing pet */ - async updatePet(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updatePet(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updatePetRaw(requestParameters, initOverrides); } @@ -311,7 +311,7 @@ export class PetApi extends runtime.BaseAPI { * * Updates a pet in the store with form data */ - async updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling updatePetWithForm.'); } @@ -362,7 +362,7 @@ export class PetApi extends runtime.BaseAPI { * * Updates a pet in the store with form data */ - async updatePetWithForm(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updatePetWithForm(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updatePetWithFormRaw(requestParameters, initOverrides); } @@ -370,7 +370,7 @@ export class PetApi extends runtime.BaseAPI { * * uploads an image */ - async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling uploadFile.'); } @@ -423,7 +423,7 @@ export class PetApi extends runtime.BaseAPI { * * uploads an image */ - async uploadFile(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async uploadFile(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.uploadFileRaw(requestParameters, initOverrides); return await response.value(); } @@ -432,7 +432,7 @@ export class PetApi extends runtime.BaseAPI { * * uploads an image (required) */ - async uploadFileWithRequiredFileRaw(requestParameters: UploadFileWithRequiredFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async uploadFileWithRequiredFileRaw(requestParameters: UploadFileWithRequiredFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling uploadFileWithRequiredFile.'); } @@ -489,7 +489,7 @@ export class PetApi extends runtime.BaseAPI { * * uploads an image (required) */ - async uploadFileWithRequiredFile(requestParameters: UploadFileWithRequiredFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async uploadFileWithRequiredFile(requestParameters: UploadFileWithRequiredFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.uploadFileWithRequiredFileRaw(requestParameters, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/StoreApi.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/StoreApi.ts index 5dec14f9b8..d37db1c483 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/StoreApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/StoreApi.ts @@ -41,7 +41,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * Delete purchase order by ID */ - async deleteOrderRaw(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deleteOrderRaw(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.orderId === null || requestParameters.orderId === undefined) { throw new runtime.RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling deleteOrder.'); } @@ -64,7 +64,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * Delete purchase order by ID */ - async deleteOrder(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deleteOrder(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteOrderRaw(requestParameters, initOverrides); } @@ -72,7 +72,7 @@ export class StoreApi extends runtime.BaseAPI { * Returns a map of status codes to quantities * Returns pet inventories by status */ - async getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -95,7 +95,7 @@ export class StoreApi extends runtime.BaseAPI { * Returns a map of status codes to quantities * Returns pet inventories by status */ - async getInventory(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<{ [key: string]: number; }> { + async getInventory(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{ [key: string]: number; }> { const response = await this.getInventoryRaw(initOverrides); return await response.value(); } @@ -104,7 +104,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * Find purchase order by ID */ - async getOrderByIdRaw(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getOrderByIdRaw(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.orderId === null || requestParameters.orderId === undefined) { throw new runtime.RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling getOrderById.'); } @@ -127,7 +127,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * Find purchase order by ID */ - async getOrderById(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getOrderById(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getOrderByIdRaw(requestParameters, initOverrides); return await response.value(); } @@ -136,7 +136,7 @@ export class StoreApi extends runtime.BaseAPI { * * Place an order for a pet */ - async placeOrderRaw(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async placeOrderRaw(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.order === null || requestParameters.order === undefined) { throw new runtime.RequiredError('order','Required parameter requestParameters.order was null or undefined when calling placeOrder.'); } @@ -162,7 +162,7 @@ export class StoreApi extends runtime.BaseAPI { * * Place an order for a pet */ - async placeOrder(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async placeOrder(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.placeOrderRaw(requestParameters, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/UserApi.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/UserApi.ts index 3416bdcb9b..cb857dd2ce 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/UserApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/UserApi.ts @@ -59,7 +59,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Create user */ - async createUserRaw(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUserRaw(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.user === null || requestParameters.user === undefined) { throw new runtime.RequiredError('user','Required parameter requestParameters.user was null or undefined when calling createUser.'); } @@ -85,7 +85,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Create user */ - async createUser(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUser(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUserRaw(requestParameters, initOverrides); } @@ -93,7 +93,7 @@ export class UserApi extends runtime.BaseAPI { * * Creates list of users with given input array */ - async createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.user === null || requestParameters.user === undefined) { throw new runtime.RequiredError('user','Required parameter requestParameters.user was null or undefined when calling createUsersWithArrayInput.'); } @@ -119,7 +119,7 @@ export class UserApi extends runtime.BaseAPI { * * Creates list of users with given input array */ - async createUsersWithArrayInput(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUsersWithArrayInput(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUsersWithArrayInputRaw(requestParameters, initOverrides); } @@ -127,7 +127,7 @@ export class UserApi extends runtime.BaseAPI { * * Creates list of users with given input array */ - async createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.user === null || requestParameters.user === undefined) { throw new runtime.RequiredError('user','Required parameter requestParameters.user was null or undefined when calling createUsersWithListInput.'); } @@ -153,7 +153,7 @@ export class UserApi extends runtime.BaseAPI { * * Creates list of users with given input array */ - async createUsersWithListInput(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUsersWithListInput(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUsersWithListInputRaw(requestParameters, initOverrides); } @@ -161,7 +161,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Delete user */ - async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling deleteUser.'); } @@ -184,7 +184,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Delete user */ - async deleteUser(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deleteUser(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteUserRaw(requestParameters, initOverrides); } @@ -192,7 +192,7 @@ export class UserApi extends runtime.BaseAPI { * * Get user by user name */ - async getUserByNameRaw(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getUserByNameRaw(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling getUserByName.'); } @@ -215,7 +215,7 @@ export class UserApi extends runtime.BaseAPI { * * Get user by user name */ - async getUserByName(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getUserByName(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getUserByNameRaw(requestParameters, initOverrides); return await response.value(); } @@ -224,7 +224,7 @@ export class UserApi extends runtime.BaseAPI { * * Logs user into the system */ - async loginUserRaw(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async loginUserRaw(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling loginUser.'); } @@ -259,7 +259,7 @@ export class UserApi extends runtime.BaseAPI { * * Logs user into the system */ - async loginUser(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async loginUser(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.loginUserRaw(requestParameters, initOverrides); return await response.value(); } @@ -268,7 +268,7 @@ export class UserApi extends runtime.BaseAPI { * * Logs out current logged in user session */ - async logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -287,7 +287,7 @@ export class UserApi extends runtime.BaseAPI { * * Logs out current logged in user session */ - async logoutUser(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async logoutUser(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.logoutUserRaw(initOverrides); } @@ -295,7 +295,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Updated user */ - async updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling updateUser.'); } @@ -325,7 +325,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Updated user */ - async updateUser(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updateUser(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updateUserRaw(requestParameters, initOverrides); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/runtime.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/runtime.ts index aa29f74f8a..ea3594773a 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/runtime.ts @@ -113,7 +113,7 @@ export class BaseAPI { return this.withMiddleware(...middlewares); } - protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction): Promise { + protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise { const { url, init } = await this.createFetchParams(context, initOverrides); const response = await this.fetchApi(url, init); if (response.status >= 200 && response.status < 300) { @@ -122,7 +122,7 @@ export class BaseAPI { throw new ResponseError(response, 'Response returned an error code'); } - private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction) { + private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) { let url = this.configuration.basePath + context.path; if (context.query !== undefined && Object.keys(context.query).length !== 0) { // only add the querystring to the URL if there are query parameters. @@ -242,7 +242,7 @@ export type HTTPBody = Json | FormData | URLSearchParams; export type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody } export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original'; -export type InitOverideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise +export type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise export interface FetchParams { url: string; diff --git a/samples/client/petstore/typescript-fetch/builds/default/apis/PetApi.ts b/samples/client/petstore/typescript-fetch/builds/default/apis/PetApi.ts index 419d14c1e6..8ca1d3c520 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/apis/PetApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/apis/PetApi.ts @@ -68,7 +68,7 @@ export class PetApi extends runtime.BaseAPI { /** * Add a new pet to the store */ - async addPetRaw(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async addPetRaw(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling addPet.'); } @@ -98,14 +98,14 @@ export class PetApi extends runtime.BaseAPI { /** * Add a new pet to the store */ - async addPet(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async addPet(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.addPetRaw(requestParameters, initOverrides); } /** * Deletes a pet */ - async deletePetRaw(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deletePetRaw(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling deletePet.'); } @@ -136,7 +136,7 @@ export class PetApi extends runtime.BaseAPI { /** * Deletes a pet */ - async deletePet(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deletePet(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deletePetRaw(requestParameters, initOverrides); } @@ -144,7 +144,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple status values can be provided with comma separated strings * Finds Pets by status */ - async findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>> { + async findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.status === null || requestParameters.status === undefined) { throw new runtime.RequiredError('status','Required parameter requestParameters.status was null or undefined when calling findPetsByStatus.'); } @@ -176,7 +176,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple status values can be provided with comma separated strings * Finds Pets by status */ - async findPetsByStatus(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByStatus(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.findPetsByStatusRaw(requestParameters, initOverrides); return await response.value(); } @@ -185,7 +185,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. * Finds Pets by tags */ - async findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>> { + async findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.tags === null || requestParameters.tags === undefined) { throw new runtime.RequiredError('tags','Required parameter requestParameters.tags was null or undefined when calling findPetsByTags.'); } @@ -217,7 +217,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. * Finds Pets by tags */ - async findPetsByTags(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByTags(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.findPetsByTagsRaw(requestParameters, initOverrides); return await response.value(); } @@ -226,7 +226,7 @@ export class PetApi extends runtime.BaseAPI { * Returns a single pet * Find pet by ID */ - async getPetByIdRaw(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getPetByIdRaw(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling getPetById.'); } @@ -253,7 +253,7 @@ export class PetApi extends runtime.BaseAPI { * Returns a single pet * Find pet by ID */ - async getPetById(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getPetById(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getPetByIdRaw(requestParameters, initOverrides); return await response.value(); } @@ -261,7 +261,7 @@ export class PetApi extends runtime.BaseAPI { /** * Update an existing pet */ - async updatePetRaw(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updatePetRaw(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling updatePet.'); } @@ -291,14 +291,14 @@ export class PetApi extends runtime.BaseAPI { /** * Update an existing pet */ - async updatePet(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updatePet(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updatePetRaw(requestParameters, initOverrides); } /** * Updates a pet in the store with form data */ - async updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling updatePetWithForm.'); } @@ -348,14 +348,14 @@ export class PetApi extends runtime.BaseAPI { /** * Updates a pet in the store with form data */ - async updatePetWithForm(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updatePetWithForm(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updatePetWithFormRaw(requestParameters, initOverrides); } /** * uploads an image */ - async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling uploadFile.'); } @@ -407,7 +407,7 @@ export class PetApi extends runtime.BaseAPI { /** * uploads an image */ - async uploadFile(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async uploadFile(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.uploadFileRaw(requestParameters, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/default/apis/StoreApi.ts b/samples/client/petstore/typescript-fetch/builds/default/apis/StoreApi.ts index 2b1d652567..4f9e60bb3c 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/apis/StoreApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/apis/StoreApi.ts @@ -41,7 +41,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * Delete purchase order by ID */ - async deleteOrderRaw(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deleteOrderRaw(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.orderId === null || requestParameters.orderId === undefined) { throw new runtime.RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling deleteOrder.'); } @@ -64,7 +64,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * Delete purchase order by ID */ - async deleteOrder(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deleteOrder(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteOrderRaw(requestParameters, initOverrides); } @@ -72,7 +72,7 @@ export class StoreApi extends runtime.BaseAPI { * Returns a map of status codes to quantities * Returns pet inventories by status */ - async getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -95,7 +95,7 @@ export class StoreApi extends runtime.BaseAPI { * Returns a map of status codes to quantities * Returns pet inventories by status */ - async getInventory(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<{ [key: string]: number; }> { + async getInventory(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{ [key: string]: number; }> { const response = await this.getInventoryRaw(initOverrides); return await response.value(); } @@ -104,7 +104,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * Find purchase order by ID */ - async getOrderByIdRaw(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getOrderByIdRaw(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.orderId === null || requestParameters.orderId === undefined) { throw new runtime.RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling getOrderById.'); } @@ -127,7 +127,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * Find purchase order by ID */ - async getOrderById(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getOrderById(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getOrderByIdRaw(requestParameters, initOverrides); return await response.value(); } @@ -135,7 +135,7 @@ export class StoreApi extends runtime.BaseAPI { /** * Place an order for a pet */ - async placeOrderRaw(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async placeOrderRaw(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling placeOrder.'); } @@ -160,7 +160,7 @@ export class StoreApi extends runtime.BaseAPI { /** * Place an order for a pet */ - async placeOrder(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async placeOrder(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.placeOrderRaw(requestParameters, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/default/apis/UserApi.ts b/samples/client/petstore/typescript-fetch/builds/default/apis/UserApi.ts index e8d406e9a5..463e18e7c8 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/apis/UserApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/apis/UserApi.ts @@ -59,7 +59,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Create user */ - async createUserRaw(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUserRaw(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUser.'); } @@ -85,14 +85,14 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Create user */ - async createUser(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUser(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUserRaw(requestParameters, initOverrides); } /** * Creates list of users with given input array */ - async createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithArrayInput.'); } @@ -117,14 +117,14 @@ export class UserApi extends runtime.BaseAPI { /** * Creates list of users with given input array */ - async createUsersWithArrayInput(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUsersWithArrayInput(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUsersWithArrayInputRaw(requestParameters, initOverrides); } /** * Creates list of users with given input array */ - async createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithListInput.'); } @@ -149,7 +149,7 @@ export class UserApi extends runtime.BaseAPI { /** * Creates list of users with given input array */ - async createUsersWithListInput(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUsersWithListInput(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUsersWithListInputRaw(requestParameters, initOverrides); } @@ -157,7 +157,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Delete user */ - async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling deleteUser.'); } @@ -180,14 +180,14 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Delete user */ - async deleteUser(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deleteUser(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteUserRaw(requestParameters, initOverrides); } /** * Get user by user name */ - async getUserByNameRaw(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getUserByNameRaw(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling getUserByName.'); } @@ -209,7 +209,7 @@ export class UserApi extends runtime.BaseAPI { /** * Get user by user name */ - async getUserByName(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getUserByName(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getUserByNameRaw(requestParameters, initOverrides); return await response.value(); } @@ -217,7 +217,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs user into the system */ - async loginUserRaw(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async loginUserRaw(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling loginUser.'); } @@ -251,7 +251,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs user into the system */ - async loginUser(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async loginUser(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.loginUserRaw(requestParameters, initOverrides); return await response.value(); } @@ -259,7 +259,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs out current logged in user session */ - async logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -277,7 +277,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs out current logged in user session */ - async logoutUser(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async logoutUser(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.logoutUserRaw(initOverrides); } @@ -285,7 +285,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Updated user */ - async updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling updateUser.'); } @@ -315,7 +315,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Updated user */ - async updateUser(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updateUser(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updateUserRaw(requestParameters, initOverrides); } diff --git a/samples/client/petstore/typescript-fetch/builds/default/runtime.ts b/samples/client/petstore/typescript-fetch/builds/default/runtime.ts index 2467db5527..a8137ef03e 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/runtime.ts @@ -113,7 +113,7 @@ export class BaseAPI { return this.withMiddleware(...middlewares); } - protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction): Promise { + protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise { const { url, init } = await this.createFetchParams(context, initOverrides); const response = await this.fetchApi(url, init); if (response.status >= 200 && response.status < 300) { @@ -122,7 +122,7 @@ export class BaseAPI { throw new ResponseError(response, 'Response returned an error code'); } - private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction) { + private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) { let url = this.configuration.basePath + context.path; if (context.query !== undefined && Object.keys(context.query).length !== 0) { // only add the querystring to the URL if there are query parameters. @@ -242,7 +242,7 @@ export type HTTPBody = Json | FormData | URLSearchParams; export type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody } export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original'; -export type InitOverideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise +export type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise export interface FetchParams { url: string; diff --git a/samples/client/petstore/typescript-fetch/builds/enum/apis/DefaultApi.ts b/samples/client/petstore/typescript-fetch/builds/enum/apis/DefaultApi.ts index f558a4af5b..af798de0ed 100644 --- a/samples/client/petstore/typescript-fetch/builds/enum/apis/DefaultApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/enum/apis/DefaultApi.ts @@ -58,7 +58,7 @@ export class DefaultApi extends runtime.BaseAPI { /** */ - async fakeEnumRequestGetInlineRaw(requestParameters: FakeEnumRequestGetInlineRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async fakeEnumRequestGetInlineRaw(requestParameters: FakeEnumRequestGetInlineRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters.stringEnum !== undefined) { @@ -91,14 +91,14 @@ export class DefaultApi extends runtime.BaseAPI { /** */ - async fakeEnumRequestGetInline(requestParameters: FakeEnumRequestGetInlineRequest = {}, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async fakeEnumRequestGetInline(requestParameters: FakeEnumRequestGetInlineRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.fakeEnumRequestGetInlineRaw(requestParameters, initOverrides); return await response.value(); } /** */ - async fakeEnumRequestGetRefRaw(requestParameters: FakeEnumRequestGetRefRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async fakeEnumRequestGetRefRaw(requestParameters: FakeEnumRequestGetRefRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters.stringEnum !== undefined) { @@ -131,14 +131,14 @@ export class DefaultApi extends runtime.BaseAPI { /** */ - async fakeEnumRequestGetRef(requestParameters: FakeEnumRequestGetRefRequest = {}, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async fakeEnumRequestGetRef(requestParameters: FakeEnumRequestGetRefRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.fakeEnumRequestGetRefRaw(requestParameters, initOverrides); return await response.value(); } /** */ - async fakeEnumRequestPostInlineRaw(requestParameters: FakeEnumRequestPostInlineRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async fakeEnumRequestPostInlineRaw(requestParameters: FakeEnumRequestPostInlineRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -158,14 +158,14 @@ export class DefaultApi extends runtime.BaseAPI { /** */ - async fakeEnumRequestPostInline(requestParameters: FakeEnumRequestPostInlineRequest = {}, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async fakeEnumRequestPostInline(requestParameters: FakeEnumRequestPostInlineRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.fakeEnumRequestPostInlineRaw(requestParameters, initOverrides); return await response.value(); } /** */ - async fakeEnumRequestPostRefRaw(requestParameters: FakeEnumRequestPostRefRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async fakeEnumRequestPostRefRaw(requestParameters: FakeEnumRequestPostRefRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -185,7 +185,7 @@ export class DefaultApi extends runtime.BaseAPI { /** */ - async fakeEnumRequestPostRef(requestParameters: FakeEnumRequestPostRefRequest = {}, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async fakeEnumRequestPostRef(requestParameters: FakeEnumRequestPostRefRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.fakeEnumRequestPostRefRaw(requestParameters, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/enum/runtime.ts b/samples/client/petstore/typescript-fetch/builds/enum/runtime.ts index fbcfb338de..b9cb54736f 100644 --- a/samples/client/petstore/typescript-fetch/builds/enum/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/enum/runtime.ts @@ -113,7 +113,7 @@ export class BaseAPI { return this.withMiddleware(...middlewares); } - protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction): Promise { + protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise { const { url, init } = await this.createFetchParams(context, initOverrides); const response = await this.fetchApi(url, init); if (response.status >= 200 && response.status < 300) { @@ -122,7 +122,7 @@ export class BaseAPI { throw new ResponseError(response, 'Response returned an error code'); } - private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction) { + private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) { let url = this.configuration.basePath + context.path; if (context.query !== undefined && Object.keys(context.query).length !== 0) { // only add the querystring to the URL if there are query parameters. @@ -242,7 +242,7 @@ export type HTTPBody = Json | FormData | URLSearchParams; export type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody } export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original'; -export type InitOverideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise +export type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise export interface FetchParams { url: string; diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/PetApi.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/PetApi.ts index 419d14c1e6..8ca1d3c520 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/PetApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/PetApi.ts @@ -68,7 +68,7 @@ export class PetApi extends runtime.BaseAPI { /** * Add a new pet to the store */ - async addPetRaw(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async addPetRaw(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling addPet.'); } @@ -98,14 +98,14 @@ export class PetApi extends runtime.BaseAPI { /** * Add a new pet to the store */ - async addPet(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async addPet(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.addPetRaw(requestParameters, initOverrides); } /** * Deletes a pet */ - async deletePetRaw(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deletePetRaw(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling deletePet.'); } @@ -136,7 +136,7 @@ export class PetApi extends runtime.BaseAPI { /** * Deletes a pet */ - async deletePet(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deletePet(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deletePetRaw(requestParameters, initOverrides); } @@ -144,7 +144,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple status values can be provided with comma separated strings * Finds Pets by status */ - async findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>> { + async findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.status === null || requestParameters.status === undefined) { throw new runtime.RequiredError('status','Required parameter requestParameters.status was null or undefined when calling findPetsByStatus.'); } @@ -176,7 +176,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple status values can be provided with comma separated strings * Finds Pets by status */ - async findPetsByStatus(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByStatus(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.findPetsByStatusRaw(requestParameters, initOverrides); return await response.value(); } @@ -185,7 +185,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. * Finds Pets by tags */ - async findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>> { + async findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.tags === null || requestParameters.tags === undefined) { throw new runtime.RequiredError('tags','Required parameter requestParameters.tags was null or undefined when calling findPetsByTags.'); } @@ -217,7 +217,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. * Finds Pets by tags */ - async findPetsByTags(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByTags(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.findPetsByTagsRaw(requestParameters, initOverrides); return await response.value(); } @@ -226,7 +226,7 @@ export class PetApi extends runtime.BaseAPI { * Returns a single pet * Find pet by ID */ - async getPetByIdRaw(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getPetByIdRaw(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling getPetById.'); } @@ -253,7 +253,7 @@ export class PetApi extends runtime.BaseAPI { * Returns a single pet * Find pet by ID */ - async getPetById(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getPetById(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getPetByIdRaw(requestParameters, initOverrides); return await response.value(); } @@ -261,7 +261,7 @@ export class PetApi extends runtime.BaseAPI { /** * Update an existing pet */ - async updatePetRaw(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updatePetRaw(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling updatePet.'); } @@ -291,14 +291,14 @@ export class PetApi extends runtime.BaseAPI { /** * Update an existing pet */ - async updatePet(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updatePet(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updatePetRaw(requestParameters, initOverrides); } /** * Updates a pet in the store with form data */ - async updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling updatePetWithForm.'); } @@ -348,14 +348,14 @@ export class PetApi extends runtime.BaseAPI { /** * Updates a pet in the store with form data */ - async updatePetWithForm(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updatePetWithForm(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updatePetWithFormRaw(requestParameters, initOverrides); } /** * uploads an image */ - async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling uploadFile.'); } @@ -407,7 +407,7 @@ export class PetApi extends runtime.BaseAPI { /** * uploads an image */ - async uploadFile(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async uploadFile(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.uploadFileRaw(requestParameters, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/StoreApi.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/StoreApi.ts index 2b1d652567..4f9e60bb3c 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/StoreApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/StoreApi.ts @@ -41,7 +41,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * Delete purchase order by ID */ - async deleteOrderRaw(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deleteOrderRaw(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.orderId === null || requestParameters.orderId === undefined) { throw new runtime.RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling deleteOrder.'); } @@ -64,7 +64,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * Delete purchase order by ID */ - async deleteOrder(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deleteOrder(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteOrderRaw(requestParameters, initOverrides); } @@ -72,7 +72,7 @@ export class StoreApi extends runtime.BaseAPI { * Returns a map of status codes to quantities * Returns pet inventories by status */ - async getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -95,7 +95,7 @@ export class StoreApi extends runtime.BaseAPI { * Returns a map of status codes to quantities * Returns pet inventories by status */ - async getInventory(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<{ [key: string]: number; }> { + async getInventory(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{ [key: string]: number; }> { const response = await this.getInventoryRaw(initOverrides); return await response.value(); } @@ -104,7 +104,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * Find purchase order by ID */ - async getOrderByIdRaw(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getOrderByIdRaw(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.orderId === null || requestParameters.orderId === undefined) { throw new runtime.RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling getOrderById.'); } @@ -127,7 +127,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * Find purchase order by ID */ - async getOrderById(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getOrderById(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getOrderByIdRaw(requestParameters, initOverrides); return await response.value(); } @@ -135,7 +135,7 @@ export class StoreApi extends runtime.BaseAPI { /** * Place an order for a pet */ - async placeOrderRaw(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async placeOrderRaw(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling placeOrder.'); } @@ -160,7 +160,7 @@ export class StoreApi extends runtime.BaseAPI { /** * Place an order for a pet */ - async placeOrder(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async placeOrder(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.placeOrderRaw(requestParameters, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/UserApi.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/UserApi.ts index e8d406e9a5..463e18e7c8 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/UserApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/UserApi.ts @@ -59,7 +59,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Create user */ - async createUserRaw(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUserRaw(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUser.'); } @@ -85,14 +85,14 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Create user */ - async createUser(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUser(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUserRaw(requestParameters, initOverrides); } /** * Creates list of users with given input array */ - async createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithArrayInput.'); } @@ -117,14 +117,14 @@ export class UserApi extends runtime.BaseAPI { /** * Creates list of users with given input array */ - async createUsersWithArrayInput(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUsersWithArrayInput(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUsersWithArrayInputRaw(requestParameters, initOverrides); } /** * Creates list of users with given input array */ - async createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithListInput.'); } @@ -149,7 +149,7 @@ export class UserApi extends runtime.BaseAPI { /** * Creates list of users with given input array */ - async createUsersWithListInput(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUsersWithListInput(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUsersWithListInputRaw(requestParameters, initOverrides); } @@ -157,7 +157,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Delete user */ - async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling deleteUser.'); } @@ -180,14 +180,14 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Delete user */ - async deleteUser(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deleteUser(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteUserRaw(requestParameters, initOverrides); } /** * Get user by user name */ - async getUserByNameRaw(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getUserByNameRaw(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling getUserByName.'); } @@ -209,7 +209,7 @@ export class UserApi extends runtime.BaseAPI { /** * Get user by user name */ - async getUserByName(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getUserByName(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getUserByNameRaw(requestParameters, initOverrides); return await response.value(); } @@ -217,7 +217,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs user into the system */ - async loginUserRaw(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async loginUserRaw(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling loginUser.'); } @@ -251,7 +251,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs user into the system */ - async loginUser(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async loginUser(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.loginUserRaw(requestParameters, initOverrides); return await response.value(); } @@ -259,7 +259,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs out current logged in user session */ - async logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -277,7 +277,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs out current logged in user session */ - async logoutUser(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async logoutUser(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.logoutUserRaw(initOverrides); } @@ -285,7 +285,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Updated user */ - async updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling updateUser.'); } @@ -315,7 +315,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Updated user */ - async updateUser(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updateUser(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updateUserRaw(requestParameters, initOverrides); } diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts index 2467db5527..a8137ef03e 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts @@ -113,7 +113,7 @@ export class BaseAPI { return this.withMiddleware(...middlewares); } - protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction): Promise { + protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise { const { url, init } = await this.createFetchParams(context, initOverrides); const response = await this.fetchApi(url, init); if (response.status >= 200 && response.status < 300) { @@ -122,7 +122,7 @@ export class BaseAPI { throw new ResponseError(response, 'Response returned an error code'); } - private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction) { + private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) { let url = this.configuration.basePath + context.path; if (context.query !== undefined && Object.keys(context.query).length !== 0) { // only add the querystring to the URL if there are query parameters. @@ -242,7 +242,7 @@ export type HTTPBody = Json | FormData | URLSearchParams; export type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody } export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original'; -export type InitOverideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise +export type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise export interface FetchParams { url: string; diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/PetApi.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/PetApi.ts index d4dac24384..4e45619704 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/PetApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/PetApi.ts @@ -68,7 +68,7 @@ export class PetApi extends runtime.BaseAPI { /** * Add a new pet to the store */ - async addPetRaw(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async addPetRaw(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling addPet.'); } @@ -98,14 +98,14 @@ export class PetApi extends runtime.BaseAPI { /** * Add a new pet to the store */ - async addPet(body: Pet, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async addPet(body: Pet, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.addPetRaw({ body: body }, initOverrides); } /** * Deletes a pet */ - async deletePetRaw(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deletePetRaw(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling deletePet.'); } @@ -136,7 +136,7 @@ export class PetApi extends runtime.BaseAPI { /** * Deletes a pet */ - async deletePet(petId: number, apiKey?: string, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deletePet(petId: number, apiKey?: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deletePetRaw({ petId: petId, apiKey: apiKey }, initOverrides); } @@ -144,7 +144,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple status values can be provided with comma separated strings * Finds Pets by status */ - async findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>> { + async findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.status === null || requestParameters.status === undefined) { throw new runtime.RequiredError('status','Required parameter requestParameters.status was null or undefined when calling findPetsByStatus.'); } @@ -176,7 +176,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple status values can be provided with comma separated strings * Finds Pets by status */ - async findPetsByStatus(status: Array, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByStatus(status: Array, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.findPetsByStatusRaw({ status: status }, initOverrides); return await response.value(); } @@ -185,7 +185,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. * Finds Pets by tags */ - async findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>> { + async findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.tags === null || requestParameters.tags === undefined) { throw new runtime.RequiredError('tags','Required parameter requestParameters.tags was null or undefined when calling findPetsByTags.'); } @@ -217,7 +217,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. * Finds Pets by tags */ - async findPetsByTags(tags: Array, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByTags(tags: Array, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.findPetsByTagsRaw({ tags: tags }, initOverrides); return await response.value(); } @@ -226,7 +226,7 @@ export class PetApi extends runtime.BaseAPI { * Returns a single pet * Find pet by ID */ - async getPetByIdRaw(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getPetByIdRaw(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling getPetById.'); } @@ -253,7 +253,7 @@ export class PetApi extends runtime.BaseAPI { * Returns a single pet * Find pet by ID */ - async getPetById(petId: number, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getPetById(petId: number, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getPetByIdRaw({ petId: petId }, initOverrides); return await response.value(); } @@ -261,7 +261,7 @@ export class PetApi extends runtime.BaseAPI { /** * Update an existing pet */ - async updatePetRaw(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updatePetRaw(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling updatePet.'); } @@ -291,14 +291,14 @@ export class PetApi extends runtime.BaseAPI { /** * Update an existing pet */ - async updatePet(body: Pet, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updatePet(body: Pet, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updatePetRaw({ body: body }, initOverrides); } /** * Updates a pet in the store with form data */ - async updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling updatePetWithForm.'); } @@ -348,14 +348,14 @@ export class PetApi extends runtime.BaseAPI { /** * Updates a pet in the store with form data */ - async updatePetWithForm(petId: number, name?: string, status?: string, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updatePetWithForm(petId: number, name?: string, status?: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updatePetWithFormRaw({ petId: petId, name: name, status: status }, initOverrides); } /** * uploads an image */ - async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling uploadFile.'); } @@ -407,7 +407,7 @@ export class PetApi extends runtime.BaseAPI { /** * uploads an image */ - async uploadFile(petId: number, additionalMetadata?: string, file?: Blob, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async uploadFile(petId: number, additionalMetadata?: string, file?: Blob, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.uploadFileRaw({ petId: petId, additionalMetadata: additionalMetadata, file: file }, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/StoreApi.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/StoreApi.ts index a97917709c..38accbe04f 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/StoreApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/StoreApi.ts @@ -41,7 +41,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * Delete purchase order by ID */ - async deleteOrderRaw(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deleteOrderRaw(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.orderId === null || requestParameters.orderId === undefined) { throw new runtime.RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling deleteOrder.'); } @@ -64,7 +64,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * Delete purchase order by ID */ - async deleteOrder(orderId: string, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deleteOrder(orderId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteOrderRaw({ orderId: orderId }, initOverrides); } @@ -72,7 +72,7 @@ export class StoreApi extends runtime.BaseAPI { * Returns a map of status codes to quantities * Returns pet inventories by status */ - async getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -95,7 +95,7 @@ export class StoreApi extends runtime.BaseAPI { * Returns a map of status codes to quantities * Returns pet inventories by status */ - async getInventory(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<{ [key: string]: number; }> { + async getInventory(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{ [key: string]: number; }> { const response = await this.getInventoryRaw(initOverrides); return await response.value(); } @@ -104,7 +104,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * Find purchase order by ID */ - async getOrderByIdRaw(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getOrderByIdRaw(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.orderId === null || requestParameters.orderId === undefined) { throw new runtime.RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling getOrderById.'); } @@ -127,7 +127,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * Find purchase order by ID */ - async getOrderById(orderId: number, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getOrderById(orderId: number, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getOrderByIdRaw({ orderId: orderId }, initOverrides); return await response.value(); } @@ -135,7 +135,7 @@ export class StoreApi extends runtime.BaseAPI { /** * Place an order for a pet */ - async placeOrderRaw(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async placeOrderRaw(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling placeOrder.'); } @@ -160,7 +160,7 @@ export class StoreApi extends runtime.BaseAPI { /** * Place an order for a pet */ - async placeOrder(body: Order, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async placeOrder(body: Order, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.placeOrderRaw({ body: body }, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/UserApi.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/UserApi.ts index 6343b33c4b..b575c0e09c 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/UserApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/UserApi.ts @@ -59,7 +59,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Create user */ - async createUserRaw(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUserRaw(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUser.'); } @@ -85,14 +85,14 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Create user */ - async createUser(body: User, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUser(body: User, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUserRaw({ body: body }, initOverrides); } /** * Creates list of users with given input array */ - async createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithArrayInput.'); } @@ -117,14 +117,14 @@ export class UserApi extends runtime.BaseAPI { /** * Creates list of users with given input array */ - async createUsersWithArrayInput(body: Array, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUsersWithArrayInput(body: Array, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUsersWithArrayInputRaw({ body: body }, initOverrides); } /** * Creates list of users with given input array */ - async createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithListInput.'); } @@ -149,7 +149,7 @@ export class UserApi extends runtime.BaseAPI { /** * Creates list of users with given input array */ - async createUsersWithListInput(body: Array, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUsersWithListInput(body: Array, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUsersWithListInputRaw({ body: body }, initOverrides); } @@ -157,7 +157,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Delete user */ - async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling deleteUser.'); } @@ -180,14 +180,14 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Delete user */ - async deleteUser(username: string, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deleteUser(username: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteUserRaw({ username: username }, initOverrides); } /** * Get user by user name */ - async getUserByNameRaw(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getUserByNameRaw(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling getUserByName.'); } @@ -209,7 +209,7 @@ export class UserApi extends runtime.BaseAPI { /** * Get user by user name */ - async getUserByName(username: string, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getUserByName(username: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getUserByNameRaw({ username: username }, initOverrides); return await response.value(); } @@ -217,7 +217,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs user into the system */ - async loginUserRaw(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async loginUserRaw(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling loginUser.'); } @@ -251,7 +251,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs user into the system */ - async loginUser(username: string, password: string, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async loginUser(username: string, password: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.loginUserRaw({ username: username, password: password }, initOverrides); return await response.value(); } @@ -259,7 +259,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs out current logged in user session */ - async logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -277,7 +277,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs out current logged in user session */ - async logoutUser(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async logoutUser(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.logoutUserRaw(initOverrides); } @@ -285,7 +285,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Updated user */ - async updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling updateUser.'); } @@ -315,7 +315,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Updated user */ - async updateUser(username: string, body: User, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updateUser(username: string, body: User, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updateUserRaw({ username: username, body: body }, initOverrides); } diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/runtime.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/runtime.ts index 2467db5527..a8137ef03e 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/runtime.ts @@ -113,7 +113,7 @@ export class BaseAPI { return this.withMiddleware(...middlewares); } - protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction): Promise { + protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise { const { url, init } = await this.createFetchParams(context, initOverrides); const response = await this.fetchApi(url, init); if (response.status >= 200 && response.status < 300) { @@ -122,7 +122,7 @@ export class BaseAPI { throw new ResponseError(response, 'Response returned an error code'); } - private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction) { + private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) { let url = this.configuration.basePath + context.path; if (context.query !== undefined && Object.keys(context.query).length !== 0) { // only add the querystring to the URL if there are query parameters. @@ -242,7 +242,7 @@ export type HTTPBody = Json | FormData | URLSearchParams; export type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody } export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original'; -export type InitOverideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise +export type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise export interface FetchParams { url: string; diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/PetApi.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/PetApi.ts index b603d0dcc1..5e826e8ccd 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/PetApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/PetApi.ts @@ -68,7 +68,7 @@ export class PetApi extends runtime.BaseAPI { /** * Add a new pet to the store */ - async addPetRaw(requestParameters: PetApiAddPetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async addPetRaw(requestParameters: PetApiAddPetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling addPet.'); } @@ -98,14 +98,14 @@ export class PetApi extends runtime.BaseAPI { /** * Add a new pet to the store */ - async addPet(requestParameters: PetApiAddPetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async addPet(requestParameters: PetApiAddPetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.addPetRaw(requestParameters, initOverrides); } /** * Deletes a pet */ - async deletePetRaw(requestParameters: PetApiDeletePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deletePetRaw(requestParameters: PetApiDeletePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling deletePet.'); } @@ -136,7 +136,7 @@ export class PetApi extends runtime.BaseAPI { /** * Deletes a pet */ - async deletePet(requestParameters: PetApiDeletePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deletePet(requestParameters: PetApiDeletePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deletePetRaw(requestParameters, initOverrides); } @@ -144,7 +144,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple status values can be provided with comma separated strings * Finds Pets by status */ - async findPetsByStatusRaw(requestParameters: PetApiFindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>> { + async findPetsByStatusRaw(requestParameters: PetApiFindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.status === null || requestParameters.status === undefined) { throw new runtime.RequiredError('status','Required parameter requestParameters.status was null or undefined when calling findPetsByStatus.'); } @@ -176,7 +176,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple status values can be provided with comma separated strings * Finds Pets by status */ - async findPetsByStatus(requestParameters: PetApiFindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByStatus(requestParameters: PetApiFindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.findPetsByStatusRaw(requestParameters, initOverrides); return await response.value(); } @@ -185,7 +185,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. * Finds Pets by tags */ - async findPetsByTagsRaw(requestParameters: PetApiFindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>> { + async findPetsByTagsRaw(requestParameters: PetApiFindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.tags === null || requestParameters.tags === undefined) { throw new runtime.RequiredError('tags','Required parameter requestParameters.tags was null or undefined when calling findPetsByTags.'); } @@ -217,7 +217,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. * Finds Pets by tags */ - async findPetsByTags(requestParameters: PetApiFindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByTags(requestParameters: PetApiFindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.findPetsByTagsRaw(requestParameters, initOverrides); return await response.value(); } @@ -226,7 +226,7 @@ export class PetApi extends runtime.BaseAPI { * Returns a single pet * Find pet by ID */ - async getPetByIdRaw(requestParameters: PetApiGetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getPetByIdRaw(requestParameters: PetApiGetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling getPetById.'); } @@ -253,7 +253,7 @@ export class PetApi extends runtime.BaseAPI { * Returns a single pet * Find pet by ID */ - async getPetById(requestParameters: PetApiGetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getPetById(requestParameters: PetApiGetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getPetByIdRaw(requestParameters, initOverrides); return await response.value(); } @@ -261,7 +261,7 @@ export class PetApi extends runtime.BaseAPI { /** * Update an existing pet */ - async updatePetRaw(requestParameters: PetApiUpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updatePetRaw(requestParameters: PetApiUpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling updatePet.'); } @@ -291,14 +291,14 @@ export class PetApi extends runtime.BaseAPI { /** * Update an existing pet */ - async updatePet(requestParameters: PetApiUpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updatePet(requestParameters: PetApiUpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updatePetRaw(requestParameters, initOverrides); } /** * Updates a pet in the store with form data */ - async updatePetWithFormRaw(requestParameters: PetApiUpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updatePetWithFormRaw(requestParameters: PetApiUpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling updatePetWithForm.'); } @@ -348,14 +348,14 @@ export class PetApi extends runtime.BaseAPI { /** * Updates a pet in the store with form data */ - async updatePetWithForm(requestParameters: PetApiUpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updatePetWithForm(requestParameters: PetApiUpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updatePetWithFormRaw(requestParameters, initOverrides); } /** * uploads an image */ - async uploadFileRaw(requestParameters: PetApiUploadFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async uploadFileRaw(requestParameters: PetApiUploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling uploadFile.'); } @@ -407,7 +407,7 @@ export class PetApi extends runtime.BaseAPI { /** * uploads an image */ - async uploadFile(requestParameters: PetApiUploadFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async uploadFile(requestParameters: PetApiUploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.uploadFileRaw(requestParameters, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/StoreApi.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/StoreApi.ts index 8244488d2c..0f950c9195 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/StoreApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/StoreApi.ts @@ -41,7 +41,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * Delete purchase order by ID */ - async deleteOrderRaw(requestParameters: StoreApiDeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deleteOrderRaw(requestParameters: StoreApiDeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.orderId === null || requestParameters.orderId === undefined) { throw new runtime.RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling deleteOrder.'); } @@ -64,7 +64,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * Delete purchase order by ID */ - async deleteOrder(requestParameters: StoreApiDeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deleteOrder(requestParameters: StoreApiDeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteOrderRaw(requestParameters, initOverrides); } @@ -72,7 +72,7 @@ export class StoreApi extends runtime.BaseAPI { * Returns a map of status codes to quantities * Returns pet inventories by status */ - async getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -95,7 +95,7 @@ export class StoreApi extends runtime.BaseAPI { * Returns a map of status codes to quantities * Returns pet inventories by status */ - async getInventory(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<{ [key: string]: number; }> { + async getInventory(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{ [key: string]: number; }> { const response = await this.getInventoryRaw(initOverrides); return await response.value(); } @@ -104,7 +104,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * Find purchase order by ID */ - async getOrderByIdRaw(requestParameters: StoreApiGetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getOrderByIdRaw(requestParameters: StoreApiGetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.orderId === null || requestParameters.orderId === undefined) { throw new runtime.RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling getOrderById.'); } @@ -127,7 +127,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * Find purchase order by ID */ - async getOrderById(requestParameters: StoreApiGetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getOrderById(requestParameters: StoreApiGetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getOrderByIdRaw(requestParameters, initOverrides); return await response.value(); } @@ -135,7 +135,7 @@ export class StoreApi extends runtime.BaseAPI { /** * Place an order for a pet */ - async placeOrderRaw(requestParameters: StoreApiPlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async placeOrderRaw(requestParameters: StoreApiPlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling placeOrder.'); } @@ -160,7 +160,7 @@ export class StoreApi extends runtime.BaseAPI { /** * Place an order for a pet */ - async placeOrder(requestParameters: StoreApiPlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async placeOrder(requestParameters: StoreApiPlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.placeOrderRaw(requestParameters, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/UserApi.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/UserApi.ts index ded5eec3cb..e927505a86 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/UserApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/UserApi.ts @@ -59,7 +59,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Create user */ - async createUserRaw(requestParameters: UserApiCreateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUserRaw(requestParameters: UserApiCreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUser.'); } @@ -85,14 +85,14 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Create user */ - async createUser(requestParameters: UserApiCreateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUser(requestParameters: UserApiCreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUserRaw(requestParameters, initOverrides); } /** * Creates list of users with given input array */ - async createUsersWithArrayInputRaw(requestParameters: UserApiCreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUsersWithArrayInputRaw(requestParameters: UserApiCreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithArrayInput.'); } @@ -117,14 +117,14 @@ export class UserApi extends runtime.BaseAPI { /** * Creates list of users with given input array */ - async createUsersWithArrayInput(requestParameters: UserApiCreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUsersWithArrayInput(requestParameters: UserApiCreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUsersWithArrayInputRaw(requestParameters, initOverrides); } /** * Creates list of users with given input array */ - async createUsersWithListInputRaw(requestParameters: UserApiCreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUsersWithListInputRaw(requestParameters: UserApiCreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithListInput.'); } @@ -149,7 +149,7 @@ export class UserApi extends runtime.BaseAPI { /** * Creates list of users with given input array */ - async createUsersWithListInput(requestParameters: UserApiCreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUsersWithListInput(requestParameters: UserApiCreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUsersWithListInputRaw(requestParameters, initOverrides); } @@ -157,7 +157,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Delete user */ - async deleteUserRaw(requestParameters: UserApiDeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deleteUserRaw(requestParameters: UserApiDeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling deleteUser.'); } @@ -180,14 +180,14 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Delete user */ - async deleteUser(requestParameters: UserApiDeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deleteUser(requestParameters: UserApiDeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteUserRaw(requestParameters, initOverrides); } /** * Get user by user name */ - async getUserByNameRaw(requestParameters: UserApiGetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getUserByNameRaw(requestParameters: UserApiGetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling getUserByName.'); } @@ -209,7 +209,7 @@ export class UserApi extends runtime.BaseAPI { /** * Get user by user name */ - async getUserByName(requestParameters: UserApiGetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getUserByName(requestParameters: UserApiGetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getUserByNameRaw(requestParameters, initOverrides); return await response.value(); } @@ -217,7 +217,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs user into the system */ - async loginUserRaw(requestParameters: UserApiLoginUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async loginUserRaw(requestParameters: UserApiLoginUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling loginUser.'); } @@ -251,7 +251,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs user into the system */ - async loginUser(requestParameters: UserApiLoginUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async loginUser(requestParameters: UserApiLoginUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.loginUserRaw(requestParameters, initOverrides); return await response.value(); } @@ -259,7 +259,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs out current logged in user session */ - async logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -277,7 +277,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs out current logged in user session */ - async logoutUser(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async logoutUser(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.logoutUserRaw(initOverrides); } @@ -285,7 +285,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Updated user */ - async updateUserRaw(requestParameters: UserApiUpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updateUserRaw(requestParameters: UserApiUpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling updateUser.'); } @@ -315,7 +315,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Updated user */ - async updateUser(requestParameters: UserApiUpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updateUser(requestParameters: UserApiUpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updateUserRaw(requestParameters, initOverrides); } diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts index 2467db5527..a8137ef03e 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts @@ -113,7 +113,7 @@ export class BaseAPI { return this.withMiddleware(...middlewares); } - protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction): Promise { + protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise { const { url, init } = await this.createFetchParams(context, initOverrides); const response = await this.fetchApi(url, init); if (response.status >= 200 && response.status < 300) { @@ -122,7 +122,7 @@ export class BaseAPI { throw new ResponseError(response, 'Response returned an error code'); } - private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction) { + private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) { let url = this.configuration.basePath + context.path; if (context.query !== undefined && Object.keys(context.query).length !== 0) { // only add the querystring to the URL if there are query parameters. @@ -242,7 +242,7 @@ export type HTTPBody = Json | FormData | URLSearchParams; export type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody } export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original'; -export type InitOverideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise +export type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise export interface FetchParams { url: string; diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/BehaviorApi.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/BehaviorApi.ts index 5ef1a7c75e..b2da563fe4 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/BehaviorApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/BehaviorApi.ts @@ -39,7 +39,7 @@ export class BehaviorApi extends runtime.BaseAPI { /** * Get permissions for the behavior */ - async getBehaviorPermissionsRaw(requestParameters: GetBehaviorPermissionsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getBehaviorPermissionsRaw(requestParameters: GetBehaviorPermissionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.behaviorId === null || requestParameters.behaviorId === undefined) { throw new runtime.RequiredError('behaviorId','Required parameter requestParameters.behaviorId was null or undefined when calling getBehaviorPermissions.'); } @@ -61,7 +61,7 @@ export class BehaviorApi extends runtime.BaseAPI { /** * Get permissions for the behavior */ - async getBehaviorPermissions(behaviorId: number, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getBehaviorPermissions(behaviorId: number, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getBehaviorPermissionsRaw({ behaviorId: behaviorId }, initOverrides); return await response.value(); } @@ -69,7 +69,7 @@ export class BehaviorApi extends runtime.BaseAPI { /** * Get the type of behavior */ - async getBehaviorTypeRaw(requestParameters: GetBehaviorTypeRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getBehaviorTypeRaw(requestParameters: GetBehaviorTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.behaviorId === null || requestParameters.behaviorId === undefined) { throw new runtime.RequiredError('behaviorId','Required parameter requestParameters.behaviorId was null or undefined when calling getBehaviorType.'); } @@ -91,7 +91,7 @@ export class BehaviorApi extends runtime.BaseAPI { /** * Get the type of behavior */ - async getBehaviorType(behaviorId: number, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getBehaviorType(behaviorId: number, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getBehaviorTypeRaw({ behaviorId: behaviorId }, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/PetApi.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/PetApi.ts index 904263101c..4f6c11ea8b 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/PetApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/PetApi.ts @@ -97,7 +97,7 @@ export class PetApi extends runtime.BaseAPI { /** * Add a new pet to the store */ - async addPetRaw(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async addPetRaw(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.dummyCat === null || requestParameters.dummyCat === undefined) { throw new runtime.RequiredError('dummyCat','Required parameter requestParameters.dummyCat was null or undefined when calling addPet.'); } @@ -127,14 +127,14 @@ export class PetApi extends runtime.BaseAPI { /** * Add a new pet to the store */ - async addPet(dummyCat: Category, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async addPet(dummyCat: Category, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.addPetRaw({ dummyCat: dummyCat }, initOverrides); } /** * Deletes a pet */ - async deletePetRaw(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deletePetRaw(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling deletePet.'); } @@ -165,7 +165,7 @@ export class PetApi extends runtime.BaseAPI { /** * Deletes a pet */ - async deletePet(petId: number, apiKey?: string, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deletePet(petId: number, apiKey?: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deletePetRaw({ petId: petId, apiKey: apiKey }, initOverrides); } @@ -173,7 +173,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple ids can be provided with comma separated strings. * Finds Pets by ids */ - async findPetsByIdsRaw(requestParameters: FindPetsByIdsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>> { + async findPetsByIdsRaw(requestParameters: FindPetsByIdsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.ids === null || requestParameters.ids === undefined) { throw new runtime.RequiredError('ids','Required parameter requestParameters.ids was null or undefined when calling findPetsByIds.'); } @@ -205,7 +205,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple ids can be provided with comma separated strings. * Finds Pets by ids */ - async findPetsByIds(ids: Array, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByIds(ids: Array, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.findPetsByIdsRaw({ ids: ids }, initOverrides); return await response.value(); } @@ -214,7 +214,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple status values can be provided with comma separated strings * Finds Pets by status */ - async findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.status === null || requestParameters.status === undefined) { throw new runtime.RequiredError('status','Required parameter requestParameters.status was null or undefined when calling findPetsByStatus.'); } @@ -246,7 +246,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple status values can be provided with comma separated strings * Finds Pets by status */ - async findPetsByStatus(status: Array, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async findPetsByStatus(status: Array, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.findPetsByStatusRaw({ status: status }, initOverrides); return await response.value(); } @@ -255,7 +255,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. * Finds Pets by tags */ - async findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>> { + async findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.tags === null || requestParameters.tags === undefined) { throw new runtime.RequiredError('tags','Required parameter requestParameters.tags was null or undefined when calling findPetsByTags.'); } @@ -287,7 +287,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. * Finds Pets by tags */ - async findPetsByTags(tags: Array, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByTags(tags: Array, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.findPetsByTagsRaw({ tags: tags }, initOverrides); return await response.value(); } @@ -296,7 +296,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple ids can be provided with comma separated strings. * Finds Pets by user ids */ - async findPetsByUserIdsRaw(requestParameters: FindPetsByUserIdsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByUserIdsRaw(requestParameters: FindPetsByUserIdsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.ids === null || requestParameters.ids === undefined) { throw new runtime.RequiredError('ids','Required parameter requestParameters.ids was null or undefined when calling findPetsByUserIds.'); } @@ -328,7 +328,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple ids can be provided with comma separated strings. * Finds Pets by user ids */ - async findPetsByUserIds(ids: Array, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async findPetsByUserIds(ids: Array, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.findPetsByUserIdsRaw({ ids: ids }, initOverrides); return await response.value(); } @@ -337,7 +337,7 @@ export class PetApi extends runtime.BaseAPI { * Returns a single pet * Find pet by ID */ - async getPetByIdRaw(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getPetByIdRaw(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling getPetById.'); } @@ -364,7 +364,7 @@ export class PetApi extends runtime.BaseAPI { * Returns a single pet * Find pet by ID */ - async getPetById(petId: number, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getPetById(petId: number, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getPetByIdRaw({ petId: petId }, initOverrides); return await response.value(); } @@ -372,7 +372,7 @@ export class PetApi extends runtime.BaseAPI { /** * Gets regions for a single pet. */ - async getPetRegionsRaw(requestParameters: GetPetRegionsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getPetRegionsRaw(requestParameters: GetPetRegionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling getPetRegions.'); } @@ -394,7 +394,7 @@ export class PetApi extends runtime.BaseAPI { /** * Gets regions for a single pet. */ - async getPetRegions(petId: number, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getPetRegions(petId: number, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getPetRegionsRaw({ petId: petId }, initOverrides); return await response.value(); } @@ -402,7 +402,7 @@ export class PetApi extends runtime.BaseAPI { /** * Update an existing pet */ - async updatePetRaw(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updatePetRaw(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling updatePet.'); } @@ -432,14 +432,14 @@ export class PetApi extends runtime.BaseAPI { /** * Update an existing pet */ - async updatePet(body: Pet, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updatePet(body: Pet, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updatePetRaw({ body: body }, initOverrides); } /** * Updates the pet regions. */ - async updatePetRegionsRaw(requestParameters: UpdatePetRegionsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updatePetRegionsRaw(requestParameters: UpdatePetRegionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling updatePetRegions.'); } @@ -468,7 +468,7 @@ export class PetApi extends runtime.BaseAPI { /** * Updates the pet regions. */ - async updatePetRegions(petId: number, newRegions: Array>, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updatePetRegions(petId: number, newRegions: Array>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.updatePetRegionsRaw({ petId: petId, newRegions: newRegions }, initOverrides); return await response.value(); } @@ -476,7 +476,7 @@ export class PetApi extends runtime.BaseAPI { /** * Updates a pet in the store with form data */ - async updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling updatePetWithForm.'); } @@ -526,14 +526,14 @@ export class PetApi extends runtime.BaseAPI { /** * Updates a pet in the store with form data */ - async updatePetWithForm(petId: number, name?: string, status?: string, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updatePetWithForm(petId: number, name?: string, status?: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updatePetWithFormRaw({ petId: petId, name: name, status: status }, initOverrides); } /** * uploads an image */ - async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling uploadFile.'); } @@ -585,7 +585,7 @@ export class PetApi extends runtime.BaseAPI { /** * uploads an image */ - async uploadFile(petId: number, additionalMetadata?: string, file?: Blob, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async uploadFile(petId: number, additionalMetadata?: string, file?: Blob, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.uploadFileRaw({ petId: petId, additionalMetadata: additionalMetadata, file: file }, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/PetPartApi.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/PetPartApi.ts index fe623bdf8a..dd6425e6d9 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/PetPartApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/PetPartApi.ts @@ -44,7 +44,7 @@ export class PetPartApi extends runtime.BaseAPI { /** * Returns single pet part type for the petPart id. */ - async getFakePetPartTypeRaw(requestParameters: GetFakePetPartTypeRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getFakePetPartTypeRaw(requestParameters: GetFakePetPartTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.fakePetPartId === null || requestParameters.fakePetPartId === undefined) { throw new runtime.RequiredError('fakePetPartId','Required parameter requestParameters.fakePetPartId was null or undefined when calling getFakePetPartType.'); } @@ -66,7 +66,7 @@ export class PetPartApi extends runtime.BaseAPI { /** * Returns single pet part type for the petPart id. */ - async getFakePetPartType(fakePetPartId: number, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getFakePetPartType(fakePetPartId: number, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getFakePetPartTypeRaw({ fakePetPartId: fakePetPartId }, initOverrides); return await response.value(); } @@ -74,7 +74,7 @@ export class PetPartApi extends runtime.BaseAPI { /** * Get the matching parts for the given pet part. */ - async getMatchingPartsRaw(requestParameters: GetMatchingPartsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getMatchingPartsRaw(requestParameters: GetMatchingPartsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.fakePetPartId === null || requestParameters.fakePetPartId === undefined) { throw new runtime.RequiredError('fakePetPartId','Required parameter requestParameters.fakePetPartId was null or undefined when calling getMatchingParts.'); } @@ -128,7 +128,7 @@ export class PetPartApi extends runtime.BaseAPI { /** * Get the matching parts for the given pet part. */ - async getMatchingParts(fakePetPartId: number, _long: boolean, smooth: boolean, _short: boolean, name?: string, connectedPart?: string, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getMatchingParts(fakePetPartId: number, _long: boolean, smooth: boolean, _short: boolean, name?: string, connectedPart?: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getMatchingPartsRaw({ fakePetPartId: fakePetPartId, _long: _long, smooth: smooth, _short: _short, name: name, connectedPart: connectedPart }, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/StoreApi.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/StoreApi.ts index a97917709c..38accbe04f 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/StoreApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/StoreApi.ts @@ -41,7 +41,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * Delete purchase order by ID */ - async deleteOrderRaw(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deleteOrderRaw(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.orderId === null || requestParameters.orderId === undefined) { throw new runtime.RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling deleteOrder.'); } @@ -64,7 +64,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * Delete purchase order by ID */ - async deleteOrder(orderId: string, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deleteOrder(orderId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteOrderRaw({ orderId: orderId }, initOverrides); } @@ -72,7 +72,7 @@ export class StoreApi extends runtime.BaseAPI { * Returns a map of status codes to quantities * Returns pet inventories by status */ - async getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -95,7 +95,7 @@ export class StoreApi extends runtime.BaseAPI { * Returns a map of status codes to quantities * Returns pet inventories by status */ - async getInventory(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<{ [key: string]: number; }> { + async getInventory(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{ [key: string]: number; }> { const response = await this.getInventoryRaw(initOverrides); return await response.value(); } @@ -104,7 +104,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * Find purchase order by ID */ - async getOrderByIdRaw(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getOrderByIdRaw(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.orderId === null || requestParameters.orderId === undefined) { throw new runtime.RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling getOrderById.'); } @@ -127,7 +127,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * Find purchase order by ID */ - async getOrderById(orderId: number, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getOrderById(orderId: number, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getOrderByIdRaw({ orderId: orderId }, initOverrides); return await response.value(); } @@ -135,7 +135,7 @@ export class StoreApi extends runtime.BaseAPI { /** * Place an order for a pet */ - async placeOrderRaw(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async placeOrderRaw(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling placeOrder.'); } @@ -160,7 +160,7 @@ export class StoreApi extends runtime.BaseAPI { /** * Place an order for a pet */ - async placeOrder(body: Order, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async placeOrder(body: Order, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.placeOrderRaw({ body: body }, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/UserApi.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/UserApi.ts index 0ea0fc59b6..f2249391b7 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/UserApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/UserApi.ts @@ -62,7 +62,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Create user */ - async createUserRaw(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUserRaw(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUser.'); } @@ -88,14 +88,14 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Create user */ - async createUser(body: User, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUser(body: User, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUserRaw({ body: body }, initOverrides); } /** * Creates list of users with given input array */ - async createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithArrayInput.'); } @@ -120,14 +120,14 @@ export class UserApi extends runtime.BaseAPI { /** * Creates list of users with given input array */ - async createUsersWithArrayInput(body: Array, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUsersWithArrayInput(body: Array, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUsersWithArrayInputRaw({ body: body }, initOverrides); } /** * Creates list of users with given input array */ - async createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithListInput.'); } @@ -152,7 +152,7 @@ export class UserApi extends runtime.BaseAPI { /** * Creates list of users with given input array */ - async createUsersWithListInput(body: Array, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUsersWithListInput(body: Array, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUsersWithListInputRaw({ body: body }, initOverrides); } @@ -160,7 +160,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Delete user */ - async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling deleteUser.'); } @@ -183,14 +183,14 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Delete user */ - async deleteUser(username: string, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deleteUser(username: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteUserRaw({ username: username }, initOverrides); } /** * Get user by user name */ - async getUserByNameRaw(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getUserByNameRaw(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling getUserByName.'); } @@ -212,7 +212,7 @@ export class UserApi extends runtime.BaseAPI { /** * Get user by user name */ - async getUserByName(username: string, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getUserByName(username: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getUserByNameRaw({ username: username }, initOverrides); return await response.value(); } @@ -220,7 +220,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs user into the system */ - async loginUserRaw(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async loginUserRaw(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling loginUser.'); } @@ -254,7 +254,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs user into the system */ - async loginUser(username: string, password: string, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async loginUser(username: string, password: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.loginUserRaw({ username: username, password: password }, initOverrides); return await response.value(); } @@ -262,7 +262,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs out current logged in user session */ - async logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -280,7 +280,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs out current logged in user session */ - async logoutUser(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async logoutUser(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.logoutUserRaw(initOverrides); } @@ -288,7 +288,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Updated user */ - async updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling updateUser.'); } @@ -318,7 +318,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Updated user */ - async updateUser(username: string, body: User, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updateUser(username: string, body: User, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.updateUserRaw({ username: username, body: body }, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/runtime.ts index 2467db5527..a8137ef03e 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/runtime.ts @@ -113,7 +113,7 @@ export class BaseAPI { return this.withMiddleware(...middlewares); } - protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction): Promise { + protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise { const { url, init } = await this.createFetchParams(context, initOverrides); const response = await this.fetchApi(url, init); if (response.status >= 200 && response.status < 300) { @@ -122,7 +122,7 @@ export class BaseAPI { throw new ResponseError(response, 'Response returned an error code'); } - private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction) { + private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) { let url = this.configuration.basePath + context.path; if (context.query !== undefined && Object.keys(context.query).length !== 0) { // only add the querystring to the URL if there are query parameters. @@ -242,7 +242,7 @@ export type HTTPBody = Json | FormData | URLSearchParams; export type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody } export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original'; -export type InitOverideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise +export type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise export interface FetchParams { url: string; diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/PetApi.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/PetApi.ts index ef9f3ddcdb..37fbe15ed5 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/PetApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/PetApi.ts @@ -75,12 +75,12 @@ export interface PetApiInterface { * @throws {RequiredError} * @memberof PetApiInterface */ - addPetRaw(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + addPetRaw(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Add a new pet to the store */ - addPet(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise; + addPet(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * @@ -91,12 +91,12 @@ export interface PetApiInterface { * @throws {RequiredError} * @memberof PetApiInterface */ - deletePetRaw(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + deletePetRaw(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Deletes a pet */ - deletePet(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise; + deletePet(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Multiple status values can be provided with comma separated strings @@ -106,13 +106,13 @@ export interface PetApiInterface { * @throws {RequiredError} * @memberof PetApiInterface */ - findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>>; + findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>>; /** * Multiple status values can be provided with comma separated strings * Finds Pets by status */ - findPetsByStatus(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + findPetsByStatus(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. @@ -123,13 +123,13 @@ export interface PetApiInterface { * @throws {RequiredError} * @memberof PetApiInterface */ - findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>>; + findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>>; /** * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. * Finds Pets by tags */ - findPetsByTags(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + findPetsByTags(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Returns a single pet @@ -139,13 +139,13 @@ export interface PetApiInterface { * @throws {RequiredError} * @memberof PetApiInterface */ - getPetByIdRaw(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + getPetByIdRaw(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Returns a single pet * Find pet by ID */ - getPetById(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise; + getPetById(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * @@ -155,12 +155,12 @@ export interface PetApiInterface { * @throws {RequiredError} * @memberof PetApiInterface */ - updatePetRaw(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + updatePetRaw(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Update an existing pet */ - updatePet(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise; + updatePet(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * @@ -172,12 +172,12 @@ export interface PetApiInterface { * @throws {RequiredError} * @memberof PetApiInterface */ - updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Updates a pet in the store with form data */ - updatePetWithForm(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise; + updatePetWithForm(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * @@ -189,12 +189,12 @@ export interface PetApiInterface { * @throws {RequiredError} * @memberof PetApiInterface */ - uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * uploads an image */ - uploadFile(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise; + uploadFile(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } @@ -206,7 +206,7 @@ export class PetApi extends runtime.BaseAPI implements PetApiInterface { /** * Add a new pet to the store */ - async addPetRaw(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async addPetRaw(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling addPet.'); } @@ -236,14 +236,14 @@ export class PetApi extends runtime.BaseAPI implements PetApiInterface { /** * Add a new pet to the store */ - async addPet(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async addPet(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.addPetRaw(requestParameters, initOverrides); } /** * Deletes a pet */ - async deletePetRaw(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deletePetRaw(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling deletePet.'); } @@ -274,7 +274,7 @@ export class PetApi extends runtime.BaseAPI implements PetApiInterface { /** * Deletes a pet */ - async deletePet(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deletePet(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deletePetRaw(requestParameters, initOverrides); } @@ -282,7 +282,7 @@ export class PetApi extends runtime.BaseAPI implements PetApiInterface { * Multiple status values can be provided with comma separated strings * Finds Pets by status */ - async findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>> { + async findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.status === null || requestParameters.status === undefined) { throw new runtime.RequiredError('status','Required parameter requestParameters.status was null or undefined when calling findPetsByStatus.'); } @@ -314,7 +314,7 @@ export class PetApi extends runtime.BaseAPI implements PetApiInterface { * Multiple status values can be provided with comma separated strings * Finds Pets by status */ - async findPetsByStatus(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByStatus(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.findPetsByStatusRaw(requestParameters, initOverrides); return await response.value(); } @@ -323,7 +323,7 @@ export class PetApi extends runtime.BaseAPI implements PetApiInterface { * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. * Finds Pets by tags */ - async findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>> { + async findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.tags === null || requestParameters.tags === undefined) { throw new runtime.RequiredError('tags','Required parameter requestParameters.tags was null or undefined when calling findPetsByTags.'); } @@ -355,7 +355,7 @@ export class PetApi extends runtime.BaseAPI implements PetApiInterface { * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. * Finds Pets by tags */ - async findPetsByTags(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByTags(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.findPetsByTagsRaw(requestParameters, initOverrides); return await response.value(); } @@ -364,7 +364,7 @@ export class PetApi extends runtime.BaseAPI implements PetApiInterface { * Returns a single pet * Find pet by ID */ - async getPetByIdRaw(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getPetByIdRaw(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling getPetById.'); } @@ -391,7 +391,7 @@ export class PetApi extends runtime.BaseAPI implements PetApiInterface { * Returns a single pet * Find pet by ID */ - async getPetById(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getPetById(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getPetByIdRaw(requestParameters, initOverrides); return await response.value(); } @@ -399,7 +399,7 @@ export class PetApi extends runtime.BaseAPI implements PetApiInterface { /** * Update an existing pet */ - async updatePetRaw(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updatePetRaw(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling updatePet.'); } @@ -429,14 +429,14 @@ export class PetApi extends runtime.BaseAPI implements PetApiInterface { /** * Update an existing pet */ - async updatePet(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updatePet(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updatePetRaw(requestParameters, initOverrides); } /** * Updates a pet in the store with form data */ - async updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling updatePetWithForm.'); } @@ -486,14 +486,14 @@ export class PetApi extends runtime.BaseAPI implements PetApiInterface { /** * Updates a pet in the store with form data */ - async updatePetWithForm(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updatePetWithForm(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updatePetWithFormRaw(requestParameters, initOverrides); } /** * uploads an image */ - async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling uploadFile.'); } @@ -545,7 +545,7 @@ export class PetApi extends runtime.BaseAPI implements PetApiInterface { /** * uploads an image */ - async uploadFile(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async uploadFile(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.uploadFileRaw(requestParameters, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/StoreApi.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/StoreApi.ts index b8f013d194..e478e1c847 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/StoreApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/StoreApi.ts @@ -47,13 +47,13 @@ export interface StoreApiInterface { * @throws {RequiredError} * @memberof StoreApiInterface */ - deleteOrderRaw(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + deleteOrderRaw(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * Delete purchase order by ID */ - deleteOrder(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise; + deleteOrder(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Returns a map of status codes to quantities @@ -62,13 +62,13 @@ export interface StoreApiInterface { * @throws {RequiredError} * @memberof StoreApiInterface */ - getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Returns a map of status codes to quantities * Returns pet inventories by status */ - getInventory(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<{ [key: string]: number; }>; + getInventory(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{ [key: string]: number; }>; /** * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions @@ -78,13 +78,13 @@ export interface StoreApiInterface { * @throws {RequiredError} * @memberof StoreApiInterface */ - getOrderByIdRaw(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + getOrderByIdRaw(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * Find purchase order by ID */ - getOrderById(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise; + getOrderById(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * @@ -94,12 +94,12 @@ export interface StoreApiInterface { * @throws {RequiredError} * @memberof StoreApiInterface */ - placeOrderRaw(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + placeOrderRaw(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Place an order for a pet */ - placeOrder(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise; + placeOrder(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } @@ -112,7 +112,7 @@ export class StoreApi extends runtime.BaseAPI implements StoreApiInterface { * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * Delete purchase order by ID */ - async deleteOrderRaw(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deleteOrderRaw(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.orderId === null || requestParameters.orderId === undefined) { throw new runtime.RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling deleteOrder.'); } @@ -135,7 +135,7 @@ export class StoreApi extends runtime.BaseAPI implements StoreApiInterface { * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * Delete purchase order by ID */ - async deleteOrder(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deleteOrder(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteOrderRaw(requestParameters, initOverrides); } @@ -143,7 +143,7 @@ export class StoreApi extends runtime.BaseAPI implements StoreApiInterface { * Returns a map of status codes to quantities * Returns pet inventories by status */ - async getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -166,7 +166,7 @@ export class StoreApi extends runtime.BaseAPI implements StoreApiInterface { * Returns a map of status codes to quantities * Returns pet inventories by status */ - async getInventory(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<{ [key: string]: number; }> { + async getInventory(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{ [key: string]: number; }> { const response = await this.getInventoryRaw(initOverrides); return await response.value(); } @@ -175,7 +175,7 @@ export class StoreApi extends runtime.BaseAPI implements StoreApiInterface { * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * Find purchase order by ID */ - async getOrderByIdRaw(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getOrderByIdRaw(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.orderId === null || requestParameters.orderId === undefined) { throw new runtime.RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling getOrderById.'); } @@ -198,7 +198,7 @@ export class StoreApi extends runtime.BaseAPI implements StoreApiInterface { * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * Find purchase order by ID */ - async getOrderById(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getOrderById(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getOrderByIdRaw(requestParameters, initOverrides); return await response.value(); } @@ -206,7 +206,7 @@ export class StoreApi extends runtime.BaseAPI implements StoreApiInterface { /** * Place an order for a pet */ - async placeOrderRaw(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async placeOrderRaw(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling placeOrder.'); } @@ -231,7 +231,7 @@ export class StoreApi extends runtime.BaseAPI implements StoreApiInterface { /** * Place an order for a pet */ - async placeOrder(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async placeOrder(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.placeOrderRaw(requestParameters, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/UserApi.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/UserApi.ts index 167340c427..e809889858 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/UserApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/UserApi.ts @@ -65,13 +65,13 @@ export interface UserApiInterface { * @throws {RequiredError} * @memberof UserApiInterface */ - createUserRaw(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + createUserRaw(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * This can only be done by the logged in user. * Create user */ - createUser(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise; + createUser(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * @@ -81,12 +81,12 @@ export interface UserApiInterface { * @throws {RequiredError} * @memberof UserApiInterface */ - createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Creates list of users with given input array */ - createUsersWithArrayInput(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise; + createUsersWithArrayInput(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * @@ -96,12 +96,12 @@ export interface UserApiInterface { * @throws {RequiredError} * @memberof UserApiInterface */ - createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Creates list of users with given input array */ - createUsersWithListInput(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise; + createUsersWithListInput(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * This can only be done by the logged in user. @@ -111,13 +111,13 @@ export interface UserApiInterface { * @throws {RequiredError} * @memberof UserApiInterface */ - deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * This can only be done by the logged in user. * Delete user */ - deleteUser(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise; + deleteUser(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * @@ -127,12 +127,12 @@ export interface UserApiInterface { * @throws {RequiredError} * @memberof UserApiInterface */ - getUserByNameRaw(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + getUserByNameRaw(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Get user by user name */ - getUserByName(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise; + getUserByName(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * @@ -143,12 +143,12 @@ export interface UserApiInterface { * @throws {RequiredError} * @memberof UserApiInterface */ - loginUserRaw(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + loginUserRaw(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Logs user into the system */ - loginUser(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise; + loginUser(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * @@ -157,12 +157,12 @@ export interface UserApiInterface { * @throws {RequiredError} * @memberof UserApiInterface */ - logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Logs out current logged in user session */ - logoutUser(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise; + logoutUser(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * This can only be done by the logged in user. @@ -173,13 +173,13 @@ export interface UserApiInterface { * @throws {RequiredError} * @memberof UserApiInterface */ - updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>; + updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * This can only be done by the logged in user. * Updated user */ - updateUser(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise; + updateUser(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } @@ -192,7 +192,7 @@ export class UserApi extends runtime.BaseAPI implements UserApiInterface { * This can only be done by the logged in user. * Create user */ - async createUserRaw(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUserRaw(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUser.'); } @@ -218,14 +218,14 @@ export class UserApi extends runtime.BaseAPI implements UserApiInterface { * This can only be done by the logged in user. * Create user */ - async createUser(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUser(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUserRaw(requestParameters, initOverrides); } /** * Creates list of users with given input array */ - async createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithArrayInput.'); } @@ -250,14 +250,14 @@ export class UserApi extends runtime.BaseAPI implements UserApiInterface { /** * Creates list of users with given input array */ - async createUsersWithArrayInput(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUsersWithArrayInput(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUsersWithArrayInputRaw(requestParameters, initOverrides); } /** * Creates list of users with given input array */ - async createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithListInput.'); } @@ -282,7 +282,7 @@ export class UserApi extends runtime.BaseAPI implements UserApiInterface { /** * Creates list of users with given input array */ - async createUsersWithListInput(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUsersWithListInput(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUsersWithListInputRaw(requestParameters, initOverrides); } @@ -290,7 +290,7 @@ export class UserApi extends runtime.BaseAPI implements UserApiInterface { * This can only be done by the logged in user. * Delete user */ - async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling deleteUser.'); } @@ -313,14 +313,14 @@ export class UserApi extends runtime.BaseAPI implements UserApiInterface { * This can only be done by the logged in user. * Delete user */ - async deleteUser(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deleteUser(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteUserRaw(requestParameters, initOverrides); } /** * Get user by user name */ - async getUserByNameRaw(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getUserByNameRaw(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling getUserByName.'); } @@ -342,7 +342,7 @@ export class UserApi extends runtime.BaseAPI implements UserApiInterface { /** * Get user by user name */ - async getUserByName(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getUserByName(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getUserByNameRaw(requestParameters, initOverrides); return await response.value(); } @@ -350,7 +350,7 @@ export class UserApi extends runtime.BaseAPI implements UserApiInterface { /** * Logs user into the system */ - async loginUserRaw(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async loginUserRaw(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling loginUser.'); } @@ -384,7 +384,7 @@ export class UserApi extends runtime.BaseAPI implements UserApiInterface { /** * Logs user into the system */ - async loginUser(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async loginUser(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.loginUserRaw(requestParameters, initOverrides); return await response.value(); } @@ -392,7 +392,7 @@ export class UserApi extends runtime.BaseAPI implements UserApiInterface { /** * Logs out current logged in user session */ - async logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -410,7 +410,7 @@ export class UserApi extends runtime.BaseAPI implements UserApiInterface { /** * Logs out current logged in user session */ - async logoutUser(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async logoutUser(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.logoutUserRaw(initOverrides); } @@ -418,7 +418,7 @@ export class UserApi extends runtime.BaseAPI implements UserApiInterface { * This can only be done by the logged in user. * Updated user */ - async updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling updateUser.'); } @@ -448,7 +448,7 @@ export class UserApi extends runtime.BaseAPI implements UserApiInterface { * This can only be done by the logged in user. * Updated user */ - async updateUser(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updateUser(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updateUserRaw(requestParameters, initOverrides); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/runtime.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/runtime.ts index 2467db5527..a8137ef03e 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/runtime.ts @@ -113,7 +113,7 @@ export class BaseAPI { return this.withMiddleware(...middlewares); } - protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction): Promise { + protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise { const { url, init } = await this.createFetchParams(context, initOverrides); const response = await this.fetchApi(url, init); if (response.status >= 200 && response.status < 300) { @@ -122,7 +122,7 @@ export class BaseAPI { throw new ResponseError(response, 'Response returned an error code'); } - private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction) { + private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) { let url = this.configuration.basePath + context.path; if (context.query !== undefined && Object.keys(context.query).length !== 0) { // only add the querystring to the URL if there are query parameters. @@ -242,7 +242,7 @@ export type HTTPBody = Json | FormData | URLSearchParams; export type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody } export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original'; -export type InitOverideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise +export type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise export interface FetchParams { url: string; diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/PetApi.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/PetApi.ts index 419d14c1e6..8ca1d3c520 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/PetApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/PetApi.ts @@ -68,7 +68,7 @@ export class PetApi extends runtime.BaseAPI { /** * Add a new pet to the store */ - async addPetRaw(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async addPetRaw(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling addPet.'); } @@ -98,14 +98,14 @@ export class PetApi extends runtime.BaseAPI { /** * Add a new pet to the store */ - async addPet(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async addPet(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.addPetRaw(requestParameters, initOverrides); } /** * Deletes a pet */ - async deletePetRaw(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deletePetRaw(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling deletePet.'); } @@ -136,7 +136,7 @@ export class PetApi extends runtime.BaseAPI { /** * Deletes a pet */ - async deletePet(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deletePet(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deletePetRaw(requestParameters, initOverrides); } @@ -144,7 +144,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple status values can be provided with comma separated strings * Finds Pets by status */ - async findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>> { + async findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.status === null || requestParameters.status === undefined) { throw new runtime.RequiredError('status','Required parameter requestParameters.status was null or undefined when calling findPetsByStatus.'); } @@ -176,7 +176,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple status values can be provided with comma separated strings * Finds Pets by status */ - async findPetsByStatus(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByStatus(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.findPetsByStatusRaw(requestParameters, initOverrides); return await response.value(); } @@ -185,7 +185,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. * Finds Pets by tags */ - async findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>> { + async findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.tags === null || requestParameters.tags === undefined) { throw new runtime.RequiredError('tags','Required parameter requestParameters.tags was null or undefined when calling findPetsByTags.'); } @@ -217,7 +217,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. * Finds Pets by tags */ - async findPetsByTags(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByTags(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.findPetsByTagsRaw(requestParameters, initOverrides); return await response.value(); } @@ -226,7 +226,7 @@ export class PetApi extends runtime.BaseAPI { * Returns a single pet * Find pet by ID */ - async getPetByIdRaw(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getPetByIdRaw(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling getPetById.'); } @@ -253,7 +253,7 @@ export class PetApi extends runtime.BaseAPI { * Returns a single pet * Find pet by ID */ - async getPetById(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getPetById(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getPetByIdRaw(requestParameters, initOverrides); return await response.value(); } @@ -261,7 +261,7 @@ export class PetApi extends runtime.BaseAPI { /** * Update an existing pet */ - async updatePetRaw(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updatePetRaw(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling updatePet.'); } @@ -291,14 +291,14 @@ export class PetApi extends runtime.BaseAPI { /** * Update an existing pet */ - async updatePet(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updatePet(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updatePetRaw(requestParameters, initOverrides); } /** * Updates a pet in the store with form data */ - async updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling updatePetWithForm.'); } @@ -348,14 +348,14 @@ export class PetApi extends runtime.BaseAPI { /** * Updates a pet in the store with form data */ - async updatePetWithForm(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updatePetWithForm(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updatePetWithFormRaw(requestParameters, initOverrides); } /** * uploads an image */ - async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling uploadFile.'); } @@ -407,7 +407,7 @@ export class PetApi extends runtime.BaseAPI { /** * uploads an image */ - async uploadFile(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async uploadFile(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.uploadFileRaw(requestParameters, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/StoreApi.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/StoreApi.ts index 2b1d652567..4f9e60bb3c 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/StoreApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/StoreApi.ts @@ -41,7 +41,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * Delete purchase order by ID */ - async deleteOrderRaw(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deleteOrderRaw(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.orderId === null || requestParameters.orderId === undefined) { throw new runtime.RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling deleteOrder.'); } @@ -64,7 +64,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * Delete purchase order by ID */ - async deleteOrder(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deleteOrder(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteOrderRaw(requestParameters, initOverrides); } @@ -72,7 +72,7 @@ export class StoreApi extends runtime.BaseAPI { * Returns a map of status codes to quantities * Returns pet inventories by status */ - async getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -95,7 +95,7 @@ export class StoreApi extends runtime.BaseAPI { * Returns a map of status codes to quantities * Returns pet inventories by status */ - async getInventory(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<{ [key: string]: number; }> { + async getInventory(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{ [key: string]: number; }> { const response = await this.getInventoryRaw(initOverrides); return await response.value(); } @@ -104,7 +104,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * Find purchase order by ID */ - async getOrderByIdRaw(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getOrderByIdRaw(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.orderId === null || requestParameters.orderId === undefined) { throw new runtime.RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling getOrderById.'); } @@ -127,7 +127,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * Find purchase order by ID */ - async getOrderById(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getOrderById(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getOrderByIdRaw(requestParameters, initOverrides); return await response.value(); } @@ -135,7 +135,7 @@ export class StoreApi extends runtime.BaseAPI { /** * Place an order for a pet */ - async placeOrderRaw(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async placeOrderRaw(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling placeOrder.'); } @@ -160,7 +160,7 @@ export class StoreApi extends runtime.BaseAPI { /** * Place an order for a pet */ - async placeOrder(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async placeOrder(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.placeOrderRaw(requestParameters, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/UserApi.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/UserApi.ts index e8d406e9a5..463e18e7c8 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/UserApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/UserApi.ts @@ -59,7 +59,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Create user */ - async createUserRaw(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUserRaw(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUser.'); } @@ -85,14 +85,14 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Create user */ - async createUser(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUser(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUserRaw(requestParameters, initOverrides); } /** * Creates list of users with given input array */ - async createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithArrayInput.'); } @@ -117,14 +117,14 @@ export class UserApi extends runtime.BaseAPI { /** * Creates list of users with given input array */ - async createUsersWithArrayInput(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUsersWithArrayInput(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUsersWithArrayInputRaw(requestParameters, initOverrides); } /** * Creates list of users with given input array */ - async createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithListInput.'); } @@ -149,7 +149,7 @@ export class UserApi extends runtime.BaseAPI { /** * Creates list of users with given input array */ - async createUsersWithListInput(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUsersWithListInput(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUsersWithListInputRaw(requestParameters, initOverrides); } @@ -157,7 +157,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Delete user */ - async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling deleteUser.'); } @@ -180,14 +180,14 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Delete user */ - async deleteUser(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deleteUser(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteUserRaw(requestParameters, initOverrides); } /** * Get user by user name */ - async getUserByNameRaw(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getUserByNameRaw(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling getUserByName.'); } @@ -209,7 +209,7 @@ export class UserApi extends runtime.BaseAPI { /** * Get user by user name */ - async getUserByName(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getUserByName(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getUserByNameRaw(requestParameters, initOverrides); return await response.value(); } @@ -217,7 +217,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs user into the system */ - async loginUserRaw(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async loginUserRaw(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling loginUser.'); } @@ -251,7 +251,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs user into the system */ - async loginUser(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async loginUser(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.loginUserRaw(requestParameters, initOverrides); return await response.value(); } @@ -259,7 +259,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs out current logged in user session */ - async logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -277,7 +277,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs out current logged in user session */ - async logoutUser(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async logoutUser(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.logoutUserRaw(initOverrides); } @@ -285,7 +285,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Updated user */ - async updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling updateUser.'); } @@ -315,7 +315,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Updated user */ - async updateUser(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updateUser(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updateUserRaw(requestParameters, initOverrides); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts index 2467db5527..a8137ef03e 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts @@ -113,7 +113,7 @@ export class BaseAPI { return this.withMiddleware(...middlewares); } - protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction): Promise { + protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise { const { url, init } = await this.createFetchParams(context, initOverrides); const response = await this.fetchApi(url, init); if (response.status >= 200 && response.status < 300) { @@ -122,7 +122,7 @@ export class BaseAPI { throw new ResponseError(response, 'Response returned an error code'); } - private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction) { + private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) { let url = this.configuration.basePath + context.path; if (context.query !== undefined && Object.keys(context.query).length !== 0) { // only add the querystring to the URL if there are query parameters. @@ -242,7 +242,7 @@ export type HTTPBody = Json | FormData | URLSearchParams; export type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody } export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original'; -export type InitOverideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise +export type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise export interface FetchParams { url: string; diff --git a/samples/client/petstore/typescript-fetch/builds/with-string-enums/apis/DefaultApi.ts b/samples/client/petstore/typescript-fetch/builds/with-string-enums/apis/DefaultApi.ts index a0b27435bf..d2781cd565 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-string-enums/apis/DefaultApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-string-enums/apis/DefaultApi.ts @@ -58,7 +58,7 @@ export class DefaultApi extends runtime.BaseAPI { /** */ - async fakeEnumRequestGetInlineRaw(requestParameters: FakeEnumRequestGetInlineRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async fakeEnumRequestGetInlineRaw(requestParameters: FakeEnumRequestGetInlineRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters.stringEnum !== undefined) { @@ -91,14 +91,14 @@ export class DefaultApi extends runtime.BaseAPI { /** */ - async fakeEnumRequestGetInline(requestParameters: FakeEnumRequestGetInlineRequest = {}, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async fakeEnumRequestGetInline(requestParameters: FakeEnumRequestGetInlineRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.fakeEnumRequestGetInlineRaw(requestParameters, initOverrides); return await response.value(); } /** */ - async fakeEnumRequestGetRefRaw(requestParameters: FakeEnumRequestGetRefRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async fakeEnumRequestGetRefRaw(requestParameters: FakeEnumRequestGetRefRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters.stringEnum !== undefined) { @@ -131,14 +131,14 @@ export class DefaultApi extends runtime.BaseAPI { /** */ - async fakeEnumRequestGetRef(requestParameters: FakeEnumRequestGetRefRequest = {}, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async fakeEnumRequestGetRef(requestParameters: FakeEnumRequestGetRefRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.fakeEnumRequestGetRefRaw(requestParameters, initOverrides); return await response.value(); } /** */ - async fakeEnumRequestPostInlineRaw(requestParameters: FakeEnumRequestPostInlineRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async fakeEnumRequestPostInlineRaw(requestParameters: FakeEnumRequestPostInlineRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -158,14 +158,14 @@ export class DefaultApi extends runtime.BaseAPI { /** */ - async fakeEnumRequestPostInline(requestParameters: FakeEnumRequestPostInlineRequest = {}, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async fakeEnumRequestPostInline(requestParameters: FakeEnumRequestPostInlineRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.fakeEnumRequestPostInlineRaw(requestParameters, initOverrides); return await response.value(); } /** */ - async fakeEnumRequestPostRefRaw(requestParameters: FakeEnumRequestPostRefRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async fakeEnumRequestPostRefRaw(requestParameters: FakeEnumRequestPostRefRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -185,7 +185,7 @@ export class DefaultApi extends runtime.BaseAPI { /** */ - async fakeEnumRequestPostRef(requestParameters: FakeEnumRequestPostRefRequest = {}, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async fakeEnumRequestPostRef(requestParameters: FakeEnumRequestPostRefRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.fakeEnumRequestPostRefRaw(requestParameters, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-string-enums/runtime.ts b/samples/client/petstore/typescript-fetch/builds/with-string-enums/runtime.ts index fbcfb338de..b9cb54736f 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-string-enums/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-string-enums/runtime.ts @@ -113,7 +113,7 @@ export class BaseAPI { return this.withMiddleware(...middlewares); } - protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction): Promise { + protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise { const { url, init } = await this.createFetchParams(context, initOverrides); const response = await this.fetchApi(url, init); if (response.status >= 200 && response.status < 300) { @@ -122,7 +122,7 @@ export class BaseAPI { throw new ResponseError(response, 'Response returned an error code'); } - private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction) { + private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) { let url = this.configuration.basePath + context.path; if (context.query !== undefined && Object.keys(context.query).length !== 0) { // only add the querystring to the URL if there are query parameters. @@ -242,7 +242,7 @@ export type HTTPBody = Json | FormData | URLSearchParams; export type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody } export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original'; -export type InitOverideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise +export type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise export interface FetchParams { url: string; diff --git a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/PetApi.ts b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/PetApi.ts index 29ede75160..cc30c2e735 100644 --- a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/PetApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/PetApi.ts @@ -64,7 +64,7 @@ export class PetApi extends runtime.BaseAPI { /** * Add a new pet to the store */ - async addPetRaw(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async addPetRaw(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling addPet.'); } @@ -94,14 +94,14 @@ export class PetApi extends runtime.BaseAPI { /** * Add a new pet to the store */ - async addPet(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async addPet(requestParameters: AddPetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.addPetRaw(requestParameters, initOverrides); } /** * Deletes a pet */ - async deletePetRaw(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deletePetRaw(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling deletePet.'); } @@ -132,7 +132,7 @@ export class PetApi extends runtime.BaseAPI { /** * Deletes a pet */ - async deletePet(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deletePet(requestParameters: DeletePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deletePetRaw(requestParameters, initOverrides); } @@ -140,7 +140,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple status values can be provided with comma separated strings * Finds Pets by status */ - async findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>> { + async findPetsByStatusRaw(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.status === null || requestParameters.status === undefined) { throw new runtime.RequiredError('status','Required parameter requestParameters.status was null or undefined when calling findPetsByStatus.'); } @@ -172,7 +172,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple status values can be provided with comma separated strings * Finds Pets by status */ - async findPetsByStatus(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByStatus(requestParameters: FindPetsByStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.findPetsByStatusRaw(requestParameters, initOverrides); return await response.value(); } @@ -181,7 +181,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. * Finds Pets by tags */ - async findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise>> { + async findPetsByTagsRaw(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.tags === null || requestParameters.tags === undefined) { throw new runtime.RequiredError('tags','Required parameter requestParameters.tags was null or undefined when calling findPetsByTags.'); } @@ -213,7 +213,7 @@ export class PetApi extends runtime.BaseAPI { * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. * Finds Pets by tags */ - async findPetsByTags(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async findPetsByTags(requestParameters: FindPetsByTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.findPetsByTagsRaw(requestParameters, initOverrides); return await response.value(); } @@ -222,7 +222,7 @@ export class PetApi extends runtime.BaseAPI { * Returns a single pet * Find pet by ID */ - async getPetByIdRaw(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getPetByIdRaw(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling getPetById.'); } @@ -249,7 +249,7 @@ export class PetApi extends runtime.BaseAPI { * Returns a single pet * Find pet by ID */ - async getPetById(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getPetById(requestParameters: GetPetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getPetByIdRaw(requestParameters, initOverrides); return await response.value(); } @@ -257,7 +257,7 @@ export class PetApi extends runtime.BaseAPI { /** * Update an existing pet */ - async updatePetRaw(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updatePetRaw(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling updatePet.'); } @@ -287,14 +287,14 @@ export class PetApi extends runtime.BaseAPI { /** * Update an existing pet */ - async updatePet(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updatePet(requestParameters: UpdatePetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updatePetRaw(requestParameters, initOverrides); } /** * Updates a pet in the store with form data */ - async updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updatePetWithFormRaw(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling updatePetWithForm.'); } @@ -344,14 +344,14 @@ export class PetApi extends runtime.BaseAPI { /** * Updates a pet in the store with form data */ - async updatePetWithForm(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updatePetWithForm(requestParameters: UpdatePetWithFormRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updatePetWithFormRaw(requestParameters, initOverrides); } /** * uploads an image */ - async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.petId === null || requestParameters.petId === undefined) { throw new runtime.RequiredError('petId','Required parameter requestParameters.petId was null or undefined when calling uploadFile.'); } @@ -403,7 +403,7 @@ export class PetApi extends runtime.BaseAPI { /** * uploads an image */ - async uploadFile(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async uploadFile(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.uploadFileRaw(requestParameters, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/StoreApi.ts b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/StoreApi.ts index e3a043b19f..9ada048d78 100644 --- a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/StoreApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/StoreApi.ts @@ -39,7 +39,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * Delete purchase order by ID */ - async deleteOrderRaw(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deleteOrderRaw(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.orderId === null || requestParameters.orderId === undefined) { throw new runtime.RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling deleteOrder.'); } @@ -62,7 +62,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * Delete purchase order by ID */ - async deleteOrder(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deleteOrder(requestParameters: DeleteOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteOrderRaw(requestParameters, initOverrides); } @@ -70,7 +70,7 @@ export class StoreApi extends runtime.BaseAPI { * Returns a map of status codes to quantities * Returns pet inventories by status */ - async getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getInventoryRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -93,7 +93,7 @@ export class StoreApi extends runtime.BaseAPI { * Returns a map of status codes to quantities * Returns pet inventories by status */ - async getInventory(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<{ [key: string]: number; }> { + async getInventory(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{ [key: string]: number; }> { const response = await this.getInventoryRaw(initOverrides); return await response.value(); } @@ -102,7 +102,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * Find purchase order by ID */ - async getOrderByIdRaw(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getOrderByIdRaw(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.orderId === null || requestParameters.orderId === undefined) { throw new runtime.RequiredError('orderId','Required parameter requestParameters.orderId was null or undefined when calling getOrderById.'); } @@ -125,7 +125,7 @@ export class StoreApi extends runtime.BaseAPI { * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * Find purchase order by ID */ - async getOrderById(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getOrderById(requestParameters: GetOrderByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getOrderByIdRaw(requestParameters, initOverrides); return await response.value(); } @@ -133,7 +133,7 @@ export class StoreApi extends runtime.BaseAPI { /** * Place an order for a pet */ - async placeOrderRaw(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async placeOrderRaw(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling placeOrder.'); } @@ -158,7 +158,7 @@ export class StoreApi extends runtime.BaseAPI { /** * Place an order for a pet */ - async placeOrder(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async placeOrder(requestParameters: PlaceOrderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.placeOrderRaw(requestParameters, initOverrides); return await response.value(); } diff --git a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/UserApi.ts b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/UserApi.ts index 90e38542d0..6e81b4858a 100644 --- a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/UserApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/UserApi.ts @@ -57,7 +57,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Create user */ - async createUserRaw(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUserRaw(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUser.'); } @@ -83,14 +83,14 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Create user */ - async createUser(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUser(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUserRaw(requestParameters, initOverrides); } /** * Creates list of users with given input array */ - async createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUsersWithArrayInputRaw(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithArrayInput.'); } @@ -115,14 +115,14 @@ export class UserApi extends runtime.BaseAPI { /** * Creates list of users with given input array */ - async createUsersWithArrayInput(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUsersWithArrayInput(requestParameters: CreateUsersWithArrayInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUsersWithArrayInputRaw(requestParameters, initOverrides); } /** * Creates list of users with given input array */ - async createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async createUsersWithListInputRaw(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.body === null || requestParameters.body === undefined) { throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling createUsersWithListInput.'); } @@ -147,7 +147,7 @@ export class UserApi extends runtime.BaseAPI { /** * Creates list of users with given input array */ - async createUsersWithListInput(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async createUsersWithListInput(requestParameters: CreateUsersWithListInputRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.createUsersWithListInputRaw(requestParameters, initOverrides); } @@ -155,7 +155,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Delete user */ - async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling deleteUser.'); } @@ -178,14 +178,14 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Delete user */ - async deleteUser(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async deleteUser(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteUserRaw(requestParameters, initOverrides); } /** * Get user by user name */ - async getUserByNameRaw(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async getUserByNameRaw(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling getUserByName.'); } @@ -207,7 +207,7 @@ export class UserApi extends runtime.BaseAPI { /** * Get user by user name */ - async getUserByName(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async getUserByName(requestParameters: GetUserByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getUserByNameRaw(requestParameters, initOverrides); return await response.value(); } @@ -215,7 +215,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs user into the system */ - async loginUserRaw(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async loginUserRaw(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling loginUser.'); } @@ -249,7 +249,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs user into the system */ - async loginUser(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async loginUser(requestParameters: LoginUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.loginUserRaw(requestParameters, initOverrides); return await response.value(); } @@ -257,7 +257,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs out current logged in user session */ - async logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async logoutUserRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -275,7 +275,7 @@ export class UserApi extends runtime.BaseAPI { /** * Logs out current logged in user session */ - async logoutUser(initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async logoutUser(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.logoutUserRaw(initOverrides); } @@ -283,7 +283,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Updated user */ - async updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise> { + async updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling updateUser.'); } @@ -313,7 +313,7 @@ export class UserApi extends runtime.BaseAPI { * This can only be done by the logged in user. * Updated user */ - async updateUser(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverideFunction): Promise { + async updateUser(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.updateUserRaw(requestParameters, initOverrides); } diff --git a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/runtime.ts index 6c79ad1a43..63afbb449c 100644 --- a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/runtime.ts @@ -113,7 +113,7 @@ export class BaseAPI { return this.withMiddleware(...middlewares); } - protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction): Promise { + protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise { const { url, init } = await this.createFetchParams(context, initOverrides); const response = await this.fetchApi(url, init); if (response.status >= 200 && response.status < 300) { @@ -122,7 +122,7 @@ export class BaseAPI { throw new ResponseError(response, 'Response returned an error code'); } - private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction) { + private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) { let url = this.configuration.basePath + context.path; if (context.query !== undefined && Object.keys(context.query).length !== 0) { // only add the querystring to the URL if there are query parameters. @@ -242,7 +242,7 @@ export type HTTPBody = Json | FormData | URLSearchParams; export type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody } export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original'; -export type InitOverideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise +export type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise export interface FetchParams { url: string; From 5b44aaf8d7fe6aa376661e80422d9ee3db2b70b6 Mon Sep 17 00:00:00 2001 From: Antonio Sagliocco Date: Sat, 4 Jun 2022 15:59:46 +0200 Subject: [PATCH 040/212] [Dart][Client] Support parsing DateTime (#12433) * Support DateTime parsing I've got issue in parsing an Array of Strings in datetime format, which the generator translates into a List. This just fixes it * update dart sampels Co-authored-by: William Cheng --- .../src/main/resources/dart2/api_client.mustache | 2 ++ .../petstore/dart2/petstore_client_lib/lib/api_client.dart | 2 ++ .../petstore/dart2/petstore_client_lib_fake/lib/api_client.dart | 2 ++ 3 files changed, 6 insertions(+) diff --git a/modules/openapi-generator/src/main/resources/dart2/api_client.mustache b/modules/openapi-generator/src/main/resources/dart2/api_client.mustache index 8eae959e3e..d8db09013b 100644 --- a/modules/openapi-generator/src/main/resources/dart2/api_client.mustache +++ b/modules/openapi-generator/src/main/resources/dart2/api_client.mustache @@ -183,6 +183,8 @@ class ApiClient { } final valueString = '$value'.toLowerCase(); return valueString == 'true' || valueString == '1'; + case 'DateTime': + return value is DateTime ? value : DateTime.tryParse(value); {{#models}} {{#model}} case '{{{classname}}}': diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/api_client.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/api_client.dart index 79977d854b..ce5560f03f 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/api_client.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/api_client.dart @@ -190,6 +190,8 @@ class ApiClient { } final valueString = '$value'.toLowerCase(); return valueString == 'true' || valueString == '1'; + case 'DateTime': + return value is DateTime ? value : DateTime.tryParse(value); case 'ApiResponse': return ApiResponse.fromJson(value); case 'Category': diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/api_client.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/api_client.dart index 65fc880779..94a25909e6 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/api_client.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/api_client.dart @@ -190,6 +190,8 @@ class ApiClient { } final valueString = '$value'.toLowerCase(); return valueString == 'true' || valueString == '1'; + case 'DateTime': + return value is DateTime ? value : DateTime.tryParse(value); case 'AdditionalPropertiesClass': return AdditionalPropertiesClass.fromJson(value); case 'AllOfWithSingleRef': From 0ec2bda3c453379d48f7b28c95eb0728d77c2ee7 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 5 Jun 2022 09:45:46 +0800 Subject: [PATCH 041/212] update build.gradle to work with junit5 (#12535) --- .../libraries/okhttp-gson/build.gradle.mustache | 15 +++++++++++++++ .../java/okhttp-gson-streaming/build.gradle | 15 +++++++++++++++ .../okhttp-gson-dynamicOperations/build.gradle | 15 +++++++++++++++ .../java/okhttp-gson-parcelableModel/build.gradle | 15 +++++++++++++++ .../client/petstore/java/okhttp-gson/build.gradle | 15 +++++++++++++++ 5 files changed, 75 insertions(+) diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/build.gradle.mustache index 5638aae204..3a70895d74 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/build.gradle.mustache @@ -134,6 +134,7 @@ dependencies { implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version" testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' testImplementation 'org.mockito:mockito-core:3.12.4' + testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2' } javadoc { @@ -166,3 +167,17 @@ spotless { importOrder() } } + +test { + // Enable JUnit 5 (Gradle 4.6+). + useJUnitPlatform() + + // Always run tests, even when nothing changed. + dependsOn 'cleanTest' + + // Show test results. + testLogging { + events "passed", "skipped", "failed" + } + +} diff --git a/samples/client/others/java/okhttp-gson-streaming/build.gradle b/samples/client/others/java/okhttp-gson-streaming/build.gradle index 85773c446b..fc15316d82 100644 --- a/samples/client/others/java/okhttp-gson-streaming/build.gradle +++ b/samples/client/others/java/okhttp-gson-streaming/build.gradle @@ -119,6 +119,7 @@ dependencies { implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version" testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' testImplementation 'org.mockito:mockito-core:3.12.4' + testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2' } javadoc { @@ -151,3 +152,17 @@ spotless { importOrder() } } + +test { + // Enable JUnit 5 (Gradle 4.6+). + useJUnitPlatform() + + // Always run tests, even when nothing changed. + dependsOn 'cleanTest' + + // Show test results. + testLogging { + events "passed", "skipped", "failed" + } + +} diff --git a/samples/client/petstore/java/okhttp-gson-dynamicOperations/build.gradle b/samples/client/petstore/java/okhttp-gson-dynamicOperations/build.gradle index 7d4c966578..3fa4d432b7 100644 --- a/samples/client/petstore/java/okhttp-gson-dynamicOperations/build.gradle +++ b/samples/client/petstore/java/okhttp-gson-dynamicOperations/build.gradle @@ -121,6 +121,7 @@ dependencies { implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version" testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' testImplementation 'org.mockito:mockito-core:3.12.4' + testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2' } javadoc { @@ -153,3 +154,17 @@ spotless { importOrder() } } + +test { + // Enable JUnit 5 (Gradle 4.6+). + useJUnitPlatform() + + // Always run tests, even when nothing changed. + dependsOn 'cleanTest' + + // Show test results. + testLogging { + events "passed", "skipped", "failed" + } + +} diff --git a/samples/client/petstore/java/okhttp-gson-parcelableModel/build.gradle b/samples/client/petstore/java/okhttp-gson-parcelableModel/build.gradle index 80cd5bef55..59d5738af7 100644 --- a/samples/client/petstore/java/okhttp-gson-parcelableModel/build.gradle +++ b/samples/client/petstore/java/okhttp-gson-parcelableModel/build.gradle @@ -120,6 +120,7 @@ dependencies { implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version" testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' testImplementation 'org.mockito:mockito-core:3.12.4' + testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2' } javadoc { @@ -152,3 +153,17 @@ spotless { importOrder() } } + +test { + // Enable JUnit 5 (Gradle 4.6+). + useJUnitPlatform() + + // Always run tests, even when nothing changed. + dependsOn 'cleanTest' + + // Show test results. + testLogging { + events "passed", "skipped", "failed" + } + +} diff --git a/samples/client/petstore/java/okhttp-gson/build.gradle b/samples/client/petstore/java/okhttp-gson/build.gradle index 670b7c8a0b..d4cdc0dd94 100644 --- a/samples/client/petstore/java/okhttp-gson/build.gradle +++ b/samples/client/petstore/java/okhttp-gson/build.gradle @@ -120,6 +120,7 @@ dependencies { implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version" testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' testImplementation 'org.mockito:mockito-core:3.12.4' + testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2' } javadoc { @@ -152,3 +153,17 @@ spotless { importOrder() } } + +test { + // Enable JUnit 5 (Gradle 4.6+). + useJUnitPlatform() + + // Always run tests, even when nothing changed. + dependsOn 'cleanTest' + + // Show test results. + testLogging { + events "passed", "skipped", "failed" + } + +} From 53d66a891d637a65554dda82ed63cba527cbd575 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 5 Jun 2022 10:14:36 +0800 Subject: [PATCH 042/212] add govery logo (#12537) --- website/src/dynamic/users.yml | 15 ++++++++++----- website/static/img/companies/qovery.png | Bin 0 -> 3072 bytes 2 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 website/static/img/companies/qovery.png diff --git a/website/src/dynamic/users.yml b/website/src/dynamic/users.yml index b0f7a5d995..cb439efe16 100644 --- a/website/src/dynamic/users.yml +++ b/website/src/dynamic/users.yml @@ -223,6 +223,11 @@ image: "img/companies/godaddy.png" infoLink: "https://www.godaddy.com/" pinned: false +- + caption: Gradle Enterprise + image: "img/companies/gradle-enterprise.png" + infoLink: "https://gradle.com/" + pinned: false - caption: "Gumtree" image: "img/companies/gumtree.png" @@ -388,6 +393,11 @@ image: "img/companies/puppet.svg" infoLink: "https://www.puppet.com" pinned: false +- + caption: Qovery + image: "img/companies/qovery.png" + infoLink: "https://www.qovery.com" + pinned: false - caption: "Qulix Systems" image: "img/companies/qulix.png" @@ -564,8 +574,3 @@ image: "img/companies/outscale.png" infoLink: "https://www.outscale.com/" pinned: false -- - caption: Gradle Enterprise - image: "img/companies/gradle-enterprise.png" - infoLink: "https://gradle.com/" - pinned: false diff --git a/website/static/img/companies/qovery.png b/website/static/img/companies/qovery.png new file mode 100644 index 0000000000000000000000000000000000000000..f4f22f55e2203b3f1d5e36b8856d46deac424ce2 GIT binary patch literal 3072 zcmV+b4FB_qP)>0)J;*K z16l(oD*mVr7@`F0y;oNP+18xhzy(+Tw^7-d%HXw1H#}&~;0;vji=aCyw-M!v zX+T7*#^=?gu%w~_ZntLiIxbaJa9eE|Oh=`jOBD<{a;&-x3djvvGkpDpn8X{77*zBX zv;yn#^G(B+qYQS|xnQ6*)7JwS+%N!@w!_5A--A)e;BZt@2BY!XA){cTaJH@j(y#V= zh@$Tno5MTUCMfwfhvHH{Go4PS6%m;tl5VI+CAAt<=wY%ZdhPfMp%dPJ2Bp~`-#CSq zBll{&!>}ArFT0?u$rk0aC=erpd?H(vo*SI&z0cCP5i3y!uWF<)5n-hK1o4ez?Nz!U zBN;)h4gu#BMksQ7$8Q%E4=Vk0T`}&C-Dll zUVo?Wi&(e7E=tFkx&gaGnQUp_Bq(Z2ASZ@5_@E<&mU#a}u#Ov!A}BzWgG~+agl->2 z;IA%5x4}tGQEH&D+oi9f1-Qg0dAlf9c1g%PM!4_AdV5)mGIV5BHwyvn00ja-#OwQ` z>O_M=lWk2uhKHjpOCI>Wc>ug9Q&R&4lE#e;AdVVUt|(TdWBudWv*>;n=-2dhBuj$8 z`8C%21mz6MVRA{?4*9!mO(L&$L24wy_8LZvsO=ng+zx4?R@W}dWjtBNwwGcb`%wOa zavEhnKC?)VAd6znJz87%+}xn`9PWJ}Tac>kg1pj}TirK&UzAt#7Bp&Hf?TfE6$H=Y zhCnf+9J=b((FX;|KDJY768I%2K#WW>4~kKvky4mR{UCBr%1gk34(Qb*rQo%T3Hm#S^~c3n%gFur@m-$6&kNeMp+l=~ zLx3D&`Wu&EKF?_NL{a*>AyD9%iEd^R9ToI1P9d%8s%_&4?FYk$yY31_KyppQ`Y2oV!Kh@i zQIIz7Y(bH^{+hA9cTtIZLSP7AZ?osfBjSMKI9C@)+3dJ*yl?2vr$e3)StRn?hTTVd zLE#z+eiY!PY=n7G5NTx4zb7U4!>nu!QAbDIlKeU|u?PgE1YJ&W--ZC7lG|pc|BZAn zH`jA_c%=*S6}!EnXRMV_RxobsN5TGb34co6Z=@p^sy|84~0P2qTat?vz2#E859_f9-cM~ zc2CFvKxr+`gq`bt2&dwKqHrkqQ6NT!qyP%^#mvfhCvLqQ`7w6YaiBODS)IyQKIcJ1 zEeWVzWPn+tlE{&)Yl#Mu=SfC^f2M1cdRN_2XcZ5ydMG|Yl?C1naG(h2S*Kv%XdURj zX8l;;5FcYK=F6s{k1!}o;k^4v*go-oxTpdmEEBuK>DsZdW77-J#)Ben0QmC<0&0s1P)Md!yH1e`t?+OgXu?%RZ((@BcM@k&<*7{F z^;*P&-;Ze5vqWi7Wb);g8KsspA#zx$DnR1N8K&;XI-od`#9h7-9xu9IW{$Ro!R=6< zFa-)qR$;WTb5buj$%BEH$vxr2A5_3E*g;L{4}KKT#5)G|{bUtl z6cm}6u3OnjqK&TvpwK35uRTW@7E21{Pc^_$t|M~YYfA_Uhct%a0Y7I_?mphya3;D% zGtsoN4W{OK`9v@JNC*lHqj@r^g0fYchp3R%Xr5w1Iyg}2`;&nJEyio(?uFj$vy*#+ z|EWFz(;kDvD}1nf{c3;>YXJ}xn#&2GG;LU8Z0D5xFSGLgot-UzMW@aJZZZR;Ks61n zt@6bT;o8iv<^+~vHZ#dfBHTgl!9*!1DVvIIl`=rt6b3h%amHc=Y@#%exJWV~@@p0p z#7m-FW{zhdepWIB^SRVBnrYB+d^!}M@=xdh;_u_qVU*s8ru2h3b4y|S+GTLD@p%9Z z6e<{4l6oG2;@hwRIwcM(gOlIFOv)}kfkg_zm0PR3_n~Gq*<1tbUx^dY^KlYjw^PE5 zu{OgwzVSNCSMdJMFeq|7cFwH7V+zL6j9p(!GspucdqxFMmNOvSCxXG*TJ|4 zq07W{Sb{*fG%*8Cqj<%%*u4)*i!b*>0m`}6&jKJQfCGiTtb_dIyQ6X$r|6FB0(_V>IkGM%_i#>e*C7#VwSV}CP0mK28uc)Ay#1i2!$rI!c`9v9xx0nT~ zUc^K1gBETbaThZAse&Tt#v%*k0@Lq%W_L-02XL#(L6;djyF))`5B*)zMRQ>AQXlL= zK){Mc09P9nYIyprj^J{$FM?FJVeJ zh6|}K;{@LiAEt&CF34|jiLw`iX=hBchunqyKFfh3oWvX`_*@Ae;+g|RNG{P2e(*5w z9mzWO)kBYkGoWelYzQo!2XHMxp>lx|e7W<6&r=ZB;Ifukf;5WDgR~`Srv>vH<4tVo zw`ONoW+d2;*_U+e2tu-isaguPuRc+cmndJ><6~*4@EQ{*ujl}7p56i6+FIy5w;KHO z>!1Ze0SF361d4Ub0Tz@3{B(8uK%q@+a1)405b=zi2%%JVZ2!oa%t#3clBy!^FyOwTDwM?rjV6+^^zR ztS^UtsPNw!J)?=|Bi_XX)-dhN#0&|Xvnt^Tf&vf}kO&kF2!?q@08jT05!5MtA+WFl zBaw#GLBZ~B(&U9gMx})E`dJQ7|9EFK$!*|@|5?1e1Z|FyMF^hv!~_)U(~a!0kf|pT z#llWTo}qD4enZ{dDkQMRvoQ3oTKmKojE$+V6ML?N<|*kz>H*w;7z76$nAwQ?A8*a@ z0L=0NBm>1l1(Q~f=!df3e-xTm%x*6zQZ3PB@kT9N?&c%I2bx_jxRrhriV8n#1RQm4 zfMlRpHWyC0g~a&{Rj#_4-NY=I%iZ@wX0G3@eV5gPbNVTKu|Ox zD55fy6YhZwRD2^@geWj{hsy|tmCml#-x*wEP_$rlHIvVmq+C?Kao7MT_AZ*4crOD1 zFbKi0O9jO?Ooa8f)OU?|1SZ4?2(*cJP0pk;zcX#t0mZR7)ldM2e=iCh#@+{ySZcdL zN|hV#SO3YT4MEX@pjc90pFFW;m7Ac{6+;&OtR{jTGmAOo@h_qY) O0000 Date: Sun, 5 Jun 2022 01:12:34 -0500 Subject: [PATCH 043/212] Skip generating operation examples when flag is set (#12539) --- .../openapitools/codegen/languages/CrystalClientCodegen.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CrystalClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CrystalClientCodegen.java index 998b875dd1..5b53015628 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CrystalClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CrystalClientCodegen.java @@ -560,6 +560,9 @@ public class CrystalClientCodegen extends DefaultCodegen { @Override public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List allModels) { objs = super.postProcessOperationsWithModels(objs, allModels); + if (isSkipOperationExample()) { + return objs; + } OperationMap operations = objs.getOperations(); HashMap modelMaps = new HashMap<>(); HashMap processedModelMaps = new HashMap<>(); From f52ee282155eeec6df51a0253f5484352c3d1273 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 5 Jun 2022 16:19:37 +0800 Subject: [PATCH 044/212] Fix NPE when generating examples for parameter (object) (#12538) * fix NPE when generating examples for parameter (object) * add new files --- bin/configs/aspnetcore-3.0.yaml | 2 +- bin/configs/aspnetcore-3.1.yaml | 2 +- bin/configs/aspnetcore-5.0.yaml | 2 +- bin/configs/aspnetcore-6.0.yaml | 2 +- .../languages/AbstractCSharpCodegen.java | 9 +- .../resources/3_0/aspnetcore/petstore.yaml | 754 ++++++++++++++++++ .../aspnetcore-3.0/.openapi-generator/FILES | 1 + .../Org.OpenAPITools/Controllers/FakeApi.cs | 49 ++ .../Org.OpenAPITools/Controllers/PetApi.cs | 40 +- .../Org.OpenAPITools/Controllers/StoreApi.cs | 5 +- .../Org.OpenAPITools/Controllers/UserApi.cs | 28 +- .../src/Org.OpenAPITools/Models/Category.cs | 1 + .../wwwroot/openapi-original.json | 312 +++++--- .../aspnetcore-3.1/.openapi-generator/FILES | 1 + .../Org.OpenAPITools/Controllers/FakeApi.cs | 49 ++ .../Org.OpenAPITools/Controllers/PetApi.cs | 40 +- .../Org.OpenAPITools/Controllers/StoreApi.cs | 5 +- .../Org.OpenAPITools/Controllers/UserApi.cs | 28 +- .../src/Org.OpenAPITools/Models/Category.cs | 1 + .../wwwroot/openapi-original.json | 312 +++++--- .../aspnetcore-5.0/.openapi-generator/FILES | 1 + .../Org.OpenAPITools/Controllers/FakeApi.cs | 49 ++ .../wwwroot/openapi-original.json | 23 + .../aspnetcore-6.0/.openapi-generator/FILES | 1 + .../Org.OpenAPITools/Controllers/FakeApi.cs | 49 ++ .../wwwroot/openapi-original.json | 23 + 26 files changed, 1512 insertions(+), 277 deletions(-) create mode 100644 modules/openapi-generator/src/test/resources/3_0/aspnetcore/petstore.yaml create mode 100644 samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Controllers/FakeApi.cs create mode 100644 samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Controllers/FakeApi.cs create mode 100644 samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Controllers/FakeApi.cs create mode 100644 samples/server/petstore/aspnetcore-6.0/src/Org.OpenAPITools/Controllers/FakeApi.cs diff --git a/bin/configs/aspnetcore-3.0.yaml b/bin/configs/aspnetcore-3.0.yaml index 762013c169..fcf9430d8b 100644 --- a/bin/configs/aspnetcore-3.0.yaml +++ b/bin/configs/aspnetcore-3.0.yaml @@ -1,6 +1,6 @@ generatorName: aspnetcore outputDir: samples/server/petstore/aspnetcore-3.0 -inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml +inputSpec: modules/openapi-generator/src/test/resources/3_0/aspnetcore/petstore.yaml templateDir: modules/openapi-generator/src/main/resources/aspnetcore/3.0 additionalProperties: packageGuid: '{3C799344-F285-4669-8FD5-7ED9B795D5C5}' diff --git a/bin/configs/aspnetcore-3.1.yaml b/bin/configs/aspnetcore-3.1.yaml index 43d84ec380..2859ae3629 100644 --- a/bin/configs/aspnetcore-3.1.yaml +++ b/bin/configs/aspnetcore-3.1.yaml @@ -1,6 +1,6 @@ generatorName: aspnetcore outputDir: samples/server/petstore/aspnetcore-3.1 -inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml +inputSpec: modules/openapi-generator/src/test/resources/3_0/aspnetcore/petstore.yaml templateDir: modules/openapi-generator/src/main/resources/aspnetcore/3.0 additionalProperties: packageGuid: '{3C799344-F285-4669-8FD5-7ED9B795D5C5}' diff --git a/bin/configs/aspnetcore-5.0.yaml b/bin/configs/aspnetcore-5.0.yaml index b4dc00c569..fd4e6d5fc2 100644 --- a/bin/configs/aspnetcore-5.0.yaml +++ b/bin/configs/aspnetcore-5.0.yaml @@ -1,6 +1,6 @@ generatorName: aspnetcore outputDir: samples/server/petstore/aspnetcore-5.0 -inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml +inputSpec: modules/openapi-generator/src/test/resources/3_0/aspnetcore/petstore.yaml templateDir: modules/openapi-generator/src/main/resources/aspnetcore/3.0 additionalProperties: packageGuid: '{3C799344-F285-4669-8FD5-7ED9B795D5C5}' diff --git a/bin/configs/aspnetcore-6.0.yaml b/bin/configs/aspnetcore-6.0.yaml index 8207af4f8e..a5cd2cc235 100644 --- a/bin/configs/aspnetcore-6.0.yaml +++ b/bin/configs/aspnetcore-6.0.yaml @@ -1,6 +1,6 @@ generatorName: aspnetcore outputDir: samples/server/petstore/aspnetcore-6.0 -inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml +inputSpec: modules/openapi-generator/src/test/resources/3_0/aspnetcore/petstore.yaml templateDir: modules/openapi-generator/src/main/resources/aspnetcore/3.0 additionalProperties: packageGuid: '{3C799344-F285-4669-8FD5-7ED9B795D5C5}' diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java index bc39b898fa..dbc934e0bb 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java @@ -1410,8 +1410,15 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co } else { example = "new List<" + p.items.dataType + ">()"; } + } else if (Boolean.TRUE.equals(p.isModel)) { + example = "new " + p.dataType + "()"; } else if (Boolean.TRUE.equals(p.isMap)) { - example = "new Dictionary"; + if (p.items != null) { + example = "new Dictionary"; + } else { + // default to String if item is not defined + example = "new Dictionary"; + } } p.example = example; diff --git a/modules/openapi-generator/src/test/resources/3_0/aspnetcore/petstore.yaml b/modules/openapi-generator/src/test/resources/3_0/aspnetcore/petstore.yaml new file mode 100644 index 0000000000..183eccd90b --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/aspnetcore/petstore.yaml @@ -0,0 +1,754 @@ +openapi: 3.0.0 +servers: + - url: 'http://petstore.swagger.io/v2' +info: + description: >- + This is a sample server Petstore server. For this sample, you can use the api key + `special-key` to test the authorization filters. + version: 1.0.0 + title: OpenAPI Petstore + license: + name: Apache-2.0 + url: 'https://www.apache.org/licenses/LICENSE-2.0.html' +tags: + - name: pet + description: Everything about your Pets + - name: store + description: Access to Petstore orders + - name: user + description: Operations about user +paths: + /pet: + post: + tags: + - pet + summary: Add a new pet to the store + description: '' + operationId: addPet + responses: + '200': + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Pet' + application/json: + schema: + $ref: '#/components/schemas/Pet' + '405': + description: Invalid input + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + requestBody: + $ref: '#/components/requestBodies/Pet' + put: + tags: + - pet + summary: Update an existing pet + description: '' + operationId: updatePet + responses: + '200': + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Pet' + application/json: + schema: + $ref: '#/components/schemas/Pet' + '400': + description: Invalid ID supplied + '404': + description: Pet not found + '405': + description: Validation exception + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + requestBody: + $ref: '#/components/requestBodies/Pet' + /pet/findByStatus: + get: + tags: + - pet + summary: Finds Pets by status + description: Multiple status values can be provided with comma separated strings + operationId: findPetsByStatus + parameters: + - name: status + in: query + description: Status values that need to be considered for filter + required: true + style: form + explode: false + deprecated: true + schema: + type: array + items: + type: string + enum: + - available + - pending + - sold + default: available + responses: + '200': + description: successful operation + content: + application/xml: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + '400': + description: Invalid status value + security: + - petstore_auth: + - 'read:pets' + /pet/findByTags: + get: + tags: + - pet + summary: Finds Pets by tags + description: >- + Multiple tags can be provided with comma separated strings. Use tag1, + tag2, tag3 for testing. + operationId: findPetsByTags + parameters: + - name: tags + in: query + description: Tags to filter by + required: true + style: form + explode: false + schema: + type: array + items: + type: string + responses: + '200': + description: successful operation + content: + application/xml: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + '400': + description: Invalid tag value + security: + - petstore_auth: + - 'read:pets' + deprecated: true + '/pet/{petId}': + get: + tags: + - pet + summary: Find pet by ID + description: Returns a single pet + operationId: getPetById + parameters: + - name: petId + in: path + description: ID of pet to return + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Pet' + application/json: + schema: + $ref: '#/components/schemas/Pet' + '400': + description: Invalid ID supplied + '404': + description: Pet not found + security: + - api_key: [] + post: + tags: + - pet + summary: Updates a pet in the store with form data + description: '' + operationId: updatePetWithForm + parameters: + - name: petId + in: path + description: ID of pet that needs to be updated + required: true + schema: + type: integer + format: int64 + responses: + '405': + description: Invalid input + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + requestBody: + content: + application/x-www-form-urlencoded: + schema: + type: object + properties: + name: + description: Updated name of the pet + type: string + status: + description: Updated status of the pet + type: string + delete: + tags: + - pet + summary: Deletes a pet + description: '' + operationId: deletePet + parameters: + - name: api_key + in: header + required: false + schema: + type: string + - name: petId + in: path + description: Pet id to delete + required: true + schema: + type: integer + format: int64 + responses: + '400': + description: Invalid pet value + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + '/pet/{petId}/uploadImage': + post: + tags: + - pet + summary: uploads an image + description: '' + operationId: uploadFile + parameters: + - name: petId + in: path + description: ID of pet to update + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/ApiResponse' + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + additionalMetadata: + description: Additional data to pass to server + type: string + file: + description: file to upload + type: string + format: binary + /store/inventory: + get: + tags: + - store + summary: Returns pet inventories by status + description: Returns a map of status codes to quantities + operationId: getInventory + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + additionalProperties: + type: integer + format: int32 + security: + - api_key: [] + /store/order: + post: + tags: + - store + summary: Place an order for a pet + description: '' + operationId: placeOrder + responses: + '200': + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Order' + application/json: + schema: + $ref: '#/components/schemas/Order' + '400': + description: Invalid Order + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + description: order placed for purchasing the pet + required: true + '/store/order/{orderId}': + get: + tags: + - store + summary: Find purchase order by ID + description: >- + For valid response try integer IDs with value <= 5 or > 10. Other values + will generated exceptions + operationId: getOrderById + parameters: + - name: orderId + in: path + description: ID of pet that needs to be fetched + required: true + schema: + type: integer + format: int64 + minimum: 1 + maximum: 5 + responses: + '200': + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Order' + application/json: + schema: + $ref: '#/components/schemas/Order' + '400': + description: Invalid ID supplied + '404': + description: Order not found + delete: + tags: + - store + summary: Delete purchase order by ID + description: >- + For valid response try integer IDs with value < 1000. Anything above + 1000 or nonintegers will generate API errors + operationId: deleteOrder + parameters: + - name: orderId + in: path + description: ID of the order that needs to be deleted + required: true + schema: + type: string + responses: + '400': + description: Invalid ID supplied + '404': + description: Order not found + /user: + post: + tags: + - user + summary: Create user + description: This can only be done by the logged in user. + operationId: createUser + responses: + default: + description: successful operation + security: + - api_key: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Created user object + required: true + /user/createWithArray: + post: + tags: + - user + summary: Creates list of users with given input array + description: '' + operationId: createUsersWithArrayInput + responses: + default: + description: successful operation + security: + - api_key: [] + requestBody: + $ref: '#/components/requestBodies/UserArray' + /user/createWithList: + post: + tags: + - user + summary: Creates list of users with given input array + description: '' + operationId: createUsersWithListInput + responses: + default: + description: successful operation + security: + - api_key: [] + requestBody: + $ref: '#/components/requestBodies/UserArray' + /user/login: + get: + tags: + - user + summary: Logs user into the system + description: '' + operationId: loginUser + parameters: + - name: username + in: query + description: The user name for login + required: true + schema: + type: string + pattern: '^[a-zA-Z0-9]+[a-zA-Z0-9\.\-_]*[a-zA-Z0-9]+$' + - name: password + in: query + description: The password for login in clear text + required: true + schema: + type: string + responses: + '200': + description: successful operation + headers: + Set-Cookie: + description: >- + Cookie authentication key for use with the `api_key` + apiKey authentication. + schema: + type: string + example: AUTH_KEY=abcde12345; Path=/; HttpOnly + X-Rate-Limit: + description: calls per hour allowed by the user + schema: + type: integer + format: int32 + X-Expires-After: + description: date in UTC when token expires + schema: + type: string + format: date-time + content: + application/xml: + schema: + type: string + application/json: + schema: + type: string + '400': + description: Invalid username/password supplied + /user/logout: + get: + tags: + - user + summary: Logs out current logged in user session + description: '' + operationId: logoutUser + responses: + default: + description: successful operation + security: + - api_key: [] + '/user/{username}': + get: + tags: + - user + summary: Get user by user name + description: '' + operationId: getUserByName + parameters: + - name: username + in: path + description: The name that needs to be fetched. Use user1 for testing. + required: true + schema: + type: string + responses: + '200': + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/User' + application/json: + schema: + $ref: '#/components/schemas/User' + '400': + description: Invalid username supplied + '404': + description: User not found + put: + tags: + - user + summary: Updated user + description: This can only be done by the logged in user. + operationId: updateUser + parameters: + - name: username + in: path + description: name that need to be deleted + required: true + schema: + type: string + responses: + '400': + description: Invalid user supplied + '404': + description: User not found + security: + - api_key: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Updated user object + required: true + delete: + tags: + - user + summary: Delete user + description: This can only be done by the logged in user. + operationId: deleteUser + parameters: + - name: username + in: path + description: The name that needs to be deleted + required: true + schema: + type: string + responses: + '400': + description: Invalid username supplied + '404': + description: User not found + security: + - api_key: [] + /fake/parameter_example_test: + get: + tags: + - fake + summary: fake endpoint to test parameter example (object) + description: '' + operationId: fake_parameter_example_test + parameters: + - name: data + in: query + required: true + schema: + $ref: "#/components/schemas/Pet" + responses: + default: + description: successful operation +externalDocs: + description: Find out more about Swagger + url: 'http://swagger.io' +components: + requestBodies: + UserArray: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/User' + description: List of user object + required: true + Pet: + content: + application/json: + schema: + $ref: '#/components/schemas/Pet' + application/xml: + schema: + $ref: '#/components/schemas/Pet' + description: Pet object that needs to be added to the store + required: true + securitySchemes: + petstore_auth: + type: oauth2 + flows: + implicit: + authorizationUrl: 'http://petstore.swagger.io/api/oauth/dialog' + scopes: + 'write:pets': modify pets in your account + 'read:pets': read your pets + api_key: + type: apiKey + name: api_key + in: header + schemas: + Order: + title: Pet Order + description: An order for a pets from the pet store + type: object + properties: + id: + type: integer + format: int64 + petId: + type: integer + format: int64 + quantity: + type: integer + format: int32 + shipDate: + type: string + format: date-time + status: + type: string + description: Order Status + enum: + - placed + - approved + - delivered + complete: + type: boolean + default: false + xml: + name: Order + Category: + title: Pet category + description: A category for a pet + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + pattern: '^[a-zA-Z0-9]+[a-zA-Z0-9\.\-_]*[a-zA-Z0-9]+$' + xml: + name: Category + User: + title: a User + description: A User who is purchasing from the pet store + type: object + properties: + id: + type: integer + format: int64 + username: + type: string + firstName: + type: string + lastName: + type: string + email: + type: string + password: + type: string + phone: + type: string + userStatus: + type: integer + format: int32 + description: User Status + xml: + name: User + Tag: + title: Pet Tag + description: A tag for a pet + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + xml: + name: Tag + Pet: + title: a Pet + description: A pet for sale in the pet store + type: object + required: + - name + - photoUrls + properties: + id: + type: integer + format: int64 + category: + $ref: '#/components/schemas/Category' + name: + type: string + example: doggie + photoUrls: + type: array + xml: + name: photoUrl + wrapped: true + items: + type: string + tags: + type: array + xml: + name: tag + wrapped: true + items: + $ref: '#/components/schemas/Tag' + status: + type: string + description: pet status in the store + deprecated: true + enum: + - available + - pending + - sold + xml: + name: Pet + ApiResponse: + title: An uploaded response + description: Describes the result of uploading an image resource + type: object + properties: + code: + type: integer + format: int32 + type: + type: string + message: + type: string diff --git a/samples/server/petstore/aspnetcore-3.0/.openapi-generator/FILES b/samples/server/petstore/aspnetcore-3.0/.openapi-generator/FILES index 4dcf9d8289..8dc5fd2560 100644 --- a/samples/server/petstore/aspnetcore-3.0/.openapi-generator/FILES +++ b/samples/server/petstore/aspnetcore-3.0/.openapi-generator/FILES @@ -5,6 +5,7 @@ build.sh src/Org.OpenAPITools/.gitignore src/Org.OpenAPITools/Attributes/ValidateModelStateAttribute.cs src/Org.OpenAPITools/Authentication/ApiAuthentication.cs +src/Org.OpenAPITools/Controllers/FakeApi.cs src/Org.OpenAPITools/Controllers/PetApi.cs src/Org.OpenAPITools/Controllers/StoreApi.cs src/Org.OpenAPITools/Controllers/UserApi.cs diff --git a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Controllers/FakeApi.cs b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Controllers/FakeApi.cs new file mode 100644 index 0000000000..8e36c8d2be --- /dev/null +++ b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Controllers/FakeApi.cs @@ -0,0 +1,49 @@ +/* + * OpenAPI Petstore + * + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Http; +using Swashbuckle.AspNetCore.Annotations; +using Swashbuckle.AspNetCore.SwaggerGen; +using Newtonsoft.Json; +using Org.OpenAPITools.Attributes; +using Org.OpenAPITools.Models; + +namespace Org.OpenAPITools.Controllers +{ + /// + /// + /// + [ApiController] + public class FakeApiController : ControllerBase + { + /// + /// fake endpoint to test parameter example (object) + /// + /// + /// successful operation + [HttpGet] + [Route("/v2/fake/parameter_example_test")] + [ValidateModelState] + [SwaggerOperation("FakeParameterExampleTest")] + public virtual IActionResult FakeParameterExampleTest([FromQuery (Name = "data")][Required()]Pet data) + { + + //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ... + // return StatusCode(0); + + throw new NotImplementedException(); + } + } +} diff --git a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Controllers/PetApi.cs b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Controllers/PetApi.cs index bb9dd57afd..982c1a6011 100644 --- a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Controllers/PetApi.cs +++ b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Controllers/PetApi.cs @@ -31,20 +31,31 @@ namespace Org.OpenAPITools.Controllers /// /// Add a new pet to the store /// - /// Pet object that needs to be added to the store + /// Pet object that needs to be added to the store + /// successful operation /// Invalid input [HttpPost] [Route("/v2/pet")] [Consumes("application/json", "application/xml")] [ValidateModelState] [SwaggerOperation("AddPet")] - public virtual IActionResult AddPet([FromBody]Pet body) + [SwaggerResponse(statusCode: 200, type: typeof(Pet), description: "successful operation")] + public virtual IActionResult AddPet([FromBody]Pet pet) { + //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ... + // return StatusCode(200, default(Pet)); //TODO: Uncomment the next line to return response 405 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(405); - - throw new NotImplementedException(); + string exampleJson = null; + exampleJson = "{\n \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ],\n \"name\" : \"doggie\",\n \"id\" : 0,\n \"category\" : {\n \"name\" : \"name\",\n \"id\" : 6\n },\n \"tags\" : [ {\n \"name\" : \"name\",\n \"id\" : 1\n }, {\n \"name\" : \"name\",\n \"id\" : 1\n } ],\n \"status\" : \"available\"\n}"; + exampleJson = "\n 123456789\n doggie\n \n aeiou\n \n \n \n aeiou\n"; + + var example = exampleJson != null + ? JsonConvert.DeserializeObject(exampleJson) + : default(Pet); + //TODO: Change the data returned + return new ObjectResult(example); } /// @@ -70,7 +81,7 @@ namespace Org.OpenAPITools.Controllers /// Finds Pets by status /// /// Multiple status values can be provided with comma separated strings - /// Status values that need to be considered for filter + /// Status values that need to be considered for filter (deprecated) /// successful operation /// Invalid status value [HttpGet] @@ -164,7 +175,8 @@ namespace Org.OpenAPITools.Controllers /// /// Update an existing pet /// - /// Pet object that needs to be added to the store + /// Pet object that needs to be added to the store + /// successful operation /// Invalid ID supplied /// Pet not found /// Validation exception @@ -173,17 +185,27 @@ namespace Org.OpenAPITools.Controllers [Consumes("application/json", "application/xml")] [ValidateModelState] [SwaggerOperation("UpdatePet")] - public virtual IActionResult UpdatePet([FromBody]Pet body) + [SwaggerResponse(statusCode: 200, type: typeof(Pet), description: "successful operation")] + public virtual IActionResult UpdatePet([FromBody]Pet pet) { + //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ... + // return StatusCode(200, default(Pet)); //TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(400); //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(404); //TODO: Uncomment the next line to return response 405 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(405); - - throw new NotImplementedException(); + string exampleJson = null; + exampleJson = "{\n \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ],\n \"name\" : \"doggie\",\n \"id\" : 0,\n \"category\" : {\n \"name\" : \"name\",\n \"id\" : 6\n },\n \"tags\" : [ {\n \"name\" : \"name\",\n \"id\" : 1\n }, {\n \"name\" : \"name\",\n \"id\" : 1\n } ],\n \"status\" : \"available\"\n}"; + exampleJson = "\n 123456789\n doggie\n \n aeiou\n \n \n \n aeiou\n"; + + var example = exampleJson != null + ? JsonConvert.DeserializeObject(exampleJson) + : default(Pet); + //TODO: Change the data returned + return new ObjectResult(example); } /// diff --git a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Controllers/StoreApi.cs b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Controllers/StoreApi.cs index bbb05474e1..2077313f7d 100644 --- a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Controllers/StoreApi.cs +++ b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Controllers/StoreApi.cs @@ -111,15 +111,16 @@ namespace Org.OpenAPITools.Controllers /// /// Place an order for a pet /// - /// order placed for purchasing the pet + /// order placed for purchasing the pet /// successful operation /// Invalid Order [HttpPost] [Route("/v2/store/order")] + [Consumes("application/json")] [ValidateModelState] [SwaggerOperation("PlaceOrder")] [SwaggerResponse(statusCode: 200, type: typeof(Order), description: "successful operation")] - public virtual IActionResult PlaceOrder([FromBody]Order body) + public virtual IActionResult PlaceOrder([FromBody]Order order) { //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ... diff --git a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Controllers/UserApi.cs b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Controllers/UserApi.cs index 6e4c255f4a..6d7094c81a 100644 --- a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Controllers/UserApi.cs +++ b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Controllers/UserApi.cs @@ -32,13 +32,15 @@ namespace Org.OpenAPITools.Controllers /// Create user /// /// This can only be done by the logged in user. - /// Created user object + /// Created user object /// successful operation [HttpPost] [Route("/v2/user")] + [Authorize(Policy = "api_key")] + [Consumes("application/json")] [ValidateModelState] [SwaggerOperation("CreateUser")] - public virtual IActionResult CreateUser([FromBody]User body) + public virtual IActionResult CreateUser([FromBody]User user) { //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ... @@ -50,13 +52,15 @@ namespace Org.OpenAPITools.Controllers /// /// Creates list of users with given input array /// - /// List of user object + /// List of user object /// successful operation [HttpPost] [Route("/v2/user/createWithArray")] + [Authorize(Policy = "api_key")] + [Consumes("application/json")] [ValidateModelState] [SwaggerOperation("CreateUsersWithArrayInput")] - public virtual IActionResult CreateUsersWithArrayInput([FromBody]List body) + public virtual IActionResult CreateUsersWithArrayInput([FromBody]List user) { //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ... @@ -68,13 +72,15 @@ namespace Org.OpenAPITools.Controllers /// /// Creates list of users with given input array /// - /// List of user object + /// List of user object /// successful operation [HttpPost] [Route("/v2/user/createWithList")] + [Authorize(Policy = "api_key")] + [Consumes("application/json")] [ValidateModelState] [SwaggerOperation("CreateUsersWithListInput")] - public virtual IActionResult CreateUsersWithListInput([FromBody]List body) + public virtual IActionResult CreateUsersWithListInput([FromBody]List user) { //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ... @@ -92,6 +98,7 @@ namespace Org.OpenAPITools.Controllers /// User not found [HttpDelete] [Route("/v2/user/{username}")] + [Authorize(Policy = "api_key")] [ValidateModelState] [SwaggerOperation("DeleteUser")] public virtual IActionResult DeleteUser([FromRoute (Name = "username")][Required]string username) @@ -149,7 +156,7 @@ namespace Org.OpenAPITools.Controllers [ValidateModelState] [SwaggerOperation("LoginUser")] [SwaggerResponse(statusCode: 200, type: typeof(string), description: "successful operation")] - public virtual IActionResult LoginUser([FromQuery (Name = "username")][Required()]string username, [FromQuery (Name = "password")][Required()]string password) + public virtual IActionResult LoginUser([FromQuery (Name = "username")][Required()][RegularExpression("^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$")]string username, [FromQuery (Name = "password")][Required()]string password) { //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ... @@ -171,6 +178,7 @@ namespace Org.OpenAPITools.Controllers /// successful operation [HttpGet] [Route("/v2/user/logout")] + [Authorize(Policy = "api_key")] [ValidateModelState] [SwaggerOperation("LogoutUser")] public virtual IActionResult LogoutUser() @@ -187,14 +195,16 @@ namespace Org.OpenAPITools.Controllers /// /// This can only be done by the logged in user. /// name that need to be deleted - /// Updated user object + /// Updated user object /// Invalid user supplied /// User not found [HttpPut] [Route("/v2/user/{username}")] + [Authorize(Policy = "api_key")] + [Consumes("application/json")] [ValidateModelState] [SwaggerOperation("UpdateUser")] - public virtual IActionResult UpdateUser([FromRoute (Name = "username")][Required]string username, [FromBody]User body) + public virtual IActionResult UpdateUser([FromRoute (Name = "username")][Required]string username, [FromBody]User user) { //TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ... diff --git a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Category.cs b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Category.cs index 810f5beacc..0d63dc9d7e 100644 --- a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Category.cs +++ b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/Models/Category.cs @@ -35,6 +35,7 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Name /// + [RegularExpression("^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$")] [DataMember(Name="name", EmitDefaultValue=false)] public string Name { get; set; } diff --git a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/wwwroot/openapi-original.json b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/wwwroot/openapi-original.json index 323c86f182..257358c060 100644 --- a/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/wwwroot/openapi-original.json +++ b/samples/server/petstore/aspnetcore-3.0/src/Org.OpenAPITools/wwwroot/openapi-original.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.1", + "openapi" : "3.0.0", "info" : { "description" : "This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.", "license" : { @@ -9,6 +9,10 @@ "title" : "OpenAPI Petstore", "version" : "1.0.0" }, + "externalDocs" : { + "description" : "Find out more about Swagger", + "url" : "http://swagger.io" + }, "servers" : [ { "url" : "http://petstore.swagger.io/v2" } ], @@ -25,26 +29,28 @@ "paths" : { "/pet" : { "post" : { + "description" : "", "operationId" : "addPet", "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/Pet" - } - }, - "application/xml" : { - "schema" : { - "$ref" : "#/components/schemas/Pet" - } - } - }, - "description" : "Pet object that needs to be added to the store", - "required" : true + "$ref" : "#/components/requestBodies/Pet" }, "responses" : { + "200" : { + "content" : { + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + }, + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + } + }, + "description" : "successful operation" + }, "405" : { - "content" : { }, "description" : "Invalid input" } }, @@ -52,38 +58,37 @@ "petstore_auth" : [ "write:pets", "read:pets" ] } ], "summary" : "Add a new pet to the store", - "tags" : [ "pet" ], - "x-codegen-request-body-name" : "body" + "tags" : [ "pet" ] }, "put" : { + "description" : "", "operationId" : "updatePet", "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/Pet" - } - }, - "application/xml" : { - "schema" : { - "$ref" : "#/components/schemas/Pet" - } - } - }, - "description" : "Pet object that needs to be added to the store", - "required" : true + "$ref" : "#/components/requestBodies/Pet" }, "responses" : { + "200" : { + "content" : { + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + }, + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + } + }, + "description" : "successful operation" + }, "400" : { - "content" : { }, "description" : "Invalid ID supplied" }, "404" : { - "content" : { }, "description" : "Pet not found" }, "405" : { - "content" : { }, "description" : "Validation exception" } }, @@ -91,8 +96,7 @@ "petstore_auth" : [ "write:pets", "read:pets" ] } ], "summary" : "Update an existing pet", - "tags" : [ "pet" ], - "x-codegen-request-body-name" : "body" + "tags" : [ "pet" ] } }, "/pet/findByStatus" : { @@ -100,6 +104,7 @@ "description" : "Multiple status values can be provided with comma separated strings", "operationId" : "findPetsByStatus", "parameters" : [ { + "deprecated" : true, "description" : "Status values that need to be considered for filter", "explode" : false, "in" : "query", @@ -138,12 +143,11 @@ "description" : "successful operation" }, "400" : { - "content" : { }, "description" : "Invalid status value" } }, "security" : [ { - "petstore_auth" : [ "write:pets", "read:pets" ] + "petstore_auth" : [ "read:pets" ] } ], "summary" : "Finds Pets by status", "tags" : [ "pet" ] @@ -191,12 +195,11 @@ "description" : "successful operation" }, "400" : { - "content" : { }, "description" : "Invalid tag value" } }, "security" : [ { - "petstore_auth" : [ "write:pets", "read:pets" ] + "petstore_auth" : [ "read:pets" ] } ], "summary" : "Finds Pets by tags", "tags" : [ "pet" ] @@ -204,26 +207,31 @@ }, "/pet/{petId}" : { "delete" : { + "description" : "", "operationId" : "deletePet", "parameters" : [ { + "explode" : false, "in" : "header", "name" : "api_key", + "required" : false, "schema" : { "type" : "string" - } + }, + "style" : "simple" }, { "description" : "Pet id to delete", + "explode" : false, "in" : "path", "name" : "petId", "required" : true, "schema" : { "format" : "int64", "type" : "integer" - } + }, + "style" : "simple" } ], "responses" : { "400" : { - "content" : { }, "description" : "Invalid pet value" } }, @@ -238,13 +246,15 @@ "operationId" : "getPetById", "parameters" : [ { "description" : "ID of pet to return", + "explode" : false, "in" : "path", "name" : "petId", "required" : true, "schema" : { "format" : "int64", "type" : "integer" - } + }, + "style" : "simple" } ], "responses" : { "200" : { @@ -263,11 +273,9 @@ "description" : "successful operation" }, "400" : { - "content" : { }, "description" : "Invalid ID supplied" }, "404" : { - "content" : { }, "description" : "Pet not found" } }, @@ -278,16 +286,19 @@ "tags" : [ "pet" ] }, "post" : { + "description" : "", "operationId" : "updatePetWithForm", "parameters" : [ { "description" : "ID of pet that needs to be updated", + "explode" : false, "in" : "path", "name" : "petId", "required" : true, "schema" : { "format" : "int64", "type" : "integer" - } + }, + "style" : "simple" } ], "requestBody" : { "content" : { @@ -300,7 +311,6 @@ }, "responses" : { "405" : { - "content" : { }, "description" : "Invalid input" } }, @@ -313,16 +323,19 @@ }, "/pet/{petId}/uploadImage" : { "post" : { + "description" : "", "operationId" : "uploadFile", "parameters" : [ { "description" : "ID of pet to update", + "explode" : false, "in" : "path", "name" : "petId", "required" : true, "schema" : { "format" : "int64", "type" : "integer" - } + }, + "style" : "simple" } ], "requestBody" : { "content" : { @@ -381,10 +394,11 @@ }, "/store/order" : { "post" : { + "description" : "", "operationId" : "placeOrder", "requestBody" : { "content" : { - "*/*" : { + "application/json" : { "schema" : { "$ref" : "#/components/schemas/Order" } @@ -410,13 +424,11 @@ "description" : "successful operation" }, "400" : { - "content" : { }, "description" : "Invalid Order" } }, "summary" : "Place an order for a pet", - "tags" : [ "store" ], - "x-codegen-request-body-name" : "body" + "tags" : [ "store" ] } }, "/store/order/{orderId}" : { @@ -425,20 +437,20 @@ "operationId" : "deleteOrder", "parameters" : [ { "description" : "ID of the order that needs to be deleted", + "explode" : false, "in" : "path", "name" : "orderId", "required" : true, "schema" : { "type" : "string" - } + }, + "style" : "simple" } ], "responses" : { "400" : { - "content" : { }, "description" : "Invalid ID supplied" }, "404" : { - "content" : { }, "description" : "Order not found" } }, @@ -450,6 +462,7 @@ "operationId" : "getOrderById", "parameters" : [ { "description" : "ID of pet that needs to be fetched", + "explode" : false, "in" : "path", "name" : "orderId", "required" : true, @@ -458,7 +471,8 @@ "maximum" : 5, "minimum" : 1, "type" : "integer" - } + }, + "style" : "simple" } ], "responses" : { "200" : { @@ -477,11 +491,9 @@ "description" : "successful operation" }, "400" : { - "content" : { }, "description" : "Invalid ID supplied" }, "404" : { - "content" : { }, "description" : "Order not found" } }, @@ -495,7 +507,7 @@ "operationId" : "createUser", "requestBody" : { "content" : { - "*/*" : { + "application/json" : { "schema" : { "$ref" : "#/components/schemas/User" } @@ -506,90 +518,79 @@ }, "responses" : { "default" : { - "content" : { }, "description" : "successful operation" } }, + "security" : [ { + "api_key" : [ ] + } ], "summary" : "Create user", - "tags" : [ "user" ], - "x-codegen-request-body-name" : "body" + "tags" : [ "user" ] } }, "/user/createWithArray" : { "post" : { + "description" : "", "operationId" : "createUsersWithArrayInput", "requestBody" : { - "content" : { - "*/*" : { - "schema" : { - "items" : { - "$ref" : "#/components/schemas/User" - }, - "type" : "array" - } - } - }, - "description" : "List of user object", - "required" : true + "$ref" : "#/components/requestBodies/UserArray" }, "responses" : { "default" : { - "content" : { }, "description" : "successful operation" } }, + "security" : [ { + "api_key" : [ ] + } ], "summary" : "Creates list of users with given input array", - "tags" : [ "user" ], - "x-codegen-request-body-name" : "body" + "tags" : [ "user" ] } }, "/user/createWithList" : { "post" : { + "description" : "", "operationId" : "createUsersWithListInput", "requestBody" : { - "content" : { - "*/*" : { - "schema" : { - "items" : { - "$ref" : "#/components/schemas/User" - }, - "type" : "array" - } - } - }, - "description" : "List of user object", - "required" : true + "$ref" : "#/components/requestBodies/UserArray" }, "responses" : { "default" : { - "content" : { }, "description" : "successful operation" } }, + "security" : [ { + "api_key" : [ ] + } ], "summary" : "Creates list of users with given input array", - "tags" : [ "user" ], - "x-codegen-request-body-name" : "body" + "tags" : [ "user" ] } }, "/user/login" : { "get" : { + "description" : "", "operationId" : "loginUser", "parameters" : [ { "description" : "The user name for login", + "explode" : true, "in" : "query", "name" : "username", "required" : true, "schema" : { + "pattern" : "^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$", "type" : "string" - } + }, + "style" : "form" }, { "description" : "The password for login in clear text", + "explode" : true, "in" : "query", "name" : "password", "required" : true, "schema" : { "type" : "string" - } + }, + "style" : "form" } ], "responses" : { "200" : { @@ -607,24 +608,36 @@ }, "description" : "successful operation", "headers" : { + "Set-Cookie" : { + "description" : "Cookie authentication key for use with the `api_key` apiKey authentication.", + "explode" : false, + "schema" : { + "example" : "AUTH_KEY=abcde12345; Path=/; HttpOnly", + "type" : "string" + }, + "style" : "simple" + }, "X-Rate-Limit" : { "description" : "calls per hour allowed by the user", + "explode" : false, "schema" : { "format" : "int32", "type" : "integer" - } + }, + "style" : "simple" }, "X-Expires-After" : { "description" : "date in UTC when token expires", + "explode" : false, "schema" : { "format" : "date-time", "type" : "string" - } + }, + "style" : "simple" } } }, "400" : { - "content" : { }, "description" : "Invalid username/password supplied" } }, @@ -634,13 +647,16 @@ }, "/user/logout" : { "get" : { + "description" : "", "operationId" : "logoutUser", "responses" : { "default" : { - "content" : { }, "description" : "successful operation" } }, + "security" : [ { + "api_key" : [ ] + } ], "summary" : "Logs out current logged in user session", "tags" : [ "user" ] } @@ -651,36 +667,42 @@ "operationId" : "deleteUser", "parameters" : [ { "description" : "The name that needs to be deleted", + "explode" : false, "in" : "path", "name" : "username", "required" : true, "schema" : { "type" : "string" - } + }, + "style" : "simple" } ], "responses" : { "400" : { - "content" : { }, "description" : "Invalid username supplied" }, "404" : { - "content" : { }, "description" : "User not found" } }, + "security" : [ { + "api_key" : [ ] + } ], "summary" : "Delete user", "tags" : [ "user" ] }, "get" : { + "description" : "", "operationId" : "getUserByName", "parameters" : [ { "description" : "The name that needs to be fetched. Use user1 for testing.", + "explode" : false, "in" : "path", "name" : "username", "required" : true, "schema" : { "type" : "string" - } + }, + "style" : "simple" } ], "responses" : { "200" : { @@ -699,11 +721,9 @@ "description" : "successful operation" }, "400" : { - "content" : { }, "description" : "Invalid username supplied" }, "404" : { - "content" : { }, "description" : "User not found" } }, @@ -715,16 +735,18 @@ "operationId" : "updateUser", "parameters" : [ { "description" : "name that need to be deleted", + "explode" : false, "in" : "path", "name" : "username", "required" : true, "schema" : { "type" : "string" - } + }, + "style" : "simple" } ], "requestBody" : { "content" : { - "*/*" : { + "application/json" : { "schema" : { "$ref" : "#/components/schemas/User" } @@ -735,21 +757,76 @@ }, "responses" : { "400" : { - "content" : { }, "description" : "Invalid user supplied" }, "404" : { - "content" : { }, "description" : "User not found" } }, + "security" : [ { + "api_key" : [ ] + } ], "summary" : "Updated user", - "tags" : [ "user" ], - "x-codegen-request-body-name" : "body" + "tags" : [ "user" ] + } + }, + "/fake/parameter_example_test" : { + "get" : { + "description" : "", + "operationId" : "fake_parameter_example_test", + "parameters" : [ { + "explode" : true, + "in" : "query", + "name" : "data", + "required" : true, + "schema" : { + "$ref" : "#/components/schemas/Pet" + }, + "style" : "form" + } ], + "responses" : { + "default" : { + "description" : "successful operation" + } + }, + "summary" : "fake endpoint to test parameter example (object)", + "tags" : [ "fake" ] } } }, "components" : { + "requestBodies" : { + "UserArray" : { + "content" : { + "application/json" : { + "schema" : { + "items" : { + "$ref" : "#/components/schemas/User" + }, + "type" : "array" + } + } + }, + "description" : "List of user object", + "required" : true + }, + "Pet" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + } + }, + "description" : "Pet object that needs to be added to the store", + "required" : true + } + }, "schemas" : { "Order" : { "description" : "An order for a pets from the pet store", @@ -806,6 +883,7 @@ "type" : "integer" }, "name" : { + "pattern" : "^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$", "type" : "string" } }, @@ -935,6 +1013,7 @@ } }, "status" : { + "deprecated" : true, "description" : "pet status in the store", "enum" : [ "available", "pending", "sold" ], "type" : "string" @@ -979,7 +1058,8 @@ "description" : "Updated status of the pet", "type" : "string" } - } + }, + "type" : "object" }, "uploadFile_request" : { "properties" : { @@ -992,7 +1072,8 @@ "format" : "binary", "type" : "string" } - } + }, + "type" : "object" } }, "securitySchemes" : { @@ -1014,6 +1095,5 @@ "type" : "apiKey" } } - }, - "x-original-swagger-version" : "2.0" + } } diff --git a/samples/server/petstore/aspnetcore-3.1/.openapi-generator/FILES b/samples/server/petstore/aspnetcore-3.1/.openapi-generator/FILES index 4dcf9d8289..8dc5fd2560 100644 --- a/samples/server/petstore/aspnetcore-3.1/.openapi-generator/FILES +++ b/samples/server/petstore/aspnetcore-3.1/.openapi-generator/FILES @@ -5,6 +5,7 @@ build.sh src/Org.OpenAPITools/.gitignore src/Org.OpenAPITools/Attributes/ValidateModelStateAttribute.cs src/Org.OpenAPITools/Authentication/ApiAuthentication.cs +src/Org.OpenAPITools/Controllers/FakeApi.cs src/Org.OpenAPITools/Controllers/PetApi.cs src/Org.OpenAPITools/Controllers/StoreApi.cs src/Org.OpenAPITools/Controllers/UserApi.cs diff --git a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Controllers/FakeApi.cs b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Controllers/FakeApi.cs new file mode 100644 index 0000000000..8e36c8d2be --- /dev/null +++ b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Controllers/FakeApi.cs @@ -0,0 +1,49 @@ +/* + * OpenAPI Petstore + * + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Http; +using Swashbuckle.AspNetCore.Annotations; +using Swashbuckle.AspNetCore.SwaggerGen; +using Newtonsoft.Json; +using Org.OpenAPITools.Attributes; +using Org.OpenAPITools.Models; + +namespace Org.OpenAPITools.Controllers +{ + /// + /// + /// + [ApiController] + public class FakeApiController : ControllerBase + { + /// + /// fake endpoint to test parameter example (object) + /// + /// + /// successful operation + [HttpGet] + [Route("/v2/fake/parameter_example_test")] + [ValidateModelState] + [SwaggerOperation("FakeParameterExampleTest")] + public virtual IActionResult FakeParameterExampleTest([FromQuery (Name = "data")][Required()]Pet data) + { + + //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ... + // return StatusCode(0); + + throw new NotImplementedException(); + } + } +} diff --git a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Controllers/PetApi.cs b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Controllers/PetApi.cs index bb9dd57afd..982c1a6011 100644 --- a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Controllers/PetApi.cs +++ b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Controllers/PetApi.cs @@ -31,20 +31,31 @@ namespace Org.OpenAPITools.Controllers /// /// Add a new pet to the store /// - /// Pet object that needs to be added to the store + /// Pet object that needs to be added to the store + /// successful operation /// Invalid input [HttpPost] [Route("/v2/pet")] [Consumes("application/json", "application/xml")] [ValidateModelState] [SwaggerOperation("AddPet")] - public virtual IActionResult AddPet([FromBody]Pet body) + [SwaggerResponse(statusCode: 200, type: typeof(Pet), description: "successful operation")] + public virtual IActionResult AddPet([FromBody]Pet pet) { + //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ... + // return StatusCode(200, default(Pet)); //TODO: Uncomment the next line to return response 405 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(405); - - throw new NotImplementedException(); + string exampleJson = null; + exampleJson = "{\n \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ],\n \"name\" : \"doggie\",\n \"id\" : 0,\n \"category\" : {\n \"name\" : \"name\",\n \"id\" : 6\n },\n \"tags\" : [ {\n \"name\" : \"name\",\n \"id\" : 1\n }, {\n \"name\" : \"name\",\n \"id\" : 1\n } ],\n \"status\" : \"available\"\n}"; + exampleJson = "\n 123456789\n doggie\n \n aeiou\n \n \n \n aeiou\n"; + + var example = exampleJson != null + ? JsonConvert.DeserializeObject(exampleJson) + : default(Pet); + //TODO: Change the data returned + return new ObjectResult(example); } /// @@ -70,7 +81,7 @@ namespace Org.OpenAPITools.Controllers /// Finds Pets by status /// /// Multiple status values can be provided with comma separated strings - /// Status values that need to be considered for filter + /// Status values that need to be considered for filter (deprecated) /// successful operation /// Invalid status value [HttpGet] @@ -164,7 +175,8 @@ namespace Org.OpenAPITools.Controllers /// /// Update an existing pet /// - /// Pet object that needs to be added to the store + /// Pet object that needs to be added to the store + /// successful operation /// Invalid ID supplied /// Pet not found /// Validation exception @@ -173,17 +185,27 @@ namespace Org.OpenAPITools.Controllers [Consumes("application/json", "application/xml")] [ValidateModelState] [SwaggerOperation("UpdatePet")] - public virtual IActionResult UpdatePet([FromBody]Pet body) + [SwaggerResponse(statusCode: 200, type: typeof(Pet), description: "successful operation")] + public virtual IActionResult UpdatePet([FromBody]Pet pet) { + //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ... + // return StatusCode(200, default(Pet)); //TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(400); //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(404); //TODO: Uncomment the next line to return response 405 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(405); - - throw new NotImplementedException(); + string exampleJson = null; + exampleJson = "{\n \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ],\n \"name\" : \"doggie\",\n \"id\" : 0,\n \"category\" : {\n \"name\" : \"name\",\n \"id\" : 6\n },\n \"tags\" : [ {\n \"name\" : \"name\",\n \"id\" : 1\n }, {\n \"name\" : \"name\",\n \"id\" : 1\n } ],\n \"status\" : \"available\"\n}"; + exampleJson = "\n 123456789\n doggie\n \n aeiou\n \n \n \n aeiou\n"; + + var example = exampleJson != null + ? JsonConvert.DeserializeObject(exampleJson) + : default(Pet); + //TODO: Change the data returned + return new ObjectResult(example); } /// diff --git a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Controllers/StoreApi.cs b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Controllers/StoreApi.cs index bbb05474e1..2077313f7d 100644 --- a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Controllers/StoreApi.cs +++ b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Controllers/StoreApi.cs @@ -111,15 +111,16 @@ namespace Org.OpenAPITools.Controllers /// /// Place an order for a pet /// - /// order placed for purchasing the pet + /// order placed for purchasing the pet /// successful operation /// Invalid Order [HttpPost] [Route("/v2/store/order")] + [Consumes("application/json")] [ValidateModelState] [SwaggerOperation("PlaceOrder")] [SwaggerResponse(statusCode: 200, type: typeof(Order), description: "successful operation")] - public virtual IActionResult PlaceOrder([FromBody]Order body) + public virtual IActionResult PlaceOrder([FromBody]Order order) { //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ... diff --git a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Controllers/UserApi.cs b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Controllers/UserApi.cs index 6e4c255f4a..6d7094c81a 100644 --- a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Controllers/UserApi.cs +++ b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Controllers/UserApi.cs @@ -32,13 +32,15 @@ namespace Org.OpenAPITools.Controllers /// Create user /// /// This can only be done by the logged in user. - /// Created user object + /// Created user object /// successful operation [HttpPost] [Route("/v2/user")] + [Authorize(Policy = "api_key")] + [Consumes("application/json")] [ValidateModelState] [SwaggerOperation("CreateUser")] - public virtual IActionResult CreateUser([FromBody]User body) + public virtual IActionResult CreateUser([FromBody]User user) { //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ... @@ -50,13 +52,15 @@ namespace Org.OpenAPITools.Controllers /// /// Creates list of users with given input array /// - /// List of user object + /// List of user object /// successful operation [HttpPost] [Route("/v2/user/createWithArray")] + [Authorize(Policy = "api_key")] + [Consumes("application/json")] [ValidateModelState] [SwaggerOperation("CreateUsersWithArrayInput")] - public virtual IActionResult CreateUsersWithArrayInput([FromBody]List body) + public virtual IActionResult CreateUsersWithArrayInput([FromBody]List user) { //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ... @@ -68,13 +72,15 @@ namespace Org.OpenAPITools.Controllers /// /// Creates list of users with given input array /// - /// List of user object + /// List of user object /// successful operation [HttpPost] [Route("/v2/user/createWithList")] + [Authorize(Policy = "api_key")] + [Consumes("application/json")] [ValidateModelState] [SwaggerOperation("CreateUsersWithListInput")] - public virtual IActionResult CreateUsersWithListInput([FromBody]List body) + public virtual IActionResult CreateUsersWithListInput([FromBody]List user) { //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ... @@ -92,6 +98,7 @@ namespace Org.OpenAPITools.Controllers /// User not found [HttpDelete] [Route("/v2/user/{username}")] + [Authorize(Policy = "api_key")] [ValidateModelState] [SwaggerOperation("DeleteUser")] public virtual IActionResult DeleteUser([FromRoute (Name = "username")][Required]string username) @@ -149,7 +156,7 @@ namespace Org.OpenAPITools.Controllers [ValidateModelState] [SwaggerOperation("LoginUser")] [SwaggerResponse(statusCode: 200, type: typeof(string), description: "successful operation")] - public virtual IActionResult LoginUser([FromQuery (Name = "username")][Required()]string username, [FromQuery (Name = "password")][Required()]string password) + public virtual IActionResult LoginUser([FromQuery (Name = "username")][Required()][RegularExpression("^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$")]string username, [FromQuery (Name = "password")][Required()]string password) { //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ... @@ -171,6 +178,7 @@ namespace Org.OpenAPITools.Controllers /// successful operation [HttpGet] [Route("/v2/user/logout")] + [Authorize(Policy = "api_key")] [ValidateModelState] [SwaggerOperation("LogoutUser")] public virtual IActionResult LogoutUser() @@ -187,14 +195,16 @@ namespace Org.OpenAPITools.Controllers /// /// This can only be done by the logged in user. /// name that need to be deleted - /// Updated user object + /// Updated user object /// Invalid user supplied /// User not found [HttpPut] [Route("/v2/user/{username}")] + [Authorize(Policy = "api_key")] + [Consumes("application/json")] [ValidateModelState] [SwaggerOperation("UpdateUser")] - public virtual IActionResult UpdateUser([FromRoute (Name = "username")][Required]string username, [FromBody]User body) + public virtual IActionResult UpdateUser([FromRoute (Name = "username")][Required]string username, [FromBody]User user) { //TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ... diff --git a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Category.cs b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Category.cs index 810f5beacc..0d63dc9d7e 100644 --- a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Category.cs +++ b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/Models/Category.cs @@ -35,6 +35,7 @@ namespace Org.OpenAPITools.Models /// /// Gets or Sets Name /// + [RegularExpression("^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$")] [DataMember(Name="name", EmitDefaultValue=false)] public string Name { get; set; } diff --git a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/wwwroot/openapi-original.json b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/wwwroot/openapi-original.json index 323c86f182..257358c060 100644 --- a/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/wwwroot/openapi-original.json +++ b/samples/server/petstore/aspnetcore-3.1/src/Org.OpenAPITools/wwwroot/openapi-original.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.1", + "openapi" : "3.0.0", "info" : { "description" : "This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.", "license" : { @@ -9,6 +9,10 @@ "title" : "OpenAPI Petstore", "version" : "1.0.0" }, + "externalDocs" : { + "description" : "Find out more about Swagger", + "url" : "http://swagger.io" + }, "servers" : [ { "url" : "http://petstore.swagger.io/v2" } ], @@ -25,26 +29,28 @@ "paths" : { "/pet" : { "post" : { + "description" : "", "operationId" : "addPet", "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/Pet" - } - }, - "application/xml" : { - "schema" : { - "$ref" : "#/components/schemas/Pet" - } - } - }, - "description" : "Pet object that needs to be added to the store", - "required" : true + "$ref" : "#/components/requestBodies/Pet" }, "responses" : { + "200" : { + "content" : { + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + }, + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + } + }, + "description" : "successful operation" + }, "405" : { - "content" : { }, "description" : "Invalid input" } }, @@ -52,38 +58,37 @@ "petstore_auth" : [ "write:pets", "read:pets" ] } ], "summary" : "Add a new pet to the store", - "tags" : [ "pet" ], - "x-codegen-request-body-name" : "body" + "tags" : [ "pet" ] }, "put" : { + "description" : "", "operationId" : "updatePet", "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/Pet" - } - }, - "application/xml" : { - "schema" : { - "$ref" : "#/components/schemas/Pet" - } - } - }, - "description" : "Pet object that needs to be added to the store", - "required" : true + "$ref" : "#/components/requestBodies/Pet" }, "responses" : { + "200" : { + "content" : { + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + }, + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + } + }, + "description" : "successful operation" + }, "400" : { - "content" : { }, "description" : "Invalid ID supplied" }, "404" : { - "content" : { }, "description" : "Pet not found" }, "405" : { - "content" : { }, "description" : "Validation exception" } }, @@ -91,8 +96,7 @@ "petstore_auth" : [ "write:pets", "read:pets" ] } ], "summary" : "Update an existing pet", - "tags" : [ "pet" ], - "x-codegen-request-body-name" : "body" + "tags" : [ "pet" ] } }, "/pet/findByStatus" : { @@ -100,6 +104,7 @@ "description" : "Multiple status values can be provided with comma separated strings", "operationId" : "findPetsByStatus", "parameters" : [ { + "deprecated" : true, "description" : "Status values that need to be considered for filter", "explode" : false, "in" : "query", @@ -138,12 +143,11 @@ "description" : "successful operation" }, "400" : { - "content" : { }, "description" : "Invalid status value" } }, "security" : [ { - "petstore_auth" : [ "write:pets", "read:pets" ] + "petstore_auth" : [ "read:pets" ] } ], "summary" : "Finds Pets by status", "tags" : [ "pet" ] @@ -191,12 +195,11 @@ "description" : "successful operation" }, "400" : { - "content" : { }, "description" : "Invalid tag value" } }, "security" : [ { - "petstore_auth" : [ "write:pets", "read:pets" ] + "petstore_auth" : [ "read:pets" ] } ], "summary" : "Finds Pets by tags", "tags" : [ "pet" ] @@ -204,26 +207,31 @@ }, "/pet/{petId}" : { "delete" : { + "description" : "", "operationId" : "deletePet", "parameters" : [ { + "explode" : false, "in" : "header", "name" : "api_key", + "required" : false, "schema" : { "type" : "string" - } + }, + "style" : "simple" }, { "description" : "Pet id to delete", + "explode" : false, "in" : "path", "name" : "petId", "required" : true, "schema" : { "format" : "int64", "type" : "integer" - } + }, + "style" : "simple" } ], "responses" : { "400" : { - "content" : { }, "description" : "Invalid pet value" } }, @@ -238,13 +246,15 @@ "operationId" : "getPetById", "parameters" : [ { "description" : "ID of pet to return", + "explode" : false, "in" : "path", "name" : "petId", "required" : true, "schema" : { "format" : "int64", "type" : "integer" - } + }, + "style" : "simple" } ], "responses" : { "200" : { @@ -263,11 +273,9 @@ "description" : "successful operation" }, "400" : { - "content" : { }, "description" : "Invalid ID supplied" }, "404" : { - "content" : { }, "description" : "Pet not found" } }, @@ -278,16 +286,19 @@ "tags" : [ "pet" ] }, "post" : { + "description" : "", "operationId" : "updatePetWithForm", "parameters" : [ { "description" : "ID of pet that needs to be updated", + "explode" : false, "in" : "path", "name" : "petId", "required" : true, "schema" : { "format" : "int64", "type" : "integer" - } + }, + "style" : "simple" } ], "requestBody" : { "content" : { @@ -300,7 +311,6 @@ }, "responses" : { "405" : { - "content" : { }, "description" : "Invalid input" } }, @@ -313,16 +323,19 @@ }, "/pet/{petId}/uploadImage" : { "post" : { + "description" : "", "operationId" : "uploadFile", "parameters" : [ { "description" : "ID of pet to update", + "explode" : false, "in" : "path", "name" : "petId", "required" : true, "schema" : { "format" : "int64", "type" : "integer" - } + }, + "style" : "simple" } ], "requestBody" : { "content" : { @@ -381,10 +394,11 @@ }, "/store/order" : { "post" : { + "description" : "", "operationId" : "placeOrder", "requestBody" : { "content" : { - "*/*" : { + "application/json" : { "schema" : { "$ref" : "#/components/schemas/Order" } @@ -410,13 +424,11 @@ "description" : "successful operation" }, "400" : { - "content" : { }, "description" : "Invalid Order" } }, "summary" : "Place an order for a pet", - "tags" : [ "store" ], - "x-codegen-request-body-name" : "body" + "tags" : [ "store" ] } }, "/store/order/{orderId}" : { @@ -425,20 +437,20 @@ "operationId" : "deleteOrder", "parameters" : [ { "description" : "ID of the order that needs to be deleted", + "explode" : false, "in" : "path", "name" : "orderId", "required" : true, "schema" : { "type" : "string" - } + }, + "style" : "simple" } ], "responses" : { "400" : { - "content" : { }, "description" : "Invalid ID supplied" }, "404" : { - "content" : { }, "description" : "Order not found" } }, @@ -450,6 +462,7 @@ "operationId" : "getOrderById", "parameters" : [ { "description" : "ID of pet that needs to be fetched", + "explode" : false, "in" : "path", "name" : "orderId", "required" : true, @@ -458,7 +471,8 @@ "maximum" : 5, "minimum" : 1, "type" : "integer" - } + }, + "style" : "simple" } ], "responses" : { "200" : { @@ -477,11 +491,9 @@ "description" : "successful operation" }, "400" : { - "content" : { }, "description" : "Invalid ID supplied" }, "404" : { - "content" : { }, "description" : "Order not found" } }, @@ -495,7 +507,7 @@ "operationId" : "createUser", "requestBody" : { "content" : { - "*/*" : { + "application/json" : { "schema" : { "$ref" : "#/components/schemas/User" } @@ -506,90 +518,79 @@ }, "responses" : { "default" : { - "content" : { }, "description" : "successful operation" } }, + "security" : [ { + "api_key" : [ ] + } ], "summary" : "Create user", - "tags" : [ "user" ], - "x-codegen-request-body-name" : "body" + "tags" : [ "user" ] } }, "/user/createWithArray" : { "post" : { + "description" : "", "operationId" : "createUsersWithArrayInput", "requestBody" : { - "content" : { - "*/*" : { - "schema" : { - "items" : { - "$ref" : "#/components/schemas/User" - }, - "type" : "array" - } - } - }, - "description" : "List of user object", - "required" : true + "$ref" : "#/components/requestBodies/UserArray" }, "responses" : { "default" : { - "content" : { }, "description" : "successful operation" } }, + "security" : [ { + "api_key" : [ ] + } ], "summary" : "Creates list of users with given input array", - "tags" : [ "user" ], - "x-codegen-request-body-name" : "body" + "tags" : [ "user" ] } }, "/user/createWithList" : { "post" : { + "description" : "", "operationId" : "createUsersWithListInput", "requestBody" : { - "content" : { - "*/*" : { - "schema" : { - "items" : { - "$ref" : "#/components/schemas/User" - }, - "type" : "array" - } - } - }, - "description" : "List of user object", - "required" : true + "$ref" : "#/components/requestBodies/UserArray" }, "responses" : { "default" : { - "content" : { }, "description" : "successful operation" } }, + "security" : [ { + "api_key" : [ ] + } ], "summary" : "Creates list of users with given input array", - "tags" : [ "user" ], - "x-codegen-request-body-name" : "body" + "tags" : [ "user" ] } }, "/user/login" : { "get" : { + "description" : "", "operationId" : "loginUser", "parameters" : [ { "description" : "The user name for login", + "explode" : true, "in" : "query", "name" : "username", "required" : true, "schema" : { + "pattern" : "^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$", "type" : "string" - } + }, + "style" : "form" }, { "description" : "The password for login in clear text", + "explode" : true, "in" : "query", "name" : "password", "required" : true, "schema" : { "type" : "string" - } + }, + "style" : "form" } ], "responses" : { "200" : { @@ -607,24 +608,36 @@ }, "description" : "successful operation", "headers" : { + "Set-Cookie" : { + "description" : "Cookie authentication key for use with the `api_key` apiKey authentication.", + "explode" : false, + "schema" : { + "example" : "AUTH_KEY=abcde12345; Path=/; HttpOnly", + "type" : "string" + }, + "style" : "simple" + }, "X-Rate-Limit" : { "description" : "calls per hour allowed by the user", + "explode" : false, "schema" : { "format" : "int32", "type" : "integer" - } + }, + "style" : "simple" }, "X-Expires-After" : { "description" : "date in UTC when token expires", + "explode" : false, "schema" : { "format" : "date-time", "type" : "string" - } + }, + "style" : "simple" } } }, "400" : { - "content" : { }, "description" : "Invalid username/password supplied" } }, @@ -634,13 +647,16 @@ }, "/user/logout" : { "get" : { + "description" : "", "operationId" : "logoutUser", "responses" : { "default" : { - "content" : { }, "description" : "successful operation" } }, + "security" : [ { + "api_key" : [ ] + } ], "summary" : "Logs out current logged in user session", "tags" : [ "user" ] } @@ -651,36 +667,42 @@ "operationId" : "deleteUser", "parameters" : [ { "description" : "The name that needs to be deleted", + "explode" : false, "in" : "path", "name" : "username", "required" : true, "schema" : { "type" : "string" - } + }, + "style" : "simple" } ], "responses" : { "400" : { - "content" : { }, "description" : "Invalid username supplied" }, "404" : { - "content" : { }, "description" : "User not found" } }, + "security" : [ { + "api_key" : [ ] + } ], "summary" : "Delete user", "tags" : [ "user" ] }, "get" : { + "description" : "", "operationId" : "getUserByName", "parameters" : [ { "description" : "The name that needs to be fetched. Use user1 for testing.", + "explode" : false, "in" : "path", "name" : "username", "required" : true, "schema" : { "type" : "string" - } + }, + "style" : "simple" } ], "responses" : { "200" : { @@ -699,11 +721,9 @@ "description" : "successful operation" }, "400" : { - "content" : { }, "description" : "Invalid username supplied" }, "404" : { - "content" : { }, "description" : "User not found" } }, @@ -715,16 +735,18 @@ "operationId" : "updateUser", "parameters" : [ { "description" : "name that need to be deleted", + "explode" : false, "in" : "path", "name" : "username", "required" : true, "schema" : { "type" : "string" - } + }, + "style" : "simple" } ], "requestBody" : { "content" : { - "*/*" : { + "application/json" : { "schema" : { "$ref" : "#/components/schemas/User" } @@ -735,21 +757,76 @@ }, "responses" : { "400" : { - "content" : { }, "description" : "Invalid user supplied" }, "404" : { - "content" : { }, "description" : "User not found" } }, + "security" : [ { + "api_key" : [ ] + } ], "summary" : "Updated user", - "tags" : [ "user" ], - "x-codegen-request-body-name" : "body" + "tags" : [ "user" ] + } + }, + "/fake/parameter_example_test" : { + "get" : { + "description" : "", + "operationId" : "fake_parameter_example_test", + "parameters" : [ { + "explode" : true, + "in" : "query", + "name" : "data", + "required" : true, + "schema" : { + "$ref" : "#/components/schemas/Pet" + }, + "style" : "form" + } ], + "responses" : { + "default" : { + "description" : "successful operation" + } + }, + "summary" : "fake endpoint to test parameter example (object)", + "tags" : [ "fake" ] } } }, "components" : { + "requestBodies" : { + "UserArray" : { + "content" : { + "application/json" : { + "schema" : { + "items" : { + "$ref" : "#/components/schemas/User" + }, + "type" : "array" + } + } + }, + "description" : "List of user object", + "required" : true + }, + "Pet" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + } + }, + "description" : "Pet object that needs to be added to the store", + "required" : true + } + }, "schemas" : { "Order" : { "description" : "An order for a pets from the pet store", @@ -806,6 +883,7 @@ "type" : "integer" }, "name" : { + "pattern" : "^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$", "type" : "string" } }, @@ -935,6 +1013,7 @@ } }, "status" : { + "deprecated" : true, "description" : "pet status in the store", "enum" : [ "available", "pending", "sold" ], "type" : "string" @@ -979,7 +1058,8 @@ "description" : "Updated status of the pet", "type" : "string" } - } + }, + "type" : "object" }, "uploadFile_request" : { "properties" : { @@ -992,7 +1072,8 @@ "format" : "binary", "type" : "string" } - } + }, + "type" : "object" } }, "securitySchemes" : { @@ -1014,6 +1095,5 @@ "type" : "apiKey" } } - }, - "x-original-swagger-version" : "2.0" + } } diff --git a/samples/server/petstore/aspnetcore-5.0/.openapi-generator/FILES b/samples/server/petstore/aspnetcore-5.0/.openapi-generator/FILES index 4dcf9d8289..8dc5fd2560 100644 --- a/samples/server/petstore/aspnetcore-5.0/.openapi-generator/FILES +++ b/samples/server/petstore/aspnetcore-5.0/.openapi-generator/FILES @@ -5,6 +5,7 @@ build.sh src/Org.OpenAPITools/.gitignore src/Org.OpenAPITools/Attributes/ValidateModelStateAttribute.cs src/Org.OpenAPITools/Authentication/ApiAuthentication.cs +src/Org.OpenAPITools/Controllers/FakeApi.cs src/Org.OpenAPITools/Controllers/PetApi.cs src/Org.OpenAPITools/Controllers/StoreApi.cs src/Org.OpenAPITools/Controllers/UserApi.cs diff --git a/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Controllers/FakeApi.cs b/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Controllers/FakeApi.cs new file mode 100644 index 0000000000..8e36c8d2be --- /dev/null +++ b/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/Controllers/FakeApi.cs @@ -0,0 +1,49 @@ +/* + * OpenAPI Petstore + * + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Http; +using Swashbuckle.AspNetCore.Annotations; +using Swashbuckle.AspNetCore.SwaggerGen; +using Newtonsoft.Json; +using Org.OpenAPITools.Attributes; +using Org.OpenAPITools.Models; + +namespace Org.OpenAPITools.Controllers +{ + /// + /// + /// + [ApiController] + public class FakeApiController : ControllerBase + { + /// + /// fake endpoint to test parameter example (object) + /// + /// + /// successful operation + [HttpGet] + [Route("/v2/fake/parameter_example_test")] + [ValidateModelState] + [SwaggerOperation("FakeParameterExampleTest")] + public virtual IActionResult FakeParameterExampleTest([FromQuery (Name = "data")][Required()]Pet data) + { + + //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ... + // return StatusCode(0); + + throw new NotImplementedException(); + } + } +} diff --git a/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/wwwroot/openapi-original.json b/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/wwwroot/openapi-original.json index 86077d64b0..257358c060 100644 --- a/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/wwwroot/openapi-original.json +++ b/samples/server/petstore/aspnetcore-5.0/src/Org.OpenAPITools/wwwroot/openapi-original.json @@ -769,6 +769,29 @@ "summary" : "Updated user", "tags" : [ "user" ] } + }, + "/fake/parameter_example_test" : { + "get" : { + "description" : "", + "operationId" : "fake_parameter_example_test", + "parameters" : [ { + "explode" : true, + "in" : "query", + "name" : "data", + "required" : true, + "schema" : { + "$ref" : "#/components/schemas/Pet" + }, + "style" : "form" + } ], + "responses" : { + "default" : { + "description" : "successful operation" + } + }, + "summary" : "fake endpoint to test parameter example (object)", + "tags" : [ "fake" ] + } } }, "components" : { diff --git a/samples/server/petstore/aspnetcore-6.0/.openapi-generator/FILES b/samples/server/petstore/aspnetcore-6.0/.openapi-generator/FILES index 4563db30a5..9e47b8916d 100644 --- a/samples/server/petstore/aspnetcore-6.0/.openapi-generator/FILES +++ b/samples/server/petstore/aspnetcore-6.0/.openapi-generator/FILES @@ -5,6 +5,7 @@ build.sh src/Org.OpenAPITools/.gitignore src/Org.OpenAPITools/Attributes/ValidateModelStateAttribute.cs src/Org.OpenAPITools/Authentication/ApiAuthentication.cs +src/Org.OpenAPITools/Controllers/FakeApi.cs src/Org.OpenAPITools/Controllers/PetApi.cs src/Org.OpenAPITools/Controllers/StoreApi.cs src/Org.OpenAPITools/Controllers/UserApi.cs diff --git a/samples/server/petstore/aspnetcore-6.0/src/Org.OpenAPITools/Controllers/FakeApi.cs b/samples/server/petstore/aspnetcore-6.0/src/Org.OpenAPITools/Controllers/FakeApi.cs new file mode 100644 index 0000000000..8e36c8d2be --- /dev/null +++ b/samples/server/petstore/aspnetcore-6.0/src/Org.OpenAPITools/Controllers/FakeApi.cs @@ -0,0 +1,49 @@ +/* + * OpenAPI Petstore + * + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Http; +using Swashbuckle.AspNetCore.Annotations; +using Swashbuckle.AspNetCore.SwaggerGen; +using Newtonsoft.Json; +using Org.OpenAPITools.Attributes; +using Org.OpenAPITools.Models; + +namespace Org.OpenAPITools.Controllers +{ + /// + /// + /// + [ApiController] + public class FakeApiController : ControllerBase + { + /// + /// fake endpoint to test parameter example (object) + /// + /// + /// successful operation + [HttpGet] + [Route("/v2/fake/parameter_example_test")] + [ValidateModelState] + [SwaggerOperation("FakeParameterExampleTest")] + public virtual IActionResult FakeParameterExampleTest([FromQuery (Name = "data")][Required()]Pet data) + { + + //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ... + // return StatusCode(0); + + throw new NotImplementedException(); + } + } +} diff --git a/samples/server/petstore/aspnetcore-6.0/src/Org.OpenAPITools/wwwroot/openapi-original.json b/samples/server/petstore/aspnetcore-6.0/src/Org.OpenAPITools/wwwroot/openapi-original.json index 86077d64b0..257358c060 100644 --- a/samples/server/petstore/aspnetcore-6.0/src/Org.OpenAPITools/wwwroot/openapi-original.json +++ b/samples/server/petstore/aspnetcore-6.0/src/Org.OpenAPITools/wwwroot/openapi-original.json @@ -769,6 +769,29 @@ "summary" : "Updated user", "tags" : [ "user" ] } + }, + "/fake/parameter_example_test" : { + "get" : { + "description" : "", + "operationId" : "fake_parameter_example_test", + "parameters" : [ { + "explode" : true, + "in" : "query", + "name" : "data", + "required" : true, + "schema" : { + "$ref" : "#/components/schemas/Pet" + }, + "style" : "form" + } ], + "responses" : { + "default" : { + "description" : "successful operation" + } + }, + "summary" : "fake endpoint to test parameter example (object)", + "tags" : [ "fake" ] + } } }, "components" : { From 6cd246931e5e48469c793b31162640eadd1c5e7f Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 5 Jun 2022 18:03:34 +0800 Subject: [PATCH 045/212] [R] add oneOf support (#12491) * add oneof support * add validateJson method * add validteJSON and tests * add tests, add oneOf logic * better error message in validateJSON * fix tests * add test for error message * remove unused code --- .../src/main/resources/r/README.mustache | 2 +- .../src/main/resources/r/model.mustache | 262 +-------------- .../main/resources/r/modelGeneric.mustache | 312 ++++++++++++++++++ .../src/main/resources/r/modelOneOf.mustache | 64 ++++ .../src/test/resources/3_0/r/petstore.yaml | 26 ++ .../petstore/R/.openapi-generator/FILES | 6 + samples/client/petstore/R/NAMESPACE | 3 + .../petstore/R/R/allof_tag_api_response.R | 6 +- samples/client/petstore/R/R/animal.R | 12 +- samples/client/petstore/R/R/basque_pig.R | 106 ++++++ samples/client/petstore/R/R/cat.R | 12 +- samples/client/petstore/R/R/cat_all_of.R | 6 +- samples/client/petstore/R/R/category.R | 6 +- samples/client/petstore/R/R/danish_pig.R | 106 ++++++ samples/client/petstore/R/R/dog.R | 12 +- samples/client/petstore/R/R/dog_all_of.R | 6 +- .../client/petstore/R/R/model_api_response.R | 6 +- samples/client/petstore/R/R/order.R | 6 +- samples/client/petstore/R/R/pet.R | 19 +- samples/client/petstore/R/R/pig.R | 85 +++++ samples/client/petstore/R/R/tag.R | 6 +- samples/client/petstore/R/R/user.R | 6 +- samples/client/petstore/R/README.md | 5 +- ...test_petstore.bash => build_and_test.bash} | 4 +- samples/client/petstore/R/docs/BasquePig.md | 10 + samples/client/petstore/R/docs/DanishPig.md | 10 + samples/client/petstore/R/docs/Pig.md | 11 + samples/client/petstore/R/pom.xml | 2 +- samples/client/petstore/R/test_petstore.R | 82 ++++- .../R/tests/testthat/test_basque_pig.R | 20 ++ .../R/tests/testthat/test_danish_pig.R | 20 ++ .../petstore/R/tests/testthat/test_petstore.R | 49 +++ .../petstore/R/tests/testthat/test_pig.R | 27 ++ 33 files changed, 1021 insertions(+), 294 deletions(-) create mode 100644 modules/openapi-generator/src/main/resources/r/modelGeneric.mustache create mode 100644 modules/openapi-generator/src/main/resources/r/modelOneOf.mustache create mode 100644 samples/client/petstore/R/R/basque_pig.R create mode 100644 samples/client/petstore/R/R/danish_pig.R create mode 100644 samples/client/petstore/R/R/pig.R rename samples/client/petstore/R/{test_petstore.bash => build_and_test.bash} (91%) create mode 100644 samples/client/petstore/R/docs/BasquePig.md create mode 100644 samples/client/petstore/R/docs/DanishPig.md create mode 100644 samples/client/petstore/R/docs/Pig.md create mode 100644 samples/client/petstore/R/tests/testthat/test_basque_pig.R create mode 100644 samples/client/petstore/R/tests/testthat/test_danish_pig.R create mode 100644 samples/client/petstore/R/tests/testthat/test_pig.R diff --git a/modules/openapi-generator/src/main/resources/r/README.mustache b/modules/openapi-generator/src/main/resources/r/README.mustache index 8559e5e792..6f47360315 100644 --- a/modules/openapi-generator/src/main/resources/r/README.mustache +++ b/modules/openapi-generator/src/main/resources/r/README.mustache @@ -36,7 +36,7 @@ git clone https://{{gitHost}}/{{{gitUserId}}}/{{{gitRepoId}}} cd {{{gitRepoId}}} R CMD build . R CMD check {{{packageName}}}_{{{packageVersion}}}.tar.gz --no-manual -R CMD INSTALL {{{packageName}}}_{{{packageVersion}}}.tar.gz +R CMD INSTALL --preclean {{{packageName}}}_{{{packageVersion}}}.tar.gz ``` ### Install the package diff --git a/modules/openapi-generator/src/main/resources/r/model.mustache b/modules/openapi-generator/src/main/resources/r/model.mustache index 1585f110d2..a91c6054c9 100644 --- a/modules/openapi-generator/src/main/resources/r/model.mustache +++ b/modules/openapi-generator/src/main/resources/r/model.mustache @@ -1,264 +1,6 @@ +{{>partial_header}} {{#models}} {{#model}} -{{>partial_header}} -#' @docType class -#' @title {{classname}} -#' -#' @description {{classname}} Class -#' -#' @format An \code{R6Class} generator object -#' -{{#vars}} -#' @field {{baseName}} {{title}} {{#isContainer}}{{#isArray}}list( {{/isArray}}{{#isMap}}named list( {{/isMap}}{{/isContainer}}{{^isPrimitiveType}}\link{{=<% %>=}}{<%/isPrimitiveType%><%={{ }}=%>{{#isContainer}}{{#items}}{{dataType}}{{/items}}{{/isContainer}}{{^isContainer}}{{dataType}}{{/isContainer}}{{=<% %>=}}<%^isPrimitiveType%>}<%={{ }}=%>{{/isPrimitiveType}}{{#isContainer}}{{#isArray}} ){{/isArray}}{{#isMap}} ){{/isMap}}{{/isContainer}} {{^required}}[optional]{{/required}} -#' -{{/vars}} -#' @importFrom R6 R6Class -#' @importFrom jsonlite fromJSON toJSON -{{#isEnum}} -{{>modelEnum}} -{{/isEnum}} -{{^isEnum}} -#' @export -{{classname}} <- R6::R6Class( - '{{classname}}', - {{#parent}} - inherit = {{{.}}}, - {{/parent}} - public = list( - {{#vars}} - `{{{baseName}}}` = NULL, - {{/vars}} - initialize = function( - {{#requiredVars}}`{{baseName}}`, {{/requiredVars}}{{#optionalVars}}`{{baseName}}`={{{defaultValue}}}{{^defaultValue}}NULL{{/defaultValue}}, {{/optionalVars}}... - ) { - local.optional.var <- list(...) - {{#requiredVars}} - if (!missing(`{{baseName}}`)) { - {{^isContainer}} - {{#isInteger}} - stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) - {{/isInteger}} - {{#isLong}} - stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) - {{/isLong}} - {{#isFloat}} - stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) - {{/isFloat}} - {{#isDouble}} - stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) - {{/isDouble}} - {{#isString}} - stopifnot(is.character(`{{baseName}}`), length(`{{baseName}}`) == 1) - {{/isString}} - {{#isBoolean}} - stopifnot(is.logical(`{{baseName}}`), length(`{{baseName}}`) == 1) - {{/isBoolean}} - {{#isDate}} - stopifnot(is.character(`{{baseName}}`), length(`{{baseName}}`) == 1) - {{/isDate}} - {{#isDateTime}} - stopifnot(is.character(`{{baseName}}`), length(`{{baseName}}`) == 1) - {{/isDateTime}} - {{^isPrimitiveType}} - stopifnot(R6::is.R6(`{{baseName}}`)) - {{/isPrimitiveType}} - {{/isContainer}} - {{#isContainer}} - {{#isPrimitiveType}} - stopifnot(is.vector(`{{baseName}}`), length(`{{baseName}}`) != 0) - sapply(`{{baseName}}`, function(x) stopifnot(is.character(x))) - {{/isPrimitiveType}} - {{^isPrimitiveType}} - stopifnot(is.vector(`{{baseName}}`), length(`{{baseName}}`) != 0) - sapply(`{{baseName}}`, function(x) stopifnot(R6::is.R6(x))) - {{/isPrimitiveType}} - {{/isContainer}} - self$`{{baseName}}` <- `{{baseName}}` - } - {{/requiredVars}} - {{#optionalVars}} - if (!is.null(`{{baseName}}`)) { - {{^isContainer}} - {{#isInteger}} - stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) - {{/isInteger}} - {{#isLong}} - stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) - {{/isLong}} - {{#isFloat}} - stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) - {{/isFloat}} - {{#isDouble}} - stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) - {{/isDouble}} - {{#isString}} - stopifnot(is.character(`{{baseName}}`), length(`{{baseName}}`) == 1) - {{/isString}} - {{#isBoolean}} - stopifnot(is.logical(`{{baseName}}`), length(`{{baseName}}`) == 1) - {{/isBoolean}} - {{#isDate}} - stopifnot(is.character(`{{baseName}}`), length(`{{baseName}}`) == 1) - {{/isDate}} - {{#isDateTime}} - stopifnot(is.character(`{{baseName}}`), length(`{{baseName}}`) == 1) - {{/isDateTime}} - {{^isPrimitiveType}} - stopifnot(R6::is.R6(`{{baseName}}`)) - {{/isPrimitiveType}} - {{/isContainer}} - {{#isContainer}} - {{#isPrimitiveType}} - stopifnot(is.vector(`{{baseName}}`), length(`{{baseName}}`) != 0) - sapply(`{{baseName}}`, function(x) stopifnot(is.character(x))) - {{/isPrimitiveType}} - {{^isPrimitiveType}} - stopifnot(is.vector(`{{baseName}}`), length(`{{baseName}}`) != 0) - sapply(`{{baseName}}`, function(x) stopifnot(R6::is.R6(x))) - {{/isPrimitiveType}} - {{/isContainer}} - self$`{{baseName}}` <- `{{baseName}}` - } - {{/optionalVars}} - }, - toJSON = function() { - {{classname}}Object <- list() - {{#vars}} - if (!is.null(self$`{{baseName}}`)) { - {{classname}}Object[['{{baseName}}']] <- - {{#isContainer}} - {{#isArray}} - {{#isPrimitiveType}} - self$`{{baseName}}` - {{/isPrimitiveType}} - {{^isPrimitiveType}} - lapply(self$`{{baseName}}`, function(x) x$toJSON()) - {{/isPrimitiveType}} - {{/isArray}} - {{#isMap}} - {{#isPrimitiveType}} - self$`{{baseName}}` - {{/isPrimitiveType}} - {{^isPrimitiveType}} - lapply(self$`{{baseName}}`, function(x) x$toJSON()) - {{/isPrimitiveType}} - {{/isMap}} - {{/isContainer}} - {{^isContainer}} - {{#isPrimitiveType}} - self$`{{baseName}}` - {{/isPrimitiveType}} - {{^isPrimitiveType}} - self$`{{baseName}}`$toJSON() - {{/isPrimitiveType}} - {{/isContainer}} - } - {{/vars}} - - {{classname}}Object - }, - fromJSON = function({{classname}}Json) { - {{classname}}Object <- jsonlite::fromJSON({{classname}}Json) - {{#vars}} - if (!is.null({{classname}}Object$`{{baseName}}`)) { - {{#isContainer}} - self$`{{baseName}}` <- ApiClient$new()$deserializeObj({{classname}}Object$`{{baseName}}`, "{{dataType}}", loadNamespace("{{packageName}}")) - {{/isContainer}} - {{^isContainer}} - {{#isPrimitiveType}} - self$`{{baseName}}` <- {{classname}}Object$`{{baseName}}` - {{/isPrimitiveType}} - {{^isPrimitiveType}} - {{baseName}}Object <- {{dataType}}$new() - {{baseName}}Object$fromJSON(jsonlite::toJSON({{classname}}Object${{baseName}}, auto_unbox = TRUE, digits = NA)) - self$`{{baseName}}` <- {{baseName}}Object - {{/isPrimitiveType}} - {{/isContainer}} - } - {{/vars}} - self - }, - toJSONString = function() { - jsoncontent <- c( - {{#vars}} - if (!is.null(self$`{{baseName}}`)) { - sprintf( - '"{{baseName}}": - {{#isContainer}} - {{#isArray}} - {{#isPrimitiveType}} - {{#isNumeric}}[%d]{{/isNumeric}}{{^isNumeric}}[%s]{{/isNumeric}} - {{/isPrimitiveType}} - {{^isPrimitiveType}}[%s] - {{/isPrimitiveType}} - {{/isArray}} - {{#isMap}} - {{#isPrimitiveType}} - {{#isNumeric}}%d{{/isNumeric}}{{^isNumeric}}{{^isBoolean}}"{{/isBoolean}}%s{{^isBoolean}}"{{/isBoolean}}{{/isNumeric}} - {{/isPrimitiveType}} - {{^isPrimitiveType}}%s - {{/isPrimitiveType}} - {{/isMap}} - {{/isContainer}} - {{^isContainer}} - {{#isPrimitiveType}} - {{#isNumeric}}%d{{/isNumeric}}{{^isNumeric}}{{^isBoolean}}"{{/isBoolean}}%s{{^isBoolean}}"{{/isBoolean}}{{/isNumeric}} - {{/isPrimitiveType}} - {{^isPrimitiveType}}%s - {{/isPrimitiveType}} - {{/isContainer}}', - {{#isContainer}} - {{#isArray}} - {{#isPrimitiveType}} - paste(unlist(lapply(self$`{{{baseName}}}`, function(x) paste0('"', x, '"'))), collapse=",") - {{/isPrimitiveType}} - {{^isPrimitiveType}} - paste(sapply(self$`{{{baseName}}}`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=TRUE, digits = NA)), collapse=",") - {{/isPrimitiveType}} - {{/isArray}} - {{#isMap}} - {{#isPrimitiveType}} - jsonlite::toJSON(lapply(self$`{{{baseName}}}`, function(x){ x }), auto_unbox = TRUE, digits=NA) - {{/isPrimitiveType}} - {{^isPrimitiveType}} - jsonlite::toJSON(lapply(self$`{{{baseName}}}`, function(x){ x$toJSON() }), auto_unbox = TRUE, digits=NA) - {{/isPrimitiveType}} - {{/isMap}} - {{/isContainer}} - {{^isContainer}} - {{#isPrimitiveType}} - {{#isBoolean}}tolower({{/isBoolean}}self$`{{baseName}}`{{#isBoolean}}){{/isBoolean}} - {{/isPrimitiveType}} - {{^isPrimitiveType}} - jsonlite::toJSON(self$`{{baseName}}`$toJSON(), auto_unbox=TRUE, digits = NA) - {{/isPrimitiveType}} - {{/isContainer}} - )}{{^-last}},{{/-last}} - {{/vars}} - ) - jsoncontent <- paste(jsoncontent, collapse = ",") - paste('{', jsoncontent, '}', sep = "") - }, - fromJSONString = function({{classname}}Json) { - {{classname}}Object <- jsonlite::fromJSON({{classname}}Json) - {{#vars}} - {{! AAPI - added condition for handling container type of parameters, map and array}} - {{#isContainer}} - self$`{{baseName}}` <- ApiClient$new()$deserializeObj({{classname}}Object$`{{baseName}}`, "{{dataType}}", loadNamespace("{{packageName}}")) - {{/isContainer}} - {{^isContainer}} - {{#isPrimitiveType}} - self$`{{baseName}}` <- {{classname}}Object$`{{baseName}}` - {{/isPrimitiveType}} - {{^isPrimitiveType}} - self$`{{baseName}}` <- {{dataType}}$new()$fromJSON(jsonlite::toJSON({{classname}}Object${{baseName}}, auto_unbox = TRUE, digits = NA)) - {{/isPrimitiveType}} - {{/isContainer}} - {{/vars}} - self - } - ) -) -{{/isEnum}} +{{#isEnum}}{{>modelEnum}}{{/isEnum}}{{^isEnum}}{{#oneOf}}{{#-first}}{{>modelOneOf}}{{/-first}}{{/oneOf}}{{^oneOf}}{{#anyOf}}{{#-first}}{{>modelAnyOf}}{{/-first}}{{/anyOf}}{{^anyOf}}{{>modelGeneric}}{{/anyOf}}{{/oneOf}}{{/isEnum}} {{/model}} {{/models}} diff --git a/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache b/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache new file mode 100644 index 0000000000..caf899f504 --- /dev/null +++ b/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache @@ -0,0 +1,312 @@ +{{#models}} +{{#model}} +#' @docType class +#' @title {{classname}} +#' +#' @description {{classname}} Class +#' +#' @format An \code{R6Class} generator object +#' +{{#vars}} +#' @field {{baseName}} {{title}} {{#isContainer}}{{#isArray}}list( {{/isArray}}{{#isMap}}named list( {{/isMap}}{{/isContainer}}{{^isPrimitiveType}}\link{{=<% %>=}}{<%/isPrimitiveType%><%={{ }}=%>{{#isContainer}}{{#items}}{{dataType}}{{/items}}{{/isContainer}}{{^isContainer}}{{dataType}}{{/isContainer}}{{=<% %>=}}<%^isPrimitiveType%>}<%={{ }}=%>{{/isPrimitiveType}}{{#isContainer}}{{#isArray}} ){{/isArray}}{{#isMap}} ){{/isMap}}{{/isContainer}} {{^required}}[optional]{{/required}} +#' +{{/vars}} +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +{{#isEnum}} +{{>modelEnum}} +{{/isEnum}} +{{^isEnum}} +#' @export +{{classname}} <- R6::R6Class( + '{{classname}}', + {{#parent}} + inherit = {{{.}}}, + {{/parent}} + public = list( + {{#vars}} + `{{{baseName}}}` = NULL, + {{/vars}} + initialize = function( + {{#requiredVars}}`{{baseName}}`, {{/requiredVars}}{{#optionalVars}}`{{baseName}}`={{{defaultValue}}}{{^defaultValue}}NULL{{/defaultValue}}, {{/optionalVars}}... + ) { + {{#requiredVars}} + if (!missing(`{{baseName}}`)) { + {{^isContainer}} + {{#isInteger}} + stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) + {{/isInteger}} + {{#isLong}} + stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) + {{/isLong}} + {{#isFloat}} + stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) + {{/isFloat}} + {{#isDouble}} + stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) + {{/isDouble}} + {{#isString}} + stopifnot(is.character(`{{baseName}}`), length(`{{baseName}}`) == 1) + {{/isString}} + {{#isBoolean}} + stopifnot(is.logical(`{{baseName}}`), length(`{{baseName}}`) == 1) + {{/isBoolean}} + {{#isDate}} + stopifnot(is.character(`{{baseName}}`), length(`{{baseName}}`) == 1) + {{/isDate}} + {{#isDateTime}} + stopifnot(is.character(`{{baseName}}`), length(`{{baseName}}`) == 1) + {{/isDateTime}} + {{^isPrimitiveType}} + stopifnot(R6::is.R6(`{{baseName}}`)) + {{/isPrimitiveType}} + {{/isContainer}} + {{#isContainer}} + {{#isPrimitiveType}} + stopifnot(is.vector(`{{baseName}}`), length(`{{baseName}}`) != 0) + sapply(`{{baseName}}`, function(x) stopifnot(is.character(x))) + {{/isPrimitiveType}} + {{^isPrimitiveType}} + stopifnot(is.vector(`{{baseName}}`), length(`{{baseName}}`) != 0) + sapply(`{{baseName}}`, function(x) stopifnot(R6::is.R6(x))) + {{/isPrimitiveType}} + {{/isContainer}} + self$`{{baseName}}` <- `{{baseName}}` + } + {{/requiredVars}} + {{#optionalVars}} + if (!is.null(`{{baseName}}`)) { + {{^isContainer}} + {{#isInteger}} + stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) + {{/isInteger}} + {{#isLong}} + stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) + {{/isLong}} + {{#isFloat}} + stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) + {{/isFloat}} + {{#isDouble}} + stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) + {{/isDouble}} + {{#isString}} + stopifnot(is.character(`{{baseName}}`), length(`{{baseName}}`) == 1) + {{/isString}} + {{#isBoolean}} + stopifnot(is.logical(`{{baseName}}`), length(`{{baseName}}`) == 1) + {{/isBoolean}} + {{#isDate}} + stopifnot(is.character(`{{baseName}}`), length(`{{baseName}}`) == 1) + {{/isDate}} + {{#isDateTime}} + stopifnot(is.character(`{{baseName}}`), length(`{{baseName}}`) == 1) + {{/isDateTime}} + {{^isPrimitiveType}} + stopifnot(R6::is.R6(`{{baseName}}`)) + {{/isPrimitiveType}} + {{/isContainer}} + {{#isContainer}} + {{#isPrimitiveType}} + stopifnot(is.vector(`{{baseName}}`), length(`{{baseName}}`) != 0) + sapply(`{{baseName}}`, function(x) stopifnot(is.character(x))) + {{/isPrimitiveType}} + {{^isPrimitiveType}} + stopifnot(is.vector(`{{baseName}}`), length(`{{baseName}}`) != 0) + sapply(`{{baseName}}`, function(x) stopifnot(R6::is.R6(x))) + {{/isPrimitiveType}} + {{/isContainer}} + self$`{{baseName}}` <- `{{baseName}}` + } + {{/optionalVars}} + }, + toJSON = function() { + {{classname}}Object <- list() + {{#vars}} + if (!is.null(self$`{{baseName}}`)) { + {{classname}}Object[['{{baseName}}']] <- + {{#isContainer}} + {{#isArray}} + {{#isPrimitiveType}} + self$`{{baseName}}` + {{/isPrimitiveType}} + {{^isPrimitiveType}} + lapply(self$`{{baseName}}`, function(x) x$toJSON()) + {{/isPrimitiveType}} + {{/isArray}} + {{#isMap}} + {{#isPrimitiveType}} + self$`{{baseName}}` + {{/isPrimitiveType}} + {{^isPrimitiveType}} + lapply(self$`{{baseName}}`, function(x) x$toJSON()) + {{/isPrimitiveType}} + {{/isMap}} + {{/isContainer}} + {{^isContainer}} + {{#isPrimitiveType}} + self$`{{baseName}}` + {{/isPrimitiveType}} + {{^isPrimitiveType}} + self$`{{baseName}}`$toJSON() + {{/isPrimitiveType}} + {{/isContainer}} + } + {{/vars}} + + {{classname}}Object + }, + fromJSON = function({{classname}}Json) { + {{classname}}Object <- jsonlite::fromJSON({{classname}}Json) + {{#vars}} + if (!is.null({{classname}}Object$`{{baseName}}`)) { + {{#isContainer}} + self$`{{baseName}}` <- ApiClient$new()$deserializeObj({{classname}}Object$`{{baseName}}`, "{{dataType}}", loadNamespace("{{packageName}}")) + {{/isContainer}} + {{^isContainer}} + {{#isPrimitiveType}} + self$`{{baseName}}` <- {{classname}}Object$`{{baseName}}` + {{/isPrimitiveType}} + {{^isPrimitiveType}} + {{baseName}}Object <- {{dataType}}$new() + {{baseName}}Object$fromJSON(jsonlite::toJSON({{classname}}Object${{baseName}}, auto_unbox = TRUE, digits = NA)) + self$`{{baseName}}` <- {{baseName}}Object + {{/isPrimitiveType}} + {{/isContainer}} + } + {{/vars}} + self + }, + toJSONString = function() { + jsoncontent <- c( + {{#vars}} + if (!is.null(self$`{{baseName}}`)) { + sprintf( + '"{{baseName}}": + {{#isContainer}} + {{#isArray}} + {{#isPrimitiveType}} + {{#isNumeric}}[%d]{{/isNumeric}}{{^isNumeric}}[%s]{{/isNumeric}} + {{/isPrimitiveType}} + {{^isPrimitiveType}}[%s] + {{/isPrimitiveType}} + {{/isArray}} + {{#isMap}} + {{#isPrimitiveType}} + {{#isNumeric}}%d{{/isNumeric}}{{^isNumeric}}{{^isBoolean}}"{{/isBoolean}}%s{{^isBoolean}}"{{/isBoolean}}{{/isNumeric}} + {{/isPrimitiveType}} + {{^isPrimitiveType}}%s + {{/isPrimitiveType}} + {{/isMap}} + {{/isContainer}} + {{^isContainer}} + {{#isPrimitiveType}} + {{#isNumeric}}%d{{/isNumeric}}{{^isNumeric}}{{^isBoolean}}"{{/isBoolean}}%s{{^isBoolean}}"{{/isBoolean}}{{/isNumeric}} + {{/isPrimitiveType}} + {{^isPrimitiveType}}%s + {{/isPrimitiveType}} + {{/isContainer}}', + {{#isContainer}} + {{#isArray}} + {{#isPrimitiveType}} + paste(unlist(lapply(self$`{{{baseName}}}`, function(x) paste0('"', x, '"'))), collapse=",") + {{/isPrimitiveType}} + {{^isPrimitiveType}} + paste(sapply(self$`{{{baseName}}}`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=TRUE, digits = NA)), collapse=",") + {{/isPrimitiveType}} + {{/isArray}} + {{#isMap}} + {{#isPrimitiveType}} + jsonlite::toJSON(lapply(self$`{{{baseName}}}`, function(x){ x }), auto_unbox = TRUE, digits=NA) + {{/isPrimitiveType}} + {{^isPrimitiveType}} + jsonlite::toJSON(lapply(self$`{{{baseName}}}`, function(x){ x$toJSON() }), auto_unbox = TRUE, digits=NA) + {{/isPrimitiveType}} + {{/isMap}} + {{/isContainer}} + {{^isContainer}} + {{#isPrimitiveType}} + {{#isBoolean}}tolower({{/isBoolean}}self$`{{baseName}}`{{#isBoolean}}){{/isBoolean}} + {{/isPrimitiveType}} + {{^isPrimitiveType}} + jsonlite::toJSON(self$`{{baseName}}`$toJSON(), auto_unbox=TRUE, digits = NA) + {{/isPrimitiveType}} + {{/isContainer}} + )}{{^-last}},{{/-last}} + {{/vars}} + ) + jsoncontent <- paste(jsoncontent, collapse = ",") + paste('{', jsoncontent, '}', sep = "") + }, + fromJSONString = function({{classname}}Json) { + {{classname}}Object <- jsonlite::fromJSON({{classname}}Json) + {{#vars}} + {{! AAPI - added condition for handling container type of parameters, map and array}} + {{#isContainer}} + self$`{{baseName}}` <- ApiClient$new()$deserializeObj({{classname}}Object$`{{baseName}}`, "{{dataType}}", loadNamespace("{{packageName}}")) + {{/isContainer}} + {{^isContainer}} + {{#isPrimitiveType}} + self$`{{baseName}}` <- {{classname}}Object$`{{baseName}}` + {{/isPrimitiveType}} + {{^isPrimitiveType}} + self$`{{baseName}}` <- {{dataType}}$new()$fromJSON(jsonlite::toJSON({{classname}}Object${{baseName}}, auto_unbox = TRUE, digits = NA)) + {{/isPrimitiveType}} + {{/isContainer}} + {{/vars}} + self + }, + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + {{#requiredVars}} + # check the required field `{{baseName}}` + if (!is.null(input_json$`{{baseName}}`)) { + {{^isContainer}} + {{#isInteger}} + stopifnot(is.numeric(input_json$`{{baseName}}`), length(input_json$`{{baseName}}`) == 1) + {{/isInteger}} + {{#isLong}} + stopifnot(is.numeric(input_json$`{{baseName}}`), length(input_json$`{{baseName}}`) == 1) + {{/isLong}} + {{#isFloat}} + stopifnot(is.numeric(input_json$`{{baseName}}`), length(input_json$`{{baseName}}`) == 1) + {{/isFloat}} + {{#isDouble}} + stopifnot(is.numeric(input_json$`{{baseName}}`), length(input_json$`{{baseName}}`) == 1) + {{/isDouble}} + {{#isString}} + stopifnot(is.character(input_json$`{{baseName}}`), length(input_json$`{{baseName}}`) == 1) + {{/isString}} + {{#isBoolean}} + stopifnot(is.logical(input_json$`{{baseName}}`), length(input_json$`{{baseName}}`) == 1) + {{/isBoolean}} + {{#isDate}} + stopifnot(is.character(input_json$`{{baseName}}`), length(input_json$`{{baseName}}`) == 1) + {{/isDate}} + {{#isDateTime}} + stopifnot(is.character(input_json$`{{baseName}}`), length(input_json$`{{baseName}}`) == 1) + {{/isDateTime}} + {{^isPrimitiveType}} + stopifnot(R6::is.R6(input_json$`{{baseName}}`)) + {{/isPrimitiveType}} + {{/isContainer}} + {{#isContainer}} + {{#isPrimitiveType}} + stopifnot(is.vector(input_json$`{{baseName}}`), length(input_json$`{{baseName}}`) != 0) + tmp <- sapply(input_json$`{{baseName}}`, function(x) stopifnot(is.character(x))) + {{/isPrimitiveType}} + {{^isPrimitiveType}} + stopifnot(is.vector(input_json$`{{baseName}}`), length(json_input$`{{baseName}}`) != 0) + tmp <- sapply(input_json$`{{baseName}}`, function(x) stopifnot(R6::is.R6(x))) + {{/isPrimitiveType}} + {{/isContainer}} + } else { + stop(paste("The JSON input `", input, "` is invalid for {{classname}}: the required field `{{baseName}}` is missing.")) + } + {{/requiredVars}} + } + + ) +) +{{/isEnum}} +{{/model}} +{{/models}} diff --git a/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache b/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache new file mode 100644 index 0000000000..ba75bf337d --- /dev/null +++ b/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache @@ -0,0 +1,64 @@ +#' @docType class +#' @title {{classname}} +#' +#' @description {{classname}} Class +#' +#' @format An \code{R6Class} generator object +#' +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +{{classname}} <- R6::R6Class( + '{{classname}}', + public = list( + actual_instance = NULL, + actual_type = NULL, + one_of = list({{#oneOf}}"{{{.}}}"{{^-last}}, {{/-last}}{{/oneOf}}), + initialize = function( + {{#requiredVars}}`{{baseName}}`, {{/requiredVars}}{{#optionalVars}}`{{baseName}}`={{{defaultValue}}}{{^defaultValue}}NULL{{/defaultValue}}, {{/optionalVars}}... + ) { + local_optional_var <- list(...) + }, + toJSON = function() { + {{classname}}_object <- list() + {{classname}}_object + }, + fromJSON = function(input) { + matched <- 0 # match counter + matched_schemas <- list() #names of matched schemas + error_messages <- list() + instance <- NULL + + {{#oneOf}} + {{{.}}}_result <- tryCatch({ + {{{.}}}$public_methods$validateJSON(input) + {{{.}}}_instance <- {{{.}}}$new() + instance <- {{{.}}}_instance$fromJSON(input) + instance_type <- "{{{.}}}" + matched_schemas <- append(matched_schemas, "{{{.}}}") + matched <- matched + 1 + }, + error = function(err) err + ) + + if (!is.null({{{.}}}_result['error'])) { + error_messages <- append(error_messages, {{{.}}}_result['message']) + } + + {{/oneOf}} + if (matched == 1) { + # successfully match exactly 1 schema specified in oneOf + self$actual_instance <- instance + self$actual_type <- instance_type + } else if (matched > 1) { + # more than 1 match + stop("Multiple matches found when deserializing the payload into {{{classname}}} with oneOf schemas {{#oneOf}}{{{.}}}{{^-last}}, {{/-last}}{{/oneOf}}. ") + } else { + # no match + stop(paste("No match found when deserializing the payload into {{{classname}}} with oneOf schemas {{#oneOf}}{{{.}}}{{^-last}}, {{/-last}}{{/oneOf}}. Details: ", paste(error_messages, collapse = ', '))) + } + + self + } + ) +) diff --git a/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml b/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml index 965860d44d..c9827af375 100644 --- a/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml @@ -801,3 +801,29 @@ components: allOf: - $ref: '#/components/schemas/Tag' - $ref: '#/components/schemas/ApiResponse' + Pig: + oneOf: + - $ref: '#/components/schemas/BasquePig' + - $ref: '#/components/schemas/DanishPig' + discriminator: + propertyName: className + BasquePig: + type: object + properties: + className: + type: string + color: + type: string + required: + - className + - color + DanishPig: + type: object + properties: + className: + type: string + size: + type: integer + required: + - className + - size diff --git a/samples/client/petstore/R/.openapi-generator/FILES b/samples/client/petstore/R/.openapi-generator/FILES index 77f97df74e..32f11b6dbb 100644 --- a/samples/client/petstore/R/.openapi-generator/FILES +++ b/samples/client/petstore/R/.openapi-generator/FILES @@ -8,9 +8,11 @@ R/animal.R R/api_client.R R/api_exception.R R/api_response.R +R/basque_pig.R R/cat.R R/cat_all_of.R R/category.R +R/danish_pig.R R/dog.R R/dog_all_of.R R/fake_api.R @@ -18,6 +20,7 @@ R/model_api_response.R R/order.R R/pet.R R/pet_api.R +R/pig.R R/store_api.R R/tag.R R/user.R @@ -25,9 +28,11 @@ R/user_api.R README.md docs/AllofTagApiResponse.md docs/Animal.md +docs/BasquePig.md docs/Cat.md docs/CatAllOf.md docs/Category.md +docs/DanishPig.md docs/Dog.md docs/DogAllOf.md docs/FakeApi.md @@ -35,6 +40,7 @@ docs/ModelApiResponse.md docs/Order.md docs/Pet.md docs/PetApi.md +docs/Pig.md docs/StoreApi.md docs/Tag.md docs/User.md diff --git a/samples/client/petstore/R/NAMESPACE b/samples/client/petstore/R/NAMESPACE index 78afe3ec04..95a5339296 100644 --- a/samples/client/petstore/R/NAMESPACE +++ b/samples/client/petstore/R/NAMESPACE @@ -14,14 +14,17 @@ export(ApiException) # Models export(AllofTagApiResponse) export(Animal) +export(BasquePig) export(Cat) export(CatAllOf) export(Category) +export(DanishPig) export(Dog) export(DogAllOf) export(ModelApiResponse) export(Order) export(Pet) +export(Pig) export(Tag) export(User) diff --git a/samples/client/petstore/R/R/allof_tag_api_response.R b/samples/client/petstore/R/R/allof_tag_api_response.R index c3937aacc5..8b83a920cf 100644 --- a/samples/client/petstore/R/R/allof_tag_api_response.R +++ b/samples/client/petstore/R/R/allof_tag_api_response.R @@ -36,7 +36,6 @@ AllofTagApiResponse <- R6::R6Class( initialize = function( `id`=NULL, `name`=NULL, `code`=NULL, `type`=NULL, `message`=NULL, ... ) { - local.optional.var <- list(...) if (!is.null(`id`)) { stopifnot(is.numeric(`id`), length(`id`) == 1) self$`id` <- `id` @@ -151,6 +150,11 @@ AllofTagApiResponse <- R6::R6Class( self$`type` <- AllofTagApiResponseObject$`type` self$`message` <- AllofTagApiResponseObject$`message` self + }, + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) } + ) ) + diff --git a/samples/client/petstore/R/R/animal.R b/samples/client/petstore/R/R/animal.R index 94c7783792..b330b10a1b 100644 --- a/samples/client/petstore/R/R/animal.R +++ b/samples/client/petstore/R/R/animal.R @@ -27,7 +27,6 @@ Animal <- R6::R6Class( initialize = function( `className`, `color`='red', ... ) { - local.optional.var <- list(...) if (!missing(`className`)) { stopifnot(is.character(`className`), length(`className`) == 1) self$`className` <- `className` @@ -85,6 +84,17 @@ Animal <- R6::R6Class( self$`className` <- AnimalObject$`className` self$`color` <- AnimalObject$`color` self + }, + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + # check the required field `className` + if (!is.null(input_json$`className`)) { + stopifnot(is.character(input_json$`className`), length(input_json$`className`) == 1) + } else { + stop(paste("The JSON input `", input, "` is invalid for Animal: the required field `className` is missing.")) + } } + ) ) + diff --git a/samples/client/petstore/R/R/basque_pig.R b/samples/client/petstore/R/R/basque_pig.R new file mode 100644 index 0000000000..054582a1da --- /dev/null +++ b/samples/client/petstore/R/R/basque_pig.R @@ -0,0 +1,106 @@ +# OpenAPI Petstore +# +# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +# +# The version of the OpenAPI document: 1.0.0 +# Generated by: https://openapi-generator.tech + +#' @docType class +#' @title BasquePig +#' +#' @description BasquePig Class +#' +#' @format An \code{R6Class} generator object +#' +#' @field className character +#' +#' @field color character +#' +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +BasquePig <- R6::R6Class( + 'BasquePig', + public = list( + `className` = NULL, + `color` = NULL, + initialize = function( + `className`, `color`, ... + ) { + if (!missing(`className`)) { + stopifnot(is.character(`className`), length(`className`) == 1) + self$`className` <- `className` + } + if (!missing(`color`)) { + stopifnot(is.character(`color`), length(`color`) == 1) + self$`color` <- `color` + } + }, + toJSON = function() { + BasquePigObject <- list() + if (!is.null(self$`className`)) { + BasquePigObject[['className']] <- + self$`className` + } + if (!is.null(self$`color`)) { + BasquePigObject[['color']] <- + self$`color` + } + + BasquePigObject + }, + fromJSON = function(BasquePigJson) { + BasquePigObject <- jsonlite::fromJSON(BasquePigJson) + if (!is.null(BasquePigObject$`className`)) { + self$`className` <- BasquePigObject$`className` + } + if (!is.null(BasquePigObject$`color`)) { + self$`color` <- BasquePigObject$`color` + } + self + }, + toJSONString = function() { + jsoncontent <- c( + if (!is.null(self$`className`)) { + sprintf( + '"className": + "%s" + ', + self$`className` + )}, + if (!is.null(self$`color`)) { + sprintf( + '"color": + "%s" + ', + self$`color` + )} + ) + jsoncontent <- paste(jsoncontent, collapse = ",") + paste('{', jsoncontent, '}', sep = "") + }, + fromJSONString = function(BasquePigJson) { + BasquePigObject <- jsonlite::fromJSON(BasquePigJson) + self$`className` <- BasquePigObject$`className` + self$`color` <- BasquePigObject$`color` + self + }, + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + # check the required field `className` + if (!is.null(input_json$`className`)) { + stopifnot(is.character(input_json$`className`), length(input_json$`className`) == 1) + } else { + stop(paste("The JSON input `", input, "` is invalid for BasquePig: the required field `className` is missing.")) + } + # check the required field `color` + if (!is.null(input_json$`color`)) { + stopifnot(is.character(input_json$`color`), length(input_json$`color`) == 1) + } else { + stop(paste("The JSON input `", input, "` is invalid for BasquePig: the required field `color` is missing.")) + } + } + + ) +) + diff --git a/samples/client/petstore/R/R/cat.R b/samples/client/petstore/R/R/cat.R index b321a7a75f..0c265ae99f 100644 --- a/samples/client/petstore/R/R/cat.R +++ b/samples/client/petstore/R/R/cat.R @@ -31,7 +31,6 @@ Cat <- R6::R6Class( initialize = function( `className`, `color`='red', `declawed`=NULL, ... ) { - local.optional.var <- list(...) if (!missing(`className`)) { stopifnot(is.character(`className`), length(`className`) == 1) self$`className` <- `className` @@ -108,6 +107,17 @@ Cat <- R6::R6Class( self$`color` <- CatObject$`color` self$`declawed` <- CatObject$`declawed` self + }, + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + # check the required field `className` + if (!is.null(input_json$`className`)) { + stopifnot(is.character(input_json$`className`), length(input_json$`className`) == 1) + } else { + stop(paste("The JSON input `", input, "` is invalid for Cat: the required field `className` is missing.")) + } } + ) ) + diff --git a/samples/client/petstore/R/R/cat_all_of.R b/samples/client/petstore/R/R/cat_all_of.R index ae4892a880..60abcbbbf3 100644 --- a/samples/client/petstore/R/R/cat_all_of.R +++ b/samples/client/petstore/R/R/cat_all_of.R @@ -24,7 +24,6 @@ CatAllOf <- R6::R6Class( initialize = function( `declawed`=NULL, ... ) { - local.optional.var <- list(...) if (!is.null(`declawed`)) { stopifnot(is.logical(`declawed`), length(`declawed`) == 1) self$`declawed` <- `declawed` @@ -63,6 +62,11 @@ CatAllOf <- R6::R6Class( CatAllOfObject <- jsonlite::fromJSON(CatAllOfJson) self$`declawed` <- CatAllOfObject$`declawed` self + }, + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) } + ) ) + diff --git a/samples/client/petstore/R/R/category.R b/samples/client/petstore/R/R/category.R index 2685bd0809..49259ef684 100644 --- a/samples/client/petstore/R/R/category.R +++ b/samples/client/petstore/R/R/category.R @@ -27,7 +27,6 @@ Category <- R6::R6Class( initialize = function( `id`=NULL, `name`=NULL, ... ) { - local.optional.var <- list(...) if (!is.null(`id`)) { stopifnot(is.numeric(`id`), length(`id`) == 1) self$`id` <- `id` @@ -85,6 +84,11 @@ Category <- R6::R6Class( self$`id` <- CategoryObject$`id` self$`name` <- CategoryObject$`name` self + }, + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) } + ) ) + diff --git a/samples/client/petstore/R/R/danish_pig.R b/samples/client/petstore/R/R/danish_pig.R new file mode 100644 index 0000000000..64482f7d04 --- /dev/null +++ b/samples/client/petstore/R/R/danish_pig.R @@ -0,0 +1,106 @@ +# OpenAPI Petstore +# +# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +# +# The version of the OpenAPI document: 1.0.0 +# Generated by: https://openapi-generator.tech + +#' @docType class +#' @title DanishPig +#' +#' @description DanishPig Class +#' +#' @format An \code{R6Class} generator object +#' +#' @field className character +#' +#' @field size integer +#' +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +DanishPig <- R6::R6Class( + 'DanishPig', + public = list( + `className` = NULL, + `size` = NULL, + initialize = function( + `className`, `size`, ... + ) { + if (!missing(`className`)) { + stopifnot(is.character(`className`), length(`className`) == 1) + self$`className` <- `className` + } + if (!missing(`size`)) { + stopifnot(is.numeric(`size`), length(`size`) == 1) + self$`size` <- `size` + } + }, + toJSON = function() { + DanishPigObject <- list() + if (!is.null(self$`className`)) { + DanishPigObject[['className']] <- + self$`className` + } + if (!is.null(self$`size`)) { + DanishPigObject[['size']] <- + self$`size` + } + + DanishPigObject + }, + fromJSON = function(DanishPigJson) { + DanishPigObject <- jsonlite::fromJSON(DanishPigJson) + if (!is.null(DanishPigObject$`className`)) { + self$`className` <- DanishPigObject$`className` + } + if (!is.null(DanishPigObject$`size`)) { + self$`size` <- DanishPigObject$`size` + } + self + }, + toJSONString = function() { + jsoncontent <- c( + if (!is.null(self$`className`)) { + sprintf( + '"className": + "%s" + ', + self$`className` + )}, + if (!is.null(self$`size`)) { + sprintf( + '"size": + %d + ', + self$`size` + )} + ) + jsoncontent <- paste(jsoncontent, collapse = ",") + paste('{', jsoncontent, '}', sep = "") + }, + fromJSONString = function(DanishPigJson) { + DanishPigObject <- jsonlite::fromJSON(DanishPigJson) + self$`className` <- DanishPigObject$`className` + self$`size` <- DanishPigObject$`size` + self + }, + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + # check the required field `className` + if (!is.null(input_json$`className`)) { + stopifnot(is.character(input_json$`className`), length(input_json$`className`) == 1) + } else { + stop(paste("The JSON input `", input, "` is invalid for DanishPig: the required field `className` is missing.")) + } + # check the required field `size` + if (!is.null(input_json$`size`)) { + stopifnot(is.numeric(input_json$`size`), length(input_json$`size`) == 1) + } else { + stop(paste("The JSON input `", input, "` is invalid for DanishPig: the required field `size` is missing.")) + } + } + + ) +) + diff --git a/samples/client/petstore/R/R/dog.R b/samples/client/petstore/R/R/dog.R index 09c782a819..e06e313aef 100644 --- a/samples/client/petstore/R/R/dog.R +++ b/samples/client/petstore/R/R/dog.R @@ -31,7 +31,6 @@ Dog <- R6::R6Class( initialize = function( `className`, `color`='red', `breed`=NULL, ... ) { - local.optional.var <- list(...) if (!missing(`className`)) { stopifnot(is.character(`className`), length(`className`) == 1) self$`className` <- `className` @@ -108,6 +107,17 @@ Dog <- R6::R6Class( self$`color` <- DogObject$`color` self$`breed` <- DogObject$`breed` self + }, + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + # check the required field `className` + if (!is.null(input_json$`className`)) { + stopifnot(is.character(input_json$`className`), length(input_json$`className`) == 1) + } else { + stop(paste("The JSON input `", input, "` is invalid for Dog: the required field `className` is missing.")) + } } + ) ) + diff --git a/samples/client/petstore/R/R/dog_all_of.R b/samples/client/petstore/R/R/dog_all_of.R index 243d542f39..3fbe701923 100644 --- a/samples/client/petstore/R/R/dog_all_of.R +++ b/samples/client/petstore/R/R/dog_all_of.R @@ -24,7 +24,6 @@ DogAllOf <- R6::R6Class( initialize = function( `breed`=NULL, ... ) { - local.optional.var <- list(...) if (!is.null(`breed`)) { stopifnot(is.character(`breed`), length(`breed`) == 1) self$`breed` <- `breed` @@ -63,6 +62,11 @@ DogAllOf <- R6::R6Class( DogAllOfObject <- jsonlite::fromJSON(DogAllOfJson) self$`breed` <- DogAllOfObject$`breed` self + }, + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) } + ) ) + diff --git a/samples/client/petstore/R/R/model_api_response.R b/samples/client/petstore/R/R/model_api_response.R index 2e7a63a919..cee53f1529 100644 --- a/samples/client/petstore/R/R/model_api_response.R +++ b/samples/client/petstore/R/R/model_api_response.R @@ -30,7 +30,6 @@ ModelApiResponse <- R6::R6Class( initialize = function( `code`=NULL, `type`=NULL, `message`=NULL, ... ) { - local.optional.var <- list(...) if (!is.null(`code`)) { stopifnot(is.numeric(`code`), length(`code`) == 1) self$`code` <- `code` @@ -107,6 +106,11 @@ ModelApiResponse <- R6::R6Class( self$`type` <- ModelApiResponseObject$`type` self$`message` <- ModelApiResponseObject$`message` self + }, + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) } + ) ) + diff --git a/samples/client/petstore/R/R/order.R b/samples/client/petstore/R/R/order.R index 51f6e76303..966e4e0fa7 100644 --- a/samples/client/petstore/R/R/order.R +++ b/samples/client/petstore/R/R/order.R @@ -39,7 +39,6 @@ Order <- R6::R6Class( initialize = function( `id`=NULL, `petId`=NULL, `quantity`=NULL, `shipDate`=NULL, `status`=NULL, `complete`=FALSE, ... ) { - local.optional.var <- list(...) if (!is.null(`id`)) { stopifnot(is.numeric(`id`), length(`id`) == 1) self$`id` <- `id` @@ -173,6 +172,11 @@ Order <- R6::R6Class( self$`status` <- OrderObject$`status` self$`complete` <- OrderObject$`complete` self + }, + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) } + ) ) + diff --git a/samples/client/petstore/R/R/pet.R b/samples/client/petstore/R/R/pet.R index 5e4cbfe454..d02690d24a 100644 --- a/samples/client/petstore/R/R/pet.R +++ b/samples/client/petstore/R/R/pet.R @@ -39,7 +39,6 @@ Pet <- R6::R6Class( initialize = function( `name`, `photoUrls`, `id`=NULL, `category`=NULL, `tags`=NULL, `status`=NULL, ... ) { - local.optional.var <- list(...) if (!missing(`name`)) { stopifnot(is.character(`name`), length(`name`) == 1) self$`name` <- `name` @@ -177,6 +176,24 @@ Pet <- R6::R6Class( self$`tags` <- ApiClient$new()$deserializeObj(PetObject$`tags`, "array[Tag]", loadNamespace("petstore")) self$`status` <- PetObject$`status` self + }, + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + # check the required field `name` + if (!is.null(input_json$`name`)) { + stopifnot(is.character(input_json$`name`), length(input_json$`name`) == 1) + } else { + stop(paste("The JSON input `", input, "` is invalid for Pet: the required field `name` is missing.")) + } + # check the required field `photoUrls` + if (!is.null(input_json$`photoUrls`)) { + stopifnot(is.vector(input_json$`photoUrls`), length(input_json$`photoUrls`) != 0) + tmp <- sapply(input_json$`photoUrls`, function(x) stopifnot(is.character(x))) + } else { + stop(paste("The JSON input `", input, "` is invalid for Pet: the required field `photoUrls` is missing.")) + } } + ) ) + diff --git a/samples/client/petstore/R/R/pig.R b/samples/client/petstore/R/R/pig.R new file mode 100644 index 0000000000..27500b6601 --- /dev/null +++ b/samples/client/petstore/R/R/pig.R @@ -0,0 +1,85 @@ +# OpenAPI Petstore +# +# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +# +# The version of the OpenAPI document: 1.0.0 +# Generated by: https://openapi-generator.tech + +#' @docType class +#' @title Pig +#' +#' @description Pig Class +#' +#' @format An \code{R6Class} generator object +#' +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +Pig <- R6::R6Class( + 'Pig', + public = list( + actual_instance = NULL, + actual_type = NULL, + one_of = list("BasquePig", "DanishPig"), + initialize = function( + `className`, `color`, `size`, ... + ) { + local_optional_var <- list(...) + }, + toJSON = function() { + Pig_object <- list() + Pig_object + }, + fromJSON = function(input) { + matched <- 0 # match counter + matched_schemas <- list() #names of matched schemas + error_messages <- list() + instance <- NULL + + BasquePig_result <- tryCatch({ + BasquePig$public_methods$validateJSON(input) + BasquePig_instance <- BasquePig$new() + instance <- BasquePig_instance$fromJSON(input) + instance_type <- "BasquePig" + matched_schemas <- append(matched_schemas, "BasquePig") + matched <- matched + 1 + }, + error = function(err) err + ) + + if (!is.null(BasquePig_result['error'])) { + error_messages <- append(error_messages, BasquePig_result['message']) + } + + DanishPig_result <- tryCatch({ + DanishPig$public_methods$validateJSON(input) + DanishPig_instance <- DanishPig$new() + instance <- DanishPig_instance$fromJSON(input) + instance_type <- "DanishPig" + matched_schemas <- append(matched_schemas, "DanishPig") + matched <- matched + 1 + }, + error = function(err) err + ) + + if (!is.null(DanishPig_result['error'])) { + error_messages <- append(error_messages, DanishPig_result['message']) + } + + if (matched == 1) { + # successfully match exactly 1 schema specified in oneOf + self$actual_instance <- instance + self$actual_type <- instance_type + } else if (matched > 1) { + # more than 1 match + stop("Multiple matches found when deserializing the payload into Pig with oneOf schemas BasquePig, DanishPig. ") + } else { + # no match + stop(paste("No match found when deserializing the payload into Pig with oneOf schemas BasquePig, DanishPig. Details: ", paste(error_messages, collapse = ', '))) + } + + self + } + ) +) + diff --git a/samples/client/petstore/R/R/tag.R b/samples/client/petstore/R/R/tag.R index a58c5e4e3a..bbddb9ec08 100644 --- a/samples/client/petstore/R/R/tag.R +++ b/samples/client/petstore/R/R/tag.R @@ -27,7 +27,6 @@ Tag <- R6::R6Class( initialize = function( `id`=NULL, `name`=NULL, ... ) { - local.optional.var <- list(...) if (!is.null(`id`)) { stopifnot(is.numeric(`id`), length(`id`) == 1) self$`id` <- `id` @@ -85,6 +84,11 @@ Tag <- R6::R6Class( self$`id` <- TagObject$`id` self$`name` <- TagObject$`name` self + }, + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) } + ) ) + diff --git a/samples/client/petstore/R/R/user.R b/samples/client/petstore/R/R/user.R index b707af6032..ba27b8d849 100644 --- a/samples/client/petstore/R/R/user.R +++ b/samples/client/petstore/R/R/user.R @@ -45,7 +45,6 @@ User <- R6::R6Class( initialize = function( `id`=NULL, `username`=NULL, `firstName`=NULL, `lastName`=NULL, `email`=NULL, `password`=NULL, `phone`=NULL, `userStatus`=NULL, ... ) { - local.optional.var <- list(...) if (!is.null(`id`)) { stopifnot(is.numeric(`id`), length(`id`) == 1) self$`id` <- `id` @@ -217,6 +216,11 @@ User <- R6::R6Class( self$`phone` <- UserObject$`phone` self$`userStatus` <- UserObject$`userStatus` self + }, + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) } + ) ) + diff --git a/samples/client/petstore/R/README.md b/samples/client/petstore/R/README.md index cb277954ff..4c75bb991b 100644 --- a/samples/client/petstore/R/README.md +++ b/samples/client/petstore/R/README.md @@ -28,7 +28,7 @@ git clone https://github.com/GIT_USER_ID/GIT_REPO_ID cd GIT_REPO_ID R CMD build . R CMD check petstore_1.0.0.tar.gz --no-manual -R CMD INSTALL petstore_1.0.0.tar.gz +R CMD INSTALL --preclean petstore_1.0.0.tar.gz ``` ### Install the package @@ -83,14 +83,17 @@ Class | Method | HTTP request | Description - [AllofTagApiResponse](docs/AllofTagApiResponse.md) - [Animal](docs/Animal.md) + - [BasquePig](docs/BasquePig.md) - [Cat](docs/Cat.md) - [CatAllOf](docs/CatAllOf.md) - [Category](docs/Category.md) + - [DanishPig](docs/DanishPig.md) - [Dog](docs/Dog.md) - [DogAllOf](docs/DogAllOf.md) - [ModelApiResponse](docs/ModelApiResponse.md) - [Order](docs/Order.md) - [Pet](docs/Pet.md) + - [Pig](docs/Pig.md) - [Tag](docs/Tag.md) - [User](docs/User.md) diff --git a/samples/client/petstore/R/test_petstore.bash b/samples/client/petstore/R/build_and_test.bash similarity index 91% rename from samples/client/petstore/R/test_petstore.bash rename to samples/client/petstore/R/build_and_test.bash index 9234b3d5d4..3482f3d083 100644 --- a/samples/client/petstore/R/test_petstore.bash +++ b/samples/client/petstore/R/build_and_test.bash @@ -18,6 +18,8 @@ Rscript -e "install.packages('base64enc', repos='$REPO', lib='$R_LIBS_USER')" Rscript -e "install.packages('rlang', repos='$REPO', lib='$R_LIBS_USER')" Rscript -e "install.packages('rjson', repos='$REPO', lib='$R_LIBS_USER')" +rm petstore_1.0.0.tar.gz || true + R CMD build . R CMD check *tar.gz --no-manual -R CMD INSTALL *tar.gz +R CMD install --preclean *tar.gz diff --git a/samples/client/petstore/R/docs/BasquePig.md b/samples/client/petstore/R/docs/BasquePig.md new file mode 100644 index 0000000000..9e00cec58b --- /dev/null +++ b/samples/client/petstore/R/docs/BasquePig.md @@ -0,0 +1,10 @@ +# petstore::BasquePig + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**className** | **character** | | +**color** | **character** | | + + diff --git a/samples/client/petstore/R/docs/DanishPig.md b/samples/client/petstore/R/docs/DanishPig.md new file mode 100644 index 0000000000..1d6c5bf2ac --- /dev/null +++ b/samples/client/petstore/R/docs/DanishPig.md @@ -0,0 +1,10 @@ +# petstore::DanishPig + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**className** | **character** | | +**size** | **integer** | | + + diff --git a/samples/client/petstore/R/docs/Pig.md b/samples/client/petstore/R/docs/Pig.md new file mode 100644 index 0000000000..7906011bd4 --- /dev/null +++ b/samples/client/petstore/R/docs/Pig.md @@ -0,0 +1,11 @@ +# petstore::Pig + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**className** | **character** | | +**color** | **character** | | +**size** | **integer** | | + + diff --git a/samples/client/petstore/R/pom.xml b/samples/client/petstore/R/pom.xml index 949b3cd6bc..4635dde7be 100644 --- a/samples/client/petstore/R/pom.xml +++ b/samples/client/petstore/R/pom.xml @@ -35,7 +35,7 @@ bash - test_petstore.bash + build_and_test.bash diff --git a/samples/client/petstore/R/test_petstore.R b/samples/client/petstore/R/test_petstore.R index f0be473986..cd263b31f3 100644 --- a/samples/client/petstore/R/test_petstore.R +++ b/samples/client/petstore/R/test_petstore.R @@ -1,24 +1,70 @@ + +install.packages("petstore_1.0.0.tar.gz",repos=NULL, type="source") library(petstore) var_pet_id <- 56 # integer | ID of pet to return #Find pet by ID -api_instance <- PetApi$new() -# Configure API key authorization: api_key -api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; -result <- tryCatch( - api_instance$GetPetById(var_pet_id), - ApiException = function(ex) ex - ) -# In case of error, print the error object -if(!is.null(result$ApiException)) { - cat(result$ApiException$toString()) -} else { - # deserialized response object - response.object <- result$content - # response headers - response.headers <- result$response$headers - # response status code - response.status.code <- result$response$status_code -} +#api_instance <- PetApi$new() +## Configure API key authorization: api_key +#api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; +#result <- tryCatch( +# api_instance$GetPetById(var_pet_id), +# ApiException = function(ex) ex +# ) +## In case of error, print the error object +#if(!is.null(result$ApiException)) { +# cat(result$ApiException$toString()) +#} else { +# # deserialized response object +# response.object <- result$content +# # response headers +# response.headers <- result$response$headers +# # response status code +# response.status.code <- result$response$status_code +#} + +json2 <- +'{"name": "pet", "photoUrls" : ["http://a.com", "http://b.com"]}' + +json <- +'[ + {"Name" : "Mario", "Age" : 32, "Occupation" : "Plumber"}, + {"Name" : "Peach", "Age" : 21, "Occupation" : "Princess"}, + {}, + {"Name" : "Bowser", "Occupation" : "Koopa"} +]' + + +#Pet$public_methods +#Pet$public_methods$fromJSON(json) +#Pet$public_methods$toJson() +#Pet$public_methods$validateJSON(json2) +#Pet$public_methods$validateJson(json) +#Pet$my_static_method <- function(x) { x + 2} +#Pet$public_methods$my_static_method(1) + + basque_pig_json <- + '{"className2": "BasquePig", "color": "red"}' + + danish_pig_json <- + '{"className2": "DanishPig", "size": 7}' + + wrong_json <- + '[ + {"Name" : "Tom", "Age" : 32, "Occupation" : "Consultant"}, + {}, + {"Name" : "Ada", "Occupation" : "Engineer"} + ]' + + pig <- Pig$new() + basque_pig <- pig$fromJSON(basque_pig_json) + #print(basque_pig$actual_instance$color) + #expect_equal(basque_pig$actual_type, "BasquePig") + i <- pig$fromJSON(danish_pig_json) + #i <- pig$fromJSON(wrong_json) + + d <- DanishPig$new() + dp <- d$validateJSON(danish_pig_json) + diff --git a/samples/client/petstore/R/tests/testthat/test_basque_pig.R b/samples/client/petstore/R/tests/testthat/test_basque_pig.R new file mode 100644 index 0000000000..400268563d --- /dev/null +++ b/samples/client/petstore/R/tests/testthat/test_basque_pig.R @@ -0,0 +1,20 @@ +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate + +context("Test BasquePig") + +model_instance <- BasquePig$new() + +test_that("className", { + # tests for the property `className` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`className`, "EXPECTED_RESULT") +}) + +test_that("color", { + # tests for the property `color` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`color`, "EXPECTED_RESULT") +}) diff --git a/samples/client/petstore/R/tests/testthat/test_danish_pig.R b/samples/client/petstore/R/tests/testthat/test_danish_pig.R new file mode 100644 index 0000000000..a7c2811d89 --- /dev/null +++ b/samples/client/petstore/R/tests/testthat/test_danish_pig.R @@ -0,0 +1,20 @@ +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate + +context("Test DanishPig") + +model_instance <- DanishPig$new() + +test_that("className", { + # tests for the property `className` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`className`, "EXPECTED_RESULT") +}) + +test_that("size", { + # tests for the property `size` (integer) + + # uncomment below to test the property + #expect_equal(model.instance$`size`, "EXPECTED_RESULT") +}) diff --git a/samples/client/petstore/R/tests/testthat/test_petstore.R b/samples/client/petstore/R/tests/testthat/test_petstore.R index 88319edf3f..5033371b65 100644 --- a/samples/client/petstore/R/tests/testthat/test_petstore.R +++ b/samples/client/petstore/R/tests/testthat/test_petstore.R @@ -119,6 +119,55 @@ test_that("Tests allOf with discriminator", { expect_true(c1$declawed) }) +test_that("Tests validateJSON", { + json <- + '{"name": "pet", "photoUrls" : ["http://a.com", "http://b.com"]}' + + json2 <- + '[ + {"Name" : "Tom", "Age" : 32, "Occupation" : "Consultant"}, + {}, + {"Name" : "Ada", "Occupation" : "Engineer"} + ]' + + # validate `json` and no error throw + Pet$public_methods$validateJSON(json) + + # validate `json2` and should throw an error due to missing required fields + #expect_error(Pet$public_methods$validateJSON(json2), 'The JSON input ` [\n {\"Name\" : \"Tom\", \"Age\" : 32, \"Occupation\" : \"Consultant\"}, \n {},\n {\"Name\" : \"Ada\", \"Occupation\" : \"Engineer\"}\n ] ` is invalid for Pet: the required field `name` is missing.') + +}) + +test_that("Tests oneOf", { + basque_pig_json <- + '{"className": "BasquePig", "color": "red"}' + + danish_pig_json <- + '{"className": "DanishPig", "size": 7}' + + wrong_json <- + '[ + {"Name" : "Tom", "Age" : 32, "Occupation" : "Consultant"}, + {}, + {"Name" : "Ada", "Occupation" : "Engineer"} + ]' + + pig <- Pig$new() + danish_pig <- pig$fromJSON(danish_pig_json) + expect_equal(danish_pig$actual_type, "DanishPig") + expect_equal(danish_pig$actual_instance$size, 7) + expect_equal(danish_pig$actual_instance$className, "DanishPig") + + basque_pig <- pig$fromJSON(basque_pig_json) + expect_equal(basque_pig$actual_type, "BasquePig") + expect_equal(basque_pig$actual_instance$color, "red") + expect_equal(basque_pig$actual_instance$className, "BasquePig") + + #expect_error(pig$fromJSON(wrong_json), "No match found when deserializing the payload into Pig with oneOf schemas BasquePig, DanishPig. Details: The JSON input ` [\n {\"Name\" : \"Tom\", \"Age\" : 32, \"Occupation\" : \"Consultant\"}, \n {},\n {\"Name\" : \"Ada\", \"Occupation\" : \"Engineer\"}\n ] ` is invalid for BasquePig: the required field `className` is missing., The JSON input ` [\n {\"Name\" : \"Tom\", \"Age\" : 32, \"Occupation\" : \"Consultant\"}, \n {},\n {\"Name\" : \"Ada\", \"Occupation\" : \"Engineer\"}\n ] ` is invalid for DanishPig: the required field `className` is missing.") + expect_error(pig$fromJSON('{}'), 'No match found when deserializing the payload into Pig with oneOf schemas BasquePig, DanishPig. Details: The JSON input ` \\{\\} ` is invalid for BasquePig: the required field `className` is missing\\., The JSON input ` \\{\\} ` is invalid for DanishPig: the required field `className` is missing\\.') + +}) + #test_that("GetPetById", { # pet.id <- pet.id # pet <- Pet$new(pet.id, NULL, "name_test2", diff --git a/samples/client/petstore/R/tests/testthat/test_pig.R b/samples/client/petstore/R/tests/testthat/test_pig.R new file mode 100644 index 0000000000..4846cfbb0f --- /dev/null +++ b/samples/client/petstore/R/tests/testthat/test_pig.R @@ -0,0 +1,27 @@ +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate + +context("Test Pig") + +model_instance <- Pig$new() + +test_that("className", { + # tests for the property `className` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`className`, "EXPECTED_RESULT") +}) + +test_that("color", { + # tests for the property `color` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`color`, "EXPECTED_RESULT") +}) + +test_that("size", { + # tests for the property `size` (integer) + + # uncomment below to test the property + #expect_equal(model.instance$`size`, "EXPECTED_RESULT") +}) From ec6c4a4b6c14a13baac52511c951acb0da3964ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul-Etienne=20Fran=C3=A7ois?= Date: Sun, 5 Jun 2022 20:55:03 +0200 Subject: [PATCH 046/212] [Feature] Handle optional operation responses (#12342) --- .../codegen/CodegenOperation.java | 22 ++++++++------- .../openapitools/codegen/DefaultCodegen.java | 7 +++++ .../src/main/resources/swift5/api.mustache | 28 +++++++++---------- .../AlamofireImplementations.mustache | 12 +++++--- .../URLSessionImplementations.mustache | 6 +++- .../OpenAPIs/AlamofireImplementations.swift | 12 +++++--- .../OpenAPIs/URLSessionImplementations.swift | 6 +++- .../OpenAPIs/URLSessionImplementations.swift | 6 +++- .../OpenAPIs/URLSessionImplementations.swift | 6 +++- .../OpenAPIs/URLSessionImplementations.swift | 6 +++- .../OpenAPIs/URLSessionImplementations.swift | 6 +++- .../OpenAPIs/URLSessionImplementations.swift | 6 +++- .../OpenAPIs/URLSessionImplementations.swift | 6 +++- .../OpenAPIs/URLSessionImplementations.swift | 6 +++- .../OpenAPIs/URLSessionImplementations.swift | 6 +++- .../OpenAPIs/URLSessionImplementations.swift | 6 +++- .../OpenAPIs/URLSessionImplementations.swift | 6 +++- .../OpenAPIs/URLSessionImplementations.swift | 6 +++- .../URLSessionImplementations.swift | 6 +++- .../OpenAPIs/URLSessionImplementations.swift | 6 +++- 20 files changed, 124 insertions(+), 47 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java index ca384edfac..91cc8141e2 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java @@ -27,7 +27,7 @@ public class CodegenOperation { public boolean hasAuthMethods, hasConsumes, hasProduces, hasParams, hasOptionalParams, hasRequiredParams, returnTypeIsPrimitive, returnSimpleType, subresourceOperation, isMap, isArray, isMultipart, - isResponseBinary = false, isResponseFile = false, hasReference = false, + isResponseBinary = false, isResponseFile = false, isResponseOptional = false, hasReference = false, isRestfulIndex, isRestfulShow, isRestfulCreate, isRestfulUpdate, isRestfulDestroy, isRestful, isDeprecated, isCallbackRequest, uniqueItems, hasDefaultResponse = false, hasErrorResponseObject; // if 4xx, 5xx responses have at least one error object defined @@ -302,6 +302,7 @@ public class CodegenOperation { sb.append(", isMultipart=").append(isMultipart); sb.append(", isResponseBinary=").append(isResponseBinary); sb.append(", isResponseFile=").append(isResponseFile); + sb.append(", isResponseFile=").append(isResponseOptional); sb.append(", hasReference=").append(hasReference); sb.append(", hasDefaultResponse=").append(hasDefaultResponse); sb.append(", hasErrorResponseObject=").append(hasErrorResponseObject); @@ -377,6 +378,7 @@ public class CodegenOperation { isMultipart == that.isMultipart && isResponseBinary == that.isResponseBinary && isResponseFile == that.isResponseFile && + isResponseOptional == that.isResponseOptional && hasReference == that.hasReference && hasDefaultResponse == that.hasDefaultResponse && hasErrorResponseObject == that.hasErrorResponseObject && @@ -437,14 +439,14 @@ public class CodegenOperation { return Objects.hash(responseHeaders, hasAuthMethods, hasConsumes, hasProduces, hasParams, hasOptionalParams, hasRequiredParams, returnTypeIsPrimitive, returnSimpleType, subresourceOperation, isMap, - isArray, isMultipart, isResponseBinary, isResponseFile, hasReference, hasDefaultResponse, isRestfulIndex, - isRestfulShow, isRestfulCreate, isRestfulUpdate, isRestfulDestroy, isRestful, isDeprecated, - isCallbackRequest, uniqueItems, path, operationId, returnType, httpMethod, returnBaseType, - returnContainer, summary, unescapedNotes, notes, baseName, defaultResponse, discriminator, consumes, - produces, prioritizedContentTypes, servers, bodyParam, allParams, bodyParams, pathParams, queryParams, - headerParams, formParams, cookieParams, requiredParams, optionalParams, authMethods, tags, - responses, callbacks, imports, examples, requestBodyExamples, externalDocs, vendorExtensions, - nickname, operationIdOriginal, operationIdLowerCase, operationIdCamelCase, operationIdSnakeCase, - hasErrorResponseObject); + isArray, isMultipart, isResponseBinary, isResponseFile, isResponseOptional, hasReference, + hasDefaultResponse, isRestfulIndex, isRestfulShow, isRestfulCreate, isRestfulUpdate, isRestfulDestroy, + isRestful, isDeprecated, isCallbackRequest, uniqueItems, path, operationId, returnType, httpMethod, + returnBaseType, returnContainer, summary, unescapedNotes, notes, baseName, defaultResponse, + discriminator, consumes, produces, prioritizedContentTypes, servers, bodyParam, allParams, bodyParams, + pathParams, queryParams, headerParams, formParams, cookieParams, requiredParams, optionalParams, + authMethods, tags, responses, callbacks, imports, examples, requestBodyExamples, externalDocs, + vendorExtensions, nickname, operationIdOriginal, operationIdLowerCase, operationIdCamelCase, + operationIdSnakeCase, hasErrorResponseObject); } } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index b24b0b6d07..e4b539e271 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -4078,6 +4078,13 @@ public class DefaultCodegen implements CodegenConfig { op.hasErrorResponseObject = Boolean.TRUE; } } + + // check if the operation can both return a 2xx response with a body and without + if (op.responses.stream().anyMatch(response -> response.is2xx && response.dataType != null) && + op.responses.stream().anyMatch(response -> response.is2xx && response.dataType == null)) { + op.isResponseOptional = Boolean.TRUE; + } + op.responses.sort((a, b) -> { int aScore = a.isWildcard() ? 2 : a.isRange() ? 1 : 0; int bScore = b.isWildcard() ? 2 : b.isRange() ? 1 : 0; diff --git a/modules/openapi-generator/src/main/resources/swift5/api.mustache b/modules/openapi-generator/src/main/resources/swift5/api.mustache index 7f8c507d1c..a35ea0cc68 100644 --- a/modules/openapi-generator/src/main/resources/swift5/api.mustache +++ b/modules/openapi-generator/src/main/resources/swift5/api.mustache @@ -97,13 +97,13 @@ extension {{projectName}}API { {{{.}}} {{/summary}}{{#allParams}} - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}} - - returns: Promise<{{{returnType}}}{{^returnType}}Void{{/returnType}}> + - returns: Promise<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> */ {{#isDeprecated}} @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}} {{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> Promise<{{{returnType}}}{{^returnType}}Void{{/returnType}}> { - let deferred = Promise<{{{returnType}}}{{^returnType}}Void{{/returnType}}>.pending() + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}} {{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> Promise<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> { + let deferred = Promise<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}>.pending() {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}).execute { result in switch result { {{#returnType}} @@ -129,12 +129,12 @@ extension {{projectName}}API { {{/summary}}{{#allParams}} - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}} - parameter apiResponseQueue: The queue on which api response is dispatched. - - returns: Observable<{{{returnType}}}{{^returnType}}Void{{/returnType}}> + - returns: Observable<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> */ {{#isDeprecated}} @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#hasParams}}, {{/hasParams}}apiResponseQueue: DispatchQueue = {{projectName}}API.apiResponseQueue) -> Observable<{{{returnType}}}{{^returnType}}Void{{/returnType}}> { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#hasParams}}, {{/hasParams}}apiResponseQueue: DispatchQueue = {{projectName}}API.apiResponseQueue) -> Observable<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> { return Observable.create { observer -> Disposable in let requestTask = {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}).execute(apiResponseQueue) { result in switch result { @@ -165,16 +165,16 @@ extension {{projectName}}API { {{{.}}} {{/summary}}{{#allParams}} - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}} - - returns: AnyPublisher<{{{returnType}}}{{^returnType}}Void{{/returnType}}, Error> + - returns: AnyPublisher<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}, Error> */ #if canImport(Combine) {{#isDeprecated}} @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> AnyPublisher<{{{returnType}}}{{^returnType}}Void{{/returnType}}, Error> { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> AnyPublisher<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}, Error> { var requestTask: RequestTask? - return Future<{{{returnType}}}{{^returnType}}Void{{/returnType}}, Error> { promise in + return Future<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}, Error> { promise in requestTask = {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}).execute { result in switch result { {{#returnType}} @@ -204,13 +204,13 @@ extension {{projectName}}API { {{{.}}} {{/summary}}{{#allParams}} - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}} - - returns: {{{returnType}}}{{^returnType}}Void{{/returnType}} + - returns: {{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}} */ {{#isDeprecated}} @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) async throws{{#returnType}} -> {{{returnType}}}{{/returnType}} { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) async throws{{#returnType}} -> {{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{/returnType}} { var requestTask: RequestTask? return try await withTaskCancellationHandler { try Task.checkCancellation() @@ -254,7 +254,7 @@ extension {{projectName}}API { @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} @discardableResult - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#hasParams}}, {{/hasParams}}apiResponseQueue: DispatchQueue = {{projectName}}API.apiResponseQueue, completion: @escaping ((_ result: Swift.Result<{{{returnType}}}{{^returnType}}Void{{/returnType}}, ErrorResponse>) -> Void)) -> RequestTask { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}{{#hasParams}}, {{/hasParams}}apiResponseQueue: DispatchQueue = {{projectName}}API.apiResponseQueue, completion: @escaping ((_ result: Swift.Result<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}, ErrorResponse>) -> Void)) -> RequestTask { return {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}).execute(apiResponseQueue) { result in switch result { {{#returnType}} @@ -419,12 +419,12 @@ extension {{projectName}}API { {{#allParams}} - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}} {{/allParams}} - - returns: RequestBuilder<{{{returnType}}}{{^returnType}}Void{{/returnType}}> {{description}} + - returns: RequestBuilder<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> {{description}} */ {{#isDeprecated}} @available(*, deprecated, message: "This operation is deprecated.") {{/isDeprecated}} - {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> RequestBuilder<{{{returnType}}}{{^returnType}}Void{{/returnType}}> { + {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) -> RequestBuilder<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}> { {{^pathParams}}let{{/pathParams}}{{#pathParams}}{{#-first}}var{{/-first}}{{/pathParams}} localVariablePath = "{{{path}}}"{{#pathParams}} let {{paramName}}PreEscape = "\({{#isEnum}}{{paramName}}{{#isContainer}}{{{dataType}}}{{/isContainer}}{{^isContainer}}.rawValue{{/isContainer}}{{/isEnum}}{{^isEnum}}APIHelper.mapValueToPathItem({{paramName}}){{/isEnum}})" let {{paramName}}PostEscape = {{paramName}}PreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" @@ -464,7 +464,7 @@ extension {{projectName}}API { let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) - let localVariableRequestBuilder: RequestBuilder<{{{returnType}}}{{^returnType}}Void{{/returnType}}>.Type = {{projectName}}API.requestBuilderFactory.{{#returnType}}getBuilder(){{/returnType}}{{^returnType}}getNonDecodableBuilder(){{/returnType}} + let localVariableRequestBuilder: RequestBuilder<{{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{^returnType}}Void{{/returnType}}>.Type = {{projectName}}API.requestBuilderFactory.{{#returnType}}getBuilder(){{/returnType}}{{^returnType}}getNonDecodableBuilder(){{/returnType}} return localVariableRequestBuilder.init(method: "{{httpMethod}}", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters) } diff --git a/modules/openapi-generator/src/main/resources/swift5/libraries/alamofire/AlamofireImplementations.mustache b/modules/openapi-generator/src/main/resources/swift5/libraries/alamofire/AlamofireImplementations.mustache index b716d254fa..00cd597670 100644 --- a/modules/openapi-generator/src/main/resources/swift5/libraries/alamofire/AlamofireImplementations.mustache +++ b/modules/openapi-generator/src/main/resources/swift5/libraries/alamofire/AlamofireImplementations.mustache @@ -347,13 +347,17 @@ private var managerStore = SynchronizedDictionary() return } - guard let data = dataResponse.data, !data.isEmpty else { - completion(.failure(ErrorResponse.error(-1, nil, dataResponse.response, DecodableRequestBuilderError.emptyDataResponse))) + guard let httpResponse = dataResponse.response else { + completion(.failure(ErrorResponse.error(-2, nil, dataResponse.response, DecodableRequestBuilderError.nilHTTPResponse))) return } - guard let httpResponse = dataResponse.response else { - completion(.failure(ErrorResponse.error(-2, nil, dataResponse.response, DecodableRequestBuilderError.nilHTTPResponse))) + guard let data = dataResponse.data, !data.isEmpty else { + if T.self is ExpressibleByNilLiteral.Type { + completion(.success(Response(response: httpResponse, body: Optional.none as! T))) + } else { + completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, httpResponse, DecodableRequestBuilderError.emptyDataResponse))) + } return } diff --git a/modules/openapi-generator/src/main/resources/swift5/libraries/urlsession/URLSessionImplementations.mustache b/modules/openapi-generator/src/main/resources/swift5/libraries/urlsession/URLSessionImplementations.mustache index ab55655f3b..3734bf5e43 100644 --- a/modules/openapi-generator/src/main/resources/swift5/libraries/urlsession/URLSessionImplementations.mustache +++ b/modules/openapi-generator/src/main/resources/swift5/libraries/urlsession/URLSessionImplementations.mustache @@ -353,7 +353,11 @@ private var credentialStore = SynchronizedDictionary() default: guard let data = data, !data.isEmpty else { - completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + if T.self is ExpressibleByNilLiteral.Type { + completion(.success(Response(response: httpResponse, body: Optional.none as! T))) + } else { + completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + } return } diff --git a/samples/client/petstore/swift5/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/AlamofireImplementations.swift b/samples/client/petstore/swift5/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/AlamofireImplementations.swift index 69945cad3f..3b9580adfb 100644 --- a/samples/client/petstore/swift5/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/AlamofireImplementations.swift +++ b/samples/client/petstore/swift5/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/AlamofireImplementations.swift @@ -347,13 +347,17 @@ open class AlamofireDecodableRequestBuilder: AlamofireRequestBuild return } - guard let data = dataResponse.data, !data.isEmpty else { - completion(.failure(ErrorResponse.error(-1, nil, dataResponse.response, DecodableRequestBuilderError.emptyDataResponse))) + guard let httpResponse = dataResponse.response else { + completion(.failure(ErrorResponse.error(-2, nil, dataResponse.response, DecodableRequestBuilderError.nilHTTPResponse))) return } - guard let httpResponse = dataResponse.response else { - completion(.failure(ErrorResponse.error(-2, nil, dataResponse.response, DecodableRequestBuilderError.nilHTTPResponse))) + guard let data = dataResponse.data, !data.isEmpty else { + if T.self is ExpressibleByNilLiteral.Type { + completion(.success(Response(response: httpResponse, body: Optional.none as! T))) + } else { + completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, httpResponse, DecodableRequestBuilderError.emptyDataResponse))) + } return } diff --git a/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index 1d5288a137..a12e0bb402 100644 --- a/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -353,7 +353,11 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui default: guard let data = data, !data.isEmpty else { - completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + if T.self is ExpressibleByNilLiteral.Type { + completion(.success(Response(response: httpResponse, body: Optional.none as! T))) + } else { + completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + } return } diff --git a/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index 1d5288a137..a12e0bb402 100644 --- a/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -353,7 +353,11 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui default: guard let data = data, !data.isEmpty else { - completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + if T.self is ExpressibleByNilLiteral.Type { + completion(.success(Response(response: httpResponse, body: Optional.none as! T))) + } else { + completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + } return } diff --git a/samples/client/petstore/swift5/default/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift5/default/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index 1d5288a137..a12e0bb402 100644 --- a/samples/client/petstore/swift5/default/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift5/default/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -353,7 +353,11 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui default: guard let data = data, !data.isEmpty else { - completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + if T.self is ExpressibleByNilLiteral.Type { + completion(.success(Response(response: httpResponse, body: Optional.none as! T))) + } else { + completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + } return } diff --git a/samples/client/petstore/swift5/deprecated/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift5/deprecated/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index 1d5288a137..a12e0bb402 100644 --- a/samples/client/petstore/swift5/deprecated/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift5/deprecated/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -353,7 +353,11 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui default: guard let data = data, !data.isEmpty else { - completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + if T.self is ExpressibleByNilLiteral.Type { + completion(.success(Response(response: httpResponse, body: Optional.none as! T))) + } else { + completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + } return } diff --git a/samples/client/petstore/swift5/frozenEnums/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift5/frozenEnums/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index 1d5288a137..a12e0bb402 100644 --- a/samples/client/petstore/swift5/frozenEnums/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift5/frozenEnums/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -353,7 +353,11 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui default: guard let data = data, !data.isEmpty else { - completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + if T.self is ExpressibleByNilLiteral.Type { + completion(.success(Response(response: httpResponse, body: Optional.none as! T))) + } else { + completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + } return } diff --git a/samples/client/petstore/swift5/nonPublicApi/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift5/nonPublicApi/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index 6195dbe996..2502c1043e 100644 --- a/samples/client/petstore/swift5/nonPublicApi/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift5/nonPublicApi/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -353,7 +353,11 @@ internal class URLSessionDecodableRequestBuilder: URLSessionReques default: guard let data = data, !data.isEmpty else { - completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + if T.self is ExpressibleByNilLiteral.Type { + completion(.success(Response(response: httpResponse, body: Optional.none as! T))) + } else { + completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + } return } diff --git a/samples/client/petstore/swift5/objcCompatible/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift5/objcCompatible/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index 1d5288a137..a12e0bb402 100644 --- a/samples/client/petstore/swift5/objcCompatible/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift5/objcCompatible/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -353,7 +353,11 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui default: guard let data = data, !data.isEmpty else { - completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + if T.self is ExpressibleByNilLiteral.Type { + completion(.success(Response(response: httpResponse, body: Optional.none as! T))) + } else { + completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + } return } diff --git a/samples/client/petstore/swift5/oneOf/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift5/oneOf/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index 1d5288a137..a12e0bb402 100644 --- a/samples/client/petstore/swift5/oneOf/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift5/oneOf/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -353,7 +353,11 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui default: guard let data = data, !data.isEmpty else { - completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + if T.self is ExpressibleByNilLiteral.Type { + completion(.success(Response(response: httpResponse, body: Optional.none as! T))) + } else { + completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + } return } diff --git a/samples/client/petstore/swift5/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift5/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index 1d5288a137..a12e0bb402 100644 --- a/samples/client/petstore/swift5/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift5/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -353,7 +353,11 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui default: guard let data = data, !data.isEmpty else { - completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + if T.self is ExpressibleByNilLiteral.Type { + completion(.success(Response(response: httpResponse, body: Optional.none as! T))) + } else { + completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + } return } diff --git a/samples/client/petstore/swift5/readonlyProperties/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift5/readonlyProperties/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index 1d5288a137..a12e0bb402 100644 --- a/samples/client/petstore/swift5/readonlyProperties/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift5/readonlyProperties/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -353,7 +353,11 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui default: guard let data = data, !data.isEmpty else { - completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + if T.self is ExpressibleByNilLiteral.Type { + completion(.success(Response(response: httpResponse, body: Optional.none as! T))) + } else { + completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + } return } diff --git a/samples/client/petstore/swift5/resultLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift5/resultLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index 1d5288a137..a12e0bb402 100644 --- a/samples/client/petstore/swift5/resultLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift5/resultLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -353,7 +353,11 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui default: guard let data = data, !data.isEmpty else { - completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + if T.self is ExpressibleByNilLiteral.Type { + completion(.success(Response(response: httpResponse, body: Optional.none as! T))) + } else { + completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + } return } diff --git a/samples/client/petstore/swift5/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift5/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index 1d5288a137..a12e0bb402 100644 --- a/samples/client/petstore/swift5/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift5/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -353,7 +353,11 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui default: guard let data = data, !data.isEmpty else { - completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + if T.self is ExpressibleByNilLiteral.Type { + completion(.success(Response(response: httpResponse, body: Optional.none as! T))) + } else { + completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + } return } diff --git a/samples/client/petstore/swift5/urlsessionLibrary/Sources/PetstoreClient/URLSessionImplementations.swift b/samples/client/petstore/swift5/urlsessionLibrary/Sources/PetstoreClient/URLSessionImplementations.swift index 1d5288a137..a12e0bb402 100644 --- a/samples/client/petstore/swift5/urlsessionLibrary/Sources/PetstoreClient/URLSessionImplementations.swift +++ b/samples/client/petstore/swift5/urlsessionLibrary/Sources/PetstoreClient/URLSessionImplementations.swift @@ -353,7 +353,11 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui default: guard let data = data, !data.isEmpty else { - completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + if T.self is ExpressibleByNilLiteral.Type { + completion(.success(Response(response: httpResponse, body: Optional.none as! T))) + } else { + completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + } return } diff --git a/samples/client/petstore/swift5/x-swift-hashable/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift b/samples/client/petstore/swift5/x-swift-hashable/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift index 1d5288a137..a12e0bb402 100644 --- a/samples/client/petstore/swift5/x-swift-hashable/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift +++ b/samples/client/petstore/swift5/x-swift-hashable/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift @@ -353,7 +353,11 @@ open class URLSessionDecodableRequestBuilder: URLSessionRequestBui default: guard let data = data, !data.isEmpty else { - completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + if T.self is ExpressibleByNilLiteral.Type { + completion(.success(Response(response: httpResponse, body: Optional.none as! T))) + } else { + completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, response, DecodableRequestBuilderError.emptyDataResponse))) + } return } From c4db27f24dabc5e2e98cf977ad83d3a96ff591c2 Mon Sep 17 00:00:00 2001 From: 0x7162 Date: Sun, 5 Jun 2022 20:30:31 -0700 Subject: [PATCH 047/212] Fixes #9923 - added recursion for nested objects (#12428) --- .../src/main/resources/htmlDocs2/index.mustache | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/openapi-generator/src/main/resources/htmlDocs2/index.mustache b/modules/openapi-generator/src/main/resources/htmlDocs2/index.mustache index ff06be66f3..0c9f5e7436 100644 --- a/modules/openapi-generator/src/main/resources/htmlDocs2/index.mustache +++ b/modules/openapi-generator/src/main/resources/htmlDocs2/index.mustache @@ -452,6 +452,10 @@ } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { From 0296380f00608cd96fec5f84d0ded72c973344ee Mon Sep 17 00:00:00 2001 From: William Cheng Date: Mon, 6 Jun 2022 11:36:15 +0800 Subject: [PATCH 048/212] update html2 samples --- .../html2/.openapi-generator/VERSION | 2 +- samples/documentation/html2/index.html | 44 +++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/samples/documentation/html2/.openapi-generator/VERSION b/samples/documentation/html2/.openapi-generator/VERSION index 4b448de535..89648de331 100644 --- a/samples/documentation/html2/.openapi-generator/VERSION +++ b/samples/documentation/html2/.openapi-generator/VERSION @@ -1 +1 @@ -5.3.0-SNAPSHOT \ No newline at end of file +6.0.1-SNAPSHOT \ No newline at end of file diff --git a/samples/documentation/html2/index.html b/samples/documentation/html2/index.html index cce1eb7dd3..99b899be5f 100644 --- a/samples/documentation/html2/index.html +++ b/samples/documentation/html2/index.html @@ -1531,6 +1531,10 @@ $(document).ready(function() { } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -2298,6 +2302,10 @@ Status values that need to be considered for filter } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -2703,6 +2711,10 @@ Tags to filter by } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -3114,6 +3126,10 @@ ID of pet to return } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -3590,6 +3606,10 @@ $(document).ready(function() { } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -4505,6 +4525,10 @@ file to upload } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -5162,6 +5186,10 @@ pub fn main() { } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -5511,6 +5539,10 @@ ID of pet that needs to be fetched } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -5927,6 +5959,10 @@ $(document).ready(function() { } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -7718,6 +7754,10 @@ The name that needs to be fetched. Use user1 for testing. } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -8173,6 +8213,10 @@ The password for login in clear text } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { From c829567f75d40af55e75ed2f852184dc49fb11ae Mon Sep 17 00:00:00 2001 From: William Cheng Date: Mon, 6 Jun 2022 11:40:59 +0800 Subject: [PATCH 049/212] add a link to blog post on api first --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9cbfe531c9..f7c56d5f4f 100644 --- a/README.md +++ b/README.md @@ -868,6 +868,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in - 2022-04-01 - [OpenAPI Generatorのコード生成とSpring Frameworkのカスタムデータバインディングを共存させる](https://techblog.zozo.com/entry/coexistence-of-openapi-and-spring) in [ZOZO Tech Blog](https://techblog.zozo.com/) - 2022-04-06 - [Effective Software Development using OpenAPI Generator](https://apexlabs.ai/post/openapi-generator) by Ajil Oommen (Senior Flutter Developer) - 2022-05-13 - [A Path From an API To Client Libraries](https://www.youtube.com/watch?v=XC8oVn_efTw) by [Filip Srnec](https://www.devoxx.co.uk/talk/?id=11211) at Infobip +- 2022-06-01 - [API First, using OpenAPI and Spring Boot](https://medium.com/xgeeks/api-first-using-openapi-and-spring-boot-2602c04bb0d3) by [Micael Estrázulas Vianna](https://estrazulas.medium.com/) ## [6 - About Us](#table-of-contents) From 2c3983535382c468fec55b6146a280c659db3b8a Mon Sep 17 00:00:00 2001 From: Daniel Karso Date: Mon, 6 Jun 2022 05:48:13 +0200 Subject: [PATCH 050/212] [PHP] Replace @ character so we can use Hydra Jsonld models. (#12171) * Replace @ character so we can use Hydra Jsonld models. This fixes duplicate @id id properties in models. * Invalid test method * Fix tests * Fix tests 2 Co-authored-by: Daniel Karso --- .../codegen/languages/AbstractPhpCodegen.java | 4 + .../codegen/php/PhpModelTest.java | 75 +++++++++++++++++++ 2 files changed, 79 insertions(+) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java index eb081db644..3c8dec1339 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java @@ -401,6 +401,10 @@ public abstract class AbstractPhpCodegen extends DefaultCodegen implements Codeg @Override public String toVarName(String name) { + // translate @ for properties (like @type) to at_. + // Otherwise an additional "type" property will leed to duplcates + name = name.replaceAll("^@", "at_"); + // sanitize name name = sanitizeName(name); // FIXME: a parameter should not be assigned. Also declare the methods parameters as 'final'. diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/php/PhpModelTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/php/PhpModelTest.java index db989db8dc..39b3bb7870 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/php/PhpModelTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/php/PhpModelTest.java @@ -383,4 +383,79 @@ public class PhpModelTest { Assert.assertEquals(op.returnType, "\\DateTime"); Assert.assertEquals(op.bodyParam.dataType, "\\DateTime"); } + + @Test(description = "test @ character replacements used in Hydra") + public void hydraModelTest() { + final Schema model = new Schema() + .description("a hydra model") + .addProperties("id", new IntegerSchema()) + .addProperties("@id", new StringSchema()) + .addProperties("type", new StringSchema()) + .addProperties("@type", new StringSchema()) + .addProperties("context", new StringSchema()) + .addProperties("@context", new StringSchema()) + .addRequiredItem("id"); + final DefaultCodegen codegen = new PhpClientCodegen(); + OpenAPI openAPI = TestUtils.createOpenAPIWithOneSchema("sample", model); + codegen.setOpenAPI(openAPI); + final CodegenModel cm = codegen.fromModel("sample", model); + + Assert.assertEquals(cm.vars.size(), 6); + + + final CodegenProperty property1 = cm.vars.get(0); + Assert.assertEquals(property1.baseName, "id"); + Assert.assertEquals(property1.dataType, "int"); + Assert.assertEquals(property1.name, "id"); + Assert.assertEquals(property1.defaultValue, null); + Assert.assertEquals(property1.baseType, "int"); + Assert.assertTrue(property1.required); + Assert.assertTrue(property1.isPrimitiveType); + Assert.assertFalse(property1.isContainer); + + final CodegenProperty property2 = cm.vars.get(1); + Assert.assertEquals(property2.baseName, "@id"); + Assert.assertEquals(property2.dataType, "string"); + Assert.assertEquals(property2.name, "at_id"); + Assert.assertEquals(property2.defaultValue, null); + Assert.assertEquals(property2.baseType, "string"); + Assert.assertTrue(property2.isPrimitiveType); + Assert.assertFalse(property2.isContainer); + + final CodegenProperty property3 = cm.vars.get(2); + Assert.assertEquals(property3.baseName, "type"); + Assert.assertEquals(property3.dataType, "string"); + Assert.assertEquals(property3.name, "type"); + Assert.assertEquals(property3.defaultValue, null); + Assert.assertEquals(property3.baseType, "string"); + Assert.assertTrue(property3.isPrimitiveType); + Assert.assertFalse(property3.isContainer); + + final CodegenProperty property4 = cm.vars.get(3); + Assert.assertEquals(property4.baseName, "@type"); + Assert.assertEquals(property4.dataType, "string"); + Assert.assertEquals(property4.name, "at_type"); + Assert.assertEquals(property4.defaultValue, null); + Assert.assertEquals(property4.baseType, "string"); + Assert.assertTrue(property4.isPrimitiveType); + Assert.assertFalse(property4.isContainer); + + final CodegenProperty property5 = cm.vars.get(4); + Assert.assertEquals(property5.baseName, "context"); + Assert.assertEquals(property5.dataType, "string"); + Assert.assertEquals(property5.name, "context"); + Assert.assertEquals(property5.defaultValue, null); + Assert.assertEquals(property5.baseType, "string"); + Assert.assertTrue(property5.isPrimitiveType); + Assert.assertFalse(property5.isContainer); + + final CodegenProperty property6 = cm.vars.get(5); + Assert.assertEquals(property6.baseName, "@context"); + Assert.assertEquals(property6.dataType, "string"); + Assert.assertEquals(property6.name, "at_context"); + Assert.assertEquals(property6.defaultValue, null); + Assert.assertEquals(property6.baseType, "string"); + Assert.assertTrue(property6.isPrimitiveType); + Assert.assertFalse(property6.isContainer); + } } From daa95decda921c4462758f04c390fc483eaa1850 Mon Sep 17 00:00:00 2001 From: JGRsystematic <106659719+JGRsystematic@users.noreply.github.com> Date: Mon, 6 Jun 2022 06:01:37 +0200 Subject: [PATCH 051/212] Use Arrays.equals and Arrays.hashCode by built-in array types (#12502) --- .../codegen/languages/JavaJAXRSSpecServerCodegen.java | 10 ++++++++++ .../src/main/resources/JavaJaxRS/spec/pojo.mustache | 4 ++-- .../gen/java/org/openapitools/model/FormatTest.java | 5 +++-- .../gen/java/org/openapitools/model/FormatTest.java | 5 +++-- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJAXRSSpecServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJAXRSSpecServerCodegen.java index 71c1e8becd..c46996afdd 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJAXRSSpecServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJAXRSSpecServerCodegen.java @@ -270,4 +270,14 @@ public class JavaJAXRSSpecServerCodegen extends AbstractJavaJAXRSServerCodegen { return "Generates a Java JAXRS Server according to JAXRS 2.0 specification."; } + @Override + public void postProcessModelProperty(CodegenModel model, CodegenProperty property) { + super.postProcessModelProperty(model, property); + + // Add imports for java.util.Arrays + if (property.isByteArray) { + model.imports.add("Arrays"); + } + } + } diff --git a/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/pojo.mustache b/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/pojo.mustache index 6c5df9d7ca..f83dd80a62 100644 --- a/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/pojo.mustache +++ b/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/pojo.mustache @@ -110,7 +110,7 @@ public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#vendorExtens return false; }{{#hasVars}} {{classname}} {{classVarName}} = ({{classname}}) o; - return {{#vars}}Objects.equals(this.{{name}}, {{classVarName}}.{{name}}){{^-last}} && + return {{#vars}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{name}}, {{classVarName}}.{{name}}){{^-last}} && {{/-last}}{{/vars}}{{#parent}} && super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}} return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/hasVars}} @@ -118,7 +118,7 @@ public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#vendorExtens @Override public int hashCode() { - return Objects.hash({{#vars}}{{name}}{{^-last}}, {{/-last}}{{/vars}}{{#parent}}{{#hasVars}}, {{/hasVars}}super.hashCode(){{/parent}}); + return Objects.hash({{#vars}}{{^isByteArray}}{{name}}{{/isByteArray}}{{#isByteArray}}Arrays.hashCode({{name}}){{/isByteArray}}{{^-last}}, {{/-last}}{{/vars}}{{#parent}}{{#hasVars}}, {{/hasVars}}super.hashCode(){{/parent}}); } @Override diff --git a/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/FormatTest.java b/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/FormatTest.java index 348d1157d0..82d76ba209 100644 --- a/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/FormatTest.java +++ b/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/FormatTest.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.File; import java.math.BigDecimal; +import java.util.Arrays; import java.util.Date; import java.util.UUID; import org.joda.time.LocalDate; @@ -337,7 +338,7 @@ public class FormatTest implements Serializable { Objects.equals(this._float, formatTest._float) && Objects.equals(this._double, formatTest._double) && Objects.equals(this.string, formatTest.string) && - Objects.equals(this._byte, formatTest._byte) && + Arrays.equals(this._byte, formatTest._byte) && Objects.equals(this.binary, formatTest.binary) && Objects.equals(this.date, formatTest.date) && Objects.equals(this.dateTime, formatTest.dateTime) && @@ -348,7 +349,7 @@ public class FormatTest implements Serializable { @Override public int hashCode() { - return Objects.hash(integer, int32, int64, number, _float, _double, string, _byte, binary, date, dateTime, uuid, password, bigDecimal); + return Objects.hash(integer, int32, int64, number, _float, _double, string, Arrays.hashCode(_byte), binary, date, dateTime, uuid, password, bigDecimal); } @Override diff --git a/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/FormatTest.java b/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/FormatTest.java index 0f77b65625..c99d0cbba8 100644 --- a/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/FormatTest.java +++ b/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/FormatTest.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.File; import java.math.BigDecimal; +import java.util.Arrays; import java.util.Date; import java.util.UUID; import org.joda.time.LocalDate; @@ -343,7 +344,7 @@ public class FormatTest implements Serializable { Objects.equals(this._float, formatTest._float) && Objects.equals(this._double, formatTest._double) && Objects.equals(this.string, formatTest.string) && - Objects.equals(this._byte, formatTest._byte) && + Arrays.equals(this._byte, formatTest._byte) && Objects.equals(this.binary, formatTest.binary) && Objects.equals(this.date, formatTest.date) && Objects.equals(this.dateTime, formatTest.dateTime) && @@ -354,7 +355,7 @@ public class FormatTest implements Serializable { @Override public int hashCode() { - return Objects.hash(integer, int32, int64, number, _float, _double, string, _byte, binary, date, dateTime, uuid, password, bigDecimal); + return Objects.hash(integer, int32, int64, number, _float, _double, string, Arrays.hashCode(_byte), binary, date, dateTime, uuid, password, bigDecimal); } @Override From 5bd36949270311d3b17942baadb400ce6bfaad90 Mon Sep 17 00:00:00 2001 From: Ion Bazan Date: Mon, 6 Jun 2022 12:08:46 +0800 Subject: [PATCH 052/212] fix @implements annotations in PHP client (#11908) --- .../openapi-generator/src/main/resources/php/model.mustache | 4 +--- .../OpenAPIClient-php/lib/Model/AdditionalPropertiesClass.php | 4 +--- .../petstore/php/OpenAPIClient-php/lib/Model/Animal.php | 4 +--- .../petstore/php/OpenAPIClient-php/lib/Model/ApiResponse.php | 4 +--- .../OpenAPIClient-php/lib/Model/ArrayOfArrayOfNumberOnly.php | 4 +--- .../php/OpenAPIClient-php/lib/Model/ArrayOfNumberOnly.php | 4 +--- .../petstore/php/OpenAPIClient-php/lib/Model/ArrayTest.php | 4 +--- .../php/OpenAPIClient-php/lib/Model/Capitalization.php | 4 +--- .../client/petstore/php/OpenAPIClient-php/lib/Model/Cat.php | 4 +--- .../petstore/php/OpenAPIClient-php/lib/Model/CatAllOf.php | 4 +--- .../petstore/php/OpenAPIClient-php/lib/Model/Category.php | 4 +--- .../petstore/php/OpenAPIClient-php/lib/Model/ClassModel.php | 4 +--- .../petstore/php/OpenAPIClient-php/lib/Model/Client.php | 4 +--- .../php/OpenAPIClient-php/lib/Model/DeprecatedObject.php | 4 +--- .../client/petstore/php/OpenAPIClient-php/lib/Model/Dog.php | 4 +--- .../petstore/php/OpenAPIClient-php/lib/Model/DogAllOf.php | 4 +--- .../petstore/php/OpenAPIClient-php/lib/Model/EnumArrays.php | 4 +--- .../petstore/php/OpenAPIClient-php/lib/Model/EnumTest.php | 4 +--- .../client/petstore/php/OpenAPIClient-php/lib/Model/File.php | 4 +--- .../php/OpenAPIClient-php/lib/Model/FileSchemaTestClass.php | 4 +--- .../client/petstore/php/OpenAPIClient-php/lib/Model/Foo.php | 4 +--- .../petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php | 4 +--- .../php/OpenAPIClient-php/lib/Model/HasOnlyReadOnly.php | 4 +--- .../php/OpenAPIClient-php/lib/Model/HealthCheckResult.php | 4 +--- .../php/OpenAPIClient-php/lib/Model/InlineResponseDefault.php | 4 +--- .../petstore/php/OpenAPIClient-php/lib/Model/MapTest.php | 4 +--- .../lib/Model/MixedPropertiesAndAdditionalPropertiesClass.php | 4 +--- .../php/OpenAPIClient-php/lib/Model/Model200Response.php | 4 +--- .../petstore/php/OpenAPIClient-php/lib/Model/ModelList.php | 4 +--- .../petstore/php/OpenAPIClient-php/lib/Model/ModelReturn.php | 4 +--- .../client/petstore/php/OpenAPIClient-php/lib/Model/Name.php | 4 +--- .../php/OpenAPIClient-php/lib/Model/NullableClass.php | 4 +--- .../petstore/php/OpenAPIClient-php/lib/Model/NumberOnly.php | 4 +--- .../lib/Model/ObjectWithDeprecatedFields.php | 4 +--- .../client/petstore/php/OpenAPIClient-php/lib/Model/Order.php | 4 +--- .../php/OpenAPIClient-php/lib/Model/OuterComposite.php | 4 +--- .../lib/Model/OuterObjectWithEnumProperty.php | 4 +--- .../client/petstore/php/OpenAPIClient-php/lib/Model/Pet.php | 4 +--- .../php/OpenAPIClient-php/lib/Model/ReadOnlyFirst.php | 4 +--- .../php/OpenAPIClient-php/lib/Model/SpecialModelName.php | 4 +--- .../client/petstore/php/OpenAPIClient-php/lib/Model/Tag.php | 4 +--- .../client/petstore/php/OpenAPIClient-php/lib/Model/User.php | 4 +--- 42 files changed, 42 insertions(+), 126 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/php/model.mustache b/modules/openapi-generator/src/main/resources/php/model.mustache index bee3f85d90..fe57ed7e53 100644 --- a/modules/openapi-generator/src/main/resources/php/model.mustache +++ b/modules/openapi-generator/src/main/resources/php/model.mustache @@ -39,9 +39,7 @@ use \{{invokerPackage}}\ObjectSerializer; * @author OpenAPI Generator team * @link https://openapi-generator.tech {{^isEnum}} - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess {{/isEnum}} */ {{#isEnum}}{{>model_enum}}{{/isEnum}}{{^isEnum}}{{>model_generic}}{{/isEnum}} diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AdditionalPropertiesClass.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AdditionalPropertiesClass.php index b443dcc1af..72836e1549 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AdditionalPropertiesClass.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AdditionalPropertiesClass.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class AdditionalPropertiesClass implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Animal.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Animal.php index 06412398a1..4283265d8a 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Animal.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Animal.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class Animal implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ApiResponse.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ApiResponse.php index 22e0237d44..a54748d89c 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ApiResponse.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ApiResponse.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class ApiResponse implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfArrayOfNumberOnly.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfArrayOfNumberOnly.php index f7843dc58d..d58969a67f 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfArrayOfNumberOnly.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfArrayOfNumberOnly.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class ArrayOfArrayOfNumberOnly implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfNumberOnly.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfNumberOnly.php index fec0fb27ad..27312a638e 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfNumberOnly.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfNumberOnly.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class ArrayOfNumberOnly implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayTest.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayTest.php index 5dc94f092b..a592d10095 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayTest.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayTest.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class ArrayTest implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Capitalization.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Capitalization.php index 09120da3ef..afb7471383 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Capitalization.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Capitalization.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class Capitalization implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Cat.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Cat.php index 5fd1f1578f..0f070cf11d 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Cat.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Cat.php @@ -36,9 +36,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class Cat extends Animal { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/CatAllOf.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/CatAllOf.php index f8fb64b7dc..90426fb218 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/CatAllOf.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/CatAllOf.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class CatAllOf implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Category.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Category.php index c3e347b163..cac2e05465 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Category.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Category.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class Category implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ClassModel.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ClassModel.php index c05e88b96e..a7bfa64f3a 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ClassModel.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ClassModel.php @@ -39,9 +39,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class ClassModel implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Client.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Client.php index 255fff3e79..a9edce765d 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Client.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Client.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class Client implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DeprecatedObject.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DeprecatedObject.php index d756876305..032f98e898 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DeprecatedObject.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DeprecatedObject.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class DeprecatedObject implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Dog.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Dog.php index 06bad4f815..b74513b4e3 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Dog.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Dog.php @@ -36,9 +36,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class Dog extends Animal { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DogAllOf.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DogAllOf.php index df6c30358a..e9f9cd06fd 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DogAllOf.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DogAllOf.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class DogAllOf implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumArrays.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumArrays.php index b15be5d937..3d57e5dc76 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumArrays.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumArrays.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class EnumArrays implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumTest.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumTest.php index 24dbd28aba..c2421e83dc 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumTest.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumTest.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class EnumTest implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/File.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/File.php index 0693e9315f..3564426185 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/File.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/File.php @@ -39,9 +39,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class File implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FileSchemaTestClass.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FileSchemaTestClass.php index 7ffffb2398..ef2b5a1fa5 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FileSchemaTestClass.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FileSchemaTestClass.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class FileSchemaTestClass implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Foo.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Foo.php index d243f958fc..3d716640fa 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Foo.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Foo.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class Foo implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php index aa7e4b759f..b9a52ce254 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HasOnlyReadOnly.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HasOnlyReadOnly.php index 24c760a9a7..a8c5a90b02 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HasOnlyReadOnly.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HasOnlyReadOnly.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class HasOnlyReadOnly implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HealthCheckResult.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HealthCheckResult.php index 6029283aef..c11d09c012 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HealthCheckResult.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HealthCheckResult.php @@ -39,9 +39,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class HealthCheckResult implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/InlineResponseDefault.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/InlineResponseDefault.php index 7370e252c8..cdc77c805e 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/InlineResponseDefault.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/InlineResponseDefault.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class InlineResponseDefault implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MapTest.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MapTest.php index ed000e1d08..93e1f67e1b 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MapTest.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MapTest.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class MapTest implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MixedPropertiesAndAdditionalPropertiesClass.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MixedPropertiesAndAdditionalPropertiesClass.php index 104ef80d4a..3d5b1a4de4 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MixedPropertiesAndAdditionalPropertiesClass.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MixedPropertiesAndAdditionalPropertiesClass.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class MixedPropertiesAndAdditionalPropertiesClass implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Model200Response.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Model200Response.php index d279c2cbd9..9785d16677 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Model200Response.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Model200Response.php @@ -39,9 +39,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class Model200Response implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelList.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelList.php index 0c9a61dc98..d302c7bcee 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelList.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelList.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class ModelList implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelReturn.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelReturn.php index 6e5a2ebf08..86e39e74e5 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelReturn.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelReturn.php @@ -39,9 +39,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class ModelReturn implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Name.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Name.php index 0d13fa72e2..8bfb529aec 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Name.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Name.php @@ -39,9 +39,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class Name implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NullableClass.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NullableClass.php index db6b898365..4a95074f76 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NullableClass.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NullableClass.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class NullableClass implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NumberOnly.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NumberOnly.php index 423dbb09da..20515342ad 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NumberOnly.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NumberOnly.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class NumberOnly implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ObjectWithDeprecatedFields.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ObjectWithDeprecatedFields.php index 40bab50a6f..72f3943790 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ObjectWithDeprecatedFields.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ObjectWithDeprecatedFields.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class ObjectWithDeprecatedFields implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Order.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Order.php index 939fa3f957..a6225ab391 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Order.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Order.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class Order implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterComposite.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterComposite.php index 3e4cdac73a..507bda5e12 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterComposite.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterComposite.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class OuterComposite implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterObjectWithEnumProperty.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterObjectWithEnumProperty.php index aa9d329228..d8250a7464 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterObjectWithEnumProperty.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterObjectWithEnumProperty.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class OuterObjectWithEnumProperty implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Pet.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Pet.php index 5de61eec2f..f347464549 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Pet.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Pet.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class Pet implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ReadOnlyFirst.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ReadOnlyFirst.php index f629aa0022..b30ecd15b2 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ReadOnlyFirst.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ReadOnlyFirst.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class ReadOnlyFirst implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SpecialModelName.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SpecialModelName.php index 4c7d661a26..fe4b8bb878 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SpecialModelName.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SpecialModelName.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class SpecialModelName implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Tag.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Tag.php index 8ac2a459d3..965d117373 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Tag.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Tag.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class Tag implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/User.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/User.php index 8d6e22f9b2..a65976119c 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/User.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/User.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class User implements ModelInterface, ArrayAccess, \JsonSerializable { From 051ed53ed0f379f6eb142eb537053e91b69bbe20 Mon Sep 17 00:00:00 2001 From: Vladimir Danilov Date: Mon, 6 Jun 2022 10:10:51 +0600 Subject: [PATCH 053/212] Update spring generator documentation (#12298) Clarify inverted skipDefaultInterface configuration description --- docs/generators/spring.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/generators/spring.md b/docs/generators/spring.md index 12793618f7..4abe744083 100644 --- a/docs/generators/spring.md +++ b/docs/generators/spring.md @@ -73,7 +73,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl |scmUrl|SCM URL in generated pom.xml| |https://github.com/openapitools/openapi-generator| |serializableModel|boolean - toggle "implements Serializable" for generated models| |false| |singleContentTypes|Whether to select only one produces/consumes content-type by operation.| |false| -|skipDefaultInterface|Whether to generate default implementations for java8 interfaces| |false| +|skipDefaultInterface|Whether to skip generation of default implementations for java8 interfaces| |false| |snapshotVersion|Uses a SNAPSHOT version.|
**true**
Use a SnapShot Version
**false**
Use a Release Version
|null| |sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true| |sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true| From 8f3dd48772e3459b05a0406583a000cd3d1ebee0 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Mon, 6 Jun 2022 12:20:21 +0800 Subject: [PATCH 054/212] update samples, docs --- docs/generators/java-camel.md | 2 +- .../org/openapitools/codegen/languages/SpringCodegen.java | 2 +- .../php/OpenAPIClient-php/lib/Model/AllOfWithSingleRef.php | 4 +--- .../php/OpenAPIClient-php/lib/Model/FooGetDefaultResponse.php | 4 +--- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/docs/generators/java-camel.md b/docs/generators/java-camel.md index 3358089706..e8f88e8269 100644 --- a/docs/generators/java-camel.md +++ b/docs/generators/java-camel.md @@ -80,7 +80,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl |scmUrl|SCM URL in generated pom.xml| |https://github.com/openapitools/openapi-generator| |serializableModel|boolean - toggle "implements Serializable" for generated models| |false| |singleContentTypes|Whether to select only one produces/consumes content-type by operation.| |false| -|skipDefaultInterface|Whether to generate default implementations for java8 interfaces| |false| +|skipDefaultInterface|Whether to skip generation of default implementations for java8 interfaces| |false| |snapshotVersion|Uses a SNAPSHOT version.|
**true**
Use a SnapShot Version
**false**
Use a Release Version
|null| |sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true| |sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true| diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java index 5b085dbe55..cfd0f1c1bc 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java @@ -178,7 +178,7 @@ public class SpringCodegen extends AbstractJavaCodegen cliOptions.add(CliOption.newBoolean(SINGLE_CONTENT_TYPES, "Whether to select only one produces/consumes content-type by operation.", singleContentTypes)); cliOptions.add(CliOption.newBoolean(SKIP_DEFAULT_INTERFACE, - "Whether to generate default implementations for java8 interfaces", skipDefaultInterface)); + "Whether to skip generation of default implementations for java8 interfaces", skipDefaultInterface)); cliOptions.add(CliOption.newBoolean(ASYNC, "use async Callable controllers", async)); cliOptions.add(CliOption.newBoolean(REACTIVE, "wrap responses in Mono/Flux Reactor types (spring-boot only)", reactive)); diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AllOfWithSingleRef.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AllOfWithSingleRef.php index 10fb322ed3..24617f9e87 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AllOfWithSingleRef.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AllOfWithSingleRef.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class AllOfWithSingleRef implements ModelInterface, ArrayAccess, \JsonSerializable { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FooGetDefaultResponse.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FooGetDefaultResponse.php index e673f3130f..ac2ff8dad0 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FooGetDefaultResponse.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FooGetDefaultResponse.php @@ -38,9 +38,7 @@ use \OpenAPI\Client\ObjectSerializer; * @package OpenAPI\Client * @author OpenAPI Generator team * @link https://openapi-generator.tech - * @implements \ArrayAccess - * @template TKey int|null - * @template TValue mixed|null + * @implements \ArrayAccess */ class FooGetDefaultResponse implements ModelInterface, ArrayAccess, \JsonSerializable { From 3b587201cde291b3e931e789d6a8464c4acba7ef Mon Sep 17 00:00:00 2001 From: DevFlorian <40760073+DevFlorian@users.noreply.github.com> Date: Mon, 6 Jun 2022 09:16:48 +0200 Subject: [PATCH 055/212] [REQ] Add equals and hashcode to java-cxf pojo #12519 (#12520) Co-authored-by: FWermelskirchen --- .../resources/JavaJaxRS/cxf/pojo.mustache | 20 +++++++++ .../model/AdditionalPropertiesAnyType.java | 18 ++++++++ .../model/AdditionalPropertiesArray.java | 18 ++++++++ .../model/AdditionalPropertiesBoolean.java | 18 ++++++++ .../model/AdditionalPropertiesClass.java | 27 +++++++++++ .../model/AdditionalPropertiesInteger.java | 18 ++++++++ .../model/AdditionalPropertiesNumber.java | 18 ++++++++ .../model/AdditionalPropertiesObject.java | 18 ++++++++ .../model/AdditionalPropertiesString.java | 18 ++++++++ .../java/org/openapitools/model/Animal.java | 18 ++++++++ .../model/ArrayOfArrayOfNumberOnly.java | 17 +++++++ .../openapitools/model/ArrayOfNumberOnly.java | 17 +++++++ .../org/openapitools/model/ArrayTest.java | 19 ++++++++ .../java/org/openapitools/model/BigCat.java | 18 ++++++++ .../org/openapitools/model/BigCatAllOf.java | 17 +++++++ .../openapitools/model/Capitalization.java | 22 +++++++++ .../gen/java/org/openapitools/model/Cat.java | 18 ++++++++ .../java/org/openapitools/model/CatAllOf.java | 17 +++++++ .../java/org/openapitools/model/Category.java | 18 ++++++++ .../org/openapitools/model/ClassModel.java | 17 +++++++ .../java/org/openapitools/model/Client.java | 17 +++++++ .../gen/java/org/openapitools/model/Dog.java | 18 ++++++++ .../java/org/openapitools/model/DogAllOf.java | 17 +++++++ .../org/openapitools/model/EnumArrays.java | 18 ++++++++ .../java/org/openapitools/model/EnumTest.java | 21 +++++++++ .../model/FileSchemaTestClass.java | 18 ++++++++ .../org/openapitools/model/FormatTest.java | 30 +++++++++++++ .../openapitools/model/HasOnlyReadOnly.java | 18 ++++++++ .../java/org/openapitools/model/MapTest.java | 20 +++++++++ ...ropertiesAndAdditionalPropertiesClass.java | 19 ++++++++ .../openapitools/model/Model200Response.java | 18 ++++++++ .../openapitools/model/ModelApiResponse.java | 19 ++++++++ .../org/openapitools/model/ModelFile.java | 17 +++++++ .../org/openapitools/model/ModelList.java | 17 +++++++ .../org/openapitools/model/ModelReturn.java | 17 +++++++ .../gen/java/org/openapitools/model/Name.java | 20 +++++++++ .../org/openapitools/model/NumberOnly.java | 17 +++++++ .../java/org/openapitools/model/Order.java | 22 +++++++++ .../openapitools/model/OuterComposite.java | 19 ++++++++ .../gen/java/org/openapitools/model/Pet.java | 22 +++++++++ .../org/openapitools/model/ReadOnlyFirst.java | 18 ++++++++ .../openapitools/model/SpecialModelName.java | 17 +++++++ .../gen/java/org/openapitools/model/Tag.java | 18 ++++++++ .../openapitools/model/TypeHolderDefault.java | 21 +++++++++ .../openapitools/model/TypeHolderExample.java | 22 +++++++++ .../gen/java/org/openapitools/model/User.java | 24 ++++++++++ .../java/org/openapitools/model/XmlItem.java | 45 +++++++++++++++++++ 47 files changed, 920 insertions(+) diff --git a/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf/pojo.mustache b/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf/pojo.mustache index e102680721..3a6b7be082 100644 --- a/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf/pojo.mustache +++ b/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf/pojo.mustache @@ -186,6 +186,26 @@ public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}}{{#vendorExtensi {{/vars}} + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + {{classname}} {{classVarName}} = ({{classname}}) o;{{#hasVars}} + return {{#vars}}Objects.equals({{name}}, {{classVarName}}.{{name}}){{^-last}} && + {{/-last}}{{/vars}}{{#parent}} && + super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}} + return true;{{/hasVars}} + } + + @Override + public int hashCode() { + return Objects.hash({{#vars}}{{name}}{{^-last}}, {{/-last}}{{/vars}}{{#parent}}{{#hasVars}}, {{/hasVars}}super.hashCode(){{/parent}}); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesAnyType.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesAnyType.java index 426388c95c..dc7f24496c 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesAnyType.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesAnyType.java @@ -32,6 +32,24 @@ public class AdditionalPropertiesAnyType extends HashMap { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AdditionalPropertiesAnyType additionalPropertiesAnyType = (AdditionalPropertiesAnyType) o; + return Objects.equals(name, additionalPropertiesAnyType.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesArray.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesArray.java index 60e564fd9d..8825d2c782 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesArray.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesArray.java @@ -33,6 +33,24 @@ public class AdditionalPropertiesArray extends HashMap { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AdditionalPropertiesArray additionalPropertiesArray = (AdditionalPropertiesArray) o; + return Objects.equals(name, additionalPropertiesArray.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesBoolean.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesBoolean.java index 17047f7744..2dd653470c 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesBoolean.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesBoolean.java @@ -32,6 +32,24 @@ public class AdditionalPropertiesBoolean extends HashMap { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AdditionalPropertiesBoolean additionalPropertiesBoolean = (AdditionalPropertiesBoolean) o; + return Objects.equals(name, additionalPropertiesBoolean.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java index 8a40e2a85b..707e096dd0 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java @@ -289,6 +289,33 @@ public class AdditionalPropertiesClass { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AdditionalPropertiesClass additionalPropertiesClass = (AdditionalPropertiesClass) o; + return Objects.equals(mapString, additionalPropertiesClass.mapString) && + Objects.equals(mapNumber, additionalPropertiesClass.mapNumber) && + Objects.equals(mapInteger, additionalPropertiesClass.mapInteger) && + Objects.equals(mapBoolean, additionalPropertiesClass.mapBoolean) && + Objects.equals(mapArrayInteger, additionalPropertiesClass.mapArrayInteger) && + Objects.equals(mapArrayAnytype, additionalPropertiesClass.mapArrayAnytype) && + Objects.equals(mapMapString, additionalPropertiesClass.mapMapString) && + Objects.equals(mapMapAnytype, additionalPropertiesClass.mapMapAnytype) && + Objects.equals(anytype1, additionalPropertiesClass.anytype1) && + Objects.equals(anytype2, additionalPropertiesClass.anytype2) && + Objects.equals(anytype3, additionalPropertiesClass.anytype3); + } + + @Override + public int hashCode() { + return Objects.hash(mapString, mapNumber, mapInteger, mapBoolean, mapArrayInteger, mapArrayAnytype, mapMapString, mapMapAnytype, anytype1, anytype2, anytype3); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesInteger.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesInteger.java index c1430f755a..91bbd29c07 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesInteger.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesInteger.java @@ -32,6 +32,24 @@ public class AdditionalPropertiesInteger extends HashMap { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AdditionalPropertiesInteger additionalPropertiesInteger = (AdditionalPropertiesInteger) o; + return Objects.equals(name, additionalPropertiesInteger.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesNumber.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesNumber.java index 9a48aca1e1..5e7f4f2a5f 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesNumber.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesNumber.java @@ -33,6 +33,24 @@ public class AdditionalPropertiesNumber extends HashMap { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AdditionalPropertiesNumber additionalPropertiesNumber = (AdditionalPropertiesNumber) o; + return Objects.equals(name, additionalPropertiesNumber.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesObject.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesObject.java index d0bf890385..13ae1dbad3 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesObject.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesObject.java @@ -32,6 +32,24 @@ public class AdditionalPropertiesObject extends HashMap { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AdditionalPropertiesObject additionalPropertiesObject = (AdditionalPropertiesObject) o; + return Objects.equals(name, additionalPropertiesObject.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesString.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesString.java index 80242fd7f3..45d4870c5e 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesString.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesString.java @@ -32,6 +32,24 @@ public class AdditionalPropertiesString extends HashMap { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AdditionalPropertiesString additionalPropertiesString = (AdditionalPropertiesString) o; + return Objects.equals(name, additionalPropertiesString.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Animal.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Animal.java index 0813f27078..b4d23bc566 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Animal.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Animal.java @@ -61,6 +61,24 @@ public class Animal { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Animal animal = (Animal) o; + return Objects.equals(className, animal.className) && + Objects.equals(color, animal.color); + } + + @Override + public int hashCode() { + return Objects.hash(className, color); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayOfArrayOfNumberOnly.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayOfArrayOfNumberOnly.java index c754d76d6e..9b59fe0624 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayOfArrayOfNumberOnly.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayOfArrayOfNumberOnly.java @@ -39,6 +39,23 @@ public class ArrayOfArrayOfNumberOnly { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ArrayOfArrayOfNumberOnly arrayOfArrayOfNumberOnly = (ArrayOfArrayOfNumberOnly) o; + return Objects.equals(arrayArrayNumber, arrayOfArrayOfNumberOnly.arrayArrayNumber); + } + + @Override + public int hashCode() { + return Objects.hash(arrayArrayNumber); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayOfNumberOnly.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayOfNumberOnly.java index a70080c8fe..12d4aaf816 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayOfNumberOnly.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayOfNumberOnly.java @@ -39,6 +39,23 @@ public class ArrayOfNumberOnly { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ArrayOfNumberOnly arrayOfNumberOnly = (ArrayOfNumberOnly) o; + return Objects.equals(arrayNumber, arrayOfNumberOnly.arrayNumber); + } + + @Override + public int hashCode() { + return Objects.hash(arrayNumber); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayTest.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayTest.java index 68da97e5f5..812f5f2220 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayTest.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayTest.java @@ -92,6 +92,25 @@ public class ArrayTest { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ArrayTest arrayTest = (ArrayTest) o; + return Objects.equals(arrayOfString, arrayTest.arrayOfString) && + Objects.equals(arrayArrayOfInteger, arrayTest.arrayArrayOfInteger) && + Objects.equals(arrayArrayOfModel, arrayTest.arrayArrayOfModel); + } + + @Override + public int hashCode() { + return Objects.hash(arrayOfString, arrayArrayOfInteger, arrayArrayOfModel); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCat.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCat.java index 1515c9d3ec..a0ccc442b5 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCat.java @@ -69,6 +69,24 @@ LIONS(String.valueOf("lions")), TIGERS(String.valueOf("tigers")), LEOPARDS(Strin } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BigCat bigCat = (BigCat) o; + return Objects.equals(kind, bigCat.kind) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(kind, super.hashCode()); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCatAllOf.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCatAllOf.java index e357c7fb51..45aa5ef73f 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCatAllOf.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCatAllOf.java @@ -68,6 +68,23 @@ LIONS(String.valueOf("lions")), TIGERS(String.valueOf("tigers")), LEOPARDS(Strin } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BigCatAllOf bigCatAllOf = (BigCatAllOf) o; + return Objects.equals(kind, bigCatAllOf.kind); + } + + @Override + public int hashCode() { + return Objects.hash(kind); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Capitalization.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Capitalization.java index d278a359d9..55bdfade10 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Capitalization.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Capitalization.java @@ -138,6 +138,28 @@ public class Capitalization { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Capitalization capitalization = (Capitalization) o; + return Objects.equals(smallCamel, capitalization.smallCamel) && + Objects.equals(capitalCamel, capitalization.capitalCamel) && + Objects.equals(smallSnake, capitalization.smallSnake) && + Objects.equals(capitalSnake, capitalization.capitalSnake) && + Objects.equals(scAETHFlowPoints, capitalization.scAETHFlowPoints) && + Objects.equals(ATT_NAME, capitalization.ATT_NAME); + } + + @Override + public int hashCode() { + return Objects.hash(smallCamel, capitalCamel, smallSnake, capitalSnake, scAETHFlowPoints, ATT_NAME); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Cat.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Cat.java index 518d95245f..642708114a 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Cat.java @@ -32,6 +32,24 @@ public class Cat extends Animal { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Cat cat = (Cat) o; + return Objects.equals(declawed, cat.declawed) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(declawed, super.hashCode()); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/CatAllOf.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/CatAllOf.java index 00c1a999f3..b5ff80170e 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/CatAllOf.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/CatAllOf.java @@ -31,6 +31,23 @@ public class CatAllOf { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatAllOf catAllOf = (CatAllOf) o; + return Objects.equals(declawed, catAllOf.declawed); + } + + @Override + public int hashCode() { + return Objects.hash(declawed); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Category.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Category.java index ba2c14cc51..123d348aed 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Category.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Category.java @@ -52,6 +52,24 @@ public class Category { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Category category = (Category) o; + return Objects.equals(id, category.id) && + Objects.equals(name, category.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ClassModel.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ClassModel.java index 6380f6e7bc..67b26335d0 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ClassModel.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ClassModel.java @@ -35,6 +35,23 @@ public class ClassModel { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ClassModel classModel = (ClassModel) o; + return Objects.equals(propertyClass, classModel.propertyClass); + } + + @Override + public int hashCode() { + return Objects.hash(propertyClass); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Client.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Client.java index 3f6ed69a39..932f7957e3 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Client.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Client.java @@ -30,6 +30,23 @@ public class Client { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Client client = (Client) o; + return Objects.equals(client, client.client); + } + + @Override + public int hashCode() { + return Objects.hash(client); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Dog.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Dog.java index e837bbf674..5b521d1821 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Dog.java @@ -32,6 +32,24 @@ public class Dog extends Animal { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Dog dog = (Dog) o; + return Objects.equals(breed, dog.breed) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(breed, super.hashCode()); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/DogAllOf.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/DogAllOf.java index d3cd545c28..7eb31e85cc 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/DogAllOf.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/DogAllOf.java @@ -31,6 +31,23 @@ public class DogAllOf { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DogAllOf dogAllOf = (DogAllOf) o; + return Objects.equals(breed, dogAllOf.breed); + } + + @Override + public int hashCode() { + return Objects.hash(breed); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/EnumArrays.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/EnumArrays.java index e04e0812e5..4fddb13874 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/EnumArrays.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/EnumArrays.java @@ -127,6 +127,24 @@ FISH(String.valueOf("fish")), CRAB(String.valueOf("crab")); } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnumArrays enumArrays = (EnumArrays) o; + return Objects.equals(justSymbol, enumArrays.justSymbol) && + Objects.equals(arrayEnum, enumArrays.arrayEnum); + } + + @Override + public int hashCode() { + return Objects.hash(justSymbol, arrayEnum); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/EnumTest.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/EnumTest.java index e1cd415ba0..593e40452b 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/EnumTest.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/EnumTest.java @@ -260,6 +260,27 @@ NUMBER_1_DOT_1(Double.valueOf(1.1)), NUMBER_MINUS_1_DOT_2(Double.valueOf(-1.2)); } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnumTest enumTest = (EnumTest) o; + return Objects.equals(enumString, enumTest.enumString) && + Objects.equals(enumStringRequired, enumTest.enumStringRequired) && + Objects.equals(enumInteger, enumTest.enumInteger) && + Objects.equals(enumNumber, enumTest.enumNumber) && + Objects.equals(outerEnum, enumTest.outerEnum); + } + + @Override + public int hashCode() { + return Objects.hash(enumString, enumStringRequired, enumInteger, enumNumber, outerEnum); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/FileSchemaTestClass.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/FileSchemaTestClass.java index 33c7dafbae..1c29eed66f 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/FileSchemaTestClass.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/FileSchemaTestClass.java @@ -61,6 +61,24 @@ public class FileSchemaTestClass { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FileSchemaTestClass fileSchemaTestClass = (FileSchemaTestClass) o; + return Objects.equals(_file, fileSchemaTestClass._file) && + Objects.equals(files, fileSchemaTestClass.files); + } + + @Override + public int hashCode() { + return Objects.hash(_file, files); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/FormatTest.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/FormatTest.java index 6791f54cb0..94cbdd6a4f 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/FormatTest.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/FormatTest.java @@ -325,6 +325,36 @@ public class FormatTest { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FormatTest formatTest = (FormatTest) o; + return Objects.equals(integer, formatTest.integer) && + Objects.equals(int32, formatTest.int32) && + Objects.equals(int64, formatTest.int64) && + Objects.equals(number, formatTest.number) && + Objects.equals(_float, formatTest._float) && + Objects.equals(_double, formatTest._double) && + Objects.equals(string, formatTest.string) && + Objects.equals(_byte, formatTest._byte) && + Objects.equals(binary, formatTest.binary) && + Objects.equals(date, formatTest.date) && + Objects.equals(dateTime, formatTest.dateTime) && + Objects.equals(uuid, formatTest.uuid) && + Objects.equals(password, formatTest.password) && + Objects.equals(bigDecimal, formatTest.bigDecimal); + } + + @Override + public int hashCode() { + return Objects.hash(integer, int32, int64, number, _float, _double, string, _byte, binary, date, dateTime, uuid, password, bigDecimal); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/HasOnlyReadOnly.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/HasOnlyReadOnly.java index 60231823a4..b59d3b7d84 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/HasOnlyReadOnly.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/HasOnlyReadOnly.java @@ -36,6 +36,24 @@ public class HasOnlyReadOnly { + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HasOnlyReadOnly hasOnlyReadOnly = (HasOnlyReadOnly) o; + return Objects.equals(bar, hasOnlyReadOnly.bar) && + Objects.equals(foo, hasOnlyReadOnly.foo); + } + + @Override + public int hashCode() { + return Objects.hash(bar, foo); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MapTest.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MapTest.java index 638f7c6649..2ac9ab74f5 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MapTest.java @@ -151,6 +151,26 @@ UPPER(String.valueOf("UPPER")), LOWER(String.valueOf("lower")); } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MapTest mapTest = (MapTest) o; + return Objects.equals(mapMapOfString, mapTest.mapMapOfString) && + Objects.equals(mapOfEnumString, mapTest.mapOfEnumString) && + Objects.equals(directMap, mapTest.directMap) && + Objects.equals(indirectMap, mapTest.indirectMap); + } + + @Override + public int hashCode() { + return Objects.hash(mapMapOfString, mapOfEnumString, directMap, indirectMap); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 7a9e6e20f3..5a287f0e07 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -84,6 +84,25 @@ public class MixedPropertiesAndAdditionalPropertiesClass { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MixedPropertiesAndAdditionalPropertiesClass mixedPropertiesAndAdditionalPropertiesClass = (MixedPropertiesAndAdditionalPropertiesClass) o; + return Objects.equals(uuid, mixedPropertiesAndAdditionalPropertiesClass.uuid) && + Objects.equals(dateTime, mixedPropertiesAndAdditionalPropertiesClass.dateTime) && + Objects.equals(map, mixedPropertiesAndAdditionalPropertiesClass.map); + } + + @Override + public int hashCode() { + return Objects.hash(uuid, dateTime, map); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Model200Response.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Model200Response.java index c6ba617f9f..1d75e4c72c 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Model200Response.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Model200Response.java @@ -57,6 +57,24 @@ public class Model200Response { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Model200Response _200response = (Model200Response) o; + return Objects.equals(name, _200response.name) && + Objects.equals(propertyClass, _200response.propertyClass); + } + + @Override + public int hashCode() { + return Objects.hash(name, propertyClass); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelApiResponse.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelApiResponse.java index 4b664bda4b..37c177f83d 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelApiResponse.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelApiResponse.java @@ -73,6 +73,25 @@ public class ModelApiResponse { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ModelApiResponse _apiResponse = (ModelApiResponse) o; + return Objects.equals(code, _apiResponse.code) && + Objects.equals(type, _apiResponse.type) && + Objects.equals(message, _apiResponse.message); + } + + @Override + public int hashCode() { + return Objects.hash(code, type, message); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelFile.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelFile.java index 34140c51f7..4fdd53b886 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelFile.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelFile.java @@ -39,6 +39,23 @@ public class ModelFile { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ModelFile _file = (ModelFile) o; + return Objects.equals(sourceURI, _file.sourceURI); + } + + @Override + public int hashCode() { + return Objects.hash(sourceURI); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelList.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelList.java index 7e4cde02fd..d814e76adc 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelList.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelList.java @@ -31,6 +31,23 @@ public class ModelList { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ModelList _list = (ModelList) o; + return Objects.equals(_123list, _list._123list); + } + + @Override + public int hashCode() { + return Objects.hash(_123list); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelReturn.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelReturn.java index 4b3662802d..bcf4810e7e 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelReturn.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelReturn.java @@ -36,6 +36,23 @@ public class ModelReturn { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ModelReturn _return = (ModelReturn) o; + return Objects.equals(_return, _return._return); + } + + @Override + public int hashCode() { + return Objects.hash(_return); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Name.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Name.java index 5cdbdcdb55..b10fc9126d 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Name.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Name.java @@ -83,6 +83,26 @@ public class Name { + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Name name = (Name) o; + return Objects.equals(name, name.name) && + Objects.equals(snakeCase, name.snakeCase) && + Objects.equals(property, name.property) && + Objects.equals(_123number, name._123number); + } + + @Override + public int hashCode() { + return Objects.hash(name, snakeCase, property, _123number); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/NumberOnly.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/NumberOnly.java index 39e0d08dca..2c8fb78cbe 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/NumberOnly.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/NumberOnly.java @@ -32,6 +32,23 @@ public class NumberOnly { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NumberOnly numberOnly = (NumberOnly) o; + return Objects.equals(justNumber, numberOnly.justNumber); + } + + @Override + public int hashCode() { + return Objects.hash(justNumber); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Order.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Order.java index b6218ae0a9..410b623ebb 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Order.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Order.java @@ -176,6 +176,28 @@ PLACED(String.valueOf("placed")), APPROVED(String.valueOf("approved")), DELIVERE } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Order order = (Order) o; + return Objects.equals(id, order.id) && + Objects.equals(petId, order.petId) && + Objects.equals(quantity, order.quantity) && + Objects.equals(shipDate, order.shipDate) && + Objects.equals(status, order.status) && + Objects.equals(complete, order.complete); + } + + @Override + public int hashCode() { + return Objects.hash(id, petId, quantity, shipDate, status, complete); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/OuterComposite.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/OuterComposite.java index 1bc0a28249..46e8caeb5f 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/OuterComposite.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/OuterComposite.java @@ -74,6 +74,25 @@ public class OuterComposite { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OuterComposite outerComposite = (OuterComposite) o; + return Objects.equals(myNumber, outerComposite.myNumber) && + Objects.equals(myString, outerComposite.myString) && + Objects.equals(myBoolean, outerComposite.myBoolean); + } + + @Override + public int hashCode() { + return Objects.hash(myNumber, myString, myBoolean); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Pet.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Pet.java index 4fc6493dea..c9e9a0af5d 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Pet.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Pet.java @@ -197,6 +197,28 @@ AVAILABLE(String.valueOf("available")), PENDING(String.valueOf("pending")), SOLD } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Pet pet = (Pet) o; + return Objects.equals(id, pet.id) && + Objects.equals(category, pet.category) && + Objects.equals(name, pet.name) && + Objects.equals(photoUrls, pet.photoUrls) && + Objects.equals(tags, pet.tags) && + Objects.equals(status, pet.status); + } + + @Override + public int hashCode() { + return Objects.hash(id, category, name, photoUrls, tags, status); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ReadOnlyFirst.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ReadOnlyFirst.java index e61030d85a..a67cca8cfa 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ReadOnlyFirst.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ReadOnlyFirst.java @@ -43,6 +43,24 @@ public class ReadOnlyFirst { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ReadOnlyFirst readOnlyFirst = (ReadOnlyFirst) o; + return Objects.equals(bar, readOnlyFirst.bar) && + Objects.equals(baz, readOnlyFirst.baz); + } + + @Override + public int hashCode() { + return Objects.hash(bar, baz); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/SpecialModelName.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/SpecialModelName.java index 8c6c9b6919..99f87af037 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/SpecialModelName.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/SpecialModelName.java @@ -31,6 +31,23 @@ public class SpecialModelName { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SpecialModelName $specialModelName = (SpecialModelName) o; + return Objects.equals($specialPropertyName, $specialModelName.$specialPropertyName); + } + + @Override + public int hashCode() { + return Objects.hash($specialPropertyName); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Tag.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Tag.java index f559c857cb..0bacb10acc 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Tag.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Tag.java @@ -51,6 +51,24 @@ public class Tag { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Tag tag = (Tag) o; + return Objects.equals(id, tag.id) && + Objects.equals(name, tag.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/TypeHolderDefault.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/TypeHolderDefault.java index aaa70e2a2d..e1c6c0be21 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/TypeHolderDefault.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/TypeHolderDefault.java @@ -128,6 +128,27 @@ public class TypeHolderDefault { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TypeHolderDefault typeHolderDefault = (TypeHolderDefault) o; + return Objects.equals(stringItem, typeHolderDefault.stringItem) && + Objects.equals(numberItem, typeHolderDefault.numberItem) && + Objects.equals(integerItem, typeHolderDefault.integerItem) && + Objects.equals(boolItem, typeHolderDefault.boolItem) && + Objects.equals(arrayItem, typeHolderDefault.arrayItem); + } + + @Override + public int hashCode() { + return Objects.hash(stringItem, numberItem, integerItem, boolItem, arrayItem); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/TypeHolderExample.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/TypeHolderExample.java index 0a23389dab..e92ee6e9b7 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/TypeHolderExample.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/TypeHolderExample.java @@ -150,6 +150,28 @@ public class TypeHolderExample { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TypeHolderExample typeHolderExample = (TypeHolderExample) o; + return Objects.equals(stringItem, typeHolderExample.stringItem) && + Objects.equals(numberItem, typeHolderExample.numberItem) && + Objects.equals(floatItem, typeHolderExample.floatItem) && + Objects.equals(integerItem, typeHolderExample.integerItem) && + Objects.equals(boolItem, typeHolderExample.boolItem) && + Objects.equals(arrayItem, typeHolderExample.arrayItem); + } + + @Override + public int hashCode() { + return Objects.hash(stringItem, numberItem, floatItem, integerItem, boolItem, arrayItem); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/User.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/User.java index fd9473728e..2414e97df1 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/User.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/User.java @@ -180,6 +180,30 @@ public class User { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + User user = (User) o; + return Objects.equals(id, user.id) && + Objects.equals(username, user.username) && + Objects.equals(firstName, user.firstName) && + Objects.equals(lastName, user.lastName) && + Objects.equals(email, user.email) && + Objects.equals(password, user.password) && + Objects.equals(phone, user.phone) && + Objects.equals(userStatus, user.userStatus); + } + + @Override + public int hashCode() { + return Objects.hash(id, username, firstName, lastName, email, password, phone, userStatus); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/XmlItem.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/XmlItem.java index 4924cd3b24..2cb15409a9 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/XmlItem.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/XmlItem.java @@ -671,6 +671,51 @@ public class XmlItem { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + XmlItem xmlItem = (XmlItem) o; + return Objects.equals(attributeString, xmlItem.attributeString) && + Objects.equals(attributeNumber, xmlItem.attributeNumber) && + Objects.equals(attributeInteger, xmlItem.attributeInteger) && + Objects.equals(attributeBoolean, xmlItem.attributeBoolean) && + Objects.equals(wrappedArray, xmlItem.wrappedArray) && + Objects.equals(nameString, xmlItem.nameString) && + Objects.equals(nameNumber, xmlItem.nameNumber) && + Objects.equals(nameInteger, xmlItem.nameInteger) && + Objects.equals(nameBoolean, xmlItem.nameBoolean) && + Objects.equals(nameArray, xmlItem.nameArray) && + Objects.equals(nameWrappedArray, xmlItem.nameWrappedArray) && + Objects.equals(prefixString, xmlItem.prefixString) && + Objects.equals(prefixNumber, xmlItem.prefixNumber) && + Objects.equals(prefixInteger, xmlItem.prefixInteger) && + Objects.equals(prefixBoolean, xmlItem.prefixBoolean) && + Objects.equals(prefixArray, xmlItem.prefixArray) && + Objects.equals(prefixWrappedArray, xmlItem.prefixWrappedArray) && + Objects.equals(namespaceString, xmlItem.namespaceString) && + Objects.equals(namespaceNumber, xmlItem.namespaceNumber) && + Objects.equals(namespaceInteger, xmlItem.namespaceInteger) && + Objects.equals(namespaceBoolean, xmlItem.namespaceBoolean) && + Objects.equals(namespaceArray, xmlItem.namespaceArray) && + Objects.equals(namespaceWrappedArray, xmlItem.namespaceWrappedArray) && + Objects.equals(prefixNsString, xmlItem.prefixNsString) && + Objects.equals(prefixNsNumber, xmlItem.prefixNsNumber) && + Objects.equals(prefixNsInteger, xmlItem.prefixNsInteger) && + Objects.equals(prefixNsBoolean, xmlItem.prefixNsBoolean) && + Objects.equals(prefixNsArray, xmlItem.prefixNsArray) && + Objects.equals(prefixNsWrappedArray, xmlItem.prefixNsWrappedArray); + } + + @Override + public int hashCode() { + return Objects.hash(attributeString, attributeNumber, attributeInteger, attributeBoolean, wrappedArray, nameString, nameNumber, nameInteger, nameBoolean, nameArray, nameWrappedArray, prefixString, prefixNumber, prefixInteger, prefixBoolean, prefixArray, prefixWrappedArray, namespaceString, namespaceNumber, namespaceInteger, namespaceBoolean, namespaceArray, namespaceWrappedArray, prefixNsString, prefixNsNumber, prefixNsInteger, prefixNsBoolean, prefixNsArray, prefixNsWrappedArray); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); From 6948f1551448194c9d0f6881eb207c99d3b85bf0 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Mon, 6 Jun 2022 18:38:26 +0800 Subject: [PATCH 056/212] update jaxrs cxf samples --- .../java/org/openapitools/model/Category.java | 18 ++++++++++++++ .../openapitools/model/ModelApiResponse.java | 19 +++++++++++++++ .../java/org/openapitools/model/Order.java | 22 +++++++++++++++++ .../gen/java/org/openapitools/model/Pet.java | 22 +++++++++++++++++ .../gen/java/org/openapitools/model/Tag.java | 18 ++++++++++++++ .../gen/java/org/openapitools/model/User.java | 24 +++++++++++++++++++ .../java/org/openapitools/model/Category.java | 18 ++++++++++++++ .../openapitools/model/ModelApiResponse.java | 19 +++++++++++++++ .../java/org/openapitools/model/Order.java | 22 +++++++++++++++++ .../gen/java/org/openapitools/model/Pet.java | 22 +++++++++++++++++ .../gen/java/org/openapitools/model/Tag.java | 18 ++++++++++++++ .../gen/java/org/openapitools/model/User.java | 24 +++++++++++++++++++ 12 files changed, 246 insertions(+) diff --git a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Category.java b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Category.java index de81b7fe5b..ef6f8af839 100644 --- a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Category.java +++ b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Category.java @@ -56,6 +56,24 @@ public class Category { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Category category = (Category) o; + return Objects.equals(id, category.id) && + Objects.equals(name, category.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/ModelApiResponse.java b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/ModelApiResponse.java index b6a2bcb990..6d11a14079 100644 --- a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/ModelApiResponse.java +++ b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/ModelApiResponse.java @@ -78,6 +78,25 @@ public class ModelApiResponse { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ModelApiResponse _apiResponse = (ModelApiResponse) o; + return Objects.equals(code, _apiResponse.code) && + Objects.equals(type, _apiResponse.type) && + Objects.equals(message, _apiResponse.message); + } + + @Override + public int hashCode() { + return Objects.hash(code, type, message); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Order.java b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Order.java index 25181ffee3..d10e29264e 100644 --- a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Order.java +++ b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Order.java @@ -181,6 +181,28 @@ PLACED(String.valueOf("placed")), APPROVED(String.valueOf("approved")), DELIVERE } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Order order = (Order) o; + return Objects.equals(id, order.id) && + Objects.equals(petId, order.petId) && + Objects.equals(quantity, order.quantity) && + Objects.equals(shipDate, order.shipDate) && + Objects.equals(status, order.status) && + Objects.equals(complete, order.complete); + } + + @Override + public int hashCode() { + return Objects.hash(id, petId, quantity, shipDate, status, complete); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Pet.java b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Pet.java index a6945964b9..5135b8d2e8 100644 --- a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Pet.java +++ b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Pet.java @@ -198,6 +198,28 @@ AVAILABLE(String.valueOf("available")), PENDING(String.valueOf("pending")), SOLD } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Pet pet = (Pet) o; + return Objects.equals(id, pet.id) && + Objects.equals(category, pet.category) && + Objects.equals(name, pet.name) && + Objects.equals(photoUrls, pet.photoUrls) && + Objects.equals(tags, pet.tags) && + Objects.equals(status, pet.status); + } + + @Override + public int hashCode() { + return Objects.hash(id, category, name, photoUrls, tags, status); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Tag.java b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Tag.java index 654e9e11a3..2b12260720 100644 --- a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Tag.java +++ b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Tag.java @@ -56,6 +56,24 @@ public class Tag { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Tag tag = (Tag) o; + return Objects.equals(id, tag.id) && + Objects.equals(name, tag.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/User.java b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/User.java index 9691cca83c..3ce5f64f06 100644 --- a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/User.java +++ b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/User.java @@ -185,6 +185,30 @@ public class User { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + User user = (User) o; + return Objects.equals(id, user.id) && + Objects.equals(username, user.username) && + Objects.equals(firstName, user.firstName) && + Objects.equals(lastName, user.lastName) && + Objects.equals(email, user.email) && + Objects.equals(password, user.password) && + Objects.equals(phone, user.phone) && + Objects.equals(userStatus, user.userStatus); + } + + @Override + public int hashCode() { + return Objects.hash(id, username, firstName, lastName, email, password, phone, userStatus); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Category.java b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Category.java index de81b7fe5b..ef6f8af839 100644 --- a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Category.java +++ b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Category.java @@ -56,6 +56,24 @@ public class Category { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Category category = (Category) o; + return Objects.equals(id, category.id) && + Objects.equals(name, category.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/ModelApiResponse.java b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/ModelApiResponse.java index b6a2bcb990..6d11a14079 100644 --- a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/ModelApiResponse.java +++ b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/ModelApiResponse.java @@ -78,6 +78,25 @@ public class ModelApiResponse { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ModelApiResponse _apiResponse = (ModelApiResponse) o; + return Objects.equals(code, _apiResponse.code) && + Objects.equals(type, _apiResponse.type) && + Objects.equals(message, _apiResponse.message); + } + + @Override + public int hashCode() { + return Objects.hash(code, type, message); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Order.java b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Order.java index 25181ffee3..d10e29264e 100644 --- a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Order.java +++ b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Order.java @@ -181,6 +181,28 @@ PLACED(String.valueOf("placed")), APPROVED(String.valueOf("approved")), DELIVERE } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Order order = (Order) o; + return Objects.equals(id, order.id) && + Objects.equals(petId, order.petId) && + Objects.equals(quantity, order.quantity) && + Objects.equals(shipDate, order.shipDate) && + Objects.equals(status, order.status) && + Objects.equals(complete, order.complete); + } + + @Override + public int hashCode() { + return Objects.hash(id, petId, quantity, shipDate, status, complete); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Pet.java b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Pet.java index a6945964b9..5135b8d2e8 100644 --- a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Pet.java +++ b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Pet.java @@ -198,6 +198,28 @@ AVAILABLE(String.valueOf("available")), PENDING(String.valueOf("pending")), SOLD } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Pet pet = (Pet) o; + return Objects.equals(id, pet.id) && + Objects.equals(category, pet.category) && + Objects.equals(name, pet.name) && + Objects.equals(photoUrls, pet.photoUrls) && + Objects.equals(tags, pet.tags) && + Objects.equals(status, pet.status); + } + + @Override + public int hashCode() { + return Objects.hash(id, category, name, photoUrls, tags, status); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Tag.java b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Tag.java index 654e9e11a3..2b12260720 100644 --- a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Tag.java +++ b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Tag.java @@ -56,6 +56,24 @@ public class Tag { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Tag tag = (Tag) o; + return Objects.equals(id, tag.id) && + Objects.equals(name, tag.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/User.java b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/User.java index 9691cca83c..3ce5f64f06 100644 --- a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/User.java +++ b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/User.java @@ -185,6 +185,30 @@ public class User { } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + User user = (User) o; + return Objects.equals(id, user.id) && + Objects.equals(username, user.username) && + Objects.equals(firstName, user.firstName) && + Objects.equals(lastName, user.lastName) && + Objects.equals(email, user.email) && + Objects.equals(password, user.password) && + Objects.equals(phone, user.phone) && + Objects.equals(userStatus, user.userStatus); + } + + @Override + public int hashCode() { + return Objects.hash(id, username, firstName, lastName, email, password, phone, userStatus); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); From 5db8cd0eff640564ff615c7b5c75c66d5245aa9b Mon Sep 17 00:00:00 2001 From: William Cheng Date: Mon, 6 Jun 2022 23:17:35 +0800 Subject: [PATCH 057/212] fix toJSON, add tests (#12541) --- .../src/main/resources/r/modelOneOf.mustache | 11 +++++++---- samples/client/petstore/R/R/pig.R | 11 +++++++---- samples/client/petstore/R/test_petstore.R | 12 +++++++----- .../petstore/R/tests/testthat/test_petstore.R | 17 ++++++++++++++++- 4 files changed, 37 insertions(+), 14 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache b/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache index ba75bf337d..a4f92eee80 100644 --- a/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache @@ -19,10 +19,6 @@ ) { local_optional_var <- list(...) }, - toJSON = function() { - {{classname}}_object <- list() - {{classname}}_object - }, fromJSON = function(input) { matched <- 0 # match counter matched_schemas <- list() #names of matched schemas @@ -59,6 +55,13 @@ } self + }, + toJSON = function() { + if (!is.null(self$actual_instance)) { + self$actual_instance$toJSONString() + } else { + NULL + } } ) ) diff --git a/samples/client/petstore/R/R/pig.R b/samples/client/petstore/R/R/pig.R index 27500b6601..e41f883416 100644 --- a/samples/client/petstore/R/R/pig.R +++ b/samples/client/petstore/R/R/pig.R @@ -26,10 +26,6 @@ Pig <- R6::R6Class( ) { local_optional_var <- list(...) }, - toJSON = function() { - Pig_object <- list() - Pig_object - }, fromJSON = function(input) { matched <- 0 # match counter matched_schemas <- list() #names of matched schemas @@ -79,6 +75,13 @@ Pig <- R6::R6Class( } self + }, + toJSON = function() { + if (!is.null(self$actual_instance)) { + self$actual_instance$toJSONString() + } else { + NULL + } } ) ) diff --git a/samples/client/petstore/R/test_petstore.R b/samples/client/petstore/R/test_petstore.R index cd263b31f3..c7aa86d746 100644 --- a/samples/client/petstore/R/test_petstore.R +++ b/samples/client/petstore/R/test_petstore.R @@ -56,15 +56,17 @@ json <- {}, {"Name" : "Ada", "Occupation" : "Engineer"} ]' - + + print("==========") pig <- Pig$new() basque_pig <- pig$fromJSON(basque_pig_json) #print(basque_pig$actual_instance$color) #expect_equal(basque_pig$actual_type, "BasquePig") - i <- pig$fromJSON(danish_pig_json) - #i <- pig$fromJSON(wrong_json) + pig$fromJSON(danish_pig_json) + #pig$fromJSON(wrong_json) + pig$toJSON() - d <- DanishPig$new() - dp <- d$validateJSON(danish_pig_json) + #d <- DanishPig$new() + #dp <- d$validateJSON(danish_pig_json) diff --git a/samples/client/petstore/R/tests/testthat/test_petstore.R b/samples/client/petstore/R/tests/testthat/test_petstore.R index 5033371b65..951eae6d92 100644 --- a/samples/client/petstore/R/tests/testthat/test_petstore.R +++ b/samples/client/petstore/R/tests/testthat/test_petstore.R @@ -1,4 +1,5 @@ context("basic functionality") + pet_api <- PetApi$new() pet_id <- 123321 pet <- Pet$new("name_test", @@ -152,20 +153,34 @@ test_that("Tests oneOf", { {"Name" : "Ada", "Occupation" : "Engineer"} ]' + original_danish_pig = DanishPig$new()$fromJSON(danish_pig_json) + original_basque_pig = BasquePig$new()$fromJSON(basque_pig_json) + + # test fromJSNO, actual_tpye, actual_instance pig <- Pig$new() danish_pig <- pig$fromJSON(danish_pig_json) expect_equal(danish_pig$actual_type, "DanishPig") expect_equal(danish_pig$actual_instance$size, 7) expect_equal(danish_pig$actual_instance$className, "DanishPig") + expect_equal(pig$actual_type, "DanishPig") + expect_equal(pig$actual_instance$size, 7) + expect_equal(pig$actual_instance$className, "DanishPig") + + # test toJSON + #expect_equal(danish_pig$toJSON(), "") + expect_equal(danish_pig$toJSON(), original_danish_pig$toJSONString()) + basque_pig <- pig$fromJSON(basque_pig_json) expect_equal(basque_pig$actual_type, "BasquePig") expect_equal(basque_pig$actual_instance$color, "red") expect_equal(basque_pig$actual_instance$className, "BasquePig") + expect_equal(basque_pig$toJSON(), original_basque_pig$toJSONString()) - #expect_error(pig$fromJSON(wrong_json), "No match found when deserializing the payload into Pig with oneOf schemas BasquePig, DanishPig. Details: The JSON input ` [\n {\"Name\" : \"Tom\", \"Age\" : 32, \"Occupation\" : \"Consultant\"}, \n {},\n {\"Name\" : \"Ada\", \"Occupation\" : \"Engineer\"}\n ] ` is invalid for BasquePig: the required field `className` is missing., The JSON input ` [\n {\"Name\" : \"Tom\", \"Age\" : 32, \"Occupation\" : \"Consultant\"}, \n {},\n {\"Name\" : \"Ada\", \"Occupation\" : \"Engineer\"}\n ] ` is invalid for DanishPig: the required field `className` is missing.") + # test exception when no matche found expect_error(pig$fromJSON('{}'), 'No match found when deserializing the payload into Pig with oneOf schemas BasquePig, DanishPig. Details: The JSON input ` \\{\\} ` is invalid for BasquePig: the required field `className` is missing\\., The JSON input ` \\{\\} ` is invalid for DanishPig: the required field `className` is missing\\.') + }) #test_that("GetPetById", { From a339123586ce2338bb42b8c236c29bc7a54e8cab Mon Sep 17 00:00:00 2001 From: javier-garcia-meteologica <61506396+javier-garcia-meteologica@users.noreply.github.com> Date: Mon, 6 Jun 2022 17:42:52 +0200 Subject: [PATCH 058/212] Fix typescript-fetch compatibility with noUncheckedIndexedAccess (#12542) (#12543) --- .../src/main/resources/typescript-fetch/runtime.mustache | 2 +- .../petstore/typescript-fetch/builds/default-v3.0/runtime.ts | 2 +- .../client/petstore/typescript-fetch/builds/default/runtime.ts | 2 +- samples/client/petstore/typescript-fetch/builds/enum/runtime.ts | 2 +- .../petstore/typescript-fetch/builds/es6-target/src/runtime.ts | 2 +- .../typescript-fetch/builds/multiple-parameters/runtime.ts | 2 +- .../builds/prefix-parameter-interfaces/src/runtime.ts | 2 +- .../typescript-fetch/builds/sagas-and-records/src/runtime.ts | 2 +- .../petstore/typescript-fetch/builds/with-interfaces/runtime.ts | 2 +- .../typescript-fetch/builds/with-npm-version/src/runtime.ts | 2 +- .../typescript-fetch/builds/with-string-enums/runtime.ts | 2 +- .../builds/without-runtime-checks/src/runtime.ts | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache b/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache index 6fc46aff26..5dacb67bf5 100644 --- a/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache @@ -260,7 +260,7 @@ export function querystring(params: HTTPQuery, prefix: string = ''): string { .join('&'); } -function querystringSingleKey(key: string, value: string | number | null | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { +function querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key); if (value instanceof Array) { const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue))) diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/runtime.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/runtime.ts index ea3594773a..1ab0a775e9 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/runtime.ts @@ -269,7 +269,7 @@ export function querystring(params: HTTPQuery, prefix: string = ''): string { .join('&'); } -function querystringSingleKey(key: string, value: string | number | null | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { +function querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key); if (value instanceof Array) { const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue))) diff --git a/samples/client/petstore/typescript-fetch/builds/default/runtime.ts b/samples/client/petstore/typescript-fetch/builds/default/runtime.ts index a8137ef03e..fd8de02dd8 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/runtime.ts @@ -269,7 +269,7 @@ export function querystring(params: HTTPQuery, prefix: string = ''): string { .join('&'); } -function querystringSingleKey(key: string, value: string | number | null | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { +function querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key); if (value instanceof Array) { const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue))) diff --git a/samples/client/petstore/typescript-fetch/builds/enum/runtime.ts b/samples/client/petstore/typescript-fetch/builds/enum/runtime.ts index b9cb54736f..cd6f5def23 100644 --- a/samples/client/petstore/typescript-fetch/builds/enum/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/enum/runtime.ts @@ -269,7 +269,7 @@ export function querystring(params: HTTPQuery, prefix: string = ''): string { .join('&'); } -function querystringSingleKey(key: string, value: string | number | null | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { +function querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key); if (value instanceof Array) { const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue))) diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts index a8137ef03e..fd8de02dd8 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts @@ -269,7 +269,7 @@ export function querystring(params: HTTPQuery, prefix: string = ''): string { .join('&'); } -function querystringSingleKey(key: string, value: string | number | null | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { +function querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key); if (value instanceof Array) { const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue))) diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/runtime.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/runtime.ts index a8137ef03e..fd8de02dd8 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/runtime.ts @@ -269,7 +269,7 @@ export function querystring(params: HTTPQuery, prefix: string = ''): string { .join('&'); } -function querystringSingleKey(key: string, value: string | number | null | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { +function querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key); if (value instanceof Array) { const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue))) diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts index a8137ef03e..fd8de02dd8 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts @@ -269,7 +269,7 @@ export function querystring(params: HTTPQuery, prefix: string = ''): string { .join('&'); } -function querystringSingleKey(key: string, value: string | number | null | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { +function querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key); if (value instanceof Array) { const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue))) diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/runtime.ts index a8137ef03e..fd8de02dd8 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/runtime.ts @@ -269,7 +269,7 @@ export function querystring(params: HTTPQuery, prefix: string = ''): string { .join('&'); } -function querystringSingleKey(key: string, value: string | number | null | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { +function querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key); if (value instanceof Array) { const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue))) diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/runtime.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/runtime.ts index a8137ef03e..fd8de02dd8 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/runtime.ts @@ -269,7 +269,7 @@ export function querystring(params: HTTPQuery, prefix: string = ''): string { .join('&'); } -function querystringSingleKey(key: string, value: string | number | null | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { +function querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key); if (value instanceof Array) { const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue))) diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts index a8137ef03e..fd8de02dd8 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts @@ -269,7 +269,7 @@ export function querystring(params: HTTPQuery, prefix: string = ''): string { .join('&'); } -function querystringSingleKey(key: string, value: string | number | null | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { +function querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key); if (value instanceof Array) { const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue))) diff --git a/samples/client/petstore/typescript-fetch/builds/with-string-enums/runtime.ts b/samples/client/petstore/typescript-fetch/builds/with-string-enums/runtime.ts index b9cb54736f..cd6f5def23 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-string-enums/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-string-enums/runtime.ts @@ -269,7 +269,7 @@ export function querystring(params: HTTPQuery, prefix: string = ''): string { .join('&'); } -function querystringSingleKey(key: string, value: string | number | null | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { +function querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key); if (value instanceof Array) { const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue))) diff --git a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/runtime.ts index 63afbb449c..3e4ccfc28f 100644 --- a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/runtime.ts @@ -265,7 +265,7 @@ export function querystring(params: HTTPQuery, prefix: string = ''): string { .join('&'); } -function querystringSingleKey(key: string, value: string | number | null | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { +function querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key); if (value instanceof Array) { const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue))) From 4fbe1e9115dd10743d5ff3ebdfc4474322cca7e2 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 7 Jun 2022 10:05:34 +0800 Subject: [PATCH 059/212] [R] add anyOf support (#12544) * add anyOf support * add anyOf support to r client generator --- .../src/main/resources/r/modelAnyOf.mustache | 52 ++++++++++++++ .../src/test/resources/3_0/r/petstore.yaml | 4 ++ .../petstore/R/.openapi-generator/FILES | 2 + samples/client/petstore/R/NAMESPACE | 1 + samples/client/petstore/R/R/any_of_pig.R | 72 +++++++++++++++++++ samples/client/petstore/R/README.md | 1 + samples/client/petstore/R/docs/AnyOfPig.md | 11 +++ .../R/tests/testthat/test_any_of_pig.R | 27 +++++++ .../petstore/R/tests/testthat/test_petstore.R | 46 +++++++++++- 9 files changed, 214 insertions(+), 2 deletions(-) create mode 100644 modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache create mode 100644 samples/client/petstore/R/R/any_of_pig.R create mode 100644 samples/client/petstore/R/docs/AnyOfPig.md create mode 100644 samples/client/petstore/R/tests/testthat/test_any_of_pig.R diff --git a/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache b/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache new file mode 100644 index 0000000000..287264a1ce --- /dev/null +++ b/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache @@ -0,0 +1,52 @@ +#' @docType class +#' @title {{classname}} +#' +#' @description {{classname}} Class +#' +#' @format An \code{R6Class} generator object +#' +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +{{classname}} <- R6::R6Class( + '{{classname}}', + public = list( + actual_instance = NULL, + actual_type = NULL, + any_of = list({{#anyOf}}"{{{.}}}"{{^-last}}, {{/-last}}{{/anyOf}}), + initialize = function( + {{#requiredVars}}`{{baseName}}`, {{/requiredVars}}{{#optionalVars}}`{{baseName}}`={{{defaultValue}}}{{^defaultValue}}NULL{{/defaultValue}}, {{/optionalVars}}... + ) { + local_optional_var <- list(...) + }, + fromJSON = function(input) { + error_messages <- list() + + {{#anyOf}} + {{{.}}}_result <- tryCatch({ + {{{.}}}$public_methods$validateJSON(input) + {{{.}}}_instance <- {{{.}}}$new() + self$actual_instance <- {{{.}}}_instance$fromJSON(input) + self$actual_type <- "{{{.}}}" + return(self) + }, + error = function(err) err + ) + + if (!is.null({{{.}}}_result['error'])) { + error_messages <- append(error_messages, {{{.}}}_result['message']) + } + + {{/anyOf}} + # no match + stop(paste("No match found when deserializing the payload into {{{classname}}} with anyOf schemas {{#anyOf}}{{{.}}}{{^-last}}, {{/-last}}{{/anyOf}}. Details: ", paste(error_messages, collapse = ', '))) + }, + toJSON = function() { + if (!is.null(self$actual_instance)) { + self$actual_instance$toJSONString() + } else { + NULL + } + } + ) +) diff --git a/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml b/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml index c9827af375..c6bb52c52e 100644 --- a/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml @@ -801,6 +801,10 @@ components: allOf: - $ref: '#/components/schemas/Tag' - $ref: '#/components/schemas/ApiResponse' + AnyOfPig: + anyOf: + - $ref: '#/components/schemas/BasquePig' + - $ref: '#/components/schemas/DanishPig' Pig: oneOf: - $ref: '#/components/schemas/BasquePig' diff --git a/samples/client/petstore/R/.openapi-generator/FILES b/samples/client/petstore/R/.openapi-generator/FILES index 32f11b6dbb..0549314051 100644 --- a/samples/client/petstore/R/.openapi-generator/FILES +++ b/samples/client/petstore/R/.openapi-generator/FILES @@ -5,6 +5,7 @@ DESCRIPTION NAMESPACE R/allof_tag_api_response.R R/animal.R +R/any_of_pig.R R/api_client.R R/api_exception.R R/api_response.R @@ -28,6 +29,7 @@ R/user_api.R README.md docs/AllofTagApiResponse.md docs/Animal.md +docs/AnyOfPig.md docs/BasquePig.md docs/Cat.md docs/CatAllOf.md diff --git a/samples/client/petstore/R/NAMESPACE b/samples/client/petstore/R/NAMESPACE index 95a5339296..77557a9193 100644 --- a/samples/client/petstore/R/NAMESPACE +++ b/samples/client/petstore/R/NAMESPACE @@ -14,6 +14,7 @@ export(ApiException) # Models export(AllofTagApiResponse) export(Animal) +export(AnyOfPig) export(BasquePig) export(Cat) export(CatAllOf) diff --git a/samples/client/petstore/R/R/any_of_pig.R b/samples/client/petstore/R/R/any_of_pig.R new file mode 100644 index 0000000000..7197d52b43 --- /dev/null +++ b/samples/client/petstore/R/R/any_of_pig.R @@ -0,0 +1,72 @@ +# OpenAPI Petstore +# +# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +# +# The version of the OpenAPI document: 1.0.0 +# Generated by: https://openapi-generator.tech + +#' @docType class +#' @title AnyOfPig +#' +#' @description AnyOfPig Class +#' +#' @format An \code{R6Class} generator object +#' +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +AnyOfPig <- R6::R6Class( + 'AnyOfPig', + public = list( + actual_instance = NULL, + actual_type = NULL, + any_of = list("BasquePig", "DanishPig"), + initialize = function( + `className`, `color`, `size`, ... + ) { + local_optional_var <- list(...) + }, + fromJSON = function(input) { + error_messages <- list() + + BasquePig_result <- tryCatch({ + BasquePig$public_methods$validateJSON(input) + BasquePig_instance <- BasquePig$new() + self$actual_instance <- BasquePig_instance$fromJSON(input) + self$actual_type <- "BasquePig" + return(self) + }, + error = function(err) err + ) + + if (!is.null(BasquePig_result['error'])) { + error_messages <- append(error_messages, BasquePig_result['message']) + } + + DanishPig_result <- tryCatch({ + DanishPig$public_methods$validateJSON(input) + DanishPig_instance <- DanishPig$new() + self$actual_instance <- DanishPig_instance$fromJSON(input) + self$actual_type <- "DanishPig" + return(self) + }, + error = function(err) err + ) + + if (!is.null(DanishPig_result['error'])) { + error_messages <- append(error_messages, DanishPig_result['message']) + } + + # no match + stop(paste("No match found when deserializing the payload into AnyOfPig with anyOf schemas BasquePig, DanishPig. Details: ", paste(error_messages, collapse = ', '))) + }, + toJSON = function() { + if (!is.null(self$actual_instance)) { + self$actual_instance$toJSONString() + } else { + NULL + } + } + ) +) + diff --git a/samples/client/petstore/R/README.md b/samples/client/petstore/R/README.md index 4c75bb991b..538251cf40 100644 --- a/samples/client/petstore/R/README.md +++ b/samples/client/petstore/R/README.md @@ -83,6 +83,7 @@ Class | Method | HTTP request | Description - [AllofTagApiResponse](docs/AllofTagApiResponse.md) - [Animal](docs/Animal.md) + - [AnyOfPig](docs/AnyOfPig.md) - [BasquePig](docs/BasquePig.md) - [Cat](docs/Cat.md) - [CatAllOf](docs/CatAllOf.md) diff --git a/samples/client/petstore/R/docs/AnyOfPig.md b/samples/client/petstore/R/docs/AnyOfPig.md new file mode 100644 index 0000000000..296d7c7e33 --- /dev/null +++ b/samples/client/petstore/R/docs/AnyOfPig.md @@ -0,0 +1,11 @@ +# petstore::AnyOfPig + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**className** | **character** | | +**color** | **character** | | +**size** | **integer** | | + + diff --git a/samples/client/petstore/R/tests/testthat/test_any_of_pig.R b/samples/client/petstore/R/tests/testthat/test_any_of_pig.R new file mode 100644 index 0000000000..8ca3b8e73d --- /dev/null +++ b/samples/client/petstore/R/tests/testthat/test_any_of_pig.R @@ -0,0 +1,27 @@ +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate + +context("Test AnyOfPig") + +model_instance <- AnyOfPig$new() + +test_that("className", { + # tests for the property `className` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`className`, "EXPECTED_RESULT") +}) + +test_that("color", { + # tests for the property `color` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`color`, "EXPECTED_RESULT") +}) + +test_that("size", { + # tests for the property `size` (integer) + + # uncomment below to test the property + #expect_equal(model.instance$`size`, "EXPECTED_RESULT") +}) diff --git a/samples/client/petstore/R/tests/testthat/test_petstore.R b/samples/client/petstore/R/tests/testthat/test_petstore.R index 951eae6d92..bb3df6fd16 100644 --- a/samples/client/petstore/R/tests/testthat/test_petstore.R +++ b/samples/client/petstore/R/tests/testthat/test_petstore.R @@ -156,7 +156,7 @@ test_that("Tests oneOf", { original_danish_pig = DanishPig$new()$fromJSON(danish_pig_json) original_basque_pig = BasquePig$new()$fromJSON(basque_pig_json) - # test fromJSNO, actual_tpye, actual_instance + # test fromJSON, actual_tpye, actual_instance pig <- Pig$new() danish_pig <- pig$fromJSON(danish_pig_json) expect_equal(danish_pig$actual_type, "DanishPig") @@ -168,7 +168,6 @@ test_that("Tests oneOf", { expect_equal(pig$actual_instance$className, "DanishPig") # test toJSON - #expect_equal(danish_pig$toJSON(), "") expect_equal(danish_pig$toJSON(), original_danish_pig$toJSONString()) basque_pig <- pig$fromJSON(basque_pig_json) @@ -181,6 +180,49 @@ test_that("Tests oneOf", { expect_error(pig$fromJSON('{}'), 'No match found when deserializing the payload into Pig with oneOf schemas BasquePig, DanishPig. Details: The JSON input ` \\{\\} ` is invalid for BasquePig: the required field `className` is missing\\., The JSON input ` \\{\\} ` is invalid for DanishPig: the required field `className` is missing\\.') +}) + +test_that("Tests anyOf", { + basque_pig_json <- + '{"className": "BasquePig", "color": "red"}' + + danish_pig_json <- + '{"className": "DanishPig", "size": 7}' + + wrong_json <- + '[ + {"Name" : "Tom", "Age" : 32, "Occupation" : "Consultant"}, + {}, + {"Name" : "Ada", "Occupation" : "Engineer"} + ]' + + original_danish_pig = DanishPig$new()$fromJSON(danish_pig_json) + original_basque_pig = BasquePig$new()$fromJSON(basque_pig_json) + + # test fromJSON, actual_tpye, actual_instance + pig <- AnyOfPig$new() + danish_pig <- pig$fromJSON(danish_pig_json) + expect_equal(danish_pig$actual_type, "DanishPig") + expect_equal(danish_pig$actual_instance$size, 7) + expect_equal(danish_pig$actual_instance$className, "DanishPig") + + expect_equal(pig$actual_type, "DanishPig") + expect_equal(pig$actual_instance$size, 7) + expect_equal(pig$actual_instance$className, "DanishPig") + + # test toJSON + expect_equal(danish_pig$toJSON(), original_danish_pig$toJSONString()) + + basque_pig <- pig$fromJSON(basque_pig_json) + expect_equal(basque_pig$actual_type, "BasquePig") + expect_equal(basque_pig$actual_instance$color, "red") + expect_equal(basque_pig$actual_instance$className, "BasquePig") + expect_equal(basque_pig$toJSON(), original_basque_pig$toJSONString()) + + # test exception when no matche found + expect_error(pig$fromJSON('{}'), 'No match found when deserializing the payload into AnyOfPig with anyOf schemas BasquePig, DanishPig. Details: The JSON input ` \\{\\} ` is invalid for BasquePig: the required field `className` is missing\\., The JSON input ` \\{\\} ` is invalid for DanishPig: the required field `className` is missing\\.') + + }) #test_that("GetPetById", { From 8c0cb8b0aaa29f7bf08b9b03b4f1eb2bb5c1bd85 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 7 Jun 2022 10:23:05 +0800 Subject: [PATCH 060/212] ad fastly to user list (#12547) --- README.md | 1 + website/src/dynamic/users.yml | 11 ++++++++--- website/static/img/companies/fastly.png | Bin 0 -> 24298 bytes 3 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 website/static/img/companies/fastly.png diff --git a/README.md b/README.md index f7c56d5f4f..367e3210d9 100644 --- a/README.md +++ b/README.md @@ -614,6 +614,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in - [Element AI](https://www.elementai.com/) - [Embotics](https://www.embotics.com/) - [emineo](https://www.emineo.ch) +- [fastly](https://www.fastly.com/) - [Fenergo](https://www.fenergo.com/) - [freee](https://corp.freee.co.jp/en/) - [FreshCells](https://www.freshcells.de/) diff --git a/website/src/dynamic/users.yml b/website/src/dynamic/users.yml index cb439efe16..9c93d2a153 100644 --- a/website/src/dynamic/users.yml +++ b/website/src/dynamic/users.yml @@ -174,9 +174,9 @@ infoLink: "https://www.emineo.ch/" pinned: false - - caption: "freee" - image: "img/companies/freee.png" - infoLink: "https://corp.freee.co.jp/en/" + caption: "fastly" + image: "img/companies/fastly.png" + infoLink: "https://www.fastly.com/" pinned: false - caption: "Fenergo" @@ -188,6 +188,11 @@ image: "img/companies/finc-technologies.png" infoLink: "https://company.finc.com/" pinned: false +- + caption: "freee" + image: "img/companies/freee.png" + infoLink: "https://corp.freee.co.jp/en/" + pinned: false - caption: "FreshCells" image: "img/companies/freshcells.png" diff --git a/website/static/img/companies/fastly.png b/website/static/img/companies/fastly.png new file mode 100644 index 0000000000000000000000000000000000000000..27ce90afcb4356c9550d1ae889db005aa9767b5a GIT binary patch literal 24298 zcmd421zTKAvnUFKySqCK?(R--hv4q+?(P;WxVr`d4DJxz-JReXBB0Sx#Th6RHHM+bxW2j%Y%3>+T}>R%WPOb(pje_>T{+W+DJz`!D{!65&O zqx-k~=aBh({-yqJ2~hz4e>fHZ{s$Ypx&Y#TV6gUo$PDt}+5Q%APBJ>KU|xwK z?=SpMGc!5qzbJ0Dg5=r?%B13sF6N|MOe{<+o#q|63Czw{mlH z;$vp^^z>x%WM^`8v1DfD<>h5&VPj@vWBiN3=<4m@X6(i2;7aiyCjY}n!rax=#oEcu z+R=gZAHK#Wj_z)PPdbNTs+Uq+6WebooyIKWlJ^fXC>dm6V+de)nDF;kE%Ow{NpV6ao$nq z#YEg$_q*zZc+@3o&kHQ3W@Nmg0o*ufk}_)m92)5xtH@~Iq}x;V=hL6+rw(5qpR&ZK z*UYS{l4DSSe*Kx&_Uq!6)<}IoX&M4Dcw~@xFWC;N6D$uTA>jYvsu34OfhGIROAA4% z1p`8W1SSq4pqV6CwaY*O?tD>buMA}1rWIQ0OJe|Ofq8vnfhEW}ak4JhYM-wOgJRR_ zR;eOLf78CsJk%0(K-a2|VF+8tXkA`+YaFRKa8o)_+jpDm~qod>QiW;fKTz57O!BR$w&DQ%-DYD#l`b z#?U1a%vkF5RFe2oalcN=Rk&1VuQF!l?$)eOu61mtc}rF-B|W>cStDzGZy6Y;H^i-? zBQ~T`!7=%&rd4HjMp==HWHjxb`TRBX9H^HFc!|By2~r{u!j+W0zVRf?r+6lm=o&%& zM7w?rmDvx_lb#JARzDp;IZsZeK^=jL6j3AZ(QckdqG}@ zTmMz+)A0GO9%2P!$J`h$>*ksJ1}uG}4|$aCphqhCM)Ko4JQL;RI~ybO(f}xs<*%&> zhmxhyozK7GMVeMeC)o5^I#@4r@{3!ZTxMPXrE@t>J%l72n?WwtWw$W)r0v+)F~9Tx zb!P4n*Mi&A6$kzAWyN;^ET15`KW!C#`i96*q45_Ve303&;D)uDjAKKYg4zgJ*leEe zkUmzZ)`6v6lgVEcLVM&}TNpGe7hXr*)S#a;IkIrSt)l8+SI}KD-AGZ)aE!xuh*w{( z3vOz3Sm9dntUZ$> zP29iUcLrwh=$EQ}mpSWTdZ3NZS3T{vPKdYRB1W;$sW%zv| zw1>uMSzV$iuV>HuudGdX1SF(X%d^E!t%(SHh-f3Umr1P z0C{01R(vvokJZdY^pzPI6N@pqLgccDF0e+az~q)CKTma-Aeq5;`6pfPtI?H<^S^F| z3e76BDa1pjHlV$^}{hBo43PyL60LNGr3je=@i7DcW`9#qDhv?)bU^UwE!I)K}(-drA=6) z2Evrv%gPMc=hJ{#o^Be(5(l_0gOK_pZ#@G4yVi~10r6PlQXnc^d1v*-=bckQv9M-H zJ3oCM_a z?F-_z_+-R2S}o0-7%_sAXhx!3wU+RF>6Oxop4k4k#}6o!1I-ubF=%O;IhFs;l0!9( zZC_is3L`ikKE5Lc@Nj$h-~HnmZKwd{os01;r7gi2^opJGfUq0k7}=X7cOU*(ENVi zH@O&iTDZ25;AW+3ch;pcQK-;|;i>9o$d;(~o`1KBf>YFr>Zb9G?$SfrIQNX$BHB8+ zCKdYj!pGU`r95?OFYDzGmSOpOsYa4~R=+vrbi9KxL4#P9Gu_}79(>41?$;0eOfQ}< zB0;+$|Bj=T6y#ZL4bLzuPmBeg#dZ}hof{uwZP8wR)}&=Y^M^RneLQ)y(KE-UZB&E% zxrzIrut7ZI&}knm2$aj_*7x6yEE_i1ho1iHJx9WvqLI|hHA7P7cv##sY1sHl(UIB-tMw3YO$g>j^7J8s*W@fy>cB zqtkQ0%XTP{gtpXrzC5Hq@eR^4OrD_CLii*vZ$;WQUbTx8VvOnnb(F04@vL7!ykKhF zhJPm=E&ib{kKdx(XT{qL6c>5lYD~U!&?Jo&HDQ1+j09I!T`fr@3&OK`up(s6v#_qB z4)elajKKUo1Mw~_UU-t!X2(!9wG2A>cT=~C6ZxL5p^Tq6P?ZU&h4Y`~d{5aMPjB9{ zLQ%FWCseD{Y|nk|va!~Wm^HqaRY934qp1U63#*+k(=3igscEt{W`7y}+pkuHfOr+n zZpGmiRY^vuo`4xm?JRU$-v(mN9I-F4D*G6Jobqtu6cKB&i)meO>oYa|@=#&d)+}(a zn=7{nYyVj!`e;^hO(~UiXO^8Yq#T7QM^XMv^Kp_z95)mR$Z(Npl8flUs+q_8_DUa8 zGQ*&=fA!Bs2=4H0s8G4_PgjhX*KfAvNR|@?Wgf=Nd+MsGXejj@Q#DQ_(w&5d+&z2M z2!`M>kxQ(cwb1Wk>-?XHO zqfv;({*tG0*aKF&?0nj$uKaCe7DPHRfume0X!$I;8x)risr&R;=5_U-d7XI)JDG0X ztMe5_9oR&tEoZc|IDp(<1yly))S_7-=M(+ZNKf(|`*;5S-G&r(INOCJD(~+h=iT{2 z%EUwkrpub$tXtgh8#1XNfEWM~FS@{uT=+?RhxNNMq2Pcovh^*6^m5=HL9S zGS|o1`EQJb2VP#2UG;c!Lnn6qUL`f|s(~uL4~Fs_fv8kY-GVz*)D<2v_|$| z3j|jasz8%TldgSoau)LqW#?x%n%LLzCi|RC_04%xfAKkx)^rK^1dg*SC)W}*^SeDT zOMcHLU738hx)Ixuk(JI1Q?@cA0}j6m@(}La+9sqAVMX$Lro|#3SgT;L^GmXZjxA-OGgcWF&y2Ua}NvO>_>J z$&pJ>GpDS5JzwFbs~{hjm7wUrBOEmiF5ru~yj}c;vcCzVasiWeEDUS@6h%z9kto4- z;zc@ski=Qk2p?C>pY;2md7{kpcjVJ!)x*4Wf^D!OVA+d*h*zKpLV%u{lke}yAeAEC z_>jdCdDCrwOtou{j-QSm1ssld(|2z>B%`Ml{}t+^|)*r<`SkTJBLP0`6fAxJPg ziz#|UjIo}Ykf|GlYYh)|`fX0HD2$n!mZH;Vi0Vv>$=_k6ou2SWon{=1BB9Q+7jkil zWHE&A$};_W!zgN261Aw{tLP6u^P3y6^a}3z0y}5s6H@j>o3=I}V~Kf%LJse*fn13E zTarjX^+bonaa9p=9(W>io%~OF(Q5{IR#YR=pbTlZm8#r1+agFJxZ5zRL|t*_c-nGb zw|MkRR;`kK9Ul&Xj@#!w71HKUhNZ|32-)QV3)PN>j?ga7An>;uC)lkCf{~!C_gL!n zWh)OWFVdkq!R;yZ*)|lBFCN0r)kY$ZOPqb%zz`2^xZNAx=dCT4>%gg)-F(A&m57aFK*?(Q$O zP%v7!wa$Y_rwU%Ls7FC*>8ic<#;xUw7Oem%F83?ISTcn zbH!`MfmTjFbHS0kQd~Ti@V0EQ-JT-I^-=NxT;RpnA`nBe;6i?n&twO=n?Ov2(h2uuIQux+G0Py5X} z&(U(+`<5b-+TS&k55}q23Ua$bc)Yb`e$Rt!u<%;(^x%#q<$`{gKj$)#lsaJ|1{frL zKwz#o41%zx9aX4jt0RB=Bwdl=RIR;n+@@5oUh=3(t@DO)>1t3T6?Ib9l2M%eep?Mo zspsSnlW}DwZ|XTz@WhE-W|(fe9~M#mJCY{w9O32H7GtRpXzYwieNkr;H6%6SUk@rm z$f}%>!)58;xZhv|L7@{7HK;UompO(}XbV04C?@5wf!j2Bh|0*%G8MMo{rHn3LZlSx zMvsI90um#G{Mea2B0__kO0N1BiVH*GJ{67?#J2t!Ja4TJ0bFZST7~2|q0GQjxZ*DS z8j8)D4b(e36?jL~F&7W5Wpa0(2RN{Ib(x3(FWu-kTKON?+d9NNki8uh zSN`bV$6(+a5hp^#2(HJo+Pg^1y%}h~Fj`enD=fj8BORc;h`r09-0P!{4vwC;Gy>_H z0|dbg8=&_*iSP~hgEk;V_zMu13MXR2?dy>M^IWL#_H^o;neyH+6j6iKUz#2JeC;Z7 zBh)bT4BOG>Nl5EDL@Ywg4OO2!Vq+;dK9)ey5TCY*md|2=#ab0s^;RnJ=V7+qo7^-asqoz;-9$*}2 zE)#+9{S_BFLM=v@S>&rXSDC4jNC}zyj>w{4=0wQ>k$0#)8W9(WICD?!_PZXW3%uHn zj}h>J@^_v3-|Ul=T7Z z7A$zYqM1H0wVvn~pi^7Ne)}o6fBg5(0v(m1e2LRVa)*Tb=DG1L|E--ULp-7OI)-&B zf^ee2erI$UEfqNSlREq}$^9*R`*F+i0rX_M3INJ^<#|F0CO5|c!oTl^{IDmJ1Vhr4 zotwj%i-3>+`jWnPm*Ldx0AXSH2ilRt`FesxK}$*?GI+Go5AIEE_&ZUg-@&!Cz_=+^ zz@tOZZD9Aa;z6eNvcf4&A;Vm8!+gKQ1t$6OQcKhPL2^pnvv~_Xhw^%I<$?JRD-`?e z%jcx7OuwkBZRS4(&87E`t!l3rp5l?dl(I&Mbiyaii+Hkz(It zfFH`~x8iLQ)bJ}v6-)<8L?$J-0VTJ*_dsQxRf9l~lu9~g?^376HG{9VR(grbUHgvD zsbh9)IU!U)2i|-@PGQAx5~~zB=X7@hUIWW8e)$6Ha#xLvNNH1$7@d`H!FMtc{%PE} zef+1o=AVg%LkC0wMTb2$QH`deGODIx6`GB1bMrc zAw6Zg63R-==b>B=JM*b8qv$zL1x4%1Dp^xg#l{a0Nb-^&(TInaqosK13kSEHhQ+_; zBD0NM?}uWl1Fxm3E7)=!nk;TsGhKHgin#IVxd4!=dRcQ;km;^m(`DwF**B71@ZqTh zcVYg`F*f^4^XlVosQqr7m{{e`6(xH^?o(Xtdr%N<6JA;Ymn2<~Y82D`EimOaI9P!L zg5ND+7vxE&*aD!OT-qa$P5wWFfThU!jcw|(r|kzUg(72R&M>F zE^DL82Q@lM%O=ha{T*UD)SL>W=A>rED5X&&0wn1WFT!KNByXNh4q_Ii zJ)vE*mQ_^0^*lGA>+Dgw5VNV(6Yt0Orve)StA^2!pX?+)%=zWLP~(u>1nk2W*}_+| z6F8(aXA_3art#fI?nGbFcx9&~!6OpwLC>jj4$trLO2?WXIdX1aPX;;7=nP*BSTZ{} zT|~lY3G_i*cYcEkz-Yv-Y^sZU%B#9anTFQZu&d=K*wSTdCA2J%9`A&Z9PcJ;EQ8FivvA;TkA~HV zbD1<3VL2GzI4Kw`%)<>TzZ1jx>xw>(YEyPK*?1`hV?MdTN%M!lg!SI=Li9vFb%p0( z)bO5ebP-b=LJ*nhjCbM6GD1uV$HOPkCoOw_E-)a{%p~m zdsXQehM(6R~Upx7%VRq)+B=488kwZIj-^lYmV@G0C~`Yg1K5&3l;! zU8;4Cn@08Ep-43iKUVCsqq9MNV^<8ZcbDZ%) zM52-dCboyH3+T!=Yp(yWcE2vbKD2x@2S(R=bQ>1((^5lmiv&dcxj!R18O@lAug0(; zUY{ORCF{`HWMs^{E`UzJT1^{c$X4NM+?ErLzk&0f2o#91hd1U>+>4>FCrUgFWIWMIG@U zKob7Ghz*S*Ho3fC(SjWGHjbMG0F@ykl5pr9{js_?zgLtY!0MB*U`@MV6gw+Zz{@)p z50+rwcDb#Y`&Q8Za<_0h`la#1Sn6kZ;42$KmWlvd@p1~Yw#4Z^(xXw0Dn#Ut0~buO zBH~gtJQeV9H81CmttT%9l1SPiz7tXm)7nqOy93a|Q^k+(KF+nfi!CK4B!N z^Y{9$1{?C)$BY2Z2;7XvIk?phpNmG;)`N;b)yjLII*CBxbySja#6&u7$?T8ojU8N~ z_+kmOD>L;MnLda4$M@>sWyfIrMC0Ht@<2!qE4yG>=l6NS2;Nx=)tXk@c^fy5o-nfQ z!F)RmFtFQRg^^k=+20#E^Om4zewYS{ zEcympO@hPO2(mZ{r@RNMq-40Ac{dQ>s0esgd=8+UK2}|VsVCQ?>YoYTrtSRnWcHK$ z4Qf~S`#`o_NHiJ$B!Q@>Q#qt~i7WOgbERiFx*?$wXC*e$c`kb6n(?G@*wz4&r5(E9 zHNIR3NOHjL7Z!0)?^Vp7^el?M3p1w+2jckH!*u1Iun$M;;;jxcni>TnPBZCrs0aP} zz}>po%$cE}*dL!Dmtwj7S}DS5RhfQBylChIZEM z3{6;^FYPac@j{Hf;dST5(oJ9m&+WBPo#Vhw7a932P{2ebhaQT;n-)8a(6#q43d}IM zAbZ2H;Bd*yBWNo5;Ynv7o8xWQvhESCw6rm6RBMShXrbEuF`oYU#-$~CJ1=3rnK87i z`X_4gk|wu~5t#GrXD2^Fw?F)c33E|8Ss(+NJh6_as-F-;BIfE7>-nmO)Yh*xz+V+> zydvobx&Z2RR%G)Xy4rX@2P|SDaPPH}^|+YfAdol=m#TmweyaX*Wup-0PXH5g*;R+F z4R61m%$F;^Ye_#Ej*+q&nPSuka1$BFT`WQ=>QKE0HkULR<1pIoujWb#{r9r)VtH}} zYev@hZ%T9yJ*;e>nz0}uk2O)#gz@Q(gst)8g)`GSq(nQK8`8mqgr(f*)}{g9g+U$y zRGi0jxbo)L*MP)&;T;&wSY>q{zRij!QR~{^BJ%~FGO$cVe}Iz14?FZ)ZylRZj>!hU z?>+_kHRfU#Qj4zYm?RHBKyiuXw=c}y2L$=5l`i4-3W_!k+pqqMDP9VQ#qdCmotyEbE(!dC%!IEmvt+~x6d~}QG;<8(84>GXDU#cemqa-|a3$h+`p#VOef$S$QkSpH zVr=WBNO^s)ZQe-T4VQP`VQ&YyY!ztt{O^-F$x9D5FBn<6b(gEH9uLq5kr#VeWw04| z#F}M?Ir5kkD&xZ)5jw4PDlldY12&=VFuT))5F@ESHH0?KQ^)kGu_=}QNiHR*^JwV~ z`iM!TD@H*zU3f}ceZF3zH5(j9C#=FBX!3%&A$c=kQab8jxovq!g*7f(>Zpta-qxk~ zq9^KU#jyets7CxI{FqHRt&buzPsQT0=2)$pNyh*+SN|WuuHcH?<1XQ5*wZ9G{LRb` zV;%fi*WUPAK6#ebk}Z}>H{yLx>R@C$<+FyxeO4=Z%&|lyrLZCn_3D?7gLHImoD&4H zh!w)D>F!h*ls~e%|NI^?CxVif3Rm-}RlrETpYU_9Xo>K=Qm;-}jd5?VwM^^}X|?j} z0}7dP$)v>MtPc|!zA}~aMuDxNGC;F-6iL8hi7dFp0Pi!z>$+r9bi2D=TYv4fL@|`l z0WOaxsPfz;@B_f17@Bdnr@-QC?V`4RxKEo*<3z{8(rj&YKPRX`pJUtA|_ir3wZ4}t~YE?2~0 zDaMiltDbthK5h59$8_HpTFR9q!zW7BLA9pM2a*)&AF;b&Qc1AU&JUt*Q>gWuHi)!4C;h5(6U;!g7 zww;Y3=I zk8*qsG?qA8M9|ggv*+E=RlU$*^1qlIN!XdPo;_qr?mqGGtuNgn5DAv2F3V6OvD75_ z-Ow-v6P9sL)E{YppG%lcG9Y56z#)zW#)IIl(1tfa{AX!mTsQp$WhD4E2cHp3NgCQf z^C<{+5-D|#-rn-B0SC|84P|&3vBP!j$uIRh;u|@EFz$n z;cuH?TSfayIPX?yJmj_1Am%45Md#Pzc?@a-_-R&@rWyzYI>yXgdU>n_tDM%oY}LMUtB;Oko50Ua)m1IA36$qv()3TA<2@#5v7 ziPOUj$c@n**uxxRiCFwb+Rg~XUe}d)?ru7Yjb-r|p~`t&m#eoBUKnJ%!Xr~ON>{&_=38O`TlMRJRh6-mJ-2U~4r5T}13T51>8WoUJFV3XGKNZF;Uq~P$|6yBy}x3>LgiVv_* z1{lvpl?FEfT67J`TtOQWTA?x6l9I8)ae##saZe!gi@QSQEUZ9RMj43A0lXku_7 z)MDI{2hizs4$e%|Jxl&irBa{XxNTpjgbs(MM7#Jvj7lph8gcf#6CUeTIu_4h+kjKE zj)Y=ku>!E#n~fLyzK zfU_{)JB%bxSEPM5Uqa~x=*)cadtVU3xs9AZ{|VjFgbf;!y1f7D3a@??7JFQ~g!fn( zmVB&Nj#I+Sx>NsPTS)S<0?Wd45U=%w)U67OzEwGV@smR_#HnfpKKMd;4U;S&_Uk9g zxDAYy)N23^z`r!;HP~fn!7##V2)CeiOG}t?x6O2&ZZ}VS~4C*gz^|9 zhc9NFwqapU@A|CxS2C)xXW_koss=qfr|?xppNwnALD&dHV)4XAmh$nQ)E`M6@)H59 zEPdwtIjRZcYW2@ZDdM{lheId{ad72GlHSe-tw`_>`7HMBFz(LHs|^qO7Vnkx1Ds6U zlCTR$BCwF|jEIcbCLDp?BI-YH0M8imtBc`TXt?B^6Ly0OjWb0KAO;15sA) zZPR>&htJ^rvY$pyI82tErk5rlLgz|)VpT0oBs&AG7 zM@?1L`J5zEe^RrwL{-%!{m4a)j}73=Kd-{3|oT#mr&emk_Ma zLgR4zV7Wl?t>67Bq=hE6JU_h*qjcN7Dk}qRDqtY<$AKA>t5FpKs<>N;GBNW+5<2Ak z@ODi|#iA$vGWHjQn)?>Lb{89=Xp50Mxf$4YjHs81bl(FCiGNs*sKzy>rc0E@g*RgJYC1?yWRkj{F>QFm(nx63^<;)pT4K%K|;m%17T_%(jMAohILYVpi;Bz}SS9DRtc&N}yfSAc1THTzF6Le5v-I{$%h1uhoviCeQb9Ia-}l*x zd`8iGf4`z^V3OOI{h;tEjyCy)^{MS zze$z|eoJnARZXTv0m|EXZ+WB{i8cnVW)Kscq7EFQ1syJR5M@Se;SI#bYi?|7tVSws zcicf=l33ho!^_W1RUiJNahgH4U%i0AnMqWH4>K2e+KDbUg?;ljf4pdln3;L!ab4IM zrreE9CTmG<20G?DHq+!`79eu@8wZ!g2Le9z@j+!nwtE;>$|U`H5&+Wo=N#R_er5aR zK+6ujj@E@9OA10W0DMOJ~HEdj%c?4PKH*i)+ zHLDPettW9~e`t`dV)2cRj(I|8LX>qwx2_pS4JW9_(2~nRXq&D^rlKi+krC3*YF%H~ z6=g>p^&%HO&c>^k!+vC9o_VBY3!b$F6``kc$n+~1qlZ4oezkcPJCAMxeD>F3Gz}s> z<+NcD#0Jf}x0G~o0&zJud4H<%wWLfxNH++qn$Xv+K`CwC_Ffvtv4MdKE z_{GB7D8s&-fnKGEDm9)T0H0IeAQblU(iZ9v2O+44psKx~;Uq~*B0T`kOvyCDw^S`* z+!%QwRtg(tUoiJXKC=9D|4tn3H~+d6S2;lW{#E{_9HSl%Hn;9BH+6Zf3(Y=glM9%( zad#$Xg+xzV-wvJ)K1^)qyGW&#(^iDt#HGF{yjUSvl4Q~;En2BUTdBs1&ZF@X>yS+1 z>r0OZr%gS3bWC2w$bRep*w0fsNEykg1hAlOdeO?mc_X_s$D28su2#1pSh=Ycd8z-V?&CW$dM>GoiSLwj!uR%gwt__8g0EajvHi_&SEE?w z1Ib?^m94*y2+W|3xL0*Khg-}aH zr3(4r;<3lc(~H^cG_}@jj^0y6lnXyI`we3}P1tI7Ot3;<^5P!7drj~(haSJbzPlrZ zY5V#Fg7IcC>ypmXx!0WWyijh15%_o;%8CHR5HQCLjT7ELsPhm;Q!u1E4q{czK}|0t zvYqg@M3jiYP(k6fb@aFe9!V_FTRLV_OuLDG^t&7b#1!lw+>aj+`Sf8P)h*i4K*kJd zAjGl-d`aRuL9gdl0AJhdV7}baTzSL|#J$?Ofzx2=LQh`8DM7!y?|6mG#;R?HURP zF$*>HYGAmooi3FchMtC@fb`Q}p<+J7qHyt0%Gn8|Qzw2hK;G|=TA1z}_SKQ3mYcxt zz|?A0$35}M+VuhO(O3@-+^n>Xu_(Ry@~LIL66R~@i&wn zKzBUu9R@OL+ZvzUPdp1Cxcjil`w9bw-03T_dwmSi#}RA;$&DL4DAmGGcgFK<5#0?{ zUUmt;-LzsU`g%GU3s!+uMSo6Adi%I;9QO2Nv62zSZto__Q!=R$LlkqiR zPBMG^ZJ(`zfG0ficE*UhLFqho9h`<@>)lo4Fp%nJ{q9AQwye?Kt$_6C7+n62Y|d8S zKYHGb>-~-x{}`~7q-L}+VvdCiF7||1=iDR);pq%jh+fx>zNM3L5Nxh6K<|v@j9i96 zi;^ZUpgX#ZyQaJ}132D2y@P7Q=DU#Qx}Hp!$T8Eil>U0_`Va{C1RLJ2pF1K*QB1|x z3^R`_9U-CS`ciMk_IlER^nUhjUuYz15eHTfTLplVnUE06+Y>M0T2{VTPVn+82{{+^ z*BkO-gk<00x;Am6gddusWUE6?)c&x?2qvGe>h#zQb-APXBRBZ2@|A$gqUx8jbGdk_ zFh;Hu8w(%uIeK1&P=0oJ%$G8YB)_=63UWWfVsKJ=iv;&GX-qBdfp@Fe$p9Q)--I5wRJ@uM|6i9K=ws*4y6_~xQ zLNY%ghKBl!W^@iE!^`Y9<928Q>QZ^mmzmYJ`qfxoebD&Wm+Sf3JlFMT1_lrkaWznz@E%@l0=fs(D&hxgf_)=IAEn=Y*aqTWv29?p)g?! z2d#C%O+WLeYb;Drm4jgv;MlOT)HDnes+6q14fzIA8qafWH5;2x{+$mqOvoBn#p8l8 zcQq%l7z93&I@%ijIq7R24s5Q5J|Qd2bBI7SahEjbDHC-lC=a33-d7b;27$5|LMK9B z-_dqsU9uk4@&($RlC{zZU54eC?g zxB}nk66(jK0=+j&+XK4WV!ukdnkM@K>lp%k4L?R)_e@t|`wrSylr6!S*`*01eXq)k z{g~e_k?Ji~l!|y3Q4QQmTlM#eB(L-}_d^jwj@XCU#RFd7VgU`~luuoJQ5X1?DLQ$v zNrPWQE04V_M9mf~0_xF^Y{(q#;?&j@NOGH+G|aN-=Wk8r;{_A)V6w;~Dn(>-=Yul| zmaay0q^{C9qxtg8!$Qoluo87fWUhV|M1p!M=Hak^df#hd;xI@ncnQ3pnQnuVu_4O; zte9#IqYWk^I1l#s)APAdL3h1cA_n)cSn0M?+~+RTM+(AOsVk~`hkQspXca;bFPQJM zOp{hwXP9re$A32k*)CrJd0Q4Unw(DeJZ(%mr?s%9&X& zzcQsgR2%7+WN45)Q(>0Ix>wbk2#>xP`EZrcVt+ADVzBsQKA2Og(otItYy_&GHLW}k zJrS_aJ(%2Vs7{X~hItD%=khWOa)gN^7}ua~vjNx-+=%YUgbP)3vl7sI)><17Eqy1k z&^_%AYi7ZlBWBRkQMaeNJu4Z$ubFP`%YBPSpst)Dh#oA>jQr@l=>On=sg)eV&8;=> zfQN>>crgy$ZJUkafiEbES>ultTiftm-qD6irec+^q((pVNGgFqC&(O@(1(eRPg~7E z#rK$+5u@rxpon6Pi#VAr+UQ`=FdI+cNo&^d$^|T(A>$&y%d>5DQk>B?V7@oL|4!2Y zqsmHX^YJ?Vm6`C8?!_G?)S7CjGPowarW_irq!w)CIDmdpoU~8I13#Xq=fw;kC1(Xa zoX(@CwyTRUzv*^su{i6^y;SjoUs5B=N`6~V+*83Bl0=F?;1+y;>xU{`L`Z{rm&>Ux z0~!us-HDIC&^fcvgFNGEjKe>$;aVcF8gWxue`dp!*W8jy zO`zO7zajFGUB$;Z+P|J6#xoU&bQu#mf9L|ojpSr?CfFGca8ODA>I9qrruX-$QgBl$ zkGks0PUP&mq;lLlu8KRKWO}0Z#nXs5EX!;~h*0>NpgOg?vv&27d1*emp@*YQW~&V` z>*0o?4a8xW@;(o*kDq&KT2eO~a2)7` zx}d&}QsiJ|c2W7$9rdwIY(^LXAe^A!^>PR{Z!{jo^l@se)8>ca4T1rlu-jC8zA9Va zKsoVsT0PbjQ^C}S81NwhE)93tPGT*7Wg%b@=EvN^C&06wPivRy=J`>)$_2(I@6IQ| z$Waml&-fpXp=_B~tY9T=!g&nBn8OW~8lMTs$T+{h|G%vASvo2 zf6n4+&2ig?sA)oJq?_~EGxaM8_myiRQNUr3w2<;O!_i7Y4J0H?k;#4K_(M{uxmo__ zwY?s|iN4w{t zem`zEk5jUKwkskS;6Po7{gxLj9etf1Q(t;p!PAFlkR)gee79L3GnM3|7b;M#l&0#; zBgQl>GeU;e(;?rIw}$MA&U`Rpy9&fq+R8hmpLiPb%3o6uigGNdpd>?0Y2`yw&HILP zE3gKvad3oORwCAc2WyemT~SQ*1~jq?_l9?7Le_z7rN%eGAQIK?ylMCGvx1_++U=P}i*~-u>l2 z@#n^${$R{UkGrbGv!w#Ox`e02k{MWaErE^&l@YdwurGSGXtAH+PHIXwGnht`+ndm) zSAKOV$dalo4j699e-i@(5Oz^`eS;a$@s!xrVC&1j=C9`}=sF4@9DGjAx`j2Yf0S!> z_o>Kua(^Z1Bl*&>UA0EcVU1E|xgc&rWg|ULC8fz@#Fp2~$G*coca5VhEeJoAD~v?b zGaxEWH|Qbfpm(J#ols!9;8J9B6G&k(vl1zF_d%C@+y?juY@ zec71olHrc)RdekasyEPAyYmyoU*up==UdB#KG=ctBLvZ&LLu`>Oa+8_^NTaZUtjbKzDlbk1*-M9QI}T zf@LN6XVLQ(tt~Bl8IrP20rx8qF=qNbF6oMJk=q`C78sCdTs0C0tN-`gqskVGl37~3 zpHsNyZzSMIPz-Wo?&|xF($dzr#A5X*BOb(IT=k%n$pw_jRM{Rd~!T7 zn_Vc*Jp~=V?bSdwb5+2&R zSPEJ|ydpt1dhZq*rOtbKdVXU6N!>~`_|Ph7SrM-qIsuZv%30DEn#UxC2-BNYMzuE+ z!7FgV-U@Od54VjcDB+W|#9=yDX^FslU%=wmT{<)C1IJBu*;>8DFw?JG;ahUwjkpB2 zk7aJ3gjtKs3+6QT@c1_l@T5S@{QV(wdu z>t14pm~F={ew{}@u})~g8)uG;7v40?NnjS3Y6dNhma}*WeN%a6y|!71cIgQW)IPp# zjR?&2)-z8`odmeWefg+%nvPinC*S)atgzMdiiKZM!5djHPlUCS1<0OdMZ4#~fT;A{^Y{ z&l`r}+jR&#!^6|7h^D9zE%q({2+5;l^mRv%cY*QoW+nV>j)S0up)O!$%c}Ivo3Bjf z?^nx+`!ztBx4}@LtC_GAP>EEMUM7??V=nB#WK>7Y;JlLdm-o&Vw<%;3;x>>_WuU>x&^kDu6~*L<&~)S%47Q_36weDjkn(6SiJtCvdn{loTcz*WJoK&G z!+tF;;Ye!iwt+g(C5`fOEb=T_6aNmDR??NBc@xLKZ8DNHCTg{{Gn#_C`k;TEjQhmD zXw7<$%{7k;-xuZWay_;`EGBwd8>(&^HYvwX|IYunTQzh>@&EsFO28#uAR(jC$vvZPC=Gz-#Q zN-ZS~qU3^fx1=B)OLuoJARQutG)T&VbUt|h{x9Nr0dvgEIoF(XTyuQS51u1ggmBWTp#?c8^${c+S+!UC`Xoir#{IJZ>W2;yg^b_}OXaXx zoA`BfbWD5=^arLnRyR>#BXg?NHUS6r;u#Uv z*XMC_*BqiJST8^Yd!77jbREw_CTaO^s*~l`+Bv0n_LM4lyeaa;1S+Wd52wgaeF6PA zWPLg!#L`@;{U4V)R9izahqSDX?sq!%FPymWd92W`x_nuwXm{pCJd7;emM^+`bPq#$ za~CScKfil-Si}b~Hv3b4O)6AEF`s%(1d+b&>8A3q%+|+C?Ss|7Zr(T%OxK}jMtXS< znR0zf+w1B5bDvId$6r{7&HznaupB8qa;AP7dUF-Y4UG0B0SV-NnCjKM3dv&TtD?(al~>kVfa}m&%n2 zwya<&j$=3adKzNgRZ^ffj==Eoyq+4MnpB*ODUB8GX;B{3v|Sj^Nw_kKc+*W!bybu3 zmj5Q9NpLDZM(Ju{b2mXlc7`_8XJd}0r0jqkNL2CxHS$_&jObSsmT6-cxluo}YP2N> zEcDc(*KrP8n`caF{p@I|&q;W(g*Qzg4pL%uVkA)6N>p_?nIecqj5DjLVw%quzB|e> zmW$Ev#I^tTKp;q|jG(({wm(8Z*D+5@mFtmXHgMT>Y1Wakl|Wlyp(IMW({_U|&IHATY%H{}IY0yJ8*%$}0#gJV!5-nMMcgS*SecdR3#Z;i@c@>X3s=gIUFpkZ=y>SobL8Dn; zUP5)MP*F|S*x$!p)3SoU;5O`>P?{1AOgHaSaI6Xx_XMo(!TTmWdef3a z;~O^qMqhd!oLZEYhXDKqK^ir3b|-ZnuNxY$vpJb@%=g-=cZM?RyqBeOhM+u7z6$ek zJ`5Plu)9m?8rwKRlCpArT*UGKkU}r6PG|g{OL;!f)=c_LLt2zD9p40@t>so6fDzC6 z6u6bO7od216j7GUn2Qo2o;>>b6^gXkIW&WAh4B0n1tRMcNhd48-XhBWaDbcK&Wr;Q z8kr5ziz|n-PYIYlak-jne%>;x0GR=J<2#k@#2!BIk8XVQKGi`JF3ws*}8#DZ=Y3SWH$u#p37N%7bW>oZ%Ngq?%_AS*JU9J&W2uKT8i5>?7=zT<<^K`*DLh>p$wAjurRXo9N(! zt?W3r)_t(h>iwJN38Ia2#ypVPjVKG311P7~*aonT*4YRx0wl^R0y+8bx&Q>y-djpa+)-x#2+@ z)XA_P$J#$sYw9bsNLbAH0#1N!PQZbbPr9h#oz7)R@@APCbUNLmvNnksU&{%i!?jI+ zz$V=n&b*k=K-#K4zKXdVkA+{Gm$~6`n#sdXcG+yrQxkbHo^cAivrWKk1CQgYB;h(S6TA z*TzRVv|97UV8T_)!OhPW@ffy0?ug`8xoeycvH1H0=yihbo*atw7!*auu9$)QG5W@q zbF^#k+2Sa#&<-r#5Znj6qqbn>m*6X6#88rr-(y6vZ0fg^iHfue%dDGH7cJ-{_W))} zQFRj?ZX;3a+mw6lmcJXiw$CtgQ?e*J~Z2pIwS_dmZ_cC8&l=O?>I z@?x`9ag$`ArG>!fsXpXEB@vW&$1!c^coGK}jW)^u% zXN2icACkVHp#1Nh7aN6J^rozqn^rv>pTbUmNG3=^Ggb-_a?! z3{gPfky%6=-fmJ`W%3Z{WJH_^%PA&liq_A-i;^)h?Pas{VxrsKb|~{YS?)1|e0!5l z06C3*K$*D}24YHA&`Wx#p0oUPj;h~$Z!pD5QsSY z!6X;h$$ZWUV~b5uqfDNtJ*66o;5P=Y4)S#l?qMwTwYpAfe2xW_a5IOJ9W3`lPM?eM z3YSv2bEHJaz-^GayiQTxQn_{SX9LmOyIJp2m70cUhm5d{qkHs7$8Cwz!%bef1pCyz z7bFA_YTK zcW%?w#E5Y!DYr$@O|K@$hKxGA=>7=HRo%H<7~wt5P7R_ke`eINDZ$7~Hs`)F%EE1+ z*9p!+Ool7i8THcO{PKyVfHNNL^7JN>`CJV#$h+)vn>WqY>|9u;N8L%C4H@F`gnWvUdSrnUUzCKFO_oSJzR!KM0EA{yW5wXzCio%8NqsNyjj)1ljad$7S6 zuPRtd&8g&yB(gbDn7N=UQvC-`PzTJ@ZTsskr~=n)c3d7{{OaL{oeb5-_uLK( zRf=H2D^x0TX}cn+Fy#ksA10(8X0HQ=Goz!WiE#c}F0zS5ltT$eZRcqtgMs^X!D6c! zJLYWFN{Kkz_r|$j+|cDSdLh)J!k*aLMV;_?B{F-Rm8hp$t2}NmfF0Mz?jds;)D=cZ z;p;|HJJdm`7=E`!Mnz)-?{OX9FjfoZZU(AmD);WtY>YQ$UsMNL&q0tqgF%AaN}NB^ zjR;W5ATmFxKi*g)7u^Hr!LGfFI(!`XClPPlYL~b8iwR9P4OA(A3D%?vZ+usBUS?oS zIMNMZ>n5koZv(AOwxHn9@f~WZ7+0sra|%`fLD*zjyO<5VWw3l8UsA@Wf5T^xrE1!0|V?N1rqQ3CK$-wt8lvTV5+$j*OA6 zgT4s>vl&Q3C+-SFnOg~n_X z{kLaa8VZzHE;X8kU)}evKky;)Q4^_hTI?F%7d`FGW`v1gRck8$B3^oYo!IX_u5)t7 zwdmJTcvmD$pmZ7ProTF7b-+1*qGev6kcQpeA~T)`yxRq?301K8L=@t(c>r2g<7)5D z7!p*3$%YmJJQ+w62mocia!+J;y3<^F{^&1aJ8Tc*FQFdwJXNPYpBI@(xnzel1ViZ2oZia z$hb4W4GOxk7{M2d^2~PzXHK6Yb`4$6927y*e2{HrM2INNAjY#I2|i3{E{UC+q4?a$ zb`|@PPE-AjTM%l>v|Sc7i_FvOH~Q5B3arEwnBl>W=g)(BY^L0WV5hA$Dji}~l9anhxgC5d>T=!yg!G##osHSEy_b>-6ShNDgSZBJ>sa zN)h$mNNg)0#Zr5*_6^TAxb`6*GuvX&3Ksn8U4Dadv62rFJNoi-o~{G}wYF{4c*YtU z=%>KrJEa8nh-5Kh7niRgTEl&ep>iFS$rIFbhfDh8c7XUK82JuPd|VgOT%kRz_M0dR z&nMBHCKdf1j^Om378(5xZcxX2t$u(4g>#~MLVST}hp*PdFD1MKY9F@cqeHFW{?-B? zoY_Lz=Di<@l79(ixnpP$o}|MC$`d-#EUO!Kz!?xv%TPP5)&mv8x7oo>1Ec`B0xW4u zTa`pfNE@-ti&n|p4u*;W%KP}|l7bh^>AZ>b1B8Pqkwt7OWzorFGJTanw22th(SjxlPm#ADm|_?n=>2o{ zs0ZeevRNZs3jVZ$bAmN9=tT;7nLr5Max`O9^gu2Gt@q0!prdK+08{!@v4uW-QtPVb zaT@g200m za!<7?Wy*#thjp)!hV>nyYF*bP0Ze6+78_U;)>Eq;1EeGPtM5wCIHA6Hl0O&@qN5up|6f4yi&b1 z*A>fkmi{h01xNqZZAeOn ztpHuAv^Gap_ov&v)eSKMuM)1fm;w*6WvxcO8BO<^sq9!tzqH?2eAtU4qFoTVfOLrugTg0C=@5KwS z9vm^hKd+&FNk0?DxVlryp^i+>yX`%5D?Ni6SX1NSTA(nEKvba6o(XoL7)fi{{G)lHWK}E>C zk6F87bQdJH<6kh~IYJ+aYTK4kxgK&kj=cRM*|`>hw%LE_=F~x zoin_`A(CDx)C)aM^pM2zFe-8p6ORv*Q0`}2>qXKv1@C!r$LJh2UXv*|vSw@_WAi(% z#`*htH1uS@PUVdv*9aLbB!)C>7G;<|&BWH84xWrb2ZS&k`x6b*!H~?BN;p;orK2Ka z8sQhhOM~~bADYPS>vk${O!xtVypqU z1u>*wu^9b%)$eN!Qyjg{VKI*g;Q5e#`TM)5oQ)maV+8+cm5evfmjRL(p-3U&c z&l;6l9rVov*DBwyl^c1Fj%2w>OFI{S{{FkviX@6-T(AgKz)_4BOg=U-J-mHo`I0ho zkz;)RwJmENa8>uzN6#%-VXJKA<4e*1IiAvX0LG;}581Ms39 zv_c;T?OH`H1@vC)sF}HsmK7u02A&wZ!0Q+kUF`ex#m3*sm(^5yy&Utu1x&~aaB$fX z4rj;>>j%!BmOrTzGF=~ApZoyIbdwkVd>@z`qoyu25$AY|(jtDwp~fQhKo@CB%EasW^UhPZlnUBWhNgdQ@2=;PJ)Z@C3Pnh7&3$zVWP7w>FL!+d96Uyl3sQr<$$xL;lc`Vzs=qH*9tVq0;oI|J9 zn@C=HD%K?N=7{mFT+*Irw1Wt)9q51 zdM1QY*}t`A`ivaEY*ySwxSy}Em$w?%SH1mL_86e%9vRL}1vAHoaq?o_fue*(*eE-d zOeeY)PtUtD{7VVEP#)6)_1n%Lk{QOKBXRmw{NywsMhKxGA1tF>*Ng_09)*x%x)ifpf6zd?uTH+Sh~JIvGN` zssF<<2y)PvgpivN8Ivykjf?KATYGD9L~vNk3+Y3R_fH zhWhp}9&^j(H)n$` z%P$)-+uc~*MaBPPD>s0e(}tl|;6_US;7XH|U3_oln~L+C6PJO!sGOl-K*i&3m7Qsr zO<9(=5o*=cKNk<3cxvBkgpN}dzc3%{Fcq{XCcnpN^I+1H<0-jzm&A`{o#H!RWkSspE=!C!K=IE#5B@Xv_5-91 z7SKR|^a2&rx2^WBJws+yDn_fH7@h{R(?*6?y_<6E+mu~L?ZvE?-Jbwqb7vN$mpwL) zmnyie_ftv5XwZnl`+p6S1Z|2r-Hjiywu?^@t>bbxz}p8E%i6D> z^`m{QrDe_MS>Di1N8^{n;HBZhgx^*Ye)1NCjw+0Ah^fRA_3u$3h<5jl;RG6vJ@2qM zMiD#aJf<>!h6^eU1Qigs>07{C5$_M11LK{fR0{V1ALMFYuD=o>5nj^N&(+zU$%fOe ziHa67hw&dY4Sq?KFdd`!I{PV`JgBMrG6cF9G5H$BT(Dt83#zQ{qywUhF0BR=eA+Zl z<|SPJKE+uv4jv6lGDxeGo Date: Mon, 6 Jun 2022 20:51:51 -0600 Subject: [PATCH 061/212] Add milestone repository for Spring maven plugin (#12530) * Add milestone repository for Spring maven plugin * Update Springdoc version --- .../JavaSpring/libraries/spring-boot/pom-sb3.mustache | 10 +++++++--- .../JavaSpring/libraries/spring-cloud/pom-sb3.mustache | 2 +- .../openapi3/client/petstore/spring-cloud-3/pom.xml | 2 +- samples/openapi3/server/petstore/springboot-3/pom.xml | 10 +++++++--- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom-sb3.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom-sb3.mustache index 52d1067c6e..8e58bafee4 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom-sb3.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom-sb3.mustache @@ -11,7 +11,7 @@ ${java.version} UTF-8 {{#springDocDocumentationProvider}} - 2.0.0-M2 + 2.0.0-M3 {{/springDocDocumentationProvider}} {{^springDocDocumentationProvider}} {{#swagger2AnnotationLibrary}} @@ -45,6 +45,12 @@ https://repo.spring.io/milestone + + + spring-milestones + https://repo.spring.io/milestone + + src/main/java @@ -53,8 +59,6 @@ org.springframework.boot spring-boot-maven-plugin - - 2.7.0 {{#classifier}} {{{classifier}}} diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/pom-sb3.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/pom-sb3.mustache index 18a58ba9ad..f61faca014 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/pom-sb3.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/pom-sb3.mustache @@ -11,7 +11,7 @@ ${java.version} UTF-8 {{#springDocDocumentationProvider}} - 2.0.0-M2 + 2.0.0-M3 {{/springDocDocumentationProvider}} {{^springDocDocumentationProvider}} {{#swagger2AnnotationLibrary}} diff --git a/samples/openapi3/client/petstore/spring-cloud-3/pom.xml b/samples/openapi3/client/petstore/spring-cloud-3/pom.xml index f5ad2f6469..f77261a826 100644 --- a/samples/openapi3/client/petstore/spring-cloud-3/pom.xml +++ b/samples/openapi3/client/petstore/spring-cloud-3/pom.xml @@ -10,7 +10,7 @@ ${java.version} ${java.version} UTF-8 - 2.0.0-M2 + 2.0.0-M3 org.springframework.boot diff --git a/samples/openapi3/server/petstore/springboot-3/pom.xml b/samples/openapi3/server/petstore/springboot-3/pom.xml index d5e81b9527..8c9f21ef53 100644 --- a/samples/openapi3/server/petstore/springboot-3/pom.xml +++ b/samples/openapi3/server/petstore/springboot-3/pom.xml @@ -10,7 +10,7 @@ ${java.version} ${java.version} UTF-8 - 2.0.0-M2 + 2.0.0-M3 4.8.1 @@ -27,6 +27,12 @@ https://repo.spring.io/milestone + + + spring-milestones + https://repo.spring.io/milestone + + src/main/java @@ -34,8 +40,6 @@ org.springframework.boot spring-boot-maven-plugin - - 2.7.0 From 14aef2c93d6fb7ed8b669b23ec269ff2bf5d563e Mon Sep 17 00:00:00 2001 From: William Cheng Date: Wed, 8 Jun 2022 00:35:40 +0800 Subject: [PATCH 062/212] [R] Add validateJSON to oneOf, anyOf models (#12548) * add validateJSON to r oneof, anyof models * update tests --- .../src/main/resources/r/modelAnyOf.mustache | 12 ++++++++++++ .../src/main/resources/r/modelOneOf.mustache | 12 ++++++++++++ samples/client/petstore/R/R/any_of_pig.R | 12 ++++++++++++ samples/client/petstore/R/R/pig.R | 12 ++++++++++++ .../client/petstore/R/tests/testthat/test_petstore.R | 5 +++-- 5 files changed, 51 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache b/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache index 287264a1ce..d3b86f23ee 100644 --- a/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache @@ -47,6 +47,18 @@ } else { NULL } + }, + validateJSON = function(input) { + # backup current values + actual_instance_bak <- self$actual_instance + actual_type_bak <- self$actual_type + + # if it's not valid, an error will be thrown + self$fromJSON(input) + + # no error thrown, restore old values + self$actual_instance <- actual_instance_bak + self$actual_type <- actual_type_bak } ) ) diff --git a/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache b/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache index a4f92eee80..1e33da9e7e 100644 --- a/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache @@ -62,6 +62,18 @@ } else { NULL } + }, + validateJSON = function(input) { + # backup current values + actual_instance_bak <- self$actual_instance + actual_type_bak <- self$actual_type + + # if it's not valid, an error will be thrown + self$fromJSON(input) + + # no error thrown, restore old values + self$actual_instance <- actual_instance_bak + self$actual_type <- actual_type_bak } ) ) diff --git a/samples/client/petstore/R/R/any_of_pig.R b/samples/client/petstore/R/R/any_of_pig.R index 7197d52b43..d4e5fffe06 100644 --- a/samples/client/petstore/R/R/any_of_pig.R +++ b/samples/client/petstore/R/R/any_of_pig.R @@ -66,6 +66,18 @@ AnyOfPig <- R6::R6Class( } else { NULL } + }, + validateJSON = function(input) { + # backup current values + actual_instance_bak <- self$actual_instance + actual_type_bak <- self$actual_type + + # if it's not valid, an error will be thrown + self$fromJSON(input) + + # no error thrown, restore old values + self$actual_instance <- actual_instance_bak + self$actual_type <- actual_type_bak } ) ) diff --git a/samples/client/petstore/R/R/pig.R b/samples/client/petstore/R/R/pig.R index e41f883416..5afa7dc894 100644 --- a/samples/client/petstore/R/R/pig.R +++ b/samples/client/petstore/R/R/pig.R @@ -82,6 +82,18 @@ Pig <- R6::R6Class( } else { NULL } + }, + validateJSON = function(input) { + # backup current values + actual_instance_bak <- self$actual_instance + actual_type_bak <- self$actual_type + + # if it's not valid, an error will be thrown + self$fromJSON(input) + + # no error thrown, restore old values + self$actual_instance <- actual_instance_bak + self$actual_type <- actual_type_bak } ) ) diff --git a/samples/client/petstore/R/tests/testthat/test_petstore.R b/samples/client/petstore/R/tests/testthat/test_petstore.R index bb3df6fd16..a3481c4805 100644 --- a/samples/client/petstore/R/tests/testthat/test_petstore.R +++ b/samples/client/petstore/R/tests/testthat/test_petstore.R @@ -159,6 +159,7 @@ test_that("Tests oneOf", { # test fromJSON, actual_tpye, actual_instance pig <- Pig$new() danish_pig <- pig$fromJSON(danish_pig_json) + pig$validateJSON(basque_pig_json) # validate JSON to ensure its actual_instance, actual_type are not updated expect_equal(danish_pig$actual_type, "DanishPig") expect_equal(danish_pig$actual_instance$size, 7) expect_equal(danish_pig$actual_instance$className, "DanishPig") @@ -178,7 +179,7 @@ test_that("Tests oneOf", { # test exception when no matche found expect_error(pig$fromJSON('{}'), 'No match found when deserializing the payload into Pig with oneOf schemas BasquePig, DanishPig. Details: The JSON input ` \\{\\} ` is invalid for BasquePig: the required field `className` is missing\\., The JSON input ` \\{\\} ` is invalid for DanishPig: the required field `className` is missing\\.') - + expect_error(pig$validateJSON('{}'), 'No match found when deserializing the payload into Pig with oneOf schemas BasquePig, DanishPig. Details: The JSON input ` \\{\\} ` is invalid for BasquePig: the required field `className` is missing\\., The JSON input ` \\{\\} ` is invalid for DanishPig: the required field `className` is missing\\.') }) @@ -221,7 +222,7 @@ test_that("Tests anyOf", { # test exception when no matche found expect_error(pig$fromJSON('{}'), 'No match found when deserializing the payload into AnyOfPig with anyOf schemas BasquePig, DanishPig. Details: The JSON input ` \\{\\} ` is invalid for BasquePig: the required field `className` is missing\\., The JSON input ` \\{\\} ` is invalid for DanishPig: the required field `className` is missing\\.') - + expect_error(pig$validateJSON('{}'), 'No match found when deserializing the payload into AnyOfPig with anyOf schemas BasquePig, DanishPig. Details: The JSON input ` \\{\\} ` is invalid for BasquePig: the required field `className` is missing\\., The JSON input ` \\{\\} ` is invalid for DanishPig: the required field `className` is missing\\.') }) From 45f430f5c80ec560529d185446dbab19a49750ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20C=C3=B4t=C3=A9?= Date: Fri, 10 Jun 2022 21:08:51 -0400 Subject: [PATCH 063/212] 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 --- .../main/resources/Java/libraries/jersey2/ApiClient.mustache | 5 +++++ .../src/main/java/org/openapitools/client/ApiClient.java | 2 +- .../src/main/java/org/openapitools/client/ApiClient.java | 2 +- .../src/main/java/org/openapitools/client/ApiClient.java | 2 +- .../src/main/java/org/openapitools/client/ApiClient.java | 2 +- 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/ApiClient.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/ApiClient.mustache index c0ba37300a..0db332a10c 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/ApiClient.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/ApiClient.mustache @@ -1218,7 +1218,12 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} { queryParams, allHeaderParams, cookieParams, + {{#hasHttpSignatureMethods}} serializeToString(body, formParams, contentType, isBodyNullable), + {{/hasHttpSignatureMethods}} + {{^hasHttpSignatureMethods}} + null, + {{/hasHttpSignatureMethods}} method, target.getUri()); diff --git a/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/ApiClient.java index 9ba931faa5..951aa9d50a 100644 --- a/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/ApiClient.java @@ -1139,7 +1139,7 @@ public class ApiClient extends JavaTimeFormatter { queryParams, allHeaderParams, cookieParams, - serializeToString(body, formParams, contentType, isBodyNullable), + null, method, target.getUri()); diff --git a/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/ApiClient.java index 9ba931faa5..951aa9d50a 100644 --- a/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/ApiClient.java @@ -1139,7 +1139,7 @@ public class ApiClient extends JavaTimeFormatter { queryParams, allHeaderParams, cookieParams, - serializeToString(body, formParams, contentType, isBodyNullable), + null, method, target.getUri()); diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/src/main/java/org/openapitools/client/ApiClient.java b/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/src/main/java/org/openapitools/client/ApiClient.java index a6e3678186..09806e25e5 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/src/main/java/org/openapitools/client/ApiClient.java @@ -1069,7 +1069,7 @@ public class ApiClient extends JavaTimeFormatter { queryParams, allHeaderParams, cookieParams, - serializeToString(body, formParams, contentType, isBodyNullable), + null, method, target.getUri()); diff --git a/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/src/main/java/org/openapitools/client/ApiClient.java b/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/src/main/java/org/openapitools/client/ApiClient.java index 5fb5eda631..ea92253274 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/src/main/java/org/openapitools/client/ApiClient.java @@ -1014,7 +1014,7 @@ public class ApiClient extends JavaTimeFormatter { queryParams, allHeaderParams, cookieParams, - serializeToString(body, formParams, contentType, isBodyNullable), + null, method, target.getUri()); From aeb40ab0ae7a5ac4f647efcef2ec148f536d4b3c Mon Sep 17 00:00:00 2001 From: Beppe Catanese <1771700+gcatanese@users.noreply.github.com> Date: Sat, 11 Jun 2022 03:10:48 +0200 Subject: [PATCH 064/212] [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 --- .../src/main/resources/go/client.mustache | 7 +++++-- samples/client/petstore/go/go-petstore/client.go | 7 +++++-- .../extensions/x-auth-id-alias/go-experimental/client.go | 7 +++++-- samples/openapi3/client/petstore/go/go-petstore/client.go | 7 +++++-- 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/go/client.mustache b/modules/openapi-generator/src/main/resources/go/client.mustache index 8b9e173fe0..1c5b49dc01 100644 --- a/modules/openapi-generator/src/main/resources/go/client.mustache +++ b/modules/openapi-generator/src/main/resources/go/client.mustache @@ -457,11 +457,14 @@ func (c *APIClient) decode(v interface{}, b []byte, contentType string) (err err // Add a file to the multipart request func addFile(w *multipart.Writer, fieldName, path string) error { - file, err := os.Open(path) + file, err := os.Open(filepath.Clean(path)) if err != nil { return err } - defer file.Close() + err = file.Close() + if err != nil { + return err + } part, err := w.CreateFormFile(fieldName, filepath.Base(path)) if err != nil { diff --git a/samples/client/petstore/go/go-petstore/client.go b/samples/client/petstore/go/go-petstore/client.go index d3c90d4312..b36ccf909e 100644 --- a/samples/client/petstore/go/go-petstore/client.go +++ b/samples/client/petstore/go/go-petstore/client.go @@ -417,11 +417,14 @@ func (c *APIClient) decode(v interface{}, b []byte, contentType string) (err err // Add a file to the multipart request func addFile(w *multipart.Writer, fieldName, path string) error { - file, err := os.Open(path) + file, err := os.Open(filepath.Clean(path)) if err != nil { return err } - defer file.Close() + err = file.Close() + if err != nil { + return err + } part, err := w.CreateFormFile(fieldName, filepath.Base(path)) if err != nil { diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/client.go b/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/client.go index d538f24353..88876efab0 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/client.go +++ b/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/client.go @@ -402,11 +402,14 @@ func (c *APIClient) decode(v interface{}, b []byte, contentType string) (err err // Add a file to the multipart request func addFile(w *multipart.Writer, fieldName, path string) error { - file, err := os.Open(path) + file, err := os.Open(filepath.Clean(path)) if err != nil { return err } - defer file.Close() + err = file.Close() + if err != nil { + return err + } part, err := w.CreateFormFile(fieldName, filepath.Base(path)) if err != nil { diff --git a/samples/openapi3/client/petstore/go/go-petstore/client.go b/samples/openapi3/client/petstore/go/go-petstore/client.go index f0cb833754..7e53f88c2a 100644 --- a/samples/openapi3/client/petstore/go/go-petstore/client.go +++ b/samples/openapi3/client/petstore/go/go-petstore/client.go @@ -430,11 +430,14 @@ func (c *APIClient) decode(v interface{}, b []byte, contentType string) (err err // Add a file to the multipart request func addFile(w *multipart.Writer, fieldName, path string) error { - file, err := os.Open(path) + file, err := os.Open(filepath.Clean(path)) if err != nil { return err } - defer file.Close() + err = file.Close() + if err != nil { + return err + } part, err := w.CreateFormFile(fieldName, filepath.Base(path)) if err != nil { From ee9b9843dbe6ee57b9ed1c450df106f18d16ba47 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sat, 11 Jun 2022 09:12:22 +0800 Subject: [PATCH 065/212] Add new option to customize inline model naming convention (#12562) * temp fix * add support to customize inline schema naming convention * Revert "temp fix" This reverts commit e3bca56bfbb0032d382fe79cd2a8565f4aad630c. * minor fix, add tests * update description --- .../openapitools/codegen/cmd/ConfigHelp.java | 15 ++++++ .../openapitools/codegen/cmd/Generate.java | 8 +++ .../codegen/config/GeneratorSettings.java | 49 ++++++++++++++++++- .../gradle/plugin/OpenApiGeneratorPlugin.kt | 1 + .../OpenApiGeneratorGenerateExtension.kt | 5 ++ .../gradle/plugin/tasks/GenerateTask.kt | 13 +++++ .../codegen/plugin/CodeGenMojo.java | 19 ++++++- .../openapitools/codegen/CodegenConfig.java | 2 + .../openapitools/codegen/DefaultCodegen.java | 7 +++ .../codegen/DefaultGenerator.java | 1 + .../codegen/InlineModelResolver.java | 14 +++++- .../codegen/config/CodegenConfigurator.java | 17 +++++++ .../config/CodegenConfiguratorUtils.java | 13 +++++ .../codegen/InlineModelResolverTest.java | 19 ++++++- 14 files changed, 177 insertions(+), 6 deletions(-) diff --git a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/ConfigHelp.java b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/ConfigHelp.java index 57734c781d..07bf359e99 100644 --- a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/ConfigHelp.java +++ b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/ConfigHelp.java @@ -74,6 +74,9 @@ public class ConfigHelp extends OpenApiGeneratorCommand { @Option(name = {"--inline-schema-name-mappings"}, title = "inline schema name mappings", description = "displays the inline schema name mappings (none)") private Boolean inlineSchemaNameMappings; + @Option(name = {"--inline-schema-name-defaults"}, title = "inline schema name defaults", description = "default values used when naming inline schema name") + private Boolean inlineSchemaNameDefaults; + @Option(name = {"--metadata"}, title = "metadata", description = "displays the generator metadata like the help txt for the generator and generator type etc") private Boolean metadata; @@ -464,6 +467,18 @@ public class ConfigHelp extends OpenApiGeneratorCommand { sb.append(newline); } + if (Boolean.TRUE.equals(inlineSchemaNameDefaults)) { + sb.append(newline).append("INLINE SCHEMA NAME DEFAULTS").append(newline).append(newline); + Map map = config.inlineSchemaNameDefault() + .entrySet() + .stream() + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (a, b) -> { + throw new IllegalStateException(String.format(Locale.ROOT, "Duplicated options! %s and %s", a, b)); + }, TreeMap::new)); + writePlainTextFromMap(sb, map, optIndent, optNestedIndent, "Inline scheme naming convention", "Defaulted to"); + sb.append(newline); + } + if (Boolean.TRUE.equals(instantiationTypes)) { sb.append(newline).append("INSTANTIATION TYPES").append(newline).append(newline); Map map = config.instantiationTypes() diff --git a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java index 1a7495cf26..967fd6192d 100644 --- a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java +++ b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java @@ -166,6 +166,13 @@ public class Generate extends OpenApiGeneratorCommand { + " You can also have multiple occurrences of this option.") private List inlineSchemaNameMappings = new ArrayList<>(); + @Option( + name = {"--inline-schema-name-defaults"}, + title = "inline schema name defaults", + description = "specifies the default values used when naming inline schema as such array items in the format of arrayItemSuffix=_inner,mapItemSuffix=_value. " + + " ONLY arrayItemSuffix, mapItemSuffix at the moment.") + private List inlineSchemaNameDefaults = new ArrayList<>(); + @Option( name = {"--server-variables"}, title = "server variables", @@ -431,6 +438,7 @@ public class Generate extends OpenApiGeneratorCommand { applyInstantiationTypesKvpList(instantiationTypes, configurator); applyImportMappingsKvpList(importMappings, configurator); applyInlineSchemaNameMappingsKvpList(inlineSchemaNameMappings, configurator); + applyInlineSchemaNameDefaultsKvpList(inlineSchemaNameDefaults, configurator); applyTypeMappingsKvpList(typeMappings, configurator); applyAdditionalPropertiesKvpList(additionalProperties, configurator); applyLanguageSpecificPrimitivesCsvList(languageSpecificPrimitives, configurator); diff --git a/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/GeneratorSettings.java b/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/GeneratorSettings.java index 0a12434b47..265fd2f34e 100644 --- a/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/GeneratorSettings.java +++ b/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/GeneratorSettings.java @@ -51,6 +51,7 @@ public final class GeneratorSettings implements Serializable { private final Map additionalProperties; private final Map importMappings; private final Map inlineSchemaNameMappings; + private final Map inlineSchemaNameDefaults; private final Set languageSpecificPrimitives; private final Map reservedWordsMappings; private final Map serverVariables; @@ -244,6 +245,15 @@ public final class GeneratorSettings implements Serializable { return inlineSchemaNameMappings; } + /** + * Gets inline schema name defaults between an inline schema naming convention and the default values. + * + * @return the inline schema name defaults + */ + public Map getInlineSchemaNameDefaults() { + return inlineSchemaNameDefaults; + } + /** * Gets language specific primitives. These are in addition to the "base" primitives defined in a generator. *

@@ -360,6 +370,7 @@ public final class GeneratorSettings implements Serializable { typeMappings = Collections.unmodifiableMap(builder.typeMappings); importMappings = Collections.unmodifiableMap(builder.importMappings); inlineSchemaNameMappings = Collections.unmodifiableMap(builder.inlineSchemaNameMappings); + inlineSchemaNameDefaults = Collections.unmodifiableMap(builder.inlineSchemaNameDefaults); languageSpecificPrimitives = Collections.unmodifiableSet(builder.languageSpecificPrimitives); reservedWordsMappings = Collections.unmodifiableMap(builder.reservedWordsMappings); serverVariables = Collections.unmodifiableMap(builder.serverVariables); @@ -431,6 +442,7 @@ public final class GeneratorSettings implements Serializable { additionalProperties = Collections.unmodifiableMap(new HashMap<>(0)); importMappings = Collections.unmodifiableMap(new HashMap<>(0)); inlineSchemaNameMappings = Collections.unmodifiableMap(new HashMap<>(0)); + inlineSchemaNameDefaults = Collections.unmodifiableMap(new HashMap<>(0)); languageSpecificPrimitives = Collections.unmodifiableSet(new HashSet<>(0)); reservedWordsMappings = Collections.unmodifiableMap(new HashMap<>(0)); serverVariables = Collections.unmodifiableMap(new HashMap<>(0)); @@ -485,6 +497,9 @@ public final class GeneratorSettings implements Serializable { if (copy.getInlineSchemaNameMappings() != null) { builder.inlineSchemaNameMappings.putAll(copy.getInlineSchemaNameMappings()); } + if (copy.getInlineSchemaNameDefaults() != null) { + builder.inlineSchemaNameDefaults.putAll(copy.getInlineSchemaNameDefaults()); + } if (copy.getLanguageSpecificPrimitives() != null) { builder.languageSpecificPrimitives.addAll(copy.getLanguageSpecificPrimitives()); } @@ -525,6 +540,7 @@ public final class GeneratorSettings implements Serializable { private Map additionalProperties; private Map importMappings; private Map inlineSchemaNameMappings; + private Map inlineSchemaNameDefaults; private Set languageSpecificPrimitives; private Map reservedWordsMappings; private Map serverVariables; @@ -543,6 +559,7 @@ public final class GeneratorSettings implements Serializable { additionalProperties = new HashMap<>(); importMappings = new HashMap<>(); inlineSchemaNameMappings = new HashMap<>(); + inlineSchemaNameDefaults = new HashMap<>(); languageSpecificPrimitives = new HashSet<>(); reservedWordsMappings = new HashMap<>(); serverVariables = new HashMap<>(); @@ -785,6 +802,32 @@ public final class GeneratorSettings implements Serializable { return this; } + /** + * Sets the {@code inlineSchemaNameDefaults} and returns a reference to this Builder so that the methods can be chained together. + * + * @param inlineSchemaNameDefaults the {@code inlineSchemaNameDefaults} to set + * @return a reference to this Builder + */ + public Builder withInlineSchemaNameDefaults(Map inlineSchemaNameDefaults) { + this.inlineSchemaNameDefaults = inlineSchemaNameDefaults; + return this; + } + + /** + * Sets a single {@code inlineSchemaNameDefaults} and returns a reference to this Builder so that the methods can be chained together. + * + * @param key Default naming convention + * @param value The value + * @return a reference to this Builder + */ + public Builder withInlineSchemaNameDefault(String key, String value) { + if (this.inlineSchemaNameDefaults == null) { + this.inlineSchemaNameDefaults = new HashMap<>(); + } + this.inlineSchemaNameDefaults.put(key, value); + return this; + } + /** * Sets the {@code inlineSchemaNameMappings} and returns a reference to this Builder so that the methods can be chained together. * @@ -799,8 +842,8 @@ public final class GeneratorSettings implements Serializable { /** * Sets a single {@code inlineSchemaNameMappings} and returns a reference to this Builder so that the methods can be chained together. * - * @param key A key for some import mapping - * @param value The value of some import mapping + * @param key A key for the inline schema mapping + * @param value The value of inline schema mapping * @return a reference to this Builder */ public Builder withInlineSchemaNameMapping(String key, String value) { @@ -997,6 +1040,7 @@ public final class GeneratorSettings implements Serializable { Objects.equals(getAdditionalProperties(), that.getAdditionalProperties()) && Objects.equals(getImportMappings(), that.getImportMappings()) && Objects.equals(getInlineSchemaNameMappings(), that.getInlineSchemaNameMappings()) && + Objects.equals(getInlineSchemaNameDefaults(), that.getInlineSchemaNameDefaults()) && Objects.equals(getLanguageSpecificPrimitives(), that.getLanguageSpecificPrimitives()) && Objects.equals(getReservedWordsMappings(), that.getReservedWordsMappings()) && Objects.equals(getGitHost(), that.getGitHost()) && @@ -1026,6 +1070,7 @@ public final class GeneratorSettings implements Serializable { getAdditionalProperties(), getImportMappings(), getInlineSchemaNameMappings(), + getInlineSchemaNameDefaults(), getLanguageSpecificPrimitives(), getReservedWordsMappings(), getGitHost(), diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/OpenApiGeneratorPlugin.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/OpenApiGeneratorPlugin.kt index 210fd17678..c6410ced6e 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/OpenApiGeneratorPlugin.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/OpenApiGeneratorPlugin.kt @@ -114,6 +114,7 @@ class OpenApiGeneratorPlugin : Plugin { languageSpecificPrimitives.set(generate.languageSpecificPrimitives) importMappings.set(generate.importMappings) inlineSchemaNameMappings.set(generate.inlineSchemaNameMappings) + inlineSchemaNameDefaults.set(generate.inlineSchemaNameDefaults) invokerPackage.set(generate.invokerPackage) groupId.set(generate.groupId) id.set(generate.id) diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGenerateExtension.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGenerateExtension.kt index 557f6386dc..6ea8608fd4 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGenerateExtension.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGenerateExtension.kt @@ -146,6 +146,11 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { */ val inlineSchemaNameMappings = project.objects.mapProperty() + /** + * Specifies default values for inline schema naming convention + */ + val inlineSchemaNameDefaults = project.objects.mapProperty() + /** * Root package for generated code. */ diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GenerateTask.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GenerateTask.kt index 69cb92e4bd..5ebec599e6 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GenerateTask.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GenerateTask.kt @@ -226,6 +226,13 @@ open class GenerateTask : DefaultTask() { @Input val inlineSchemaNameMappings = project.objects.mapProperty() + /** + * Specifies default values for inline schema naming convention + */ + @Optional + @Input + val inlineSchemaNameDefaults = project.objects.mapProperty() + /** * Root package for generated code. */ @@ -691,6 +698,12 @@ open class GenerateTask : DefaultTask() { } } + if (inlineSchemaNameDefaults.isPresent) { + inlineSchemaNameDefaults.get().forEach { entry -> + configurator.addInlineSchemaNameDefault(entry.key, entry.value) + } + } + if (typeMappings.isPresent) { typeMappings.get().forEach { entry -> configurator.addTypeMapping(entry.key, entry.value) diff --git a/modules/openapi-generator-maven-plugin/src/main/java/org/openapitools/codegen/plugin/CodeGenMojo.java b/modules/openapi-generator-maven-plugin/src/main/java/org/openapitools/codegen/plugin/CodeGenMojo.java index abb3cfe5d4..56e39b8284 100644 --- a/modules/openapi-generator-maven-plugin/src/main/java/org/openapitools/codegen/plugin/CodeGenMojo.java +++ b/modules/openapi-generator-maven-plugin/src/main/java/org/openapitools/codegen/plugin/CodeGenMojo.java @@ -304,6 +304,12 @@ public class CodeGenMojo extends AbstractMojo { @Parameter(name = "inlineSchemaNameMappings", property = "openapi.generator.maven.plugin.inlineSchemaNameMappings") private List inlineSchemaNameMappings; + /** + * A map of inline scheme naming convention and the value + */ + @Parameter(name = "inlineSchemaNameDefaults", property = "openapi.generator.maven.plugin.inlineSchemaNameDefaults") + private List inlineSchemaNameDefaults; + /** * A map of swagger spec types and the generated code types to use for them */ @@ -666,11 +672,17 @@ public class CodeGenMojo extends AbstractMojo { } // Retained for backwards-compatibility with configOptions -> inline-schema-name-mappings - if (importMappings == null && configOptions.containsKey("inline-schema-name-mappings")) { + if (inlineSchemaNameMappings == null && configOptions.containsKey("inline-schema-name-mappings")) { applyInlineSchemaNameMappingsKvp(configOptions.get("inline-schema-name-mappings").toString(), configurator); } + // Retained for backwards-compatibility with configOptions -> inline-schema-name-defaults + if (inlineSchemaNameDefaults == null && configOptions.containsKey("inline-schema-name-defaults")) { + applyInlineSchemaNameDefaultsKvp(configOptions.get("inline-schema-name-defaults").toString(), + configurator); + } + // Retained for backwards-compatibility with configOptions -> type-mappings if (typeMappings == null && configOptions.containsKey("type-mappings")) { applyTypeMappingsKvp(configOptions.get("type-mappings").toString(), configurator); @@ -714,6 +726,11 @@ public class CodeGenMojo extends AbstractMojo { applyInlineSchemaNameMappingsKvpList(inlineSchemaNameMappings, configurator); } + // Apply Inline Schema Name Defaults + if (inlineSchemaNameDefaults != null && (configOptions == null || !configOptions.containsKey("inline-schema-name-defaults"))) { + applyInlineSchemaNameDefaultsKvpList(inlineSchemaNameDefaults, configurator); + } + // Apply Type Mappings if (typeMappings != null && (configOptions == null || !configOptions.containsKey("type-mappings"))) { applyTypeMappingsKvpList(typeMappings, configurator); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfig.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfig.java index 9894f49595..970bbe5a2b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfig.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfig.java @@ -143,6 +143,8 @@ public interface CodegenConfig { Map inlineSchemaNameMapping(); + Map inlineSchemaNameDefault(); + Map apiTemplateFiles(); Map modelTemplateFiles(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index e4b539e271..e82ee5999c 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -155,6 +155,8 @@ public class DefaultCodegen implements CodegenConfig { protected Map importMapping = new HashMap<>(); // a map to store the mappping between inline schema and the name provided by the user protected Map inlineSchemaNameMapping = new HashMap<>(); + // a map to store the inline schema naming conventions + protected Map inlineSchemaNameDefault = new HashMap<>(); protected String modelPackage = "", apiPackage = "", fileSuffix; protected String modelNamePrefix = "", modelNameSuffix = ""; protected String apiNamePrefix = "", apiNameSuffix = "Api"; @@ -1063,6 +1065,11 @@ public class DefaultCodegen implements CodegenConfig { return inlineSchemaNameMapping; } + @Override + public Map inlineSchemaNameDefault() { + return inlineSchemaNameDefault; + } + @Override public String testPackage() { return testPackage; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java index c4adb5adc8..65f99563cc 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java @@ -875,6 +875,7 @@ public class DefaultGenerator implements Generator { if (config.getUseInlineModelResolver()) { InlineModelResolver inlineModelResolver = new InlineModelResolver(); inlineModelResolver.setInlineSchemaNameMapping(config.inlineSchemaNameMapping()); + inlineModelResolver.setInlineSchemaNameDefaults(config.inlineSchemaNameDefault()); inlineModelResolver.flatten(openAPI); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java index 6482025305..31c024ee6d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java @@ -42,6 +42,7 @@ public class InlineModelResolver { private Map addedModels = new HashMap<>(); private Map generatedSignature = new HashMap<>(); private Map inlineSchemaNameMapping = new HashMap<>(); + private Map inlineSchemaNameDefaults = new HashMap<>(); private Set inlineSchemaNameMappingValues = new HashSet<>(); public boolean resolveInlineEnums = false; @@ -60,11 +61,20 @@ public class InlineModelResolver { final Logger LOGGER = LoggerFactory.getLogger(InlineModelResolver.class); + public InlineModelResolver() { + this.inlineSchemaNameDefaults.put("arrayItemSuffix", "_inner"); + this.inlineSchemaNameDefaults.put("mapItemSuffix", "_value"); + } + public void setInlineSchemaNameMapping(Map inlineSchemaNameMapping) { this.inlineSchemaNameMapping = inlineSchemaNameMapping; this.inlineSchemaNameMappingValues = new HashSet<>(inlineSchemaNameMapping.values()); } + public void setInlineSchemaNameDefaults(Map inlineSchemaNameDefaults) { + this.inlineSchemaNameDefaults.putAll(inlineSchemaNameDefaults); + } + void flatten(OpenAPI openAPI) { this.openAPI = openAPI; @@ -230,7 +240,7 @@ public class InlineModelResolver { if (schema.getAdditionalProperties() != null) { if (schema.getAdditionalProperties() instanceof Schema) { Schema inner = (Schema) schema.getAdditionalProperties(); - String schemaName = resolveModelName(schema.getTitle(), modelPrefix + "_value"); + String schemaName = resolveModelName(schema.getTitle(), modelPrefix + this.inlineSchemaNameDefaults.get("mapItemSuffix")); // Recurse to create $refs for inner models gatherInlineModels(inner, schemaName); if (isModelNeeded(inner)) { @@ -265,7 +275,7 @@ public class InlineModelResolver { " items must be defined for array schemas:\n " + schema.toString()); return; } - String schemaName = resolveModelName(items.getTitle(), modelPrefix + "_inner"); + String schemaName = resolveModelName(items.getTitle(), modelPrefix + this.inlineSchemaNameDefaults.get("arrayItemSuffix")); // Recurse to create $refs for inner models gatherInlineModels(items, schemaName); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java index 2a11f785fe..374ee3116d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java @@ -69,6 +69,7 @@ public class CodegenConfigurator { private Map additionalProperties = new HashMap<>(); private Map importMappings = new HashMap<>(); private Map inlineSchemaNameMappings = new HashMap<>(); + private Map inlineSchemaNameDefaults = new HashMap<>(); private Set languageSpecificPrimitives = new HashSet<>(); private Map reservedWordsMappings = new HashMap<>(); private Map serverVariables = new HashMap<>(); @@ -115,6 +116,9 @@ public class CodegenConfigurator { if(generatorSettings.getInlineSchemaNameMappings() != null) { configurator.inlineSchemaNameMappings.putAll(generatorSettings.getInlineSchemaNameMappings()); } + if(generatorSettings.getInlineSchemaNameDefaults() != null) { + configurator.inlineSchemaNameDefaults.putAll(generatorSettings.getInlineSchemaNameDefaults()); + } if(generatorSettings.getLanguageSpecificPrimitives() != null) { configurator.languageSpecificPrimitives.addAll(generatorSettings.getLanguageSpecificPrimitives()); } @@ -190,6 +194,12 @@ public class CodegenConfigurator { return this; } + public CodegenConfigurator addInlineSchemaNameDefault(String key, String value) { + this.inlineSchemaNameDefaults.put(key, value); + generatorSettingsBuilder.withInlineSchemaNameDefault(key, value); + return this; + } + public CodegenConfigurator addInstantiationType(String key, String value) { this.instantiationTypes.put(key, value); generatorSettingsBuilder.withInstantiationType(key, value); @@ -350,6 +360,12 @@ public class CodegenConfigurator { return this; } + public CodegenConfigurator setInlineSchemaNameDefaults(Map inlineSchemaNameDefaults) { + this.inlineSchemaNameDefaults = inlineSchemaNameDefaults; + generatorSettingsBuilder.withInlineSchemaNameDefaults(inlineSchemaNameDefaults); + return this; + } + public CodegenConfigurator setInputSpec(String inputSpec) { this.inputSpec = inputSpec; workflowSettingsBuilder.withInputSpec(inputSpec); @@ -627,6 +643,7 @@ public class CodegenConfigurator { config.typeMapping().putAll(generatorSettings.getTypeMappings()); config.importMapping().putAll(generatorSettings.getImportMappings()); config.inlineSchemaNameMapping().putAll(generatorSettings.getInlineSchemaNameMappings()); + config.inlineSchemaNameDefault().putAll(generatorSettings.getInlineSchemaNameDefaults()); config.languageSpecificPrimitives().addAll(generatorSettings.getLanguageSpecificPrimitives()); config.reservedWordsMappings().putAll(generatorSettings.getReservedWordsMappings()); config.additionalProperties().putAll(generatorSettings.getAdditionalProperties()); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfiguratorUtils.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfiguratorUtils.java index db1333408c..15a516a655 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfiguratorUtils.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfiguratorUtils.java @@ -94,6 +94,19 @@ public final class CodegenConfiguratorUtils { } } + public static void applyInlineSchemaNameDefaultsKvpList(List inlineSchemaNameDefaults, CodegenConfigurator configurator) { + for (String propString : inlineSchemaNameDefaults) { + applyInlineSchemaNameDefaultsKvp(propString, configurator); + } + } + + public static void applyInlineSchemaNameDefaultsKvp(String inlineSchemaNameDefaults, CodegenConfigurator configurator) { + final Map map = createMapFromKeyValuePairs(inlineSchemaNameDefaults); + for (Map.Entry entry : map.entrySet()) { + configurator.addInlineSchemaNameDefault(entry.getKey().trim(), entry.getValue().trim()); + } + } + public static void applyTypeMappingsKvpList(List typeMappings, CodegenConfigurator configurator) { for (String propString : typeMappings) { applyTypeMappingsKvp(propString, configurator); diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/InlineModelResolverTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/InlineModelResolverTest.java index 3ccca38b48..f3b2b4639e 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/InlineModelResolverTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/InlineModelResolverTest.java @@ -1020,6 +1020,23 @@ public class InlineModelResolverTest { assertTrue(nothingNew.getProperties().get("arbitrary_request_body_array_property") instanceof ObjectSchema); } + @Test + public void testInlineSchemaNameDefault() { + OpenAPI openAPI = TestUtils.parseSpec("src/test/resources/3_0/inline_model_resolver.yaml"); + InlineModelResolver resolver = new InlineModelResolver(); + Map inlineSchemaNameDefaults = new HashMap<>(); + inlineSchemaNameDefaults.put("arrayItemSuffix", "_something"); + resolver.setInlineSchemaNameDefaults(inlineSchemaNameDefaults); + resolver.flatten(openAPI); + + Schema schema = openAPI.getComponents().getSchemas().get("resolveInlineArrayRequestBody_request_something"); + assertTrue(schema.getProperties().get("street") instanceof StringSchema); + assertTrue(schema.getProperties().get("city") instanceof StringSchema); + + Schema nothingNew = openAPI.getComponents().getSchemas().get("arbitraryRequestBodyArrayProperty_request_something"); + assertTrue(nothingNew.getProperties().get("arbitrary_request_body_array_property") instanceof ObjectSchema); + } + @Test public void resolveInlineRequestBodyAllOf() { OpenAPI openAPI = TestUtils.parseSpec("src/test/resources/3_0/inline_model_resolver.yaml"); @@ -1037,4 +1054,4 @@ public class InlineModelResolverTest { //RequestBody referencedRequestBody = ModelUtils.getReferencedRequestBody(openAPI, requestBodyReference); //assertTrue(referencedRequestBody.getRequired()); } -} \ No newline at end of file +} From 3bc44165545a7522c888387118bd13202b0d7d95 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sat, 11 Jun 2022 09:24:50 +0800 Subject: [PATCH 066/212] update go samples --- .../src/main/resources/go/client.mustache | 10 +++++----- samples/client/petstore/go/go-petstore/client.go | 10 +++++----- .../x-auth-id-alias/go-experimental/client.go | 10 +++++----- .../openapi3/client/petstore/go/go-petstore/client.go | 10 +++++----- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/go/client.mustache b/modules/openapi-generator/src/main/resources/go/client.mustache index 1c5b49dc01..799553a189 100644 --- a/modules/openapi-generator/src/main/resources/go/client.mustache +++ b/modules/openapi-generator/src/main/resources/go/client.mustache @@ -457,14 +457,14 @@ func (c *APIClient) decode(v interface{}, b []byte, contentType string) (err err // Add a file to the multipart request func addFile(w *multipart.Writer, fieldName, path string) error { - file, err := os.Open(filepath.Clean(path)) + file, err := os.Open(filepath.Clean(path)) + if err != nil { + return err + } + err = file.Close() if err != nil { return err } - err = file.Close() - if err != nil { - return err - } part, err := w.CreateFormFile(fieldName, filepath.Base(path)) if err != nil { diff --git a/samples/client/petstore/go/go-petstore/client.go b/samples/client/petstore/go/go-petstore/client.go index b36ccf909e..c656e9616c 100644 --- a/samples/client/petstore/go/go-petstore/client.go +++ b/samples/client/petstore/go/go-petstore/client.go @@ -417,14 +417,14 @@ func (c *APIClient) decode(v interface{}, b []byte, contentType string) (err err // Add a file to the multipart request func addFile(w *multipart.Writer, fieldName, path string) error { - file, err := os.Open(filepath.Clean(path)) + file, err := os.Open(filepath.Clean(path)) + if err != nil { + return err + } + err = file.Close() if err != nil { return err } - err = file.Close() - if err != nil { - return err - } part, err := w.CreateFormFile(fieldName, filepath.Base(path)) if err != nil { diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/client.go b/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/client.go index 88876efab0..dc4affb7bd 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/client.go +++ b/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/client.go @@ -402,14 +402,14 @@ func (c *APIClient) decode(v interface{}, b []byte, contentType string) (err err // Add a file to the multipart request func addFile(w *multipart.Writer, fieldName, path string) error { - file, err := os.Open(filepath.Clean(path)) + file, err := os.Open(filepath.Clean(path)) + if err != nil { + return err + } + err = file.Close() if err != nil { return err } - err = file.Close() - if err != nil { - return err - } part, err := w.CreateFormFile(fieldName, filepath.Base(path)) if err != nil { diff --git a/samples/openapi3/client/petstore/go/go-petstore/client.go b/samples/openapi3/client/petstore/go/go-petstore/client.go index 7e53f88c2a..a2a56c5af9 100644 --- a/samples/openapi3/client/petstore/go/go-petstore/client.go +++ b/samples/openapi3/client/petstore/go/go-petstore/client.go @@ -430,14 +430,14 @@ func (c *APIClient) decode(v interface{}, b []byte, contentType string) (err err // Add a file to the multipart request func addFile(w *multipart.Writer, fieldName, path string) error { - file, err := os.Open(filepath.Clean(path)) + file, err := os.Open(filepath.Clean(path)) + if err != nil { + return err + } + err = file.Close() if err != nil { return err } - err = file.Close() - if err != nil { - return err - } part, err := w.CreateFormFile(fieldName, filepath.Base(path)) if err != nil { From c7107a1ecc6672411ea607b5343c4782805c78b5 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 12 Jun 2022 14:56:59 +0800 Subject: [PATCH 067/212] throw exception when failed to refresh token (jersey3) (#12577) --- .../main/resources/Java/libraries/jersey3/auth/OAuth.mustache | 2 +- .../src/main/java/org/openapitools/client/auth/OAuth.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/auth/OAuth.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/auth/OAuth.mustache index 73d6d19dbd..993bfdcd39 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/auth/OAuth.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/auth/OAuth.mustache @@ -99,7 +99,7 @@ public class OAuth implements Authentication { return service.refreshAccessToken(refreshToken); } } catch (OAuthException | InterruptedException | ExecutionException | IOException e) { - log.log(Level.FINE, "Refreshing the access token using the refresh token failed", e); + throw new ApiException("Refreshing the access token using the refresh token failed: " + e.toString()); } try { switch (flow) { diff --git a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/auth/OAuth.java b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/auth/OAuth.java index 7d66509003..adf880d90b 100644 --- a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/auth/OAuth.java +++ b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/auth/OAuth.java @@ -110,7 +110,7 @@ public class OAuth implements Authentication { return service.refreshAccessToken(refreshToken); } } catch (OAuthException | InterruptedException | ExecutionException | IOException e) { - log.log(Level.FINE, "Refreshing the access token using the refresh token failed", e); + throw new ApiException("Refreshing the access token using the refresh token failed: " + e.toString()); } try { switch (flow) { From 0c18b2e30285473b683ec703bb58cebf586df4c8 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 12 Jun 2022 14:57:29 +0800 Subject: [PATCH 068/212] update jersey3 jackson-databind to 2.13.2.2 (#12579) --- .../resources/Java/libraries/jersey3/build.gradle.mustache | 2 +- .../resources/Java/libraries/jersey3/build.sbt.mustache | 6 +++--- .../src/main/resources/Java/libraries/jersey3/pom.mustache | 2 +- samples/client/petstore/java/jersey3/build.gradle | 2 +- samples/client/petstore/java/jersey3/build.sbt | 4 ++-- samples/client/petstore/java/jersey3/pom.xml | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.gradle.mustache index 5ebc725c4f..b0d08c4096 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.gradle.mustache @@ -100,7 +100,7 @@ if(hasProperty('target') && target == 'android') { ext { swagger_annotations_version = "1.6.5" jackson_version = "2.13.2" - jackson_databind_version = "2.13.2" + jackson_databind_version = "2.13.2.2" {{#openApiNullable}} jackson_databind_nullable_version = "0.2.2" {{/openApiNullable}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.sbt.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.sbt.mustache index aef4fc30d1..b957784273 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.sbt.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.sbt.mustache @@ -18,11 +18,11 @@ lazy val root = (project in file(".")). "org.glassfish.jersey.connectors" % "jersey-apache-connector" % "3.0.4", "com.fasterxml.jackson.core" % "jackson-core" % "2.13.2" % "compile", "com.fasterxml.jackson.core" % "jackson-annotations" % "2.13.2" % "compile", - "com.fasterxml.jackson.core" % "jackson-databind" % "2.13.2" % "compile", + "com.fasterxml.jackson.core" % "jackson-databind" % "2.13.2.2" % "compile", {{#joda}} - "com.fasterxml.jackson.datatype" % "jackson-datatype-joda" % "2.13.0" % "compile", + "com.fasterxml.jackson.datatype" % "jackson-datatype-joda" % "2.13.2" % "compile", {{/joda}} - "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.13.0" % "compile", + "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.13.2" % "compile", {{#openApiNullable}} "org.openapitools" % "jackson-databind-nullable" % "0.2.2" % "compile", {{/openApiNullable}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/pom.mustache index a4701007b5..51c702e261 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/pom.mustache @@ -383,7 +383,7 @@ 1.6.5 3.0.4 2.13.2 - 2.13.2 + 2.13.2.2 0.2.2 2.1.0 {{#useBeanValidation}} diff --git a/samples/client/petstore/java/jersey3/build.gradle b/samples/client/petstore/java/jersey3/build.gradle index d0be177a0e..c54a6b136b 100644 --- a/samples/client/petstore/java/jersey3/build.gradle +++ b/samples/client/petstore/java/jersey3/build.gradle @@ -100,7 +100,7 @@ if(hasProperty('target') && target == 'android') { ext { swagger_annotations_version = "1.6.5" jackson_version = "2.13.2" - jackson_databind_version = "2.13.2" + jackson_databind_version = "2.13.2.2" jackson_databind_nullable_version = "0.2.2" jakarta_annotation_version = "2.1.0" jersey_version = "3.0.4" diff --git a/samples/client/petstore/java/jersey3/build.sbt b/samples/client/petstore/java/jersey3/build.sbt index 02d8f9eb29..73aa2f1dbb 100644 --- a/samples/client/petstore/java/jersey3/build.sbt +++ b/samples/client/petstore/java/jersey3/build.sbt @@ -18,8 +18,8 @@ lazy val root = (project in file(".")). "org.glassfish.jersey.connectors" % "jersey-apache-connector" % "3.0.4", "com.fasterxml.jackson.core" % "jackson-core" % "2.13.2" % "compile", "com.fasterxml.jackson.core" % "jackson-annotations" % "2.13.2" % "compile", - "com.fasterxml.jackson.core" % "jackson-databind" % "2.13.2" % "compile", - "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.13.0" % "compile", + "com.fasterxml.jackson.core" % "jackson-databind" % "2.13.2.2" % "compile", + "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.13.2" % "compile", "org.openapitools" % "jackson-databind-nullable" % "0.2.2" % "compile", "com.github.scribejava" % "scribejava-apis" % "8.3.1" % "compile", "org.tomitribe" % "tomitribe-http-signatures" % "1.7" % "compile", diff --git a/samples/client/petstore/java/jersey3/pom.xml b/samples/client/petstore/java/jersey3/pom.xml index fbe5148197..874a1aa7e1 100644 --- a/samples/client/petstore/java/jersey3/pom.xml +++ b/samples/client/petstore/java/jersey3/pom.xml @@ -346,7 +346,7 @@ 1.6.5 3.0.4 2.13.2 - 2.13.2 + 2.13.2.2 0.2.2 2.1.0 5.8.2 From c2595335c34f70127ad7d61908e3b9e704cd167d Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 12 Jun 2022 17:23:42 +0800 Subject: [PATCH 069/212] [java] Add useSingleRequestParameter support (#12580) * add useSingleRequestParameter support to java client * trigger build failure * trigger build failure * Revert "trigger build failure" This reverts commit 545e57ab8f3d943d9ad6ad114841a37d3b01a47b. * Revert "trigger build failure" This reverts commit 849f71f1f1a28659b0fd375986d7e66e9c6d04ac. * update doc --- .github/workflows/gradle-test.yaml | 1 + .../java-okhttp-gson-group-parameter.yaml | 10 + docs/generators/java.md | 1 + .../codegen/languages/JavaClientCodegen.java | 32 +- .../3_0/java/petstore-group-parameter.yaml | 456 +++++ .../.github/workflows/maven.yml | 30 + .../okhttp-gson-group-parameter/.gitignore | 21 + .../.openapi-generator-ignore | 23 + .../.openapi-generator/FILES | 52 + .../.openapi-generator/VERSION | 1 + .../okhttp-gson-group-parameter/.travis.yml | 22 + .../okhttp-gson-group-parameter/README.md | 168 ++ .../api/openapi.yaml | 506 ++++++ .../okhttp-gson-group-parameter/build.gradle | 169 ++ .../okhttp-gson-group-parameter/build.sbt | 28 + .../docs/Category.md | 15 + .../docs/ModelApiResponse.md | 16 + .../okhttp-gson-group-parameter/docs/Order.md | 29 + .../okhttp-gson-group-parameter/docs/Pet.md | 29 + .../docs/PetApi.md | 580 ++++++ .../okhttp-gson-group-parameter/docs/Tag.md | 15 + .../okhttp-gson-group-parameter/docs/User.md | 21 + .../okhttp-gson-group-parameter/git_push.sh | 57 + .../gradle.properties | 6 + .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59536 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + .../java/okhttp-gson-group-parameter/gradlew | 234 +++ .../okhttp-gson-group-parameter/gradlew.bat | 89 + .../java/okhttp-gson-group-parameter/pom.xml | 361 ++++ .../settings.gradle | 1 + .../src/main/AndroidManifest.xml | 3 + .../org/openapitools/client/ApiCallback.java | 62 + .../org/openapitools/client/ApiClient.java | 1555 +++++++++++++++++ .../org/openapitools/client/ApiException.java | 166 ++ .../org/openapitools/client/ApiResponse.java | 76 + .../openapitools/client/Configuration.java | 39 + .../client/GzipRequestInterceptor.java | 85 + .../java/org/openapitools/client/JSON.java | 406 +++++ .../java/org/openapitools/client/Pair.java | 57 + .../client/ProgressRequestBody.java | 73 + .../client/ProgressResponseBody.java | 70 + .../client/ServerConfiguration.java | 58 + .../openapitools/client/ServerVariable.java | 23 + .../org/openapitools/client/StringUtil.java | 83 + .../org/openapitools/client/api/PetApi.java | 1405 +++++++++++++++ .../openapitools/client/auth/ApiKeyAuth.java | 80 + .../client/auth/Authentication.java | 36 + .../client/auth/HttpBasicAuth.java | 57 + .../client/auth/HttpBearerAuth.java | 63 + .../org/openapitools/client/auth/OAuth.java | 42 + .../openapitools/client/auth/OAuthFlow.java | 25 + .../client/auth/OAuthOkHttpClient.java | 68 + .../client/auth/RetryingOAuth.java | 210 +++ .../client/model/AbstractOpenApiSchema.java | 149 ++ .../openapitools/client/model/Category.java | 304 ++++ .../client/model/ModelApiResponse.java | 337 ++++ .../org/openapitools/client/model/Order.java | 474 +++++ .../org/openapitools/client/model/Pet.java | 524 ++++++ .../org/openapitools/client/model/Tag.java | 304 ++++ .../org/openapitools/client/model/User.java | 499 ++++++ .../openapitools/client/api/PetApiTest.java | 163 ++ .../client/model/CategoryTest.java | 58 + .../client/model/ModelApiResponseTest.java | 66 + .../openapitools/client/model/OrderTest.java | 91 + .../openapitools/client/model/PetTest.java | 94 + .../openapitools/client/model/TagTest.java | 58 + .../openapitools/client/model/UserTest.java | 106 ++ 67 files changed, 10944 insertions(+), 3 deletions(-) create mode 100644 bin/configs/java-okhttp-gson-group-parameter.yaml create mode 100644 modules/openapi-generator/src/test/resources/3_0/java/petstore-group-parameter.yaml create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/.github/workflows/maven.yml create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/.gitignore create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/.openapi-generator-ignore create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/.openapi-generator/FILES create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/.openapi-generator/VERSION create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/.travis.yml create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/README.md create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/api/openapi.yaml create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/build.gradle create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/build.sbt create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/docs/Category.md create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/docs/ModelApiResponse.md create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/docs/Order.md create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/docs/Pet.md create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/docs/PetApi.md create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/docs/Tag.md create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/docs/User.md create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/git_push.sh create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/gradle.properties create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/gradle/wrapper/gradle-wrapper.jar create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/gradle/wrapper/gradle-wrapper.properties create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/gradlew create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/gradlew.bat create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/pom.xml create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/settings.gradle create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/AndroidManifest.xml create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiCallback.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiClient.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiException.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiResponse.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/Configuration.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/GzipRequestInterceptor.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/JSON.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/Pair.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ProgressRequestBody.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ProgressResponseBody.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ServerConfiguration.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ServerVariable.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/StringUtil.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/api/PetApi.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/ApiKeyAuth.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/Authentication.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/HttpBasicAuth.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/HttpBearerAuth.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/OAuth.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/OAuthFlow.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/OAuthOkHttpClient.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/RetryingOAuth.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/AbstractOpenApiSchema.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/Category.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/ModelApiResponse.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/Order.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/Pet.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/Tag.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/User.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/api/PetApiTest.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/CategoryTest.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/ModelApiResponseTest.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/OrderTest.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/PetTest.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/TagTest.java create mode 100644 samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/UserTest.java diff --git a/.github/workflows/gradle-test.yaml b/.github/workflows/gradle-test.yaml index 09ad381564..067377c11f 100644 --- a/.github/workflows/gradle-test.yaml +++ b/.github/workflows/gradle-test.yaml @@ -32,6 +32,7 @@ jobs: - samples/openapi3/client/petstore/java/jersey2-java8-special-characters - samples/openapi3/client/petstore/java/jersey2-java8 - samples/client/petstore/java/okhttp-gson + - samples/client/petstore/java/okhttp-gson-group-parameter steps: - uses: actions/checkout@v3 - uses: actions/setup-java@v3 diff --git a/bin/configs/java-okhttp-gson-group-parameter.yaml b/bin/configs/java-okhttp-gson-group-parameter.yaml new file mode 100644 index 0000000000..936f9f0a4b --- /dev/null +++ b/bin/configs/java-okhttp-gson-group-parameter.yaml @@ -0,0 +1,10 @@ +generatorName: java +outputDir: samples/client/petstore/java/okhttp-gson-group-parameter +library: okhttp-gson +inputSpec: modules/openapi-generator/src/test/resources/3_0/java/petstore-group-parameter.yaml +templateDir: modules/openapi-generator/src/main/resources/Java +additionalProperties: + artifactId: petstore-okhttp-gson-group-parameter + hideGenerationTimestamp: "true" + disallowAdditionalPropertiesIfNotPresent: false + useSingleRequestParameter: true diff --git a/docs/generators/java.md b/docs/generators/java.md index 6564507059..2427013b0e 100644 --- a/docs/generators/java.md +++ b/docs/generators/java.md @@ -85,6 +85,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl |useRuntimeException|Use RuntimeException instead of Exception| |false| |useRxJava2|Whether to use the RxJava2 adapter with the retrofit2 library. IMPORTANT: This option has been deprecated.| |false| |useRxJava3|Whether to use the RxJava3 adapter with the retrofit2 library. IMPORTANT: This option has been deprecated.| |false| +|useSingleRequestParameter|Setting this property to true will generate functions with a single argument containing all API endpoint parameters instead of one argument per parameter. ONLY jersey2, jersey3, okhttp-gson support this option.| |false| |withXml|whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML)| |false| ## SUPPORTED VENDOR EXTENSIONS diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java index a605c94c8b..0d239163dc 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java @@ -124,6 +124,7 @@ public class JavaClientCodegen extends AbstractJavaCodegen protected boolean useOneOfDiscriminatorLookup = false; // use oneOf discriminator's mapping for model lookup protected String rootJavaEEPackage; protected Map mpRestClientVersions = new HashMap<>(); + protected boolean useSingleRequestParameter = false; private static class MpRestClientVersion { public final String rootPackage; @@ -180,6 +181,7 @@ public class JavaClientCodegen extends AbstractJavaCodegen cliOptions.add(CliOption.newString(CONFIG_KEY, "Config key in @RegisterRestClient. Default to none. Only `microprofile` supports this option.")); cliOptions.add(CliOption.newBoolean(CodegenConstants.USE_ONEOF_DISCRIMINATOR_LOOKUP, CodegenConstants.USE_ONEOF_DISCRIMINATOR_LOOKUP_DESC + " Only jersey2, jersey3, native, okhttp-gson support this option.")); cliOptions.add(CliOption.newString(MICROPROFILE_REST_CLIENT_VERSION, "Version of MicroProfile Rest Client API.")); + cliOptions.add(CliOption.newBoolean(CodegenConstants.USE_SINGLE_REQUEST_PARAMETER, "Setting this property to true will generate functions with a single argument containing all API endpoint parameters instead of one argument per parameter. ONLY jersey2, jersey3, okhttp-gson support this option.")); supportedLibraries.put(JERSEY1, "HTTP client: Jersey client 1.19.x. JSON processing: Jackson 2.9.x. Enable gzip request encoding using '-DuseGzipFeature=true'. IMPORTANT NOTE: jersey 1.x is no longer actively maintained so please upgrade to 'jersey3' or other HTTP libraries instead."); supportedLibraries.put(JERSEY2, "HTTP client: Jersey client 2.25.1. JSON processing: Jackson 2.9.x"); @@ -282,6 +284,11 @@ public class JavaClientCodegen extends AbstractJavaCodegen } } + if (additionalProperties.containsKey(CodegenConstants.USE_SINGLE_REQUEST_PARAMETER)) { + this.setUseSingleRequestParameter(convertPropertyToBoolean(CodegenConstants.USE_SINGLE_REQUEST_PARAMETER)); + } + writePropertyBack(CodegenConstants.USE_SINGLE_REQUEST_PARAMETER, getUseSingleRequestParameter()); + if (!useRxJava && !useRxJava2 && !useRxJava3) { additionalProperties.put(DO_NOT_USE_RX, true); } @@ -684,13 +691,26 @@ public class JavaClientCodegen extends AbstractJavaCodegen @Override public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List allModels) { super.postProcessOperationsWithModels(objs, allModels); + + if (useSingleRequestParameter && (JERSEY2.equals(getLibrary()) || JERSEY3.equals(getLibrary()) || OKHTTP_GSON.equals(getLibrary()))) { + // loop through operations to set x-group-parameters extenion to true if useSingleRequestParameter option is enabled + OperationMap operations = objs.getOperations(); + if (operations != null) { + List ops = operations.getOperation(); + for (CodegenOperation operation : ops) { + if (!operation.vendorExtensions.containsKey("x-group-parameters")) { + operation.vendorExtensions.put("x-group-parameters", true); + } + } + } + } + if (RETROFIT_2.equals(getLibrary())) { OperationMap operations = objs.getOperations(); if (operations != null) { List ops = operations.getOperation(); for (CodegenOperation operation : ops) { if (operation.hasConsumes == Boolean.TRUE) { - if (isMultipartType(operation.consumes)) { operation.isMultipart = Boolean.TRUE; } else { @@ -713,14 +733,12 @@ public class JavaClientCodegen extends AbstractJavaCodegen if (one.isQueryParam && another.isPathParam) { return 1; } - return 0; } }); } } } - } // camelize path variables for Feign client @@ -987,6 +1005,14 @@ public class JavaClientCodegen extends AbstractJavaCodegen return this.useOneOfDiscriminatorLookup; } + private boolean getUseSingleRequestParameter() { + return useSingleRequestParameter; + } + + private void setUseSingleRequestParameter(boolean useSingleRequestParameter) { + this.useSingleRequestParameter = useSingleRequestParameter; + } + public void setUseRxJava(boolean useRxJava) { this.useRxJava = useRxJava; doNotUseRx = false; diff --git a/modules/openapi-generator/src/test/resources/3_0/java/petstore-group-parameter.yaml b/modules/openapi-generator/src/test/resources/3_0/java/petstore-group-parameter.yaml new file mode 100644 index 0000000000..516b565fb3 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/java/petstore-group-parameter.yaml @@ -0,0 +1,456 @@ +openapi: 3.0.0 +servers: + - url: 'http://petstore.swagger.io/v2' +info: + description: >- + This is a sample server Petstore server. For this sample, you can use the api key + `special-key` to test the authorization filters. + version: 1.0.0 + title: OpenAPI Petstore + license: + name: Apache-2.0 + url: 'https://www.apache.org/licenses/LICENSE-2.0.html' +tags: + - name: pet + description: Everything about your Pets + - name: store + description: Access to Petstore orders + - name: user + description: Operations about user +paths: + /pet: + post: + tags: + - pet + summary: Add a new pet to the store + description: '' + operationId: addPet + responses: + '200': + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Pet' + application/json: + schema: + $ref: '#/components/schemas/Pet' + '405': + description: Invalid input + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + requestBody: + $ref: '#/components/requestBodies/Pet' + put: + tags: + - pet + summary: Update an existing pet + description: '' + operationId: updatePet + responses: + '200': + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Pet' + application/json: + schema: + $ref: '#/components/schemas/Pet' + '400': + description: Invalid ID supplied + '404': + description: Pet not found + '405': + description: Validation exception + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + requestBody: + $ref: '#/components/requestBodies/Pet' + /pet/findByStatus: + get: + tags: + - pet + summary: Finds Pets by status + description: Multiple status values can be provided with comma separated strings + operationId: findPetsByStatus + parameters: + - name: status + in: query + description: Status values that need to be considered for filter + required: true + style: form + explode: false + deprecated: true + schema: + type: array + items: + type: string + enum: + - available + - pending + - sold + default: available + responses: + '200': + description: successful operation + content: + application/xml: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + '400': + description: Invalid status value + security: + - petstore_auth: + - 'read:pets' + /pet/findByTags: + get: + tags: + - pet + summary: Finds Pets by tags + description: >- + Multiple tags can be provided with comma separated strings. Use tag1, + tag2, tag3 for testing. + operationId: findPetsByTags + parameters: + - name: tags + in: query + description: Tags to filter by + required: true + style: form + explode: false + schema: + type: array + items: + type: string + responses: + '200': + description: successful operation + content: + application/xml: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + '400': + description: Invalid tag value + security: + - petstore_auth: + - 'read:pets' + deprecated: true + '/pet/{petId}': + get: + tags: + - pet + summary: Find pet by ID + description: Returns a single pet + operationId: getPetById + parameters: + - name: petId + in: path + description: ID of pet to return + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Pet' + application/json: + schema: + $ref: '#/components/schemas/Pet' + '400': + description: Invalid ID supplied + '404': + description: Pet not found + security: + - api_key: [] + post: + tags: + - pet + summary: Updates a pet in the store with form data + description: '' + operationId: updatePetWithForm + x-group-parameters: false + parameters: + - name: petId + in: path + description: ID of pet that needs to be updated + required: true + schema: + type: integer + format: int64 + responses: + '405': + description: Invalid input + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + requestBody: + content: + application/x-www-form-urlencoded: + schema: + type: object + properties: + name: + description: Updated name of the pet + type: string + status: + description: Updated status of the pet + type: string + delete: + tags: + - pet + summary: Deletes a pet + description: '' + operationId: deletePet + parameters: + - name: api_key + in: header + required: false + schema: + type: string + - name: petId + in: path + description: Pet id to delete + required: true + schema: + type: integer + format: int64 + responses: + '400': + description: Invalid pet value + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + '/pet/{petId}/uploadImage': + post: + tags: + - pet + summary: uploads an image + description: '' + operationId: uploadFile + parameters: + - name: petId + in: path + description: ID of pet to update + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/ApiResponse' + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + additionalMetadata: + description: Additional data to pass to server + type: string + file: + description: file to upload + type: string + format: binary +externalDocs: + description: Find out more about Swagger + url: 'http://swagger.io' +components: + requestBodies: + UserArray: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/User' + description: List of user object + required: true + Pet: + content: + application/json: + schema: + $ref: '#/components/schemas/Pet' + application/xml: + schema: + $ref: '#/components/schemas/Pet' + description: Pet object that needs to be added to the store + required: true + securitySchemes: + petstore_auth: + type: oauth2 + flows: + implicit: + authorizationUrl: 'http://petstore.swagger.io/api/oauth/dialog' + scopes: + 'write:pets': modify pets in your account + 'read:pets': read your pets + api_key: + type: apiKey + name: api_key + in: header + schemas: + Order: + title: Pet Order + description: An order for a pets from the pet store + type: object + properties: + id: + type: integer + format: int64 + petId: + type: integer + format: int64 + quantity: + type: integer + format: int32 + shipDate: + type: string + format: date-time + status: + type: string + description: Order Status + enum: + - placed + - approved + - delivered + complete: + type: boolean + default: false + xml: + name: Order + Category: + title: Pet category + description: A category for a pet + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + pattern: '^[a-zA-Z0-9]+[a-zA-Z0-9\.\-_]*[a-zA-Z0-9]+$' + xml: + name: Category + User: + title: a User + description: A User who is purchasing from the pet store + type: object + properties: + id: + type: integer + format: int64 + username: + type: string + firstName: + type: string + lastName: + type: string + email: + type: string + password: + type: string + phone: + type: string + userStatus: + type: integer + format: int32 + description: User Status + xml: + name: User + Tag: + title: Pet Tag + description: A tag for a pet + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + xml: + name: Tag + Pet: + title: a Pet + description: A pet for sale in the pet store + type: object + required: + - name + - photoUrls + properties: + id: + type: integer + format: int64 + category: + $ref: '#/components/schemas/Category' + name: + type: string + example: doggie + photoUrls: + type: array + xml: + name: photoUrl + wrapped: true + items: + type: string + tags: + type: array + xml: + name: tag + wrapped: true + items: + $ref: '#/components/schemas/Tag' + status: + type: string + description: pet status in the store + deprecated: true + enum: + - available + - pending + - sold + xml: + name: Pet + ApiResponse: + title: An uploaded response + description: Describes the result of uploading an image resource + type: object + properties: + code: + type: integer + format: int32 + type: + type: string + message: + type: string diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/.github/workflows/maven.yml b/samples/client/petstore/java/okhttp-gson-group-parameter/.github/workflows/maven.yml new file mode 100644 index 0000000000..89fbd4999b --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/.github/workflows/maven.yml @@ -0,0 +1,30 @@ +# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven +# +# This file is auto-generated by OpenAPI Generator (https://openapi-generator.tech) + +name: Java CI with Maven + +on: + push: + branches: [ main, master ] + pull_request: + branches: [ main, master ] + +jobs: + build: + name: Build OpenAPI Petstore + runs-on: ubuntu-latest + strategy: + matrix: + java: [ '8' ] + steps: + - uses: actions/checkout@v2 + - name: Set up JDK + uses: actions/setup-java@v2 + with: + java-version: ${{ matrix.java }} + distribution: 'temurin' + cache: maven + - name: Build with Maven + run: mvn -B package --no-transfer-progress --file pom.xml diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/.gitignore b/samples/client/petstore/java/okhttp-gson-group-parameter/.gitignore new file mode 100644 index 0000000000..a530464afa --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/.gitignore @@ -0,0 +1,21 @@ +*.class + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.ear + +# exclude jar for gradle wrapper +!gradle/wrapper/*.jar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +# build files +**/target +target +.gradle +build diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/.openapi-generator-ignore b/samples/client/petstore/java/okhttp-gson-group-parameter/.openapi-generator-ignore new file mode 100644 index 0000000000..7484ee590a --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/.openapi-generator/FILES b/samples/client/petstore/java/okhttp-gson-group-parameter/.openapi-generator/FILES new file mode 100644 index 0000000000..5d9315dce6 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/.openapi-generator/FILES @@ -0,0 +1,52 @@ +.github/workflows/maven.yml +.gitignore +.travis.yml +README.md +api/openapi.yaml +build.gradle +build.sbt +docs/Category.md +docs/ModelApiResponse.md +docs/Order.md +docs/Pet.md +docs/PetApi.md +docs/Tag.md +docs/User.md +git_push.sh +gradle.properties +gradle/wrapper/gradle-wrapper.jar +gradle/wrapper/gradle-wrapper.properties +gradlew +gradlew.bat +pom.xml +settings.gradle +src/main/AndroidManifest.xml +src/main/java/org/openapitools/client/ApiCallback.java +src/main/java/org/openapitools/client/ApiClient.java +src/main/java/org/openapitools/client/ApiException.java +src/main/java/org/openapitools/client/ApiResponse.java +src/main/java/org/openapitools/client/Configuration.java +src/main/java/org/openapitools/client/GzipRequestInterceptor.java +src/main/java/org/openapitools/client/JSON.java +src/main/java/org/openapitools/client/Pair.java +src/main/java/org/openapitools/client/ProgressRequestBody.java +src/main/java/org/openapitools/client/ProgressResponseBody.java +src/main/java/org/openapitools/client/ServerConfiguration.java +src/main/java/org/openapitools/client/ServerVariable.java +src/main/java/org/openapitools/client/StringUtil.java +src/main/java/org/openapitools/client/api/PetApi.java +src/main/java/org/openapitools/client/auth/ApiKeyAuth.java +src/main/java/org/openapitools/client/auth/Authentication.java +src/main/java/org/openapitools/client/auth/HttpBasicAuth.java +src/main/java/org/openapitools/client/auth/HttpBearerAuth.java +src/main/java/org/openapitools/client/auth/OAuth.java +src/main/java/org/openapitools/client/auth/OAuthFlow.java +src/main/java/org/openapitools/client/auth/OAuthOkHttpClient.java +src/main/java/org/openapitools/client/auth/RetryingOAuth.java +src/main/java/org/openapitools/client/model/AbstractOpenApiSchema.java +src/main/java/org/openapitools/client/model/Category.java +src/main/java/org/openapitools/client/model/ModelApiResponse.java +src/main/java/org/openapitools/client/model/Order.java +src/main/java/org/openapitools/client/model/Pet.java +src/main/java/org/openapitools/client/model/Tag.java +src/main/java/org/openapitools/client/model/User.java diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/.openapi-generator/VERSION b/samples/client/petstore/java/okhttp-gson-group-parameter/.openapi-generator/VERSION new file mode 100644 index 0000000000..89648de331 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/.openapi-generator/VERSION @@ -0,0 +1 @@ +6.0.1-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/.travis.yml b/samples/client/petstore/java/okhttp-gson-group-parameter/.travis.yml new file mode 100644 index 0000000000..1b6741c083 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/.travis.yml @@ -0,0 +1,22 @@ +# +# Generated by OpenAPI Generator: https://openapi-generator.tech +# +# Ref: https://docs.travis-ci.com/user/languages/java/ +# +language: java +jdk: + - openjdk12 + - openjdk11 + - openjdk10 + - openjdk9 + - openjdk8 +before_install: + # ensure gradlew has proper permission + - chmod a+x ./gradlew +script: + # test using maven + #- mvn test + # test using gradle + - gradle test + # test using sbt + # - sbt test diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/README.md b/samples/client/petstore/java/okhttp-gson-group-parameter/README.md new file mode 100644 index 0000000000..304abc8eb5 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/README.md @@ -0,0 +1,168 @@ +# petstore-okhttp-gson-group-parameter + +OpenAPI Petstore +- API version: 1.0.0 + +This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + + +*Automatically generated by the [OpenAPI Generator](https://openapi-generator.tech)* + + +## Requirements + +Building the API client library requires: +1. Java 1.8+ +2. Maven (3.8.3+)/Gradle (7.2+) + +## Installation + +To install the API client library to your local Maven repository, simply execute: + +```shell +mvn clean install +``` + +To deploy it to a remote Maven repository instead, configure the settings of the repository and execute: + +```shell +mvn clean deploy +``` + +Refer to the [OSSRH Guide](http://central.sonatype.org/pages/ossrh-guide.html) for more information. + +### Maven users + +Add this dependency to your project's POM: + +```xml + + org.openapitools + petstore-okhttp-gson-group-parameter + 1.0.0 + compile + +``` + +### Gradle users + +Add this dependency to your project's build file: + +```groovy + repositories { + mavenCentral() // Needed if the 'petstore-okhttp-gson-group-parameter' jar has been published to maven central. + mavenLocal() // Needed if the 'petstore-okhttp-gson-group-parameter' jar has been published to the local maven repo. + } + + dependencies { + implementation "org.openapitools:petstore-okhttp-gson-group-parameter:1.0.0" + } +``` + +### Others + +At first generate the JAR by executing: + +```shell +mvn clean package +``` + +Then manually install the following JARs: + +* `target/petstore-okhttp-gson-group-parameter-1.0.0.jar` +* `target/lib/*.jar` + +## Getting Started + +Please follow the [installation](#installation) instruction and execute the following Java code: + +```java + +// Import classes: +import org.openapitools.client.ApiClient; +import org.openapitools.client.ApiException; +import org.openapitools.client.Configuration; +import org.openapitools.client.auth.*; +import org.openapitools.client.models.*; +import org.openapitools.client.api.PetApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://petstore.swagger.io/v2"); + + // Configure OAuth2 access token for authorization: petstore_auth + OAuth petstore_auth = (OAuth) defaultClient.getAuthentication("petstore_auth"); + petstore_auth.setAccessToken("YOUR ACCESS TOKEN"); + + PetApi apiInstance = new PetApi(defaultClient); + Pet pet = new Pet(); // Pet | Pet object that needs to be added to the store + try { + Pet result = apiInstance.addPet(pet) + .execute(); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PetApi#addPet"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} + +``` + +## Documentation for API Endpoints + +All URIs are relative to *http://petstore.swagger.io/v2* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*PetApi* | [**addPet**](docs/PetApi.md#addPet) | **POST** /pet | Add a new pet to the store +*PetApi* | [**deletePet**](docs/PetApi.md#deletePet) | **DELETE** /pet/{petId} | Deletes a pet +*PetApi* | [**findPetsByStatus**](docs/PetApi.md#findPetsByStatus) | **GET** /pet/findByStatus | Finds Pets by status +*PetApi* | [**findPetsByTags**](docs/PetApi.md#findPetsByTags) | **GET** /pet/findByTags | Finds Pets by tags +*PetApi* | [**getPetById**](docs/PetApi.md#getPetById) | **GET** /pet/{petId} | Find pet by ID +*PetApi* | [**updatePet**](docs/PetApi.md#updatePet) | **PUT** /pet | Update an existing pet +*PetApi* | [**updatePetWithForm**](docs/PetApi.md#updatePetWithForm) | **POST** /pet/{petId} | Updates a pet in the store with form data +*PetApi* | [**uploadFile**](docs/PetApi.md#uploadFile) | **POST** /pet/{petId}/uploadImage | uploads an image + + +## Documentation for Models + + - [Category](docs/Category.md) + - [ModelApiResponse](docs/ModelApiResponse.md) + - [Order](docs/Order.md) + - [Pet](docs/Pet.md) + - [Tag](docs/Tag.md) + - [User](docs/User.md) + + +## Documentation for Authorization + +Authentication schemes defined for the API: +### api_key + +- **Type**: API key +- **API key parameter name**: api_key +- **Location**: HTTP header + +### petstore_auth + +- **Type**: OAuth +- **Flow**: implicit +- **Authorization URL**: http://petstore.swagger.io/api/oauth/dialog +- **Scopes**: + - write:pets: modify pets in your account + - read:pets: read your pets + + +## Recommendation + +It's recommended to create an instance of `ApiClient` per thread in a multithreaded environment to avoid any potential issues. + +## Author + + + diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/api/openapi.yaml b/samples/client/petstore/java/okhttp-gson-group-parameter/api/openapi.yaml new file mode 100644 index 0000000000..143c6a5c94 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/api/openapi.yaml @@ -0,0 +1,506 @@ +openapi: 3.0.0 +info: + description: "This is a sample server Petstore server. For this sample, you can\ + \ use the api key `special-key` to test the authorization filters." + license: + name: Apache-2.0 + url: https://www.apache.org/licenses/LICENSE-2.0.html + title: OpenAPI Petstore + version: 1.0.0 +externalDocs: + description: Find out more about Swagger + url: http://swagger.io +servers: +- url: http://petstore.swagger.io/v2 +tags: +- description: Everything about your Pets + name: pet +- description: Access to Petstore orders + name: store +- description: Operations about user + name: user +paths: + /pet: + post: + description: "" + operationId: addPet + requestBody: + $ref: '#/components/requestBodies/Pet' + responses: + "200": + content: + application/xml: + schema: + $ref: '#/components/schemas/Pet' + application/json: + schema: + $ref: '#/components/schemas/Pet' + description: successful operation + "405": + description: Invalid input + security: + - petstore_auth: + - write:pets + - read:pets + summary: Add a new pet to the store + tags: + - pet + x-content-type: application/json + x-accepts: application/json + put: + description: "" + operationId: updatePet + requestBody: + $ref: '#/components/requestBodies/Pet' + responses: + "200": + content: + application/xml: + schema: + $ref: '#/components/schemas/Pet' + application/json: + schema: + $ref: '#/components/schemas/Pet' + description: successful operation + "400": + description: Invalid ID supplied + "404": + description: Pet not found + "405": + description: Validation exception + security: + - petstore_auth: + - write:pets + - read:pets + summary: Update an existing pet + tags: + - pet + x-content-type: application/json + x-accepts: application/json + /pet/findByStatus: + get: + description: Multiple status values can be provided with comma separated strings + operationId: findPetsByStatus + parameters: + - deprecated: true + description: Status values that need to be considered for filter + explode: false + in: query + name: status + required: true + schema: + items: + default: available + enum: + - available + - pending + - sold + type: string + type: array + style: form + responses: + "200": + content: + application/xml: + schema: + items: + $ref: '#/components/schemas/Pet' + type: array + application/json: + schema: + items: + $ref: '#/components/schemas/Pet' + type: array + description: successful operation + "400": + description: Invalid status value + security: + - petstore_auth: + - read:pets + summary: Finds Pets by status + tags: + - pet + x-accepts: application/json + /pet/findByTags: + get: + deprecated: true + description: "Multiple tags can be provided with comma separated strings. Use\ + \ tag1, tag2, tag3 for testing." + operationId: findPetsByTags + parameters: + - description: Tags to filter by + explode: false + in: query + name: tags + required: true + schema: + items: + type: string + type: array + style: form + responses: + "200": + content: + application/xml: + schema: + items: + $ref: '#/components/schemas/Pet' + type: array + application/json: + schema: + items: + $ref: '#/components/schemas/Pet' + type: array + description: successful operation + "400": + description: Invalid tag value + security: + - petstore_auth: + - read:pets + summary: Finds Pets by tags + tags: + - pet + x-accepts: application/json + /pet/{petId}: + delete: + description: "" + operationId: deletePet + parameters: + - explode: false + in: header + name: api_key + required: false + schema: + type: string + style: simple + - description: Pet id to delete + explode: false + in: path + name: petId + required: true + schema: + format: int64 + type: integer + style: simple + responses: + "400": + description: Invalid pet value + security: + - petstore_auth: + - write:pets + - read:pets + summary: Deletes a pet + tags: + - pet + x-accepts: application/json + get: + description: Returns a single pet + operationId: getPetById + parameters: + - description: ID of pet to return + explode: false + in: path + name: petId + required: true + schema: + format: int64 + type: integer + style: simple + responses: + "200": + content: + application/xml: + schema: + $ref: '#/components/schemas/Pet' + application/json: + schema: + $ref: '#/components/schemas/Pet' + description: successful operation + "400": + description: Invalid ID supplied + "404": + description: Pet not found + security: + - api_key: [] + summary: Find pet by ID + tags: + - pet + x-accepts: application/json + post: + description: "" + operationId: updatePetWithForm + parameters: + - description: ID of pet that needs to be updated + explode: false + in: path + name: petId + required: true + schema: + format: int64 + type: integer + style: simple + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/updatePetWithForm_request' + responses: + "405": + description: Invalid input + security: + - petstore_auth: + - write:pets + - read:pets + summary: Updates a pet in the store with form data + tags: + - pet + x-group-parameters: false + x-content-type: application/x-www-form-urlencoded + x-accepts: application/json + /pet/{petId}/uploadImage: + post: + description: "" + operationId: uploadFile + parameters: + - description: ID of pet to update + explode: false + in: path + name: petId + required: true + schema: + format: int64 + type: integer + style: simple + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/uploadFile_request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/ApiResponse' + description: successful operation + security: + - petstore_auth: + - write:pets + - read:pets + summary: uploads an image + tags: + - pet + x-content-type: multipart/form-data + x-accepts: application/json +components: + requestBodies: + UserArray: + content: + application/json: + schema: + items: + $ref: '#/components/schemas/User' + type: array + description: List of user object + required: true + Pet: + content: + application/json: + schema: + $ref: '#/components/schemas/Pet' + application/xml: + schema: + $ref: '#/components/schemas/Pet' + description: Pet object that needs to be added to the store + required: true + schemas: + Order: + description: An order for a pets from the pet store + properties: + id: + format: int64 + type: integer + petId: + format: int64 + type: integer + quantity: + format: int32 + type: integer + shipDate: + format: date-time + type: string + status: + description: Order Status + enum: + - placed + - approved + - delivered + type: string + complete: + default: false + type: boolean + title: Pet Order + type: object + xml: + name: Order + Category: + description: A category for a pet + example: + name: name + id: 6 + properties: + id: + format: int64 + type: integer + name: + pattern: "^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$" + type: string + title: Pet category + type: object + xml: + name: Category + User: + description: A User who is purchasing from the pet store + properties: + id: + format: int64 + type: integer + username: + type: string + firstName: + type: string + lastName: + type: string + email: + type: string + password: + type: string + phone: + type: string + userStatus: + description: User Status + format: int32 + type: integer + title: a User + type: object + xml: + name: User + Tag: + description: A tag for a pet + example: + name: name + id: 1 + properties: + id: + format: int64 + type: integer + name: + type: string + title: Pet Tag + type: object + xml: + name: Tag + Pet: + description: A pet for sale in the pet store + example: + photoUrls: + - photoUrls + - photoUrls + name: doggie + id: 0 + category: + name: name + id: 6 + tags: + - name: name + id: 1 + - name: name + id: 1 + status: available + properties: + id: + format: int64 + type: integer + category: + $ref: '#/components/schemas/Category' + name: + example: doggie + type: string + photoUrls: + items: + type: string + type: array + xml: + name: photoUrl + wrapped: true + tags: + items: + $ref: '#/components/schemas/Tag' + type: array + xml: + name: tag + wrapped: true + status: + deprecated: true + description: pet status in the store + enum: + - available + - pending + - sold + type: string + required: + - name + - photoUrls + title: a Pet + type: object + xml: + name: Pet + ApiResponse: + description: Describes the result of uploading an image resource + example: + code: 0 + type: type + message: message + properties: + code: + format: int32 + type: integer + type: + type: string + message: + type: string + title: An uploaded response + type: object + updatePetWithForm_request: + properties: + name: + description: Updated name of the pet + type: string + status: + description: Updated status of the pet + type: string + type: object + uploadFile_request: + properties: + additionalMetadata: + description: Additional data to pass to server + type: string + file: + description: file to upload + format: binary + type: string + type: object + securitySchemes: + petstore_auth: + flows: + implicit: + authorizationUrl: http://petstore.swagger.io/api/oauth/dialog + scopes: + write:pets: modify pets in your account + read:pets: read your pets + type: oauth2 + api_key: + in: header + name: api_key + type: apiKey + diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/build.gradle b/samples/client/petstore/java/okhttp-gson-group-parameter/build.gradle new file mode 100644 index 0000000000..725f32ebaf --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/build.gradle @@ -0,0 +1,169 @@ +apply plugin: 'idea' +apply plugin: 'eclipse' +apply plugin: 'java' +apply plugin: 'com.diffplug.spotless' + +group = 'org.openapitools' +version = '1.0.0' + +buildscript { + repositories { + mavenCentral() + } + dependencies { + classpath 'com.android.tools.build:gradle:2.3.+' + classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' + classpath 'com.diffplug.spotless:spotless-plugin-gradle:6.3.0' + } +} + +repositories { + mavenCentral() +} +sourceSets { + main.java.srcDirs = ['src/main/java'] +} + +if(hasProperty('target') && target == 'android') { + + apply plugin: 'com.android.library' + apply plugin: 'com.github.dcendents.android-maven' + + android { + compileSdkVersion 25 + buildToolsVersion '25.0.2' + defaultConfig { + minSdkVersion 14 + targetSdkVersion 25 + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + // Rename the aar correctly + libraryVariants.all { variant -> + variant.outputs.each { output -> + def outputFile = output.outputFile + if (outputFile != null && outputFile.name.endsWith('.aar')) { + def fileName = "${project.name}-${variant.baseName}-${version}.aar" + output.outputFile = new File(outputFile.parent, fileName) + } + } + } + + dependencies { + provided "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version" + } + } + + afterEvaluate { + android.libraryVariants.all { variant -> + def task = project.tasks.create "jar${variant.name.capitalize()}", Jar + task.description = "Create jar artifact for ${variant.name}" + task.dependsOn variant.javaCompile + task.from variant.javaCompile.destinationDir + task.destinationDir = project.file("${project.buildDir}/outputs/jar") + task.archiveName = "${project.name}-${variant.baseName}-${version}.jar" + artifacts.add('archives', task); + } + } + + task sourcesJar(type: Jar) { + from android.sourceSets.main.java.srcDirs + classifier = 'sources' + } + + artifacts { + archives sourcesJar + } + +} else { + + apply plugin: 'java' + apply plugin: 'maven-publish' + + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + + publishing { + publications { + maven(MavenPublication) { + artifactId = 'petstore-okhttp-gson-group-parameter' + from components.java + } + } + } + + task execute(type:JavaExec) { + main = System.getProperty('mainClass') + classpath = sourceSets.main.runtimeClasspath + } +} + +ext { + jakarta_annotation_version = "1.3.5" +} + +dependencies { + implementation 'io.swagger:swagger-annotations:1.6.5' + implementation "com.google.code.findbugs:jsr305:3.0.2" + implementation 'com.squareup.okhttp3:okhttp:4.9.3' + implementation 'com.squareup.okhttp3:logging-interceptor:4.9.3' + implementation 'com.google.code.gson:gson:2.9.0' + implementation 'io.gsonfire:gson-fire:1.8.5' + implementation 'javax.ws.rs:jsr311-api:1.1.1' + implementation 'javax.ws.rs:javax.ws.rs-api:2.1.1' + implementation 'org.openapitools:jackson-databind-nullable:0.2.2' + implementation group: 'org.apache.oltu.oauth2', name: 'org.apache.oltu.oauth2.client', version: '1.0.1' + implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0' + implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version" + testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' + testImplementation 'org.mockito:mockito-core:3.12.4' + testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2' +} + +javadoc { + options.tags = [ "http.response.details:a:Http Response Details" ] +} + +// Use spotless plugin to automatically format code, remove unused import, etc +// To apply changes directly to the file, run `gradlew spotlessApply` +// Ref: https://github.com/diffplug/spotless/tree/main/plugin-gradle +spotless { + // comment out below to run spotless as part of the `check` task + enforceCheck false + + format 'misc', { + // define the files (e.g. '*.gradle', '*.md') to apply `misc` to + target '.gitignore' + + // define the steps to apply to those files + trimTrailingWhitespace() + indentWithSpaces() // Takes an integer argument if you don't like 4 + endWithNewline() + } + java { + // don't need to set target, it is inferred from java + + // apply a specific flavor of google-java-format + googleJavaFormat('1.8').aosp().reflowLongStrings() + + removeUnusedImports() + importOrder() + } +} + +test { + // Enable JUnit 5 (Gradle 4.6+). + useJUnitPlatform() + + // Always run tests, even when nothing changed. + dependsOn 'cleanTest' + + // Show test results. + testLogging { + events "passed", "skipped", "failed" + } + +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/build.sbt b/samples/client/petstore/java/okhttp-gson-group-parameter/build.sbt new file mode 100644 index 0000000000..5f90f2b917 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/build.sbt @@ -0,0 +1,28 @@ +lazy val root = (project in file(".")). + settings( + organization := "org.openapitools", + name := "petstore-okhttp-gson-group-parameter", + version := "1.0.0", + scalaVersion := "2.11.4", + scalacOptions ++= Seq("-feature"), + javacOptions in compile ++= Seq("-Xlint:deprecation"), + publishArtifact in (Compile, packageDoc) := false, + resolvers += Resolver.mavenLocal, + libraryDependencies ++= Seq( + "io.swagger" % "swagger-annotations" % "1.6.5", + "com.squareup.okhttp3" % "okhttp" % "4.9.3", + "com.squareup.okhttp3" % "logging-interceptor" % "4.9.3", + "com.google.code.gson" % "gson" % "2.9.0", + "org.apache.commons" % "commons-lang3" % "3.12.0", + "javax.ws.rs" % "jsr311-api" % "1.1.1", + "javax.ws.rs" % "javax.ws.rs-api" % "2.1.1", + "org.openapitools" % "jackson-databind-nullable" % "0.2.2", + "org.apache.oltu.oauth2" % "org.apache.oltu.oauth2.client" % "1.0.1", + "io.gsonfire" % "gson-fire" % "1.8.5" % "compile", + "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile", + "com.google.code.findbugs" % "jsr305" % "3.0.2" % "compile", + "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile", + "org.junit.jupiter" % "junit-jupiter-api" % "5.8.2" % "test", + "com.novocode" % "junit-interface" % "0.10" % "test" + ) + ) diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/docs/Category.md b/samples/client/petstore/java/okhttp-gson-group-parameter/docs/Category.md new file mode 100644 index 0000000000..a7fc939d25 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/docs/Category.md @@ -0,0 +1,15 @@ + + +# Category + +A category for a pet + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **Long** | | [optional] | +|**name** | **String** | | [optional] | + + + diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/docs/ModelApiResponse.md b/samples/client/petstore/java/okhttp-gson-group-parameter/docs/ModelApiResponse.md new file mode 100644 index 0000000000..cd7e3c400b --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/docs/ModelApiResponse.md @@ -0,0 +1,16 @@ + + +# ModelApiResponse + +Describes the result of uploading an image resource + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**code** | **Integer** | | [optional] | +|**type** | **String** | | [optional] | +|**message** | **String** | | [optional] | + + + diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/docs/Order.md b/samples/client/petstore/java/okhttp-gson-group-parameter/docs/Order.md new file mode 100644 index 0000000000..0c33059b8b --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/docs/Order.md @@ -0,0 +1,29 @@ + + +# Order + +An order for a pets from the pet store + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **Long** | | [optional] | +|**petId** | **Long** | | [optional] | +|**quantity** | **Integer** | | [optional] | +|**shipDate** | **OffsetDateTime** | | [optional] | +|**status** | [**StatusEnum**](#StatusEnum) | Order Status | [optional] | +|**complete** | **Boolean** | | [optional] | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| PLACED | "placed" | +| APPROVED | "approved" | +| DELIVERED | "delivered" | + + + diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/docs/Pet.md b/samples/client/petstore/java/okhttp-gson-group-parameter/docs/Pet.md new file mode 100644 index 0000000000..8bb3633012 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/docs/Pet.md @@ -0,0 +1,29 @@ + + +# Pet + +A pet for sale in the pet store + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **Long** | | [optional] | +|**category** | [**Category**](Category.md) | | [optional] | +|**name** | **String** | | | +|**photoUrls** | **List<String>** | | | +|**tags** | [**List<Tag>**](Tag.md) | | [optional] | +|**status** | [**StatusEnum**](#StatusEnum) | pet status in the store | [optional] | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| AVAILABLE | "available" | +| PENDING | "pending" | +| SOLD | "sold" | + + + diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/docs/PetApi.md b/samples/client/petstore/java/okhttp-gson-group-parameter/docs/PetApi.md new file mode 100644 index 0000000000..5e2ed87c42 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/docs/PetApi.md @@ -0,0 +1,580 @@ +# PetApi + +All URIs are relative to *http://petstore.swagger.io/v2* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**addPet**](PetApi.md#addPet) | **POST** /pet | Add a new pet to the store | +| [**deletePet**](PetApi.md#deletePet) | **DELETE** /pet/{petId} | Deletes a pet | +| [**findPetsByStatus**](PetApi.md#findPetsByStatus) | **GET** /pet/findByStatus | Finds Pets by status | +| [**findPetsByTags**](PetApi.md#findPetsByTags) | **GET** /pet/findByTags | Finds Pets by tags | +| [**getPetById**](PetApi.md#getPetById) | **GET** /pet/{petId} | Find pet by ID | +| [**updatePet**](PetApi.md#updatePet) | **PUT** /pet | Update an existing pet | +| [**updatePetWithForm**](PetApi.md#updatePetWithForm) | **POST** /pet/{petId} | Updates a pet in the store with form data | +| [**uploadFile**](PetApi.md#uploadFile) | **POST** /pet/{petId}/uploadImage | uploads an image | + + + +# **addPet** +> Pet addPet(pet).execute(); + +Add a new pet to the store + + + +### Example +```java +// Import classes: +import org.openapitools.client.ApiClient; +import org.openapitools.client.ApiException; +import org.openapitools.client.Configuration; +import org.openapitools.client.auth.*; +import org.openapitools.client.models.*; +import org.openapitools.client.api.PetApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://petstore.swagger.io/v2"); + + // Configure OAuth2 access token for authorization: petstore_auth + OAuth petstore_auth = (OAuth) defaultClient.getAuthentication("petstore_auth"); + petstore_auth.setAccessToken("YOUR ACCESS TOKEN"); + + PetApi apiInstance = new PetApi(defaultClient); + Pet pet = new Pet(); // Pet | Pet object that needs to be added to the store + try { + Pet result = apiInstance.addPet(pet) + .execute(); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PetApi#addPet"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | | + +### Return type + +[**Pet**](Pet.md) + +### Authorization + +[petstore_auth](../README.md#petstore_auth) + +### HTTP request headers + + - **Content-Type**: application/json, application/xml + - **Accept**: application/xml, application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | successful operation | - | +| **405** | Invalid input | - | + + +# **deletePet** +> deletePet(petId).apiKey(apiKey).execute(); + +Deletes a pet + + + +### Example +```java +// Import classes: +import org.openapitools.client.ApiClient; +import org.openapitools.client.ApiException; +import org.openapitools.client.Configuration; +import org.openapitools.client.auth.*; +import org.openapitools.client.models.*; +import org.openapitools.client.api.PetApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://petstore.swagger.io/v2"); + + // Configure OAuth2 access token for authorization: petstore_auth + OAuth petstore_auth = (OAuth) defaultClient.getAuthentication("petstore_auth"); + petstore_auth.setAccessToken("YOUR ACCESS TOKEN"); + + PetApi apiInstance = new PetApi(defaultClient); + Long petId = 56L; // Long | Pet id to delete + String apiKey = "apiKey_example"; // String | + try { + apiInstance.deletePet(petId) + .apiKey(apiKey) + .execute(); + } catch (ApiException e) { + System.err.println("Exception when calling PetApi#deletePet"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **petId** | **Long**| Pet id to delete | | +| **apiKey** | **String**| | [optional] | + +### Return type + +null (empty response body) + +### Authorization + +[petstore_auth](../README.md#petstore_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **400** | Invalid pet value | - | + + +# **findPetsByStatus** +> List<Pet> findPetsByStatus(status).execute(); + +Finds Pets by status + +Multiple status values can be provided with comma separated strings + +### Example +```java +// Import classes: +import org.openapitools.client.ApiClient; +import org.openapitools.client.ApiException; +import org.openapitools.client.Configuration; +import org.openapitools.client.auth.*; +import org.openapitools.client.models.*; +import org.openapitools.client.api.PetApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://petstore.swagger.io/v2"); + + // Configure OAuth2 access token for authorization: petstore_auth + OAuth petstore_auth = (OAuth) defaultClient.getAuthentication("petstore_auth"); + petstore_auth.setAccessToken("YOUR ACCESS TOKEN"); + + PetApi apiInstance = new PetApi(defaultClient); + List status = Arrays.asList("available"); // List | Status values that need to be considered for filter + try { + List result = apiInstance.findPetsByStatus(status) + .execute(); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PetApi#findPetsByStatus"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **status** | [**List<String>**](String.md)| Status values that need to be considered for filter | [enum: available, pending, sold] | + +### Return type + +[**List<Pet>**](Pet.md) + +### Authorization + +[petstore_auth](../README.md#petstore_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/xml, application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | successful operation | - | +| **400** | Invalid status value | - | + + +# **findPetsByTags** +> List<Pet> findPetsByTags(tags).execute(); + +Finds Pets by tags + +Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. + +### Example +```java +// Import classes: +import org.openapitools.client.ApiClient; +import org.openapitools.client.ApiException; +import org.openapitools.client.Configuration; +import org.openapitools.client.auth.*; +import org.openapitools.client.models.*; +import org.openapitools.client.api.PetApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://petstore.swagger.io/v2"); + + // Configure OAuth2 access token for authorization: petstore_auth + OAuth petstore_auth = (OAuth) defaultClient.getAuthentication("petstore_auth"); + petstore_auth.setAccessToken("YOUR ACCESS TOKEN"); + + PetApi apiInstance = new PetApi(defaultClient); + List tags = Arrays.asList(); // List | Tags to filter by + try { + List result = apiInstance.findPetsByTags(tags) + .execute(); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PetApi#findPetsByTags"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **tags** | [**List<String>**](String.md)| Tags to filter by | | + +### Return type + +[**List<Pet>**](Pet.md) + +### Authorization + +[petstore_auth](../README.md#petstore_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/xml, application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | successful operation | - | +| **400** | Invalid tag value | - | + + +# **getPetById** +> Pet getPetById(petId).execute(); + +Find pet by ID + +Returns a single pet + +### Example +```java +// Import classes: +import org.openapitools.client.ApiClient; +import org.openapitools.client.ApiException; +import org.openapitools.client.Configuration; +import org.openapitools.client.auth.*; +import org.openapitools.client.models.*; +import org.openapitools.client.api.PetApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://petstore.swagger.io/v2"); + + // Configure API key authorization: api_key + ApiKeyAuth api_key = (ApiKeyAuth) defaultClient.getAuthentication("api_key"); + api_key.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //api_key.setApiKeyPrefix("Token"); + + PetApi apiInstance = new PetApi(defaultClient); + Long petId = 56L; // Long | ID of pet to return + try { + Pet result = apiInstance.getPetById(petId) + .execute(); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PetApi#getPetById"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **petId** | **Long**| ID of pet to return | | + +### Return type + +[**Pet**](Pet.md) + +### Authorization + +[api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/xml, application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | successful operation | - | +| **400** | Invalid ID supplied | - | +| **404** | Pet not found | - | + + +# **updatePet** +> Pet updatePet(pet).execute(); + +Update an existing pet + + + +### Example +```java +// Import classes: +import org.openapitools.client.ApiClient; +import org.openapitools.client.ApiException; +import org.openapitools.client.Configuration; +import org.openapitools.client.auth.*; +import org.openapitools.client.models.*; +import org.openapitools.client.api.PetApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://petstore.swagger.io/v2"); + + // Configure OAuth2 access token for authorization: petstore_auth + OAuth petstore_auth = (OAuth) defaultClient.getAuthentication("petstore_auth"); + petstore_auth.setAccessToken("YOUR ACCESS TOKEN"); + + PetApi apiInstance = new PetApi(defaultClient); + Pet pet = new Pet(); // Pet | Pet object that needs to be added to the store + try { + Pet result = apiInstance.updatePet(pet) + .execute(); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PetApi#updatePet"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | | + +### Return type + +[**Pet**](Pet.md) + +### Authorization + +[petstore_auth](../README.md#petstore_auth) + +### HTTP request headers + + - **Content-Type**: application/json, application/xml + - **Accept**: application/xml, application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | successful operation | - | +| **400** | Invalid ID supplied | - | +| **404** | Pet not found | - | +| **405** | Validation exception | - | + + +# **updatePetWithForm** +> updatePetWithForm(petId, name, status) + +Updates a pet in the store with form data + + + +### Example +```java +// Import classes: +import org.openapitools.client.ApiClient; +import org.openapitools.client.ApiException; +import org.openapitools.client.Configuration; +import org.openapitools.client.auth.*; +import org.openapitools.client.models.*; +import org.openapitools.client.api.PetApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://petstore.swagger.io/v2"); + + // Configure OAuth2 access token for authorization: petstore_auth + OAuth petstore_auth = (OAuth) defaultClient.getAuthentication("petstore_auth"); + petstore_auth.setAccessToken("YOUR ACCESS TOKEN"); + + PetApi apiInstance = new PetApi(defaultClient); + Long petId = 56L; // Long | ID of pet that needs to be updated + String name = "name_example"; // String | Updated name of the pet + String status = "status_example"; // String | Updated status of the pet + try { + apiInstance.updatePetWithForm(petId, name, status); + } catch (ApiException e) { + System.err.println("Exception when calling PetApi#updatePetWithForm"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **petId** | **Long**| ID of pet that needs to be updated | | +| **name** | **String**| Updated name of the pet | [optional] | +| **status** | **String**| Updated status of the pet | [optional] | + +### Return type + +null (empty response body) + +### Authorization + +[petstore_auth](../README.md#petstore_auth) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **405** | Invalid input | - | + + +# **uploadFile** +> ModelApiResponse uploadFile(petId).additionalMetadata(additionalMetadata)._file(_file).execute(); + +uploads an image + + + +### Example +```java +// Import classes: +import org.openapitools.client.ApiClient; +import org.openapitools.client.ApiException; +import org.openapitools.client.Configuration; +import org.openapitools.client.auth.*; +import org.openapitools.client.models.*; +import org.openapitools.client.api.PetApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://petstore.swagger.io/v2"); + + // Configure OAuth2 access token for authorization: petstore_auth + OAuth petstore_auth = (OAuth) defaultClient.getAuthentication("petstore_auth"); + petstore_auth.setAccessToken("YOUR ACCESS TOKEN"); + + PetApi apiInstance = new PetApi(defaultClient); + Long petId = 56L; // Long | ID of pet to update + String additionalMetadata = "additionalMetadata_example"; // String | Additional data to pass to server + File _file = new File("/path/to/file"); // File | file to upload + try { + ModelApiResponse result = apiInstance.uploadFile(petId) + .additionalMetadata(additionalMetadata) + ._file(_file) + .execute(); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PetApi#uploadFile"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **petId** | **Long**| ID of pet to update | | +| **additionalMetadata** | **String**| Additional data to pass to server | [optional] | +| **_file** | **File**| file to upload | [optional] | + +### Return type + +[**ModelApiResponse**](ModelApiResponse.md) + +### Authorization + +[petstore_auth](../README.md#petstore_auth) + +### HTTP request headers + + - **Content-Type**: multipart/form-data + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | successful operation | - | + diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/docs/Tag.md b/samples/client/petstore/java/okhttp-gson-group-parameter/docs/Tag.md new file mode 100644 index 0000000000..abfde4afb5 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/docs/Tag.md @@ -0,0 +1,15 @@ + + +# Tag + +A tag for a pet + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **Long** | | [optional] | +|**name** | **String** | | [optional] | + + + diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/docs/User.md b/samples/client/petstore/java/okhttp-gson-group-parameter/docs/User.md new file mode 100644 index 0000000000..426845227b --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/docs/User.md @@ -0,0 +1,21 @@ + + +# User + +A User who is purchasing from the pet store + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **Long** | | [optional] | +|**username** | **String** | | [optional] | +|**firstName** | **String** | | [optional] | +|**lastName** | **String** | | [optional] | +|**email** | **String** | | [optional] | +|**password** | **String** | | [optional] | +|**phone** | **String** | | [optional] | +|**userStatus** | **Integer** | User Status | [optional] | + + + diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/git_push.sh b/samples/client/petstore/java/okhttp-gson-group-parameter/git_push.sh new file mode 100644 index 0000000000..f53a75d4fa --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/git_push.sh @@ -0,0 +1,57 @@ +#!/bin/sh +# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ +# +# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" + +git_user_id=$1 +git_repo_id=$2 +release_note=$3 +git_host=$4 + +if [ "$git_host" = "" ]; then + git_host="github.com" + echo "[INFO] No command line input provided. Set \$git_host to $git_host" +fi + +if [ "$git_user_id" = "" ]; then + git_user_id="GIT_USER_ID" + echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" +fi + +if [ "$git_repo_id" = "" ]; then + git_repo_id="GIT_REPO_ID" + echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" +fi + +if [ "$release_note" = "" ]; then + release_note="Minor update" + echo "[INFO] No command line input provided. Set \$release_note to $release_note" +fi + +# Initialize the local directory as a Git repository +git init + +# Adds the files in the local repository and stages them for commit. +git add . + +# Commits the tracked changes and prepares them to be pushed to a remote repository. +git commit -m "$release_note" + +# Sets the new remote +git_remote=$(git remote) +if [ "$git_remote" = "" ]; then # git remote not defined + + if [ "$GIT_TOKEN" = "" ]; then + echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." + git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git + else + git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git + fi + +fi + +git pull origin master + +# Pushes (Forces) the changes in the local repository up to the remote repository +echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" +git push origin master 2>&1 | grep -v 'To https' diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/gradle.properties b/samples/client/petstore/java/okhttp-gson-group-parameter/gradle.properties new file mode 100644 index 0000000000..a340857827 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/gradle.properties @@ -0,0 +1,6 @@ +# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator). +# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option. +# +# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties +# For example, uncomment below to build for Android +#target = android diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/gradle/wrapper/gradle-wrapper.jar b/samples/client/petstore/java/okhttp-gson-group-parameter/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..7454180f2ae8848c63b8b4dea2cb829da983f2fa GIT binary patch literal 59536 zcma&NbC71ylI~qywr$(CZQJHswz}-9F59+k+g;UV+cs{`J?GrGXYR~=-ydruB3JCa zB64N^cILAcWk5iofq)<(fq;O7{th4@;QxID0)qN`mJ?GIqLY#rX8-|G{5M0pdVW5^ zzXk$-2kQTAC?_N@B`&6-N-rmVFE=$QD?>*=4<|!MJu@}isLc4AW#{m2if&A5T5g&~ ziuMQeS*U5sL6J698wOd)K@oK@1{peP5&Esut<#VH^u)gp`9H4)`uE!2$>RTctN+^u z=ASkePDZA-X8)rp%D;p*~P?*a_=*Kwc<^>QSH|^<0>o37lt^+Mj1;4YvJ(JR-Y+?%Nu}JAYj5 z_Qc5%Ao#F?q32i?ZaN2OSNhWL;2oDEw_({7ZbgUjna!Fqn3NzLM@-EWFPZVmc>(fZ z0&bF-Ch#p9C{YJT9Rcr3+Y_uR^At1^BxZ#eo>$PLJF3=;t_$2|t+_6gg5(j{TmjYU zK12c&lE?Eh+2u2&6Gf*IdKS&6?rYbSEKBN!rv{YCm|Rt=UlPcW9j`0o6{66#y5t9C zruFA2iKd=H%jHf%ypOkxLnO8#H}#Zt{8p!oi6)7#NqoF({t6|J^?1e*oxqng9Q2Cc zg%5Vu!em)}Yuj?kaP!D?b?(C*w!1;>R=j90+RTkyEXz+9CufZ$C^umX^+4|JYaO<5 zmIM3#dv`DGM;@F6;(t!WngZSYzHx?9&$xEF70D1BvfVj<%+b#)vz)2iLCrTeYzUcL z(OBnNoG6Le%M+@2oo)&jdOg=iCszzv59e zDRCeaX8l1hC=8LbBt|k5?CXgep=3r9BXx1uR8!p%Z|0+4Xro=xi0G!e{c4U~1j6!) zH6adq0}#l{%*1U(Cb%4AJ}VLWKBPi0MoKFaQH6x?^hQ!6em@993xdtS%_dmevzeNl z(o?YlOI=jl(`L9^ z0O+H9k$_@`6L13eTT8ci-V0ljDMD|0ifUw|Q-Hep$xYj0hTO@0%IS^TD4b4n6EKDG z??uM;MEx`s98KYN(K0>c!C3HZdZ{+_53DO%9k5W%pr6yJusQAv_;IA}925Y%;+!tY z%2k!YQmLLOr{rF~!s<3-WEUs)`ix_mSU|cNRBIWxOox_Yb7Z=~Q45ZNe*u|m^|)d* zog=i>`=bTe!|;8F+#H>EjIMcgWcG2ORD`w0WD;YZAy5#s{65~qfI6o$+Ty&-hyMyJ z3Ra~t>R!p=5ZpxA;QkDAoPi4sYOP6>LT+}{xp}tk+<0k^CKCFdNYG(Es>p0gqD)jP zWOeX5G;9(m@?GOG7g;e74i_|SmE?`B2i;sLYwRWKLy0RLW!Hx`=!LH3&k=FuCsM=9M4|GqzA)anEHfxkB z?2iK-u(DC_T1};KaUT@3nP~LEcENT^UgPvp!QC@Dw&PVAhaEYrPey{nkcn(ro|r7XUz z%#(=$7D8uP_uU-oPHhd>>^adbCSQetgSG`e$U|7mr!`|bU0aHl_cmL)na-5x1#OsVE#m*+k84Y^+UMeSAa zbrVZHU=mFwXEaGHtXQq`2ZtjfS!B2H{5A<3(nb-6ARVV8kEmOkx6D2x7~-6hl;*-*}2Xz;J#a8Wn;_B5=m zl3dY;%krf?i-Ok^Pal-}4F`{F@TYPTwTEhxpZK5WCpfD^UmM_iYPe}wpE!Djai6_{ z*pGO=WB47#Xjb7!n2Ma)s^yeR*1rTxp`Mt4sfA+`HwZf%!7ZqGosPkw69`Ix5Ku6G z@Pa;pjzV&dn{M=QDx89t?p?d9gna*}jBly*#1!6}5K<*xDPJ{wv4& zM$17DFd~L*Te3A%yD;Dp9UGWTjRxAvMu!j^Tbc}2v~q^59d4bz zvu#!IJCy(BcWTc`;v$9tH;J%oiSJ_i7s;2`JXZF+qd4C)vY!hyCtl)sJIC{ebI*0> z@x>;EzyBv>AI-~{D6l6{ST=em*U( z(r$nuXY-#CCi^8Z2#v#UXOt`dbYN1z5jzNF2 z411?w)whZrfA20;nl&C1Gi+gk<`JSm+{|*2o<< zqM#@z_D`Cn|0H^9$|Tah)0M_X4c37|KQ*PmoT@%xHc3L1ZY6(p(sNXHa&49Frzto& zR`c~ClHpE~4Z=uKa5S(-?M8EJ$zt0&fJk~p$M#fGN1-y$7!37hld`Uw>Urri(DxLa;=#rK0g4J)pXMC zxzraOVw1+kNWpi#P=6(qxf`zSdUC?D$i`8ZI@F>k6k zz21?d+dw7b&i*>Kv5L(LH-?J%@WnqT7j#qZ9B>|Zl+=> z^U-pV@1y_ptHo4hl^cPRWewbLQ#g6XYQ@EkiP z;(=SU!yhjHp%1&MsU`FV1Z_#K1&(|5n(7IHbx&gG28HNT)*~-BQi372@|->2Aw5It z0CBpUcMA*QvsPy)#lr!lIdCi@1k4V2m!NH)%Px(vu-r(Q)HYc!p zJ^$|)j^E#q#QOgcb^pd74^JUi7fUmMiNP_o*lvx*q%_odv49Dsv$NV;6J z9GOXKomA{2Pb{w}&+yHtH?IkJJu~}Z?{Uk++2mB8zyvh*xhHKE``99>y#TdD z&(MH^^JHf;g(Tbb^&8P*;_i*2&fS$7${3WJtV7K&&(MBV2~)2KB3%cWg#1!VE~k#C z!;A;?p$s{ihyojEZz+$I1)L}&G~ml=udD9qh>Tu(ylv)?YcJT3ihapi!zgPtWb*CP zlLLJSRCj-^w?@;RU9aL2zDZY1`I3d<&OMuW=c3$o0#STpv_p3b9Wtbql>w^bBi~u4 z3D8KyF?YE?=HcKk!xcp@Cigvzy=lnFgc^9c%(^F22BWYNAYRSho@~*~S)4%AhEttv zvq>7X!!EWKG?mOd9&n>vvH1p4VzE?HCuxT-u+F&mnsfDI^}*-d00-KAauEaXqg3k@ zy#)MGX!X;&3&0s}F3q40ZmVM$(H3CLfpdL?hB6nVqMxX)q=1b}o_PG%r~hZ4gUfSp zOH4qlEOW4OMUc)_m)fMR_rl^pCfXc{$fQbI*E&mV77}kRF z&{<06AJyJ!e863o-V>FA1a9Eemx6>^F$~9ppt()ZbPGfg_NdRXBWoZnDy2;#ODgf! zgl?iOcF7Meo|{AF>KDwTgYrJLb$L2%%BEtO>T$C?|9bAB&}s;gI?lY#^tttY&hfr# zKhC+&b-rpg_?~uVK%S@mQleU#_xCsvIPK*<`E0fHE1&!J7!xD#IB|SSPW6-PyuqGn3^M^Rz%WT{e?OI^svARX&SAdU77V(C~ zM$H{Kg59op{<|8ry9ecfP%=kFm(-!W&?U0@<%z*+!*<e0XesMxRFu9QnGqun6R_%T+B%&9Dtk?*d$Q zb~>84jEAPi@&F@3wAa^Lzc(AJz5gsfZ7J53;@D<;Klpl?sK&u@gie`~vTsbOE~Cd4 z%kr56mI|#b(Jk&;p6plVwmNB0H@0SmgdmjIn5Ne@)}7Vty(yb2t3ev@22AE^s!KaN zyQ>j+F3w=wnx7w@FVCRe+`vUH)3gW%_72fxzqX!S&!dchdkRiHbXW1FMrIIBwjsai8`CB2r4mAbwp%rrO>3B$Zw;9=%fXI9B{d(UzVap7u z6piC-FQ)>}VOEuPpuqznpY`hN4dGa_1Xz9rVg(;H$5Te^F0dDv*gz9JS<|>>U0J^# z6)(4ICh+N_Q`Ft0hF|3fSHs*?a=XC;e`sJaU9&d>X4l?1W=|fr!5ShD|nv$GK;j46@BV6+{oRbWfqOBRb!ir88XD*SbC(LF}I1h#6@dvK%Toe%@ zhDyG$93H8Eu&gCYddP58iF3oQH*zLbNI;rN@E{T9%A8!=v#JLxKyUe}e}BJpB{~uN zqgxRgo0*-@-iaHPV8bTOH(rS(huwK1Xg0u+e!`(Irzu@Bld&s5&bWgVc@m7;JgELd zimVs`>vQ}B_1(2#rv#N9O`fJpVfPc7V2nv34PC);Dzbb;p!6pqHzvy?2pD&1NE)?A zt(t-ucqy@wn9`^MN5apa7K|L=9>ISC>xoc#>{@e}m#YAAa1*8-RUMKwbm|;5p>T`Z zNf*ph@tnF{gmDa3uwwN(g=`Rh)4!&)^oOy@VJaK4lMT&5#YbXkl`q?<*XtsqD z9PRK6bqb)fJw0g-^a@nu`^?71k|m3RPRjt;pIkCo1{*pdqbVs-Yl>4E>3fZx3Sv44grW=*qdSoiZ9?X0wWyO4`yDHh2E!9I!ZFi zVL8|VtW38}BOJHW(Ax#KL_KQzarbuE{(%TA)AY)@tY4%A%P%SqIU~8~-Lp3qY;U-} z`h_Gel7;K1h}7$_5ZZT0&%$Lxxr-<89V&&TCsu}LL#!xpQ1O31jaa{U34~^le*Y%L za?7$>Jk^k^pS^_M&cDs}NgXlR>16AHkSK-4TRaJSh#h&p!-!vQY%f+bmn6x`4fwTp z$727L^y`~!exvmE^W&#@uY!NxJi`g!i#(++!)?iJ(1)2Wk;RN zFK&O4eTkP$Xn~4bB|q8y(btx$R#D`O@epi4ofcETrx!IM(kWNEe42Qh(8*KqfP(c0 zouBl6>Fc_zM+V;F3znbo{x#%!?mH3`_ANJ?y7ppxS@glg#S9^MXu|FM&ynpz3o&Qh z2ujAHLF3($pH}0jXQsa#?t--TnF1P73b?4`KeJ9^qK-USHE)4!IYgMn-7z|=ALF5SNGkrtPG@Y~niUQV2?g$vzJN3nZ{7;HZHzWAeQ;5P|@Tl3YHpyznGG4-f4=XflwSJY+58-+wf?~Fg@1p1wkzuu-RF3j2JX37SQUc? zQ4v%`V8z9ZVZVqS8h|@@RpD?n0W<=hk=3Cf8R?d^9YK&e9ZybFY%jdnA)PeHvtBe- zhMLD+SSteHBq*q)d6x{)s1UrsO!byyLS$58WK;sqip$Mk{l)Y(_6hEIBsIjCr5t>( z7CdKUrJTrW%qZ#1z^n*Lb8#VdfzPw~OIL76aC+Rhr<~;4Tl!sw?Rj6hXj4XWa#6Tp z@)kJ~qOV)^Rh*-?aG>ic2*NlC2M7&LUzc9RT6WM%Cpe78`iAowe!>(T0jo&ivn8-7 zs{Qa@cGy$rE-3AY0V(l8wjI^uB8Lchj@?L}fYal^>T9z;8juH@?rG&g-t+R2dVDBe zq!K%{e-rT5jX19`(bP23LUN4+_zh2KD~EAYzhpEO3MUG8@}uBHH@4J zd`>_(K4q&>*k82(dDuC)X6JuPrBBubOg7qZ{?x!r@{%0);*`h*^F|%o?&1wX?Wr4b z1~&cy#PUuES{C#xJ84!z<1tp9sfrR(i%Tu^jnXy;4`Xk;AQCdFC@?V%|; zySdC7qS|uQRcH}EFZH%mMB~7gi}a0utE}ZE_}8PQH8f;H%PN41Cb9R%w5Oi5el^fd z$n{3SqLCnrF##x?4sa^r!O$7NX!}&}V;0ZGQ&K&i%6$3C_dR%I7%gdQ;KT6YZiQrW zk%q<74oVBV>@}CvJ4Wj!d^?#Zwq(b$E1ze4$99DuNg?6t9H}k_|D7KWD7i0-g*EO7 z;5{hSIYE4DMOK3H%|f5Edx+S0VI0Yw!tsaRS2&Il2)ea^8R5TG72BrJue|f_{2UHa z@w;^c|K3da#$TB0P3;MPlF7RuQeXT$ zS<<|C0OF(k)>fr&wOB=gP8!Qm>F41u;3esv7_0l%QHt(~+n; zf!G6%hp;Gfa9L9=AceiZs~tK+Tf*Wof=4!u{nIO90jH@iS0l+#%8=~%ASzFv7zqSB^?!@N7)kp0t&tCGLmzXSRMRyxCmCYUD2!B`? zhs$4%KO~m=VFk3Buv9osha{v+mAEq=ik3RdK@;WWTV_g&-$U4IM{1IhGX{pAu%Z&H zFfwCpUsX%RKg);B@7OUzZ{Hn{q6Vv!3#8fAg!P$IEx<0vAx;GU%}0{VIsmFBPq_mb zpe^BChDK>sc-WLKl<6 zwbW|e&d&dv9Wu0goueyu>(JyPx1mz0v4E?cJjFuKF71Q1)AL8jHO$!fYT3(;U3Re* zPPOe%*O+@JYt1bW`!W_1!mN&=w3G9ru1XsmwfS~BJ))PhD(+_J_^N6j)sx5VwbWK| zwRyC?W<`pOCY)b#AS?rluxuuGf-AJ=D!M36l{ua?@SJ5>e!IBr3CXIxWw5xUZ@Xrw z_R@%?{>d%Ld4p}nEsiA@v*nc6Ah!MUs?GA7e5Q5lPpp0@`%5xY$C;{%rz24$;vR#* zBP=a{)K#CwIY%p} zXVdxTQ^HS@O&~eIftU+Qt^~(DGxrdi3k}DdT^I7Iy5SMOp$QuD8s;+93YQ!OY{eB24%xY7ml@|M7I(Nb@K_-?F;2?et|CKkuZK_>+>Lvg!>JE~wN`BI|_h6$qi!P)+K-1Hh(1;a`os z55)4Q{oJiA(lQM#;w#Ta%T0jDNXIPM_bgESMCDEg6rM33anEr}=|Fn6)|jBP6Y}u{ zv9@%7*#RI9;fv;Yii5CI+KrRdr0DKh=L>)eO4q$1zmcSmglsV`*N(x=&Wx`*v!!hn6X-l0 zP_m;X??O(skcj+oS$cIdKhfT%ABAzz3w^la-Ucw?yBPEC+=Pe_vU8nd-HV5YX6X8r zZih&j^eLU=%*;VzhUyoLF;#8QsEfmByk+Y~caBqSvQaaWf2a{JKB9B>V&r?l^rXaC z8)6AdR@Qy_BxQrE2Fk?ewD!SwLuMj@&d_n5RZFf7=>O>hzVE*seW3U?_p|R^CfoY`?|#x9)-*yjv#lo&zP=uI`M?J zbzC<^3x7GfXA4{FZ72{PE*-mNHyy59Q;kYG@BB~NhTd6pm2Oj=_ zizmD?MKVRkT^KmXuhsk?eRQllPo2Ubk=uCKiZ&u3Xjj~<(!M94c)Tez@9M1Gfs5JV z->@II)CDJOXTtPrQudNjE}Eltbjq>6KiwAwqvAKd^|g!exgLG3;wP+#mZYr`cy3#39e653d=jrR-ulW|h#ddHu(m9mFoW~2yE zz5?dB%6vF}+`-&-W8vy^OCxm3_{02royjvmwjlp+eQDzFVEUiyO#gLv%QdDSI#3W* z?3!lL8clTaNo-DVJw@ynq?q!%6hTQi35&^>P85G$TqNt78%9_sSJt2RThO|JzM$iL zg|wjxdMC2|Icc5rX*qPL(coL!u>-xxz-rFiC!6hD1IR%|HSRsV3>Kq~&vJ=s3M5y8SG%YBQ|{^l#LGlg!D?E>2yR*eV%9m$_J6VGQ~AIh&P$_aFbh zULr0Z$QE!QpkP=aAeR4ny<#3Fwyw@rZf4?Ewq`;mCVv}xaz+3ni+}a=k~P+yaWt^L z@w67!DqVf7D%7XtXX5xBW;Co|HvQ8WR1k?r2cZD%U;2$bsM%u8{JUJ5Z0k= zZJARv^vFkmWx15CB=rb=D4${+#DVqy5$C%bf`!T0+epLJLnh1jwCdb*zuCL}eEFvE z{rO1%gxg>1!W(I!owu*mJZ0@6FM(?C+d*CeceZRW_4id*D9p5nzMY&{mWqrJomjIZ z97ZNnZ3_%Hx8dn;H>p8m7F#^2;T%yZ3H;a&N7tm=Lvs&lgJLW{V1@h&6Vy~!+Ffbb zv(n3+v)_D$}dqd!2>Y2B)#<+o}LH#%ogGi2-?xRIH)1!SD)u-L65B&bsJTC=LiaF+YOCif2dUX6uAA|#+vNR z>U+KQekVGon)Yi<93(d!(yw1h3&X0N(PxN2{%vn}cnV?rYw z$N^}_o!XUB!mckL`yO1rnUaI4wrOeQ(+&k?2mi47hzxSD`N#-byqd1IhEoh!PGq>t z_MRy{5B0eKY>;Ao3z$RUU7U+i?iX^&r739F)itdrTpAi-NN0=?^m%?{A9Ly2pVv>Lqs6moTP?T2-AHqFD-o_ znVr|7OAS#AEH}h8SRPQ@NGG47dO}l=t07__+iK8nHw^(AHx&Wb<%jPc$$jl6_p(b$ z)!pi(0fQodCHfM)KMEMUR&UID>}m^(!{C^U7sBDOA)$VThRCI0_+2=( zV8mMq0R(#z;C|7$m>$>`tX+T|xGt(+Y48@ZYu#z;0pCgYgmMVbFb!$?%yhZqP_nhn zy4<#3P1oQ#2b51NU1mGnHP$cf0j-YOgAA}A$QoL6JVLcmExs(kU{4z;PBHJD%_=0F z>+sQV`mzijSIT7xn%PiDKHOujX;n|M&qr1T@rOxTdxtZ!&u&3HHFLYD5$RLQ=heur zb>+AFokUVQeJy-#LP*^)spt{mb@Mqe=A~-4p0b+Bt|pZ+@CY+%x}9f}izU5;4&QFE zO1bhg&A4uC1)Zb67kuowWY4xbo&J=%yoXlFB)&$d*-}kjBu|w!^zbD1YPc0-#XTJr z)pm2RDy%J3jlqSMq|o%xGS$bPwn4AqitC6&e?pqWcjWPt{3I{>CBy;hg0Umh#c;hU3RhCUX=8aR>rmd` z7Orw(5tcM{|-^J?ZAA9KP|)X6n9$-kvr#j5YDecTM6n z&07(nD^qb8hpF0B^z^pQ*%5ePYkv&FabrlI61ntiVp!!C8y^}|<2xgAd#FY=8b*y( zuQOuvy2`Ii^`VBNJB&R!0{hABYX55ooCAJSSevl4RPqEGb)iy_0H}v@vFwFzD%>#I>)3PsouQ+_Kkbqy*kKdHdfkN7NBcq%V{x^fSxgXpg7$bF& zj!6AQbDY(1u#1_A#1UO9AxiZaCVN2F0wGXdY*g@x$ByvUA?ePdide0dmr#}udE%K| z3*k}Vv2Ew2u1FXBaVA6aerI36R&rzEZeDDCl5!t0J=ug6kuNZzH>3i_VN`%BsaVB3 zQYw|Xub_SGf{)F{$ZX5`Jc!X!;eybjP+o$I{Z^Hsj@D=E{MnnL+TbC@HEU2DjG{3-LDGIbq()U87x4eS;JXnSh;lRlJ z>EL3D>wHt-+wTjQF$fGyDO$>d+(fq@bPpLBS~xA~R=3JPbS{tzN(u~m#Po!?H;IYv zE;?8%^vle|%#oux(Lj!YzBKv+Fd}*Ur-dCBoX*t{KeNM*n~ZPYJ4NNKkI^MFbz9!v z4(Bvm*Kc!-$%VFEewYJKz-CQN{`2}KX4*CeJEs+Q(!kI%hN1!1P6iOq?ovz}X0IOi z)YfWpwW@pK08^69#wSyCZkX9?uZD?C^@rw^Y?gLS_xmFKkooyx$*^5#cPqntNTtSG zlP>XLMj2!VF^0k#ole7`-c~*~+_T5ls?x4)ah(j8vo_ zwb%S8qoaZqY0-$ZI+ViIA_1~~rAH7K_+yFS{0rT@eQtTAdz#8E5VpwnW!zJ_^{Utv zlW5Iar3V5t&H4D6A=>?mq;G92;1cg9a2sf;gY9pJDVKn$DYdQlvfXq}zz8#LyPGq@ z+`YUMD;^-6w&r-82JL7mA8&M~Pj@aK!m{0+^v<|t%APYf7`}jGEhdYLqsHW-Le9TL z_hZZ1gbrz7$f9^fAzVIP30^KIz!!#+DRLL+qMszvI_BpOSmjtl$hh;&UeM{ER@INV zcI}VbiVTPoN|iSna@=7XkP&-4#06C};8ajbxJ4Gcq8(vWv4*&X8bM^T$mBk75Q92j z1v&%a;OSKc8EIrodmIiw$lOES2hzGDcjjB`kEDfJe{r}yE6`eZL zEB`9u>Cl0IsQ+t}`-cx}{6jqcANucqIB>Qmga_&<+80E2Q|VHHQ$YlAt{6`Qu`HA3 z03s0-sSlwbvgi&_R8s={6<~M^pGvBNjKOa>tWenzS8s zR>L7R5aZ=mSU{f?ib4Grx$AeFvtO5N|D>9#)ChH#Fny2maHWHOf2G=#<9Myot#+4u zWVa6d^Vseq_0=#AYS(-m$Lp;*8nC_6jXIjEM`omUmtH@QDs3|G)i4j*#_?#UYVZvJ z?YjT-?!4Q{BNun;dKBWLEw2C-VeAz`%?A>p;)PL}TAZn5j~HK>v1W&anteARlE+~+ zj>c(F;?qO3pXBb|#OZdQnm<4xWmn~;DR5SDMxt0UK_F^&eD|KZ=O;tO3vy4@4h^;2 zUL~-z`-P1aOe?|ZC1BgVsL)2^J-&vIFI%q@40w0{jjEfeVl)i9(~bt2z#2Vm)p`V_ z1;6$Ae7=YXk#=Qkd24Y23t&GvRxaOoad~NbJ+6pxqzJ>FY#Td7@`N5xp!n(c!=RE& z&<<@^a$_Ys8jqz4|5Nk#FY$~|FPC0`*a5HH!|Gssa9=~66&xG9)|=pOOJ2KE5|YrR zw!w6K2aC=J$t?L-;}5hn6mHd%hC;p8P|Dgh6D>hGnXPgi;6r+eA=?f72y9(Cf_ho{ zH6#)uD&R=73^$$NE;5piWX2bzR67fQ)`b=85o0eOLGI4c-Tb@-KNi2pz=Ke@SDcPn za$AxXib84`!Sf;Z3B@TSo`Dz7GM5Kf(@PR>Ghzi=BBxK8wRp>YQoXm+iL>H*Jo9M3 z6w&E?BC8AFTFT&Tv8zf+m9<&S&%dIaZ)Aoqkak_$r-2{$d~0g2oLETx9Y`eOAf14QXEQw3tJne;fdzl@wV#TFXSLXM2428F-Q}t+n2g%vPRMUzYPvzQ9f# zu(liiJem9P*?0%V@RwA7F53r~|I!Ty)<*AsMX3J{_4&}{6pT%Tpw>)^|DJ)>gpS~1rNEh z0$D?uO8mG?H;2BwM5a*26^7YO$XjUm40XmBsb63MoR;bJh63J;OngS5sSI+o2HA;W zdZV#8pDpC9Oez&L8loZO)MClRz!_!WD&QRtQxnazhT%Vj6Wl4G11nUk8*vSeVab@N#oJ}`KyJv+8Mo@T1-pqZ1t|?cnaVOd;1(h9 z!$DrN=jcGsVYE-0-n?oCJ^4x)F}E;UaD-LZUIzcD?W^ficqJWM%QLy6QikrM1aKZC zi{?;oKwq^Vsr|&`i{jIphA8S6G4)$KGvpULjH%9u(Dq247;R#l&I0{IhcC|oBF*Al zvLo7Xte=C{aIt*otJD}BUq)|_pdR>{zBMT< z(^1RpZv*l*m*OV^8>9&asGBo8h*_4q*)-eCv*|Pq=XNGrZE)^(SF7^{QE_~4VDB(o zVcPA_!G+2CAtLbl+`=Q~9iW`4ZRLku!uB?;tWqVjB0lEOf}2RD7dJ=BExy=<9wkb- z9&7{XFA%n#JsHYN8t5d~=T~5DcW4$B%3M+nNvC2`0!#@sckqlzo5;hhGi(D9=*A4` z5ynobawSPRtWn&CDLEs3Xf`(8^zDP=NdF~F^s&={l7(aw&EG}KWpMjtmz7j_VLO;@ zM2NVLDxZ@GIv7*gzl1 zjq78tv*8#WSY`}Su0&C;2F$Ze(q>F(@Wm^Gw!)(j;dk9Ad{STaxn)IV9FZhm*n+U} zi;4y*3v%A`_c7a__DJ8D1b@dl0Std3F||4Wtvi)fCcBRh!X9$1x!_VzUh>*S5s!oq z;qd{J_r79EL2wIeiGAqFstWtkfIJpjVh%zFo*=55B9Zq~y0=^iqHWfQl@O!Ak;(o*m!pZqe9 z%U2oDOhR)BvW8&F70L;2TpkzIutIvNQaTjjs5V#8mV4!NQ}zN=i`i@WI1z0eN-iCS z;vL-Wxc^Vc_qK<5RPh(}*8dLT{~GzE{w2o$2kMFaEl&q zP{V=>&3kW7tWaK-Exy{~`v4J0U#OZBk{a9{&)&QG18L@6=bsZ1zC_d{{pKZ-Ey>I> z;8H0t4bwyQqgu4hmO`3|4K{R*5>qnQ&gOfdy?z`XD%e5+pTDzUt3`k^u~SaL&XMe= z9*h#kT(*Q9jO#w2Hd|Mr-%DV8i_1{J1MU~XJ3!WUplhXDYBpJH><0OU`**nIvPIof z|N8@I=wA)sf45SAvx||f?Z5uB$kz1qL3Ky_{%RPdP5iN-D2!p5scq}buuC00C@jom zhfGKm3|f?Z0iQ|K$Z~!`8{nmAS1r+fp6r#YDOS8V*;K&Gs7Lc&f^$RC66O|)28oh`NHy&vq zJh+hAw8+ybTB0@VhWN^0iiTnLsCWbS_y`^gs!LX!Lw{yE``!UVzrV24tP8o;I6-65 z1MUiHw^{bB15tmrVT*7-#sj6cs~z`wk52YQJ*TG{SE;KTm#Hf#a~|<(|ImHH17nNM z`Ub{+J3dMD!)mzC8b(2tZtokKW5pAwHa?NFiso~# z1*iaNh4lQ4TS)|@G)H4dZV@l*Vd;Rw;-;odDhW2&lJ%m@jz+Panv7LQm~2Js6rOW3 z0_&2cW^b^MYW3)@o;neZ<{B4c#m48dAl$GCc=$>ErDe|?y@z`$uq3xd(%aAsX)D%l z>y*SQ%My`yDP*zof|3@_w#cjaW_YW4BdA;#Glg1RQcJGY*CJ9`H{@|D+*e~*457kd z73p<%fB^PV!Ybw@)Dr%(ZJbX}xmCStCYv#K3O32ej{$9IzM^I{6FJ8!(=azt7RWf4 z7ib0UOPqN40X!wOnFOoddd8`!_IN~9O)#HRTyjfc#&MCZ zZAMzOVB=;qwt8gV?{Y2?b=iSZG~RF~uyx18K)IDFLl})G1v@$(s{O4@RJ%OTJyF+Cpcx4jmy|F3euCnMK!P2WTDu5j z{{gD$=M*pH!GGzL%P)V2*ROm>!$Y=z|D`!_yY6e7SU$~a5q8?hZGgaYqaiLnkK%?0 zs#oI%;zOxF@g*@(V4p!$7dS1rOr6GVs6uYCTt2h)eB4?(&w8{#o)s#%gN@BBosRUe z)@P@8_Zm89pr~)b>e{tbPC~&_MR--iB{=)y;INU5#)@Gix-YpgP<-c2Ms{9zuCX|3 z!p(?VaXww&(w&uBHzoT%!A2=3HAP>SDxcljrego7rY|%hxy3XlODWffO_%g|l+7Y_ zqV(xbu)s4lV=l7M;f>vJl{`6qBm>#ZeMA}kXb97Z)?R97EkoI?x6Lp0yu1Z>PS?2{ z0QQ(8D)|lc9CO3B~e(pQM&5(1y&y=e>C^X$`)_&XuaI!IgDTVqt31wX#n+@!a_A0ZQkA zCJ2@M_4Gb5MfCrm5UPggeyh)8 zO9?`B0J#rkoCx(R0I!ko_2?iO@|oRf1;3r+i)w-2&j?=;NVIdPFsB)`|IC0zk6r9c zRrkfxWsiJ(#8QndNJj@{@WP2Ackr|r1VxV{7S&rSU(^)-M8gV>@UzOLXu9K<{6e{T zXJ6b92r$!|lwjhmgqkdswY&}c)KW4A)-ac%sU;2^fvq7gfUW4Bw$b!i@duy1CAxSn z(pyh$^Z=&O-q<{bZUP+$U}=*#M9uVc>CQVgDs4swy5&8RAHZ~$)hrTF4W zPsSa~qYv_0mJnF89RnnJTH`3}w4?~epFl=D(35$ zWa07ON$`OMBOHgCmfO(9RFc<)?$x)N}Jd2A(<*Ll7+4jrRt9w zwGxExUXd9VB#I|DwfxvJ;HZ8Q{37^wDhaZ%O!oO(HpcqfLH%#a#!~;Jl7F5>EX_=8 z{()l2NqPz>La3qJR;_v+wlK>GsHl;uRA8%j`A|yH@k5r%55S9{*Cp%uw6t`qc1!*T za2OeqtQj7sAp#Q~=5Fs&aCR9v>5V+s&RdNvo&H~6FJOjvaj--2sYYBvMq;55%z8^o z|BJDA4vzfow#DO#ZQHh;Oq_{r+qP{R9ox2TOgwQiv7Ow!zjN+A@BN;0tA2lUb#+zO z(^b89eV)D7UVE+h{mcNc6&GtpOqDn_?VAQ)Vob$hlFwW%xh>D#wml{t&Ofmm_d_+; zKDxzdr}`n2Rw`DtyIjrG)eD0vut$}dJAZ0AohZ+ZQdWXn_Z@dI_y=7t3q8x#pDI-K z2VVc&EGq445Rq-j0=U=Zx`oBaBjsefY;%)Co>J3v4l8V(T8H?49_@;K6q#r~Wwppc z4XW0(4k}cP=5ex>-Xt3oATZ~bBWKv)aw|I|Lx=9C1s~&b77idz({&q3T(Y(KbWO?+ zmcZ6?WeUsGk6>km*~234YC+2e6Zxdl~<_g2J|IE`GH%n<%PRv-50; zH{tnVts*S5*_RxFT9eM0z-pksIb^drUq4>QSww=u;UFCv2AhOuXE*V4z?MM`|ABOC4P;OfhS(M{1|c%QZ=!%rQTDFx`+}?Kdx$&FU?Y<$x;j7z=(;Lyz+?EE>ov!8vvMtSzG!nMie zsBa9t8as#2nH}n8xzN%W%U$#MHNXmDUVr@GX{?(=yI=4vks|V)!-W5jHsU|h_&+kY zS_8^kd3jlYqOoiI`ZqBVY!(UfnAGny!FowZWY_@YR0z!nG7m{{)4OS$q&YDyw6vC$ zm4!$h>*|!2LbMbxS+VM6&DIrL*X4DeMO!@#EzMVfr)e4Tagn~AQHIU8?e61TuhcKD zr!F4(kEebk(Wdk-?4oXM(rJwanS>Jc%<>R(siF+>+5*CqJLecP_we33iTFTXr6W^G z7M?LPC-qFHK;E!fxCP)`8rkxZyFk{EV;G-|kwf4b$c1k0atD?85+|4V%YATWMG|?K zLyLrws36p%Qz6{}>7b>)$pe>mR+=IWuGrX{3ZPZXF3plvuv5Huax86}KX*lbPVr}L z{C#lDjdDeHr~?l|)Vp_}T|%$qF&q#U;ClHEPVuS+Jg~NjC1RP=17=aQKGOcJ6B3mp z8?4*-fAD~}sX*=E6!}^u8)+m2j<&FSW%pYr_d|p_{28DZ#Cz0@NF=gC-o$MY?8Ca8 zr5Y8DSR^*urS~rhpX^05r30Ik#2>*dIOGxRm0#0YX@YQ%Mg5b6dXlS!4{7O_kdaW8PFSdj1=ryI-=5$fiieGK{LZ+SX(1b=MNL!q#lN zv98?fqqTUH8r8C7v(cx#BQ5P9W>- zmW93;eH6T`vuJ~rqtIBg%A6>q>gnWb3X!r0wh_q;211+Om&?nvYzL1hhtjB zK_7G3!n7PL>d!kj){HQE zE8(%J%dWLh1_k%gVXTZt zEdT09XSKAx27Ncaq|(vzL3gm83q>6CAw<$fTnMU05*xAe&rDfCiu`u^1)CD<>sx0i z*hr^N_TeN89G(nunZoLBf^81#pmM}>JgD@Nn1l*lN#a=B=9pN%tmvYFjFIoKe_(GF z-26x{(KXdfsQL7Uv6UtDuYwV`;8V3w>oT_I<`Ccz3QqK9tYT5ZQzbop{=I=!pMOCb zCU68`n?^DT%^&m>A%+-~#lvF!7`L7a{z<3JqIlk1$<||_J}vW1U9Y&eX<}l8##6i( zZcTT@2`9(Mecptm@{3A_Y(X`w9K0EwtPq~O!16bq{7c0f7#(3wn-^)h zxV&M~iiF!{-6A@>o;$RzQ5A50kxXYj!tcgme=Qjrbje~;5X2xryU;vH|6bE(8z^<7 zQ>BG7_c*JG8~K7Oe68i#0~C$v?-t@~@r3t2inUnLT(c=URpA9kA8uq9PKU(Ps(LVH zqgcqW>Gm?6oV#AldDPKVRcEyQIdTT`Qa1j~vS{<;SwyTdr&3*t?J)y=M7q*CzucZ&B0M=joT zBbj@*SY;o2^_h*>R0e({!QHF0=)0hOj^B^d*m>SnRrwq>MolNSgl^~r8GR#mDWGYEIJA8B<|{{j?-7p zVnV$zancW3&JVDtVpIlI|5djKq0(w$KxEFzEiiL=h5Jw~4Le23@s(mYyXWL9SX6Ot zmb)sZaly_P%BeX_9 zw&{yBef8tFm+%=--m*J|o~+Xg3N+$IH)t)=fqD+|fEk4AAZ&!wcN5=mi~Vvo^i`}> z#_3ahR}Ju)(Px7kev#JGcSwPXJ2id9%Qd2A#Uc@t8~egZ8;iC{e! z%=CGJOD1}j!HW_sgbi_8suYnn4#Ou}%9u)dXd3huFIb!ytlX>Denx@pCS-Nj$`VO&j@(z!kKSP0hE4;YIP#w9ta=3DO$7f*x zc9M4&NK%IrVmZAe=r@skWD`AEWH=g+r|*13Ss$+{c_R!b?>?UaGXlw*8qDmY#xlR= z<0XFbs2t?8i^G~m?b|!Hal^ZjRjt<@a? z%({Gn14b4-a|#uY^=@iiKH+k?~~wTj5K1A&hU z2^9-HTC)7zpoWK|$JXaBL6C z#qSNYtY>65T@Zs&-0cHeu|RX(Pxz6vTITdzJdYippF zC-EB+n4}#lM7`2Ry~SO>FxhKboIAF#Z{1wqxaCb{#yEFhLuX;Rx(Lz%T`Xo1+a2M}7D+@wol2)OJs$TwtRNJ={( zD@#zTUEE}#Fz#&(EoD|SV#bayvr&E0vzmb%H?o~46|FAcx?r4$N z&67W3mdip-T1RIxwSm_&(%U|+WvtGBj*}t69XVd&ebn>KOuL(7Y8cV?THd-(+9>G7*Nt%T zcH;`p={`SOjaf7hNd(=37Lz3-51;58JffzIPgGs_7xIOsB5p2t&@v1mKS$2D$*GQ6 zM(IR*j4{nri7NMK9xlDy-hJW6sW|ZiDRaFiayj%;(%51DN!ZCCCXz+0Vm#};70nOx zJ#yA0P3p^1DED;jGdPbQWo0WATN=&2(QybbVdhd=Vq*liDk`c7iZ?*AKEYC#SY&2g z&Q(Ci)MJ{mEat$ZdSwTjf6h~roanYh2?9j$CF@4hjj_f35kTKuGHvIs9}Re@iKMxS-OI*`0S z6s)fOtz}O$T?PLFVSeOjSO26$@u`e<>k(OSP!&YstH3ANh>)mzmKGNOwOawq-MPXe zy4xbeUAl6tamnx))-`Gi2uV5>9n(73yS)Ukma4*7fI8PaEwa)dWHs6QA6>$}7?(L8 ztN8M}?{Tf!Zu22J5?2@95&rQ|F7=FK-hihT-vDp!5JCcWrVogEnp;CHenAZ)+E+K5 z$Cffk5sNwD_?4+ymgcHR(5xgt20Z8M`2*;MzOM#>yhk{r3x=EyM226wb&!+j`W<%* zSc&|`8!>dn9D@!pYow~(DsY_naSx7(Z4i>cu#hA5=;IuI88}7f%)bRkuY2B;+9Uep zpXcvFWkJ!mQai63BgNXG26$5kyhZ2&*3Q_tk)Ii4M>@p~_~q_cE!|^A;_MHB;7s#9 zKzMzK{lIxotjc};k67^Xsl-gS!^*m*m6kn|sbdun`O?dUkJ{0cmI0-_2y=lTAfn*Y zKg*A-2sJq)CCJgY0LF-VQvl&6HIXZyxo2#!O&6fOhbHXC?%1cMc6y^*dOS{f$=137Ds1m01qs`>iUQ49JijsaQ( zksqV9@&?il$|4Ua%4!O15>Zy&%gBY&wgqB>XA3!EldQ%1CRSM(pp#k~-pkcCg4LAT zXE=puHbgsw)!xtc@P4r~Z}nTF=D2~j(6D%gTBw$(`Fc=OOQ0kiW$_RDd=hcO0t97h zb86S5r=>(@VGy1&#S$Kg_H@7G^;8Ue)X5Y+IWUi`o;mpvoV)`fcVk4FpcT|;EG!;? zHG^zrVVZOm>1KFaHlaogcWj(v!S)O(Aa|Vo?S|P z5|6b{qkH(USa*Z7-y_Uvty_Z1|B{rTS^qmEMLEYUSk03_Fg&!O3BMo{b^*`3SHvl0 zhnLTe^_vVIdcSHe)SQE}r~2dq)VZJ!aSKR?RS<(9lzkYo&dQ?mubnWmgMM37Nudwo z3Vz@R{=m2gENUE3V4NbIzAA$H1z0pagz94-PTJyX{b$yndsdKptmlKQKaaHj@3=ED zc7L?p@%ui|RegVYutK$64q4pe9+5sv34QUpo)u{1ci?)_7gXQd{PL>b0l(LI#rJmN zGuO+%GO`xneFOOr4EU(Wg}_%bhzUf;d@TU+V*2#}!2OLwg~%D;1FAu=Un>OgjPb3S z7l(riiCwgghC=Lm5hWGf5NdGp#01xQ59`HJcLXbUR3&n%P(+W2q$h2Qd z*6+-QXJ*&Kvk9ht0f0*rO_|FMBALen{j7T1l%=Q>gf#kma zQlg#I9+HB+z*5BMxdesMND`_W;q5|FaEURFk|~&{@qY32N$G$2B=&Po{=!)x5b!#n zxLzblkq{yj05#O7(GRuT39(06FJlalyv<#K4m}+vs>9@q-&31@1(QBv82{}Zkns~K ze{eHC_RDX0#^A*JQTwF`a=IkE6Ze@j#-8Q`tTT?k9`^ZhA~3eCZJ-Jr{~7Cx;H4A3 zcZ+Zj{mzFZbVvQ6U~n>$U2ZotGsERZ@}VKrgGh0xM;Jzt29%TX6_&CWzg+YYMozrM z`nutuS)_0dCM8UVaKRj804J4i%z2BA_8A4OJRQ$N(P9Mfn-gF;4#q788C@9XR0O3< zsoS4wIoyt046d+LnSCJOy@B@Uz*#GGd#+Ln1ek5Dv>(ZtD@tgZlPnZZJGBLr^JK+!$$?A_fA3LOrkoDRH&l7 zcMcD$Hsjko3`-{bn)jPL6E9Ds{WskMrivsUu5apD z?grQO@W7i5+%X&E&p|RBaEZ(sGLR@~(y^BI@lDMot^Ll?!`90KT!JXUhYS`ZgX3jnu@Ja^seA*M5R@f`=`ynQV4rc$uT1mvE?@tz)TN<=&H1%Z?5yjxcpO+6y_R z6EPuPKM5uxKpmZfT(WKjRRNHs@ib)F5WAP7QCADvmCSD#hPz$V10wiD&{NXyEwx5S z6NE`3z!IS^$s7m}PCwQutVQ#~w+V z=+~->DI*bR2j0^@dMr9`p>q^Ny~NrAVxrJtX2DUveic5vM%#N*XO|?YAWwNI$Q)_) zvE|L(L1jP@F%gOGtnlXtIv2&1i8q<)Xfz8O3G^Ea~e*HJsQgBxWL(yuLY+jqUK zRE~`-zklrGog(X}$9@ZVUw!8*=l`6mzYLtsg`AvBYz(cxmAhr^j0~(rzXdiOEeu_p zE$sf2(w(BPAvO5DlaN&uQ$4@p-b?fRs}d7&2UQ4Fh?1Hzu*YVjcndqJLw0#q@fR4u zJCJ}>_7-|QbvOfylj+e^_L`5Ep9gqd>XI3-O?Wp z-gt*P29f$Tx(mtS`0d05nHH=gm~Po_^OxxUwV294BDKT>PHVlC5bndncxGR!n(OOm znsNt@Q&N{TLrmsoKFw0&_M9$&+C24`sIXGWgQaz=kY;S{?w`z^Q0JXXBKFLj0w0U6P*+jPKyZHX9F#b0D1$&(- zrm8PJd?+SrVf^JlfTM^qGDK&-p2Kdfg?f>^%>1n8bu&byH(huaocL>l@f%c*QkX2i znl}VZ4R1en4S&Bcqw?$=Zi7ohqB$Jw9x`aM#>pHc0x z0$!q7iFu zZ`tryM70qBI6JWWTF9EjgG@>6SRzsd}3h+4D8d~@CR07P$LJ}MFsYi-*O%XVvD@yT|rJ+Mk zDllJ7$n0V&A!0flbOf)HE6P_afPWZmbhpliqJuw=-h+r;WGk|ntkWN(8tKlYpq5Ow z(@%s>IN8nHRaYb*^d;M(D$zGCv5C|uqmsDjwy4g=Lz>*OhO3z=)VD}C<65;`89Ye} zSCxrv#ILzIpEx1KdLPlM&%Cctf@FqTKvNPXC&`*H9=l=D3r!GLM?UV zOxa(8ZsB`&+76S-_xuj?G#wXBfDY@Z_tMpXJS7^mp z@YX&u0jYw2A+Z+bD#6sgVK5ZgdPSJV3>{K^4~%HV?rn~4D)*2H!67Y>0aOmzup`{D zzDp3c9yEbGCY$U<8biJ_gB*`jluz1ShUd!QUIQJ$*1;MXCMApJ^m*Fiv88RZ zFopLViw}{$Tyhh_{MLGIE2~sZ)t0VvoW%=8qKZ>h=adTe3QM$&$PO2lfqH@brt!9j ziePM8$!CgE9iz6B<6_wyTQj?qYa;eC^{x_0wuwV~W+^fZmFco-o%wsKSnjXFEx02V zF5C2t)T6Gw$Kf^_c;Ei3G~uC8SM-xyycmXyC2hAVi-IfXqhu$$-C=*|X?R0~hu z8`J6TdgflslhrmDZq1f?GXF7*ALeMmOEpRDg(s*H`4>_NAr`2uqF;k;JQ+8>A|_6ZNsNLECC%NNEb1Y1dP zbIEmNpK)#XagtL4R6BC{C5T(+=yA-(Z|Ap}U-AfZM#gwVpus3(gPn}Q$CExObJ5AC z)ff9Yk?wZ}dZ-^)?cbb9Fw#EjqQ8jxF4G3=L?Ra zg_)0QDMV1y^A^>HRI$x?Op@t;oj&H@1xt4SZ9(kifQ zb59B*`M99Td7@aZ3UWvj1rD0sE)d=BsBuW*KwkCds7ay(7*01_+L}b~7)VHI>F_!{ zyxg-&nCO?v#KOUec0{OOKy+sjWA;8rTE|Lv6I9H?CI?H(mUm8VXGwU$49LGpz&{nQp2}dinE1@lZ1iox6{ghN&v^GZv9J${7WaXj)<0S4g_uiJ&JCZ zr8-hsu`U%N;+9N^@&Q0^kVPB3)wY(rr}p7{p0qFHb3NUUHJb672+wRZs`gd1UjKPX z4o6zljKKA+Kkj?H>Ew63o%QjyBk&1!P22;MkD>sM0=z_s-G{mTixJCT9@_|*(p^bz zJ8?ZZ&;pzV+7#6Mn`_U-)k8Pjg?a;|Oe^us^PoPY$Va~yi8|?+&=y$f+lABT<*pZr zP}D{~Pq1Qyni+@|aP;ixO~mbEW9#c0OU#YbDZIaw=_&$K%Ep2f%hO^&P67hApZe`x zv8b`Mz@?M_7-)b!lkQKk)JXXUuT|B8kJlvqRmRpxtQDgvrHMXC1B$M@Y%Me!BSx3P z#2Eawl$HleZhhTS6Txm>lN_+I`>eV$&v9fOg)%zVn3O5mI*lAl>QcHuW6!Kixmq`X zBCZ*Ck6OYtDiK!N47>jxI&O2a9x7M|i^IagRr-fmrmikEQGgw%J7bO|)*$2FW95O4 zeBs>KR)izRG1gRVL;F*sr8A}aRHO0gc$$j&ds8CIO1=Gwq1%_~E)CWNn9pCtBE}+`Jelk4{>S)M)`Ll=!~gnn1yq^EX(+y*ik@3Ou0qU`IgYi3*doM+5&dU!cho$pZ zn%lhKeZkS72P?Cf68<#kll_6OAO26bIbueZx**j6o;I0cS^XiL`y+>{cD}gd%lux} z)3N>MaE24WBZ}s0ApfdM;5J_Ny}rfUyxfkC``Awo2#sgLnGPewK};dORuT?@I6(5~ z?kE)Qh$L&fwJXzK){iYx!l5$Tt|^D~MkGZPA}(o6f7w~O2G6Vvzdo*a;iXzk$B66$ zwF#;wM7A+(;uFG4+UAY(2`*3XXx|V$K8AYu#ECJYSl@S=uZW$ksfC$~qrrbQj4??z-)uz0QL}>k^?fPnJTPw% zGz)~?B4}u0CzOf@l^um}HZzbaIwPmb<)< zi_3@E9lc)Qe2_`*Z^HH;1CXOceL=CHpHS{HySy3T%<^NrWQ}G0i4e1xm_K3(+~oi$ zoHl9wzb?Z4j#90DtURtjtgvi7uw8DzHYmtPb;?%8vb9n@bszT=1qr)V_>R%s!92_` zfnHQPANx z<#hIjIMm#*(v*!OXtF+w8kLu`o?VZ5k7{`vw{Yc^qYclpUGIM_PBN1+c{#Vxv&E*@ zxg=W2W~JuV{IuRYw3>LSI1)a!thID@R=bU+cU@DbR^_SXY`MC7HOsCN z!dO4OKV7(E_Z8T#8MA1H`99?Z!r0)qKW_#|29X3#Jb+5+>qUidbeP1NJ@)(qi2S-X zao|f0_tl(O+$R|Qwd$H{_ig|~I1fbp_$NkI!0E;Y z6JrnU{1Ra6^on{9gUUB0mwzP3S%B#h0fjo>JvV~#+X0P~JV=IG=yHG$O+p5O3NUgG zEQ}z6BTp^Fie)Sg<){Z&I8NwPR(=mO4joTLHkJ>|Tnk23E(Bo`FSbPc05lF2-+)X? z6vV3*m~IBHTy*^E!<0nA(tCOJW2G4DsH7)BxLV8kICn5lu6@U*R`w)o9;Ro$i8=Q^V%uH8n3q=+Yf;SFRZu z!+F&PKcH#8cG?aSK_Tl@K9P#8o+jry@gdexz&d(Q=47<7nw@e@FFfIRNL9^)1i@;A z28+$Z#rjv-wj#heI|<&J_DiJ*s}xd-f!{J8jfqOHE`TiHHZVIA8CjkNQ_u;Ery^^t zl1I75&u^`1_q)crO+JT4rx|z2ToSC>)Or@-D zy3S>jW*sNIZR-EBsfyaJ+Jq4BQE4?SePtD2+jY8*%FsSLZ9MY>+wk?}}}AFAw)vr{ml)8LUG-y9>^t!{~|sgpxYc0Gnkg`&~R z-pilJZjr@y5$>B=VMdZ73svct%##v%wdX~9fz6i3Q-zOKJ9wso+h?VME7}SjL=!NUG{J?M&i!>ma`eoEa@IX`5G>B1(7;%}M*%-# zfhJ(W{y;>MRz!Ic8=S}VaBKqh;~7KdnGEHxcL$kA-6E~=!hrN*zw9N+_=odt<$_H_8dbo;0=42wcAETPCVGUr~v(`Uai zb{=D!Qc!dOEU6v)2eHSZq%5iqK?B(JlCq%T6av$Cb4Rko6onlG&?CqaX7Y_C_cOC3 zYZ;_oI(}=>_07}Oep&Ws7x7-R)cc8zfe!SYxJYP``pi$FDS)4Fvw5HH=FiU6xfVqIM!hJ;Rx8c0cB7~aPtNH(Nmm5Vh{ibAoU#J6 zImRCr?(iyu_4W_6AWo3*vxTPUw@vPwy@E0`(>1Qi=%>5eSIrp^`` zK*Y?fK_6F1W>-7UsB)RPC4>>Ps9)f+^MqM}8AUm@tZ->j%&h1M8s*s!LX5&WxQcAh z8mciQej@RPm?660%>{_D+7er>%zX_{s|$Z+;G7_sfNfBgY(zLB4Ey}J9F>zX#K0f6 z?dVNIeEh?EIShmP6>M+d|0wMM85Sa4diw1hrg|ITJ}JDg@o8y>(rF9mXk5M z2@D|NA)-7>wD&wF;S_$KS=eE84`BGw3g0?6wGxu8ys4rwI?9U=*^VF22t3%mbGeOh z`!O-OpF7#Vceu~F`${bW0nYVU9ecmk31V{tF%iv&5hWofC>I~cqAt@u6|R+|HLMMX zVxuSlMFOK_EQ86#E8&KwxIr8S9tj_goWtLv4f@!&h8;Ov41{J~496vp9vX=(LK#j! zAwi*21RAV-LD>9Cw3bV_9X(X3)Kr0-UaB*7Y>t82EQ%!)(&(XuAYtTsYy-dz+w=$ir)VJpe!_$ z6SGpX^i(af3{o=VlFPC);|J8#(=_8#vdxDe|Cok+ANhYwbE*FO`Su2m1~w+&9<_9~ z-|tTU_ACGN`~CNW5WYYBn^B#SwZ(t4%3aPp z;o)|L6Rk569KGxFLUPx@!6OOa+5OjQLK5w&nAmwxkC5rZ|m&HT8G%GVZxB_@ME z>>{rnXUqyiJrT(8GMj_ap#yN_!9-lO5e8mR3cJiK3NE{_UM&=*vIU`YkiL$1%kf+1 z4=jk@7EEj`u(jy$HnzE33ZVW_J4bj}K;vT?T91YlO(|Y0FU4r+VdbmQ97%(J5 zkK*Bed8+C}FcZ@HIgdCMioV%A<*4pw_n}l*{Cr4}a(lq|injK#O?$tyvyE`S%(1`H z_wwRvk#13ElkZvij2MFGOj`fhy?nC^8`Zyo%yVcUAfEr8x&J#A{|moUBAV_^f$hpaUuyQeY3da^ zS9iRgf87YBwfe}>BO+T&Fl%rfpZh#+AM?Dq-k$Bq`vG6G_b4z%Kbd&v>qFjow*mBl z-OylnqOpLg}or7_VNwRg2za3VBK6FUfFX{|TD z`Wt0Vm2H$vdlRWYQJqDmM?JUbVqL*ZQY|5&sY*?!&%P8qhA~5+Af<{MaGo(dl&C5t zE%t!J0 zh6jqANt4ABdPxSTrVV}fLsRQal*)l&_*rFq(Ez}ClEH6LHv{J#v?+H-BZ2)Wy{K@9 z+ovXHq~DiDvm>O~r$LJo!cOuwL+Oa--6;UFE2q@g3N8Qkw5E>ytz^(&($!O47+i~$ zKM+tkAd-RbmP{s_rh+ugTD;lriL~`Xwkad#;_aM?nQ7L_muEFI}U_4$phjvYgleK~`Fo`;GiC07&Hq1F<%p;9Q;tv5b?*QnR%8DYJH3P>Svmv47Y>*LPZJy8_{9H`g6kQpyZU{oJ`m%&p~D=K#KpfoJ@ zn-3cqmHsdtN!f?~w+(t+I`*7GQA#EQC^lUA9(i6=i1PqSAc|ha91I%X&nXzjYaM{8$s&wEx@aVkQ6M{E2 zfzId#&r(XwUNtPcq4Ngze^+XaJA1EK-%&C9j>^9(secqe{}z>hR5CFNveMsVA)m#S zk)_%SidkY-XmMWlVnQ(mNJ>)ooszQ#vaK;!rPmGKXV7am^_F!Lz>;~{VrIO$;!#30XRhE1QqO_~#+Ux;B_D{Nk=grn z8Y0oR^4RqtcYM)7a%@B(XdbZCOqnX#fD{BQTeLvRHd(irHKq=4*jq34`6@VAQR8WG z^%)@5CXnD_T#f%@-l${>y$tfb>2LPmc{~5A82|16mH)R?&r#KKLs7xpN-D`=&Cm^R zvMA6#Ahr<3X>Q7|-qfTY)}32HkAz$_mibYV!I)u>bmjK`qwBe(>za^0Kt*HnFbSdO z1>+ryKCNxmm^)*$XfiDOF2|{-v3KKB?&!(S_Y=Ht@|ir^hLd978xuI&N{k>?(*f8H z=ClxVJK_%_z1TH0eUwm2J+2To7FK4o+n_na)&#VLn1m;!+CX+~WC+qg1?PA~KdOlC zW)C@pw75_xoe=w7i|r9KGIvQ$+3K?L{7TGHwrQM{dCp=Z*D}3kX7E-@sZnup!BImw z*T#a=+WcTwL78exTgBn|iNE3#EsOorO z*kt)gDzHiPt07fmisA2LWN?AymkdqTgr?=loT7z@d`wnlr6oN}@o|&JX!yPzC*Y8d zu6kWlTzE1)ckyBn+0Y^HMN+GA$wUO_LN6W>mxCo!0?oiQvT`z$jbSEu&{UHRU0E8# z%B^wOc@S!yhMT49Y)ww(Xta^8pmPCe@eI5C*ed96)AX9<>))nKx0(sci8gwob_1}4 z0DIL&vsJ1_s%<@y%U*-eX z5rN&(zef-5G~?@r79oZGW1d!WaTqQn0F6RIOa9tJ=0(kdd{d1{<*tHT#cCvl*i>YY zH+L7jq8xZNcTUBqj(S)ztTU!TM!RQ}In*n&Gn<>(60G7}4%WQL!o>hbJqNDSGwl#H z`4k+twp0cj%PsS+NKaxslAEu9!#U3xT1|_KB6`h=PI0SW`P9GTa7caD1}vKEglV8# zjKZR`pluCW19c2fM&ZG)c3T3Um;ir3y(tSCJ7Agl6|b524dy5El{^EQBG?E61H0XY z`bqg!;zhGhyMFl&(o=JWEJ8n~z)xI}A@C0d2hQGvw7nGv)?POU@(kS1m=%`|+^ika zXl8zjS?xqW$WlO?Ewa;vF~XbybHBor$f<%I&*t$F5fynwZlTGj|IjZtVfGa7l&tK} zW>I<69w(cZLu)QIVG|M2xzW@S+70NinQzk&Y0+3WT*cC)rx~04O-^<{JohU_&HL5XdUKW!uFy|i$FB|EMu0eUyW;gsf`XfIc!Z0V zeK&*hPL}f_cX=@iv>K%S5kL;cl_$v?n(Q9f_cChk8Lq$glT|=e+T*8O4H2n<=NGmn z+2*h+v;kBvF>}&0RDS>)B{1!_*XuE8A$Y=G8w^qGMtfudDBsD5>T5SB;Qo}fSkkiV ze^K^M(UthkwrD!&*tTsu>Dacdj_q`~V%r_twr$(Ct&_dKeeXE?fA&4&yASJWJ*}~- zel=@W)tusynfC_YqH4ll>4Eg`Xjs5F7Tj>tTLz<0N3)X<1px_d2yUY>X~y>>93*$) z5PuNMQLf9Bu?AAGO~a_|J2akO1M*@VYN^VxvP0F$2>;Zb9;d5Yfd8P%oFCCoZE$ z4#N$^J8rxYjUE_6{T%Y>MmWfHgScpuGv59#4u6fpTF%~KB^Ae`t1TD_^Ud#DhL+Dm zbY^VAM#MrAmFj{3-BpVSWph2b_Y6gCnCAombVa|1S@DU)2r9W<> zT5L8BB^er3zxKt1v(y&OYk!^aoQisqU zH(g@_o)D~BufUXcPt!Ydom)e|aW{XiMnes2z&rE?og>7|G+tp7&^;q?Qz5S5^yd$i z8lWr4g5nctBHtigX%0%XzIAB8U|T6&JsC4&^hZBw^*aIcuNO47de?|pGXJ4t}BB`L^d8tD`H`i zqrP8?#J@8T#;{^B!KO6J=@OWKhAerih(phML`(Rg7N1XWf1TN>=Z3Do{l_!d~DND&)O)D>ta20}@Lt77qSnVsA7>)uZAaT9bsB>u&aUQl+7GiY2|dAEg@%Al3i316y;&IhQL^8fw_nwS>f60M_-m+!5)S_6EPM7Y)(Nq^8gL7(3 zOiot`6Wy6%vw~a_H?1hLVzIT^i1;HedHgW9-P#)}Y6vF%C=P70X0Tk^z9Te@kPILI z_(gk!k+0%CG)%!WnBjjw*kAKs_lf#=5HXC00s-}oM-Q1aXYLj)(1d!_a7 z*Gg4Fe6F$*ujVjI|79Z5+Pr`us%zW@ln++2l+0hsngv<{mJ%?OfSo_3HJXOCys{Ug z00*YR-(fv<=&%Q!j%b-_ppA$JsTm^_L4x`$k{VpfLI(FMCap%LFAyq;#ns5bR7V+x zO!o;c5y~DyBPqdVQX)8G^G&jWkBy2|oWTw>)?5u}SAsI$RjT#)lTV&Rf8;>u*qXnb z8F%Xb=7#$m)83z%`E;49)t3fHInhtc#kx4wSLLms!*~Z$V?bTyUGiS&m>1P(952(H zuHdv=;o*{;5#X-uAyon`hP}d#U{uDlV?W?_5UjJvf%11hKwe&(&9_~{W)*y1nR5f_ z!N(R74nNK`y8>B!0Bt_Vr!;nc3W>~RiKtGSBkNlsR#-t^&;$W#)f9tTlZz>n*+Fjz z3zXZ;jf(sTM(oDzJt4FJS*8c&;PLTW(IQDFs_5QPy+7yhi1syPCarvqrHFcf&yTy)^O<1EBx;Ir`5W{TIM>{8w&PB>ro4;YD<5LF^TjTb0!zAP|QijA+1Vg>{Afv^% zmrkc4o6rvBI;Q8rj4*=AZacy*n8B{&G3VJc)so4$XUoie0)vr;qzPZVbb<#Fc=j+8CGBWe$n|3K& z_@%?{l|TzKSlUEO{U{{%Fz_pVDxs7i9H#bnbCw7@4DR=}r_qV!Zo~CvD4ZI*+j3kO zW6_=|S`)(*gM0Z;;}nj`73OigF4p6_NPZQ-Od~e$c_);;4-7sR>+2u$6m$Gf%T{aq zle>e3(*Rt(TPD}03n5)!Ca8Pu!V}m6v0o1;5<1h$*|7z|^(3$Y&;KHKTT}hV056wuF0Xo@mK-52~r=6^SI1NC%c~CC?n>yX6wPTgiWYVz!Sx^atLby9YNn1Rk{g?|pJaxD4|9cUf|V1_I*w zzxK)hRh9%zOl=*$?XUjly5z8?jPMy%vEN)f%T*|WO|bp5NWv@B(K3D6LMl!-6dQg0 zXNE&O>Oyf%K@`ngCvbGPR>HRg5!1IV$_}m@3dWB7x3t&KFyOJn9pxRXCAzFr&%37wXG;z^xaO$ekR=LJG ztIHpY8F5xBP{mtQidqNRoz= z@){+N3(VO5bD+VrmS^YjG@+JO{EOIW)9=F4v_$Ed8rZtHvjpiEp{r^c4F6Ic#ChlC zJX^DtSK+v(YdCW)^EFcs=XP7S>Y!4=xgmv>{S$~@h=xW-G4FF9?I@zYN$e5oF9g$# zb!eVU#J+NjLyX;yb)%SY)xJdvGhsnE*JEkuOVo^k5PyS=o#vq!KD46UTW_%R=Y&0G zFj6bV{`Y6)YoKgqnir2&+sl+i6foAn-**Zd1{_;Zb7Ki=u394C5J{l^H@XN`_6XTKY%X1AgQM6KycJ+= zYO=&t#5oSKB^pYhNdzPgH~aEGW2=ec1O#s-KG z71}LOg@4UEFtp3GY1PBemXpNs6UK-ax*)#$J^pC_me;Z$Je(OqLoh|ZrW*mAMBFn< zHttjwC&fkVfMnQeen8`Rvy^$pNRFVaiEN4Pih*Y3@jo!T0nsClN)pdrr9AYLcZxZ| zJ5Wlj+4q~($hbtuY zVQ7hl>4-+@6g1i`1a)rvtp-;b0>^`Dloy(#{z~ytgv=j4q^Kl}wD>K_Y!l~ zp(_&7sh`vfO(1*MO!B%<6E_bx1)&s+Ae`O)a|X=J9y~XDa@UB`m)`tSG4AUhoM=5& znWoHlA-(z@3n0=l{E)R-p8sB9XkV zZ#D8wietfHL?J5X0%&fGg@MH~(rNS2`GHS4xTo7L$>TPme+Is~!|79=^}QbPF>m%J zFMkGzSndiPO|E~hrhCeo@&Ea{M(ieIgRWMf)E}qeTxT8Q#g-!Lu*x$v8W^M^>?-g= zwMJ$dThI|~M06rG$Sv@C@tWR>_YgaG&!BAbkGggVQa#KdtDB)lMLNVLN|51C@F^y8 zCRvMB^{GO@j=cHfmy}_pCGbP%xb{pNN>? z?7tBz$1^zVaP|uaatYaIN+#xEN4jBzwZ|YI_)p(4CUAz1ZEbDk>J~Y|63SZaak~#0 zoYKruYsWHoOlC1(MhTnsdUOwQfz5p6-D0}4;DO$B;7#M{3lSE^jnTT;ns`>!G%i*F?@pR1JO{QTuD0U+~SlZxcc8~>IB{)@8p`P&+nDxNj`*gh|u?yrv$phpQcW)Us)bi`kT%qLj(fi{dWRZ%Es2!=3mI~UxiW0$-v3vUl?#g{p6eF zMEUAqo5-L0Ar(s{VlR9g=j7+lt!gP!UN2ICMokAZ5(Agd>})#gkA2w|5+<%-CuEP# zqgcM}u@3(QIC^Gx<2dbLj?cFSws_f3e%f4jeR?4M^M3cx1f+Qr6ydQ>n)kz1s##2w zk}UyQc+Z5G-d-1}{WzjkLXgS-2P7auWSJ%pSnD|Uivj5u!xk0 z_^-N9r9o;(rFDt~q1PvE#iJZ_f>J3gcP$)SOqhE~pD2|$=GvpL^d!r z6u=sp-CrMoF7;)}Zd7XO4XihC4ji?>V&(t^?@3Q&t9Mx=qex6C9d%{FE6dvU6%d94 zIE;hJ1J)cCqjv?F``7I*6bc#X)JW2b4f$L^>j{*$R`%5VHFi*+Q$2;nyieduE}qdS{L8y8F08yLs?w}{>8>$3236T-VMh@B zq-nujsb_1aUv_7g#)*rf9h%sFj*^mIcImRV*k~Vmw;%;YH(&ylYpy!&UjUVqqtfG` zox3esju?`unJJA_zKXRJP)rA3nXc$m^{S&-p|v|-0x9LHJm;XIww7C#R$?00l&Yyj z=e}gKUOpsImwW?N)+E(awoF@HyP^EhL+GlNB#k?R<2>95hz!h9sF@U20DHSB3~WMa zk90+858r@-+vWwkawJ)8ougd(i#1m3GLN{iSTylYz$brAsP%=&m$mQQrH$g%3-^VR zE%B`Vi&m8f3T~&myTEK28BDWCVzfWir1I?03;pX))|kY5ClO^+bae z*7E?g=3g7EiisYOrE+lA)2?Ln6q2*HLNpZEWMB|O-JI_oaHZB%CvYB(%=tU= zE*OY%QY58fW#RG5=gm0NR#iMB=EuNF@)%oZJ}nmm=tsJ?eGjia{e{yuU0l3{d^D@)kVDt=1PE)&tf_hHC%0MB znL|CRCPC}SeuVTdf>-QV70`0(EHizc21s^sU>y%hW0t!0&y<7}Wi-wGy>m%(-jsDj zP?mF|>p_K>liZ6ZP(w5(|9Ga%>tLgb$|doDDfkdW>Z z`)>V2XC?NJT26mL^@ zf+IKr27TfM!UbZ@?zRddC7#6ss1sw%CXJ4FWC+t3lHZupzM77m^=9 z&(a?-LxIq}*nvv)y?27lZ{j zifdl9hyJudyP2LpU$-kXctshbJDKS{WfulP5Dk~xU4Le4c#h^(YjJit4#R8_khheS z|8(>2ibaHES4+J|DBM7I#QF5u-*EdN{n=Kt@4Zt?@Tv{JZA{`4 zU#kYOv{#A&gGPwT+$Ud}AXlK3K7hYzo$(fBSFjrP{QQ zeaKg--L&jh$9N}`pu{Bs>?eDFPaWY4|9|foN%}i;3%;@4{dc+iw>m}{3rELqH21G! z`8@;w-zsJ1H(N3%|1B@#ioLOjib)j`EiJqPQVSbPSPVHCj6t5J&(NcWzBrzCiDt{4 zdlPAUKldz%6x5II1H_+jv)(xVL+a;P+-1hv_pM>gMRr%04@k;DTokASSKKhU1Qms| zrWh3a!b(J3n0>-tipg{a?UaKsP7?+|@A+1WPDiQIW1Sf@qDU~M_P65_s}7(gjTn0X zucyEm)o;f8UyshMy&>^SC3I|C6jR*R_GFwGranWZe*I>K+0k}pBuET&M~ z;Odo*ZcT?ZpduHyrf8E%IBFtv;JQ!N_m>!sV6ly$_1D{(&nO~w)G~Y`7sD3#hQk%^ zp}ucDF_$!6DAz*PM8yE(&~;%|=+h(Rn-=1Wykas_-@d&z#=S}rDf`4w(rVlcF&lF! z=1)M3YVz7orwk^BXhslJ8jR);sh^knJW(Qmm(QdSgIAIdlN4Te5KJisifjr?eB{FjAX1a0AB>d?qY4Wx>BZ8&}5K0fA+d{l8 z?^s&l8#j7pR&ijD?0b%;lL9l$P_mi2^*_OL+b}4kuLR$GAf85sOo02?Y#90}CCDiS zZ%rbCw>=H~CBO=C_JVV=xgDe%b4FaEFtuS7Q1##y686r%F6I)s-~2(}PWK|Z8M+Gu zl$y~5@#0Ka%$M<&Cv%L`a8X^@tY&T7<0|(6dNT=EsRe0%kp1Qyq!^43VAKYnr*A5~ zsI%lK1ewqO;0TpLrT9v}!@vJK{QoVa_+N4FYT#h?Y8rS1S&-G+m$FNMP?(8N`MZP zels(*?kK{{^g9DOzkuZXJ2;SrOQsp9T$hwRB1(phw1c7`!Q!by?Q#YsSM#I12RhU{$Q+{xj83axHcftEc$mNJ8_T7A-BQc*k(sZ+~NsO~xAA zxnbb%dam_fZlHvW7fKXrB~F&jS<4FD2FqY?VG?ix*r~MDXCE^WQ|W|WM;gsIA4lQP zJ2hAK@CF*3*VqPr2eeg6GzWFlICi8S>nO>5HvWzyZTE)hlkdC_>pBej*>o0EOHR|) z$?};&I4+_?wvL*g#PJ9)!bc#9BJu1(*RdNEn>#Oxta(VWeM40ola<0aOe2kSS~{^P zDJBd}0L-P#O-CzX*%+$#v;(x%<*SPgAje=F{Zh-@ucd2DA(yC|N_|ocs*|-!H%wEw z@Q!>siv2W;C^^j^59OAX03&}&D*W4EjCvfi(ygcL#~t8XGa#|NPO+*M@Y-)ctFA@I z-p7npT1#5zOLo>7q?aZpCZ=iecn3QYklP;gF0bq@>oyBq94f6C=;Csw3PkZ|5q=(c zfs`aw?II0e(h=|7o&T+hq&m$; zBrE09Twxd9BJ2P+QPN}*OdZ-JZV7%av@OM7v!!NL8R;%WFq*?{9T3{ct@2EKgc8h) zMxoM$SaF#p<`65BwIDfmXG6+OiK0e)`I=!A3E`+K@61f}0e z!2a*FOaDrOe>U`q%K!QN`&=&0C~)CaL3R4VY(NDt{Xz(Xpqru5=r#uQN1L$Je1*dkdqQ*=lofQaN%lO!<5z9ZlHgxt|`THd>2 zsWfU$9=p;yLyJyM^t zS2w9w?Bpto`@H^xJpZDKR1@~^30Il6oFGfk5%g6w*C+VM)+%R@gfIwNprOV5{F^M2 zO?n3DEzpT+EoSV-%OdvZvNF+pDd-ZVZ&d8 zKeIyrrfPN=EcFRCPEDCVflX#3-)Ik_HCkL(ejmY8vzcf-MTA{oHk!R2*36`O68$7J zf}zJC+bbQk--9Xm!u#lgLvx8TXx2J258E5^*IZ(FXMpq$2LUUvhWQPs((z1+2{Op% z?J}9k5^N=z;7ja~zi8a_-exIqWUBJwohe#4QJ`|FF*$C{lM18z^#hX6!5B8KAkLUX ziP=oti-gpV(BsLD{0(3*dw}4JxK23Y7M{BeFPucw!sHpY&l%Ws4pSm`+~V7;bZ%Dx zeI)MK=4vC&5#;2MT7fS?^ch9?2;%<8Jlu-IB&N~gg8t;6S-#C@!NU{`p7M8@2iGc& zg|JPg%@gCoCQ&s6JvDU&`X2S<57f(k8nJ1wvBu{8r?;q3_kpZZ${?|( z+^)UvR33sjSd)aT!UPkA;ylO6{aE3MQa{g%Mcf$1KONcjO@&g5zPHWtzM1rYC{_K> zgQNcs<{&X{OA=cEWw5JGqpr0O>x*Tfak2PE9?FuWtz^DDNI}rwAaT0(bdo-<+SJ6A z&}S%boGMWIS0L}=S>|-#kRX;e^sUsotry(MjE|3_9duvfc|nwF#NHuM-w7ZU!5ei8 z6Mkf>2)WunY2eU@C-Uj-A zG(z0Tz2YoBk>zCz_9-)4a>T46$(~kF+Y{#sA9MWH%5z#zNoz)sdXq7ZR_+`RZ%0(q zC7&GyS_|BGHNFl8Xa%@>iWh%Gr?=J5<(!OEjauj5jyrA-QXBjn0OAhJJ9+v=!LK`` z@g(`^*84Q4jcDL`OA&ZV60djgwG`|bcD*i50O}Q{9_noRg|~?dj%VtKOnyRs$Uzqg z191aWoR^rDX#@iSq0n z?9Sg$WSRPqSeI<}&n1T3!6%Wj@5iw5`*`Btni~G=&;J+4`7g#OQTa>u`{4ZZ(c@s$ zK0y;ySOGD-UTjREKbru{QaS>HjN<2)R%Nn-TZiQ(Twe4p@-saNa3~p{?^V9Nixz@a zykPv~<@lu6-Ng9i$Lrk(xi2Tri3q=RW`BJYOPC;S0Yly%77c727Yj-d1vF!Fuk{Xh z)lMbA69y7*5ufET>P*gXQrxsW+ zz)*MbHZv*eJPEXYE<6g6_M7N%#%mR{#awV3i^PafNv(zyI)&bH?F}2s8_rR(6%!V4SOWlup`TKAb@ee>!9JKPM=&8g#BeYRH9FpFybxBXQI2|g}FGJfJ+ zY-*2hB?o{TVL;Wt_ek;AP5PBqfDR4@Z->_182W z{P@Mc27j6jE*9xG{R$>6_;i=y{qf(c`5w9fa*`rEzX6t!KJ(p1H|>J1pC-2zqWENF zmm=Z5B4u{cY2XYl(PfrInB*~WGWik3@1oRhiMOS|D;acnf-Bs(QCm#wR;@Vf!hOPJ zgjhDCfDj$HcyVLJ=AaTbQ{@vIv14LWWF$=i-BDoC11}V;2V8A`S>_x)vIq44-VB-v z*w-d}$G+Ql?En8j!~ZkCpQ$|cA0|+rrY>tiCeWxkRGPoarxlGU2?7%k#F693RHT24 z-?JsiXlT2PTqZqNb&sSc>$d;O4V@|b6VKSWQb~bUaWn1Cf0+K%`Q&Wc<>mQ>*iEGB zbZ;aYOotBZ{vH3y<0A*L0QVM|#rf*LIsGx(O*-7)r@yyBIzJnBFSKBUSl1e|8lxU* zzFL+YDVVkIuzFWeJ8AbgN&w(4-7zbiaMn{5!JQXu)SELk*CNL+Fro|2v|YO)1l15t zs(0^&EB6DPMyaqvY>=KL>)tEpsn;N5Q#yJj<9}ImL((SqErWN3Q=;tBO~ExTCs9hB z2E$7eN#5wX4<3m^5pdjm#5o>s#eS_Q^P)tm$@SawTqF*1dj_i#)3};JslbLKHXl_N z)Fxzf>FN)EK&Rz&*|6&%Hs-^f{V|+_vL1S;-1K-l$5xiC@}%uDuwHYhmsV?YcOUlk zOYkG5v2+`+UWqpn0aaaqrD3lYdh0*!L`3FAsNKu=Q!vJu?Yc8n|CoYyDo_`r0mPoo z8>XCo$W4>l(==h?2~PoRR*kEe)&IH{1sM41mO#-36`02m#nTX{r*r`Q5rZ2-sE|nA zhnn5T#s#v`52T5|?GNS`%HgS2;R(*|^egNPDzzH_z^W)-Q98~$#YAe)cEZ%vge965AS_am#DK#pjPRr-!^za8>`kksCAUj(Xr*1NW5~e zpypt_eJpD&4_bl_y?G%>^L}=>xAaV>KR6;^aBytqpiHe%!j;&MzI_>Sx7O%F%D*8s zSN}cS^<{iiK)=Ji`FpO#^zY!_|D)qeRNAtgmH)m;qC|mq^j(|hL`7uBz+ULUj37gj zksdbnU+LSVo35riSX_4z{UX=%n&}7s0{WuZYoSfwAP`8aKN9P@%e=~1`~1ASL-z%# zw>DO&ixr}c9%4InGc*_y42bdEk)ZdG7-mTu0bD@_vGAr*NcFoMW;@r?@LUhRI zCUJgHb`O?M3!w)|CPu~ej%fddw20lod?Ufp8Dmt0PbnA0J%KE^2~AIcnKP()025V> zG>noSM3$5Btmc$GZoyP^v1@Poz0FD(6YSTH@aD0}BXva?LphAiSz9f&Y(aDAzBnUh z?d2m``~{z;{}kZJ>a^wYI?ry(V9hIoh;|EFc0*-#*`$T0DRQ1;WsqInG;YPS+I4{g zJGpKk%%Sdc5xBa$Q^_I~(F97eqDO7AN3EN0u)PNBAb+n+ zWBTxQx^;O9o0`=g+Zrt_{lP!sgWZHW?8bLYS$;1a@&7w9rD9|Ge;Gb?sEjFoF9-6v z#!2)t{DMHZ2@0W*fCx;62d#;jouz`R5Y(t{BT=$N4yr^^o$ON8d{PQ=!O zX17^CrdM~7D-;ZrC!||<+FEOxI_WI3CA<35va%4v>gc zEX-@h8esj=a4szW7x{0g$hwoWRQG$yK{@3mqd-jYiVofJE!Wok1* znV7Gm&Ssq#hFuvj1sRyHg(6PFA5U*Q8Rx>-blOs=lb`qa{zFy&n4xY;sd$fE+<3EI z##W$P9M{B3c3Si9gw^jlPU-JqD~Cye;wr=XkV7BSv#6}DrsXWFJ3eUNrc%7{=^sP> zrp)BWKA9<}^R9g!0q7yWlh;gr_TEOD|#BmGq<@IV;ueg+D2}cjpp+dPf&Q(36sFU&K8}hA85U61faW&{ zlB`9HUl-WWCG|<1XANN3JVAkRYvr5U4q6;!G*MTdSUt*Mi=z_y3B1A9j-@aK{lNvx zK%p23>M&=KTCgR!Ee8c?DAO2_R?B zkaqr6^BSP!8dHXxj%N1l+V$_%vzHjqvu7p@%Nl6;>y*S}M!B=pz=aqUV#`;h%M0rU zHfcog>kv3UZAEB*g7Er@t6CF8kHDmKTjO@rejA^ULqn!`LwrEwOVmHx^;g|5PHm#B zZ+jjWgjJ!043F+&#_;D*mz%Q60=L9Ove|$gU&~As5^uz@2-BfQ!bW)Khn}G+Wyjw- z19qI#oB(RSNydn0t~;tAmK!P-d{b-@@E5|cdgOS#!>%#Rj6ynkMvaW@37E>@hJP^8 z2zk8VXx|>#R^JCcWdBCy{0nPmYFOxN55#^-rlqobe0#L6)bi?E?SPymF*a5oDDeSd zO0gx?#KMoOd&G(2O@*W)HgX6y_aa6iMCl^~`{@UR`nMQE`>n_{_aY5nA}vqU8mt8H z`oa=g0SyiLd~BxAj2~l$zRSDHxvDs;I4>+M$W`HbJ|g&P+$!U7-PHX4RAcR0szJ*( ze-417=bO2q{492SWrqDK+L3#ChUHtz*@MP)e^%@>_&#Yk^1|tv@j4%3T)diEX zATx4K*hcO`sY$jk#jN5WD<=C3nvuVsRh||qDHnc~;Kf59zr0;c7VkVSUPD%NnnJC_ zl3F^#f_rDu8l}l8qcAz0FFa)EAt32IUy_JLIhU_J^l~FRH&6-ivSpG2PRqzDdMWft>Zc(c)#tb%wgmWN%>IOPm zZi-noqS!^Ftb81pRcQi`X#UhWK70hy4tGW1mz|+vI8c*h@ zfFGJtW3r>qV>1Z0r|L>7I3un^gcep$AAWfZHRvB|E*kktY$qQP_$YG60C@X~tTQjB3%@`uz!qxtxF+LE!+=nrS^07hn` zEgAp!h|r03h7B!$#OZW#ACD+M;-5J!W+{h|6I;5cNnE(Y863%1(oH}_FTW})8zYb$7czP zg~Szk1+_NTm6SJ0MS_|oSz%e(S~P-&SFp;!k?uFayytV$8HPwuyELSXOs^27XvK-D zOx-Dl!P|28DK6iX>p#Yb%3`A&CG0X2S43FjN%IB}q(!hC$fG}yl1y9W&W&I@KTg6@ zK^kpH8=yFuP+vI^+59|3%Zqnb5lTDAykf z9S#X`3N(X^SpdMyWQGOQRjhiwlj!0W-yD<3aEj^&X%=?`6lCy~?`&WSWt z?U~EKFcCG_RJ(Qp7j=$I%H8t)Z@6VjA#>1f@EYiS8MRHZphp zMA_5`znM=pzUpBPO)pXGYpQ6gkine{6u_o!P@Q+NKJ}k!_X7u|qfpAyIJb$_#3@wJ z<1SE2Edkfk9C!0t%}8Yio09^F`YGzpaJHGk*-ffsn85@)%4@`;Fv^8q(-Wk7r=Q8p zT&hD`5(f?M{gfzGbbwh8(}G#|#fDuk7v1W)5H9wkorE0ZZjL0Q1=NRGY>zwgfm81DdoaVwNH;or{{eSyybt)m<=zXoA^RALYG-2t zouH|L*BLvmm9cdMmn+KGopyR@4*=&0&4g|FLoreZOhRmh=)R0bg~ zT2(8V_q7~42-zvb)+y959OAv!V$u(O3)%Es0M@CRFmG{5sovIq4%8Ahjk#*5w{+)+ zMWQoJI_r$HxL5km1#6(e@{lK3Udc~n0@g`g$s?VrnQJ$!oPnb?IHh-1qA`Rz$)Ai< z6w$-MJW-gKNvOhL+XMbE7&mFt`x1KY>k4(!KbbpZ`>`K@1J<(#vVbjx@Z@(6Q}MF# zMnbr-f55(cTa^q4+#)=s+ThMaV~E`B8V=|W_fZWDwiso8tNMTNse)RNBGi=gVwgg% zbOg8>mbRN%7^Um-7oj4=6`$|(K7!+t^90a{$18Z>}<#!bm%ZEFQ{X(yBZMc>lCz0f1I2w9Sq zuGh<9<=AO&g6BZte6hn>Qmvv;Rt)*cJfTr2=~EnGD8P$v3R|&1RCl&7)b+`=QGapi zPbLg_pxm`+HZurtFZ;wZ=`Vk*do~$wB zxoW&=j0OTbQ=Q%S8XJ%~qoa3Ea|au5o}_(P;=!y-AjFrERh%8la!z6Fn@lR?^E~H12D?8#ht=1F;7@o4$Q8GDj;sSC%Jfn01xgL&%F2 zwG1|5ikb^qHv&9hT8w83+yv&BQXOQyMVJSBL(Ky~p)gU3#%|blG?IR9rP^zUbs7rOA0X52Ao=GRt@C&zlyjNLv-} z9?*x{y(`509qhCV*B47f2hLrGl^<@SuRGR!KwHei?!CM10Tq*YDIoBNyRuO*>3FU? zHjipIE#B~y3FSfOsMfj~F9PNr*H?0oHyYB^G(YyNh{SxcE(Y-`x5jFMKb~HO*m+R% zrq|ic4fzJ#USpTm;X7K+E%xsT_3VHKe?*uc4-FsILUH;kL>_okY(w`VU*8+l>o>Jm ziU#?2^`>arnsl#)*R&nf_%>A+qwl%o{l(u)M?DK1^mf260_oteV3#E_>6Y4!_hhVD zM8AI6MM2V*^_M^sQ0dmHu11fy^kOqXqzpr?K$`}BKWG`=Es(9&S@K@)ZjA{lj3ea7_MBP zk(|hBFRjHVMN!sNUkrB;(cTP)T97M$0Dtc&UXSec<+q?y>5=)}S~{Z@ua;1xt@=T5 zI7{`Z=z_X*no8s>mY;>BvEXK%b`a6(DTS6t&b!vf_z#HM{Uoy_5fiB(zpkF{})ruka$iX*~pq1ZxD?q68dIo zIZSVls9kFGsTwvr4{T_LidcWtt$u{kJlW7moRaH6+A5hW&;;2O#$oKyEN8kx`LmG)Wfq4ykh+q{I3|RfVpkR&QH_x;t41Uw z`P+tft^E2B$domKT@|nNW`EHwyj>&}K;eDpe z1bNOh=fvIfk`&B61+S8ND<(KC%>y&?>opCnY*r5M+!UrWKxv0_QvTlJc>X#AaI^xo zaRXL}t5Ej_Z$y*|w*$6D+A?Lw-CO-$itm^{2Ct82-<0IW)0KMNvJHgBrdsIR0v~=H z?n6^}l{D``Me90`^o|q!olsF?UX3YSq^6Vu>Ijm>>PaZI8G@<^NGw{Cx&%|PwYrfw zR!gX_%AR=L3BFsf8LxI|K^J}deh0ZdV?$3r--FEX`#INxsOG6_=!v)DI>0q|BxT)z z-G6kzA01M?rba+G_mwNMQD1mbVbNTWmBi*{s_v_Ft9m2Avg!^78(QFu&n6mbRJ2bA zv!b;%yo{g*9l2)>tsZJOOp}U~8VUH`}$ z8p_}t*XIOehezolNa-a2x0BS})Y9}&*TPgua{Ewn-=wVrmJUeU39EKx+%w%=ixQWK zDLpwaNJs65#6o7Ln7~~X+p_o2BR1g~VCfxLzxA{HlWAI6^H;`juI=&r1jQrUv_q0Z z1Ja-tjdktrrP>GOC*#p?*xfQU5MqjMsBe!9lh(u8)w$e@Z|>aUHI5o;MGw*|Myiz3 z-f0;pHg~Q#%*Kx8MxH%AluVXjG2C$)WL-K63@Q`#y9_k_+}eR(x4~dp7oV-ek0H>I zgy8p#i4GN{>#v=pFYUQT(g&b$OeTy-X_#FDgNF8XyfGY6R!>inYn8IR2RDa&O!(6< znXs{W!bkP|s_YI*Yx%4stI`=ZO45IK6rBs`g7sP40ic}GZ58s?Mc$&i`kq_tfci>N zIHrC0H+Qpam1bNa=(`SRKjixBTtm&e`j9porEci!zdlg1RI0Jw#b(_Tb@RQK1Zxr_ z%7SUeH6=TrXt3J@js`4iDD0=IoHhK~I7^W8^Rcp~Yaf>2wVe|Hh1bUpX9ATD#moByY57-f2Ef1TP^lBi&p5_s7WGG9|0T}dlfxOx zXvScJO1Cnq`c`~{Dp;{;l<-KkCDE+pmexJkd}zCgE{eF=)K``-qC~IT6GcRog_)!X z?fK^F8UDz$(zFUrwuR$qro5>qqn>+Z%<5>;_*3pZ8QM|yv9CAtrAx;($>4l^_$_-L z*&?(77!-=zvnCVW&kUcZMb6;2!83si518Y%R*A3JZ8Is|kUCMu`!vxDgaWjs7^0j( ziTaS4HhQ)ldR=r)_7vYFUr%THE}cPF{0H45FJ5MQW^+W>P+eEX2kLp3zzFe*-pFVA zdDZRybv?H|>`9f$AKVjFWJ=wegO7hOOIYCtd?Vj{EYLT*^gl35|HQ`R=ti+ADm{jyQE7K@kdjuqJhWVSks>b^ zxha88-h3s;%3_5b1TqFCPTxVjvuB5U>v=HyZ$?JSk+&I%)M7KE*wOg<)1-Iy)8-K! z^XpIt|0ibmk9RtMmlUd7#Ap3Q!q9N4atQy)TmrhrFhfx1DAN`^vq@Q_SRl|V z#lU<~n67$mT)NvHh`%als+G-)x1`Y%4Bp*6Un5Ri9h=_Db zA-AdP!f>f0m@~>7X#uBM?diI@)Egjuz@jXKvm zJo+==juc9_<;CqeRaU9_Mz@;3e=E4=6TK+c`|uu#pIqhSyNm`G(X)&)B`8q0RBv#> z`gGlw(Q=1Xmf55VHj%C#^1lpc>LY8kfA@|rlC1EA<1#`iuyNO z(=;irt{_&K=i4)^x%;U(Xv<)+o=dczC5H3W~+e|f~{*ucxj@{Yi-cw^MqYr3fN zF5D+~!wd$#al?UfMnz(@K#wn`_5na@rRr8XqN@&M&FGEC@`+OEv}sI1hw>Up0qAWf zL#e4~&oM;TVfjRE+10B_gFlLEP9?Q-dARr3xi6nQqnw>k-S;~b z;!0s2VS4}W8b&pGuK=7im+t(`nz@FnT#VD|!)eQNp-W6)@>aA+j~K*H{$G`y2|QHY z|Hmy+CR@#jWY4~)lr1qBJB_RfHJFfP<}pK5(#ZZGSqcpyS&}01LnTWk5fzmXMGHkJ zTP6L^B+uj;lmB_W<~4=${+v0>z31M!-_O@o-O9GyW)j_mjx}!0@br_LE-7SIuPP84 z;5=O(U*g_um0tyG|61N@d9lEuOeiRd+#NY^{nd5;-CVlw&Ap7J?qwM^?E29wvS}2d zbzar4Fz&RSR(-|s!Z6+za&Z zY#D<5q_JUktIzvL0)yq_kLWG6DO{ri=?c!y!f(Dk%G{8)k`Gym%j#!OgXVDD3;$&v@qy#ISJfp=Vm>pls@9-mapVQChAHHd-x+OGx)(*Yr zC1qDUTZ6mM(b_hi!TuFF2k#8uI2;kD70AQ&di$L*4P*Y-@p`jdm%_c3f)XhYD^6M8&#Y$ZpzQMcR|6nsH>b=*R_Von!$BTRj7yGCXokoAQ z&ANvx0-Epw`QIEPgI(^cS2f(Y85yV@ygI{ewyv5Frng)e}KCZF7JbR(&W618_dcEh(#+^zZFY;o<815<5sOHQdeax9_!PyM&;{P zkBa5xymca0#)c#tke@3KNEM8a_mT&1gm;p&&JlMGH(cL(b)BckgMQ^9&vRwj!~3@l zY?L5}=Jzr080OGKb|y`ee(+`flQg|!lo6>=H)X4`$Gz~hLmu2a%kYW_Uu8x09Pa0J zKZ`E$BKJ=2GPj_3l*TEcZ*uYRr<*J^#5pILTT;k_cgto1ZL-%slyc16J~OH-(RgDA z%;EjEnoUkZ&acS{Q8`{i6T5^nywgqQI5bDIymoa7CSZG|WWVk>GM9)zy*bNih|QIm z%0+(Nnc*a_xo;$=!HQYaapLms>J1ToyjtFByY`C2H1wT#178#4+|{H0BBqtCdd$L% z_3Hc60j@{t9~MjM@LBalR&6@>B;9?r<7J~F+WXyYu*y3?px*=8MAK@EA+jRX8{CG?GI-< z54?Dc9CAh>QTAvyOEm0^+x;r2BWX|{3$Y7)L5l*qVE*y0`7J>l2wCmW zL1?|a`pJ-l{fb_N;R(Z9UMiSj6pQjOvQ^%DvhIJF!+Th7jO2~1f1N+(-TyCFYQZYw z4)>7caf^Ki_KJ^Zx2JUb z&$3zJy!*+rCV4%jqwyuNY3j1ZEiltS0xTzd+=itTb;IPYpaf?8Y+RSdVdpacB(bVQ zC(JupLfFp8y43%PMj2}T|VS@%LVp>hv4Y!RPMF?pp8U_$xCJ)S zQx!69>bphNTIb9yn*_yfj{N%bY)t{L1cs8<8|!f$;UQ*}IN=2<6lA;x^(`8t?;+ST zh)z4qeYYgZkIy{$4x28O-pugO&gauRh3;lti9)9Pvw+^)0!h~%m&8Q!AKX%urEMnl z?yEz?g#ODn$UM`+Q#$Q!6|zsq_`dLO5YK-6bJM6ya>}H+vnW^h?o$z;V&wvuM$dR& zeEq;uUUh$XR`TWeC$$c&Jjau2it3#%J-y}Qm>nW*s?En?R&6w@sDXMEr#8~$=b(gk zwDC3)NtAP;M2BW_lL^5ShpK$D%@|BnD{=!Tq)o(5@z3i7Z){} zGr}Exom_qDO{kAVkZ*MbLNHE666Kina#D{&>Jy%~w7yX$oj;cYCd^p9zy z8*+wgSEcj$4{WxKmCF(5o7U4jqwEvO&dm1H#7z}%VXAbW&W24v-tS6N3}qrm1OnE)fUkoE8yMMn9S$?IswS88tQWm4#Oid#ckgr6 zRtHm!mfNl-`d>O*1~d7%;~n+{Rph6BBy^95zqI{K((E!iFQ+h*C3EsbxNo_aRm5gj zKYug($r*Q#W9`p%Bf{bi6;IY0v`pB^^qu)gbg9QHQ7 zWBj(a1YSu)~2RK8Pi#C>{DMlrqFb9e_RehEHyI{n?e3vL_}L>kYJC z_ly$$)zFi*SFyNrnOt(B*7E$??s67EO%DgoZL2XNk8iVx~X_)o++4oaK1M|ou73vA0K^503j@uuVmLcHH4ya-kOIDfM%5%(E z+Xpt~#7y2!KB&)PoyCA+$~DXqxPxxALy!g-O?<9+9KTk4Pgq4AIdUkl`1<1#j^cJg zgU3`0hkHj_jxV>`Y~%LAZl^3o0}`Sm@iw7kwff{M%VwtN)|~!p{AsfA6vB5UolF~d zHWS%*uBDt<9y!9v2Xe|au&1j&iR1HXCdyCjxSgG*L{wmTD4(NQ=mFjpa~xooc6kju z`~+d{j7$h-;HAB04H!Zscu^hZffL#9!p$)9>sRI|Yovm)g@F>ZnosF2EgkU3ln0bR zTA}|+E(tt)!SG)-bEJi_0m{l+(cAz^pi}`9=~n?y&;2eG;d9{M6nj>BHGn(KA2n|O zt}$=FPq!j`p&kQ8>cirSzkU0c08%8{^Qyqi-w2LoO8)^E7;;I1;HQ6B$u0nNaX2CY zSmfi)F`m94zL8>#zu;8|{aBui@RzRKBlP1&mfFxEC@%cjl?NBs`cr^nm){>;$g?rhKr$AO&6qV_Wbn^}5tfFBry^e1`%du2~o zs$~dN;S_#%iwwA_QvmMjh%Qo?0?rR~6liyN5Xmej8(*V9ym*T`xAhHih-v$7U}8=dfXi2i*aAB!xM(Xekg*ix@r|ymDw*{*s0?dlVys2e)z62u1 z+k3esbJE=-P5S$&KdFp+2H7_2e=}OKDrf( z9-207?6$@f4m4B+9E*e((Y89!q?zH|mz_vM>kp*HGXldO0Hg#!EtFhRuOm$u8e~a9 z5(roy7m$Kh+zjW6@zw{&20u?1f2uP&boD}$#Zy)4o&T;vyBoqFiF2t;*g=|1=)PxB z8eM3Mp=l_obbc?I^xyLz?4Y1YDWPa+nm;O<$Cn;@ane616`J9OO2r=rZr{I_Kizyc zP#^^WCdIEp*()rRT+*YZK>V@^Zs=ht32x>Kwe zab)@ZEffz;VM4{XA6e421^h~`ji5r%)B{wZu#hD}f3$y@L0JV9f3g{-RK!A?vBUA}${YF(vO4)@`6f1 z-A|}e#LN{)(eXloDnX4Vs7eH|<@{r#LodP@Nz--$Dg_Par%DCpu2>2jUnqy~|J?eZ zBG4FVsz_A+ibdwv>mLp>P!(t}E>$JGaK$R~;fb{O3($y1ssQQo|5M;^JqC?7qe|hg zu0ZOqeFcp?qVn&Qu7FQJ4hcFi&|nR!*j)MF#b}QO^lN%5)4p*D^H+B){n8%VPUzi! zDihoGcP71a6!ab`l^hK&*dYrVYzJ0)#}xVrp!e;lI!+x+bfCN0KXwUAPU9@#l7@0& QuEJmfE|#`Dqx|px0L@K;Y5)KL literal 0 HcmV?d00001 diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/gradle/wrapper/gradle-wrapper.properties b/samples/client/petstore/java/okhttp-gson-group-parameter/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000000..ffed3a254e --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/gradlew b/samples/client/petstore/java/okhttp-gson-group-parameter/gradlew new file mode 100644 index 0000000000..005bcde042 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/gradlew @@ -0,0 +1,234 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +APP_NAME="Gradle" +APP_BASE_NAME=${0##*/} + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='-Dfile.encoding=UTF-8 "-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/gradlew.bat b/samples/client/petstore/java/okhttp-gson-group-parameter/gradlew.bat new file mode 100644 index 0000000000..6a68175eb7 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS=-Dfile.encoding=UTF-8 "-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/pom.xml b/samples/client/petstore/java/okhttp-gson-group-parameter/pom.xml new file mode 100644 index 0000000000..f1f588702a --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/pom.xml @@ -0,0 +1,361 @@ + + 4.0.0 + org.openapitools + petstore-okhttp-gson-group-parameter + jar + petstore-okhttp-gson-group-parameter + 1.0.0 + https://github.com/openapitools/openapi-generator + OpenAPI Java + + scm:git:git@github.com:openapitools/openapi-generator.git + scm:git:git@github.com:openapitools/openapi-generator.git + https://github.com/openapitools/openapi-generator + + + + + Unlicense + https://www.apache.org/licenses/LICENSE-2.0.html + repo + + + + + + OpenAPI-Generator Contributors + team@openapitools.org + OpenAPITools.org + http://openapitools.org + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + true + 128m + 512m + + -Xlint:all + -J-Xss4m + + + + + org.apache.maven.plugins + maven-enforcer-plugin + 3.0.0 + + + enforce-maven + + enforce + + + + + 2.2.0 + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.22.2 + + + + loggerPath + conf/log4j.properties + + + -Xms512m -Xmx1500m + methods + 10 + + + + + org.junit.jupiter + junit-jupiter-engine + ${junit-version} + + + + + maven-dependency-plugin + + + package + + copy-dependencies + + + ${project.build.directory}/lib + + + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.2.0 + + + + test-jar + + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 3.2.0 + + + add_sources + generate-sources + + add-source + + + + src/main/java + + + + + add_test_sources + generate-test-sources + + add-test-source + + + + src/test/java + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.3.2 + + + attach-javadocs + + jar + + + + + none + + + http.response.details + a + Http Response Details: + + + + + + org.apache.maven.plugins + maven-source-plugin + 3.2.0 + + + attach-sources + + jar-no-fork + + + + + + + com.diffplug.spotless + spotless-maven-plugin + ${spotless.version} + + + + + + + .gitignore + + + + + + true + 4 + + + + + + + + + + 1.8 + + true + + + + + + + + + + + + + + sign-artifacts + + + + org.apache.maven.plugins + maven-gpg-plugin + 3.0.1 + + + sign-artifacts + verify + + sign + + + + + + + + + + + + io.swagger + swagger-annotations + ${swagger-core-version} + + + + com.google.code.findbugs + jsr305 + 3.0.2 + + + com.squareup.okhttp3 + okhttp + ${okhttp-version} + + + com.squareup.okhttp3 + logging-interceptor + ${okhttp-version} + + + com.google.code.gson + gson + ${gson-version} + + + io.gsonfire + gson-fire + ${gson-fire-version} + + + org.apache.oltu.oauth2 + org.apache.oltu.oauth2.client + 1.0.1 + + + org.apache.commons + commons-lang3 + ${commons-lang3-version} + + + jakarta.annotation + jakarta.annotation-api + ${jakarta-annotation-version} + provided + + + org.openapitools + jackson-databind-nullable + ${jackson-databind-nullable-version} + + + javax.ws.rs + jsr311-api + ${jsr311-api-version} + + + javax.ws.rs + javax.ws.rs-api + ${javax.ws.rs-api-version} + + + + org.junit.jupiter + junit-jupiter-engine + ${junit-version} + test + + + org.junit.platform + junit-platform-runner + ${junit-platform-runner.version} + test + + + org.mockito + mockito-core + ${mockito-core-version} + test + + + + 1.8 + ${java.version} + ${java.version} + 1.8.5 + 1.6.5 + 4.9.3 + 2.9.0 + 3.12.0 + 0.2.2 + 1.3.5 + 5.8.2 + 1.6.2 + 3.12.4 + 2.1.1 + 1.1.1 + UTF-8 + 2.21.0 + + diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/settings.gradle b/samples/client/petstore/java/okhttp-gson-group-parameter/settings.gradle new file mode 100644 index 0000000000..5e977c7f40 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/settings.gradle @@ -0,0 +1 @@ +rootProject.name = "petstore-okhttp-gson-group-parameter" \ No newline at end of file diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/AndroidManifest.xml b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..54fbcb3da1 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/AndroidManifest.xml @@ -0,0 +1,3 @@ + + + diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiCallback.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiCallback.java new file mode 100644 index 0000000000..e818a51144 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiCallback.java @@ -0,0 +1,62 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client; + +import java.io.IOException; + +import java.util.Map; +import java.util.List; + +/** + * Callback for asynchronous API call. + * + * @param The return type + */ +public interface ApiCallback { + /** + * This is called when the API call fails. + * + * @param e The exception causing the failure + * @param statusCode Status code of the response if available, otherwise it would be 0 + * @param responseHeaders Headers of the response if available, otherwise it would be null + */ + void onFailure(ApiException e, int statusCode, Map> responseHeaders); + + /** + * This is called when the API call succeeded. + * + * @param result The result deserialized from response + * @param statusCode Status code of the response + * @param responseHeaders Headers of the response + */ + void onSuccess(T result, int statusCode, Map> responseHeaders); + + /** + * This is called when the API upload processing. + * + * @param bytesWritten bytes Written + * @param contentLength content length of request body + * @param done write end + */ + void onUploadProgress(long bytesWritten, long contentLength, boolean done); + + /** + * This is called when the API download processing. + * + * @param bytesRead bytes Read + * @param contentLength content length of the response + * @param done Read end + */ + void onDownloadProgress(long bytesRead, long contentLength, boolean done); +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiClient.java new file mode 100644 index 0000000000..8845b13e97 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiClient.java @@ -0,0 +1,1555 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client; + +import okhttp3.*; +import okhttp3.internal.http.HttpMethod; +import okhttp3.internal.tls.OkHostnameVerifier; +import okhttp3.logging.HttpLoggingInterceptor; +import okhttp3.logging.HttpLoggingInterceptor.Level; +import okio.Buffer; +import okio.BufferedSink; +import okio.Okio; +import org.apache.oltu.oauth2.client.request.OAuthClientRequest.TokenRequestBuilder; +import org.apache.oltu.oauth2.common.message.types.GrantType; + +import javax.net.ssl.*; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.UnsupportedEncodingException; +import java.lang.reflect.Type; +import java.net.URI; +import java.net.URLConnection; +import java.net.URLEncoder; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.security.GeneralSecurityException; +import java.security.KeyStore; +import java.security.SecureRandom; +import java.security.cert.Certificate; +import java.security.cert.CertificateException; +import java.security.cert.CertificateFactory; +import java.security.cert.X509Certificate; +import java.text.DateFormat; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.Map.Entry; +import java.util.concurrent.TimeUnit; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.openapitools.client.auth.Authentication; +import org.openapitools.client.auth.HttpBasicAuth; +import org.openapitools.client.auth.HttpBearerAuth; +import org.openapitools.client.auth.ApiKeyAuth; +import org.openapitools.client.auth.OAuth; +import org.openapitools.client.auth.RetryingOAuth; +import org.openapitools.client.auth.OAuthFlow; + +/** + *

ApiClient class.

+ */ +public class ApiClient { + + private String basePath = "http://petstore.swagger.io/v2"; + private boolean debugging = false; + private Map defaultHeaderMap = new HashMap(); + private Map defaultCookieMap = new HashMap(); + private String tempFolderPath = null; + + private Map authentications; + + private DateFormat dateFormat; + private DateFormat datetimeFormat; + private boolean lenientDatetimeFormat; + private int dateLength; + + private InputStream sslCaCert; + private boolean verifyingSsl; + private KeyManager[] keyManagers; + + private OkHttpClient httpClient; + private JSON json; + + private HttpLoggingInterceptor loggingInterceptor; + + /** + * Basic constructor for ApiClient + */ + public ApiClient() { + init(); + initHttpClient(); + + // Setup authentications (key: authentication name, value: authentication). + authentications.put("api_key", new ApiKeyAuth("header", "api_key")); + authentications.put("petstore_auth", new OAuth()); + // Prevent the authentications from being modified. + authentications = Collections.unmodifiableMap(authentications); + } + + /** + * Basic constructor with custom OkHttpClient + * + * @param client a {@link okhttp3.OkHttpClient} object + */ + public ApiClient(OkHttpClient client) { + init(); + + httpClient = client; + + // Setup authentications (key: authentication name, value: authentication). + authentications.put("api_key", new ApiKeyAuth("header", "api_key")); + authentications.put("petstore_auth", new OAuth()); + // Prevent the authentications from being modified. + authentications = Collections.unmodifiableMap(authentications); + } + + /** + * Constructor for ApiClient to support access token retry on 401/403 configured with client ID + * + * @param clientId client ID + */ + public ApiClient(String clientId) { + this(clientId, null, null); + } + + /** + * Constructor for ApiClient to support access token retry on 401/403 configured with client ID and additional parameters + * + * @param clientId client ID + * @param parameters a {@link java.util.Map} of parameters + */ + public ApiClient(String clientId, Map parameters) { + this(clientId, null, parameters); + } + + /** + * Constructor for ApiClient to support access token retry on 401/403 configured with client ID, secret, and additional parameters + * + * @param clientId client ID + * @param clientSecret client secret + * @param parameters a {@link java.util.Map} of parameters + */ + public ApiClient(String clientId, String clientSecret, Map parameters) { + this(null, clientId, clientSecret, parameters); + } + + /** + * Constructor for ApiClient to support access token retry on 401/403 configured with base path, client ID, secret, and additional parameters + * + * @param basePath base path + * @param clientId client ID + * @param clientSecret client secret + * @param parameters a {@link java.util.Map} of parameters + */ + public ApiClient(String basePath, String clientId, String clientSecret, Map parameters) { + init(); + if (basePath != null) { + this.basePath = basePath; + } + + String tokenUrl = ""; + if (!"".equals(tokenUrl) && !URI.create(tokenUrl).isAbsolute()) { + URI uri = URI.create(getBasePath()); + tokenUrl = uri.getScheme() + ":" + + (uri.getAuthority() != null ? "//" + uri.getAuthority() : "") + + tokenUrl; + if (!URI.create(tokenUrl).isAbsolute()) { + throw new IllegalArgumentException("OAuth2 token URL must be an absolute URL"); + } + } + RetryingOAuth retryingOAuth = new RetryingOAuth(tokenUrl, clientId, OAuthFlow.IMPLICIT, clientSecret, parameters); + authentications.put( + "petstore_auth", + retryingOAuth + ); + initHttpClient(Collections.singletonList(retryingOAuth)); + // Setup authentications (key: authentication name, value: authentication). + authentications.put("api_key", new ApiKeyAuth("header", "api_key")); + + // Prevent the authentications from being modified. + authentications = Collections.unmodifiableMap(authentications); + } + + private void initHttpClient() { + initHttpClient(Collections.emptyList()); + } + + private void initHttpClient(List interceptors) { + OkHttpClient.Builder builder = new OkHttpClient.Builder(); + builder.addNetworkInterceptor(getProgressInterceptor()); + for (Interceptor interceptor: interceptors) { + builder.addInterceptor(interceptor); + } + + httpClient = builder.build(); + } + + private void init() { + verifyingSsl = true; + + json = new JSON(); + + // Set default User-Agent. + setUserAgent("OpenAPI-Generator/1.0.0/java"); + + authentications = new HashMap(); + } + + /** + * Get base path + * + * @return Base path + */ + public String getBasePath() { + return basePath; + } + + /** + * Set base path + * + * @param basePath Base path of the URL (e.g http://petstore.swagger.io/v2 + * @return An instance of OkHttpClient + */ + public ApiClient setBasePath(String basePath) { + this.basePath = basePath; + return this; + } + + /** + * Get HTTP client + * + * @return An instance of OkHttpClient + */ + public OkHttpClient getHttpClient() { + return httpClient; + } + + /** + * Set HTTP client, which must never be null. + * + * @param newHttpClient An instance of OkHttpClient + * @return Api Client + * @throws java.lang.NullPointerException when newHttpClient is null + */ + public ApiClient setHttpClient(OkHttpClient newHttpClient) { + this.httpClient = Objects.requireNonNull(newHttpClient, "HttpClient must not be null!"); + return this; + } + + /** + * Get JSON + * + * @return JSON object + */ + public JSON getJSON() { + return json; + } + + /** + * Set JSON + * + * @param json JSON object + * @return Api client + */ + public ApiClient setJSON(JSON json) { + this.json = json; + return this; + } + + /** + * True if isVerifyingSsl flag is on + * + * @return True if isVerifySsl flag is on + */ + public boolean isVerifyingSsl() { + return verifyingSsl; + } + + /** + * Configure whether to verify certificate and hostname when making https requests. + * Default to true. + * NOTE: Do NOT set to false in production code, otherwise you would face multiple types of cryptographic attacks. + * + * @param verifyingSsl True to verify TLS/SSL connection + * @return ApiClient + */ + public ApiClient setVerifyingSsl(boolean verifyingSsl) { + this.verifyingSsl = verifyingSsl; + applySslSettings(); + return this; + } + + /** + * Get SSL CA cert. + * + * @return Input stream to the SSL CA cert + */ + public InputStream getSslCaCert() { + return sslCaCert; + } + + /** + * Configure the CA certificate to be trusted when making https requests. + * Use null to reset to default. + * + * @param sslCaCert input stream for SSL CA cert + * @return ApiClient + */ + public ApiClient setSslCaCert(InputStream sslCaCert) { + this.sslCaCert = sslCaCert; + applySslSettings(); + return this; + } + + /** + *

Getter for the field keyManagers.

+ * + * @return an array of {@link javax.net.ssl.KeyManager} objects + */ + public KeyManager[] getKeyManagers() { + return keyManagers; + } + + /** + * Configure client keys to use for authorization in an SSL session. + * Use null to reset to default. + * + * @param managers The KeyManagers to use + * @return ApiClient + */ + public ApiClient setKeyManagers(KeyManager[] managers) { + this.keyManagers = managers; + applySslSettings(); + return this; + } + + /** + *

Getter for the field dateFormat.

+ * + * @return a {@link java.text.DateFormat} object + */ + public DateFormat getDateFormat() { + return dateFormat; + } + + /** + *

Setter for the field dateFormat.

+ * + * @param dateFormat a {@link java.text.DateFormat} object + * @return a {@link org.openapitools.client.ApiClient} object + */ + public ApiClient setDateFormat(DateFormat dateFormat) { + this.json.setDateFormat(dateFormat); + return this; + } + + /** + *

Set SqlDateFormat.

+ * + * @param dateFormat a {@link java.text.DateFormat} object + * @return a {@link org.openapitools.client.ApiClient} object + */ + public ApiClient setSqlDateFormat(DateFormat dateFormat) { + this.json.setSqlDateFormat(dateFormat); + return this; + } + + /** + *

Set OffsetDateTimeFormat.

+ * + * @param dateFormat a {@link java.time.format.DateTimeFormatter} object + * @return a {@link org.openapitools.client.ApiClient} object + */ + public ApiClient setOffsetDateTimeFormat(DateTimeFormatter dateFormat) { + this.json.setOffsetDateTimeFormat(dateFormat); + return this; + } + + /** + *

Set LocalDateFormat.

+ * + * @param dateFormat a {@link java.time.format.DateTimeFormatter} object + * @return a {@link org.openapitools.client.ApiClient} object + */ + public ApiClient setLocalDateFormat(DateTimeFormatter dateFormat) { + this.json.setLocalDateFormat(dateFormat); + return this; + } + + /** + *

Set LenientOnJson.

+ * + * @param lenientOnJson a boolean + * @return a {@link org.openapitools.client.ApiClient} object + */ + public ApiClient setLenientOnJson(boolean lenientOnJson) { + this.json.setLenientOnJson(lenientOnJson); + return this; + } + + /** + * Get authentications (key: authentication name, value: authentication). + * + * @return Map of authentication objects + */ + public Map getAuthentications() { + return authentications; + } + + /** + * Get authentication for the given name. + * + * @param authName The authentication name + * @return The authentication, null if not found + */ + public Authentication getAuthentication(String authName) { + return authentications.get(authName); + } + + + /** + * Helper method to set username for the first HTTP basic authentication. + * + * @param username Username + */ + public void setUsername(String username) { + for (Authentication auth : authentications.values()) { + if (auth instanceof HttpBasicAuth) { + ((HttpBasicAuth) auth).setUsername(username); + return; + } + } + throw new RuntimeException("No HTTP basic authentication configured!"); + } + + /** + * Helper method to set password for the first HTTP basic authentication. + * + * @param password Password + */ + public void setPassword(String password) { + for (Authentication auth : authentications.values()) { + if (auth instanceof HttpBasicAuth) { + ((HttpBasicAuth) auth).setPassword(password); + return; + } + } + throw new RuntimeException("No HTTP basic authentication configured!"); + } + + /** + * Helper method to set API key value for the first API key authentication. + * + * @param apiKey API key + */ + public void setApiKey(String apiKey) { + for (Authentication auth : authentications.values()) { + if (auth instanceof ApiKeyAuth) { + ((ApiKeyAuth) auth).setApiKey(apiKey); + return; + } + } + throw new RuntimeException("No API key authentication configured!"); + } + + /** + * Helper method to set API key prefix for the first API key authentication. + * + * @param apiKeyPrefix API key prefix + */ + public void setApiKeyPrefix(String apiKeyPrefix) { + for (Authentication auth : authentications.values()) { + if (auth instanceof ApiKeyAuth) { + ((ApiKeyAuth) auth).setApiKeyPrefix(apiKeyPrefix); + return; + } + } + throw new RuntimeException("No API key authentication configured!"); + } + + /** + * Helper method to set access token for the first OAuth2 authentication. + * + * @param accessToken Access token + */ + public void setAccessToken(String accessToken) { + for (Authentication auth : authentications.values()) { + if (auth instanceof OAuth) { + ((OAuth) auth).setAccessToken(accessToken); + return; + } + } + throw new RuntimeException("No OAuth2 authentication configured!"); + } + + /** + * Set the User-Agent header's value (by adding to the default header map). + * + * @param userAgent HTTP request's user agent + * @return ApiClient + */ + public ApiClient setUserAgent(String userAgent) { + addDefaultHeader("User-Agent", userAgent); + return this; + } + + /** + * Add a default header. + * + * @param key The header's key + * @param value The header's value + * @return ApiClient + */ + public ApiClient addDefaultHeader(String key, String value) { + defaultHeaderMap.put(key, value); + return this; + } + + /** + * Add a default cookie. + * + * @param key The cookie's key + * @param value The cookie's value + * @return ApiClient + */ + public ApiClient addDefaultCookie(String key, String value) { + defaultCookieMap.put(key, value); + return this; + } + + /** + * Check that whether debugging is enabled for this API client. + * + * @return True if debugging is enabled, false otherwise. + */ + public boolean isDebugging() { + return debugging; + } + + /** + * Enable/disable debugging for this API client. + * + * @param debugging To enable (true) or disable (false) debugging + * @return ApiClient + */ + public ApiClient setDebugging(boolean debugging) { + if (debugging != this.debugging) { + if (debugging) { + loggingInterceptor = new HttpLoggingInterceptor(); + loggingInterceptor.setLevel(Level.BODY); + httpClient = httpClient.newBuilder().addInterceptor(loggingInterceptor).build(); + } else { + final OkHttpClient.Builder builder = httpClient.newBuilder(); + builder.interceptors().remove(loggingInterceptor); + httpClient = builder.build(); + loggingInterceptor = null; + } + } + this.debugging = debugging; + return this; + } + + /** + * The path of temporary folder used to store downloaded files from endpoints + * with file response. The default value is null, i.e. using + * the system's default temporary folder. + * + * @see
createTempFile + * @return Temporary folder path + */ + public String getTempFolderPath() { + return tempFolderPath; + } + + /** + * Set the temporary folder path (for downloading files) + * + * @param tempFolderPath Temporary folder path + * @return ApiClient + */ + public ApiClient setTempFolderPath(String tempFolderPath) { + this.tempFolderPath = tempFolderPath; + return this; + } + + /** + * Get connection timeout (in milliseconds). + * + * @return Timeout in milliseconds + */ + public int getConnectTimeout() { + return httpClient.connectTimeoutMillis(); + } + + /** + * Sets the connect timeout (in milliseconds). + * A value of 0 means no timeout, otherwise values must be between 1 and + * {@link java.lang.Integer#MAX_VALUE}. + * + * @param connectionTimeout connection timeout in milliseconds + * @return Api client + */ + public ApiClient setConnectTimeout(int connectionTimeout) { + httpClient = httpClient.newBuilder().connectTimeout(connectionTimeout, TimeUnit.MILLISECONDS).build(); + return this; + } + + /** + * Get read timeout (in milliseconds). + * + * @return Timeout in milliseconds + */ + public int getReadTimeout() { + return httpClient.readTimeoutMillis(); + } + + /** + * Sets the read timeout (in milliseconds). + * A value of 0 means no timeout, otherwise values must be between 1 and + * {@link java.lang.Integer#MAX_VALUE}. + * + * @param readTimeout read timeout in milliseconds + * @return Api client + */ + public ApiClient setReadTimeout(int readTimeout) { + httpClient = httpClient.newBuilder().readTimeout(readTimeout, TimeUnit.MILLISECONDS).build(); + return this; + } + + /** + * Get write timeout (in milliseconds). + * + * @return Timeout in milliseconds + */ + public int getWriteTimeout() { + return httpClient.writeTimeoutMillis(); + } + + /** + * Sets the write timeout (in milliseconds). + * A value of 0 means no timeout, otherwise values must be between 1 and + * {@link java.lang.Integer#MAX_VALUE}. + * + * @param writeTimeout connection timeout in milliseconds + * @return Api client + */ + public ApiClient setWriteTimeout(int writeTimeout) { + httpClient = httpClient.newBuilder().writeTimeout(writeTimeout, TimeUnit.MILLISECONDS).build(); + return this; + } + + /** + * Helper method to configure the token endpoint of the first oauth found in the apiAuthorizations (there should be only one) + * + * @return Token request builder + */ + public TokenRequestBuilder getTokenEndPoint() { + for (Authentication apiAuth : authentications.values()) { + if (apiAuth instanceof RetryingOAuth) { + RetryingOAuth retryingOAuth = (RetryingOAuth) apiAuth; + return retryingOAuth.getTokenRequestBuilder(); + } + } + return null; + } + + /** + * Format the given parameter object into string. + * + * @param param Parameter + * @return String representation of the parameter + */ + public String parameterToString(Object param) { + if (param == null) { + return ""; + } else if (param instanceof Date || param instanceof OffsetDateTime || param instanceof LocalDate) { + //Serialize to json string and remove the " enclosing characters + String jsonStr = json.serialize(param); + return jsonStr.substring(1, jsonStr.length() - 1); + } else if (param instanceof Collection) { + StringBuilder b = new StringBuilder(); + for (Object o : (Collection) param) { + if (b.length() > 0) { + b.append(","); + } + b.append(String.valueOf(o)); + } + return b.toString(); + } else { + return String.valueOf(param); + } + } + + /** + * Formats the specified query parameter to a list containing a single {@code Pair} object. + * + * Note that {@code value} must not be a collection. + * + * @param name The name of the parameter. + * @param value The value of the parameter. + * @return A list containing a single {@code Pair} object. + */ + public List parameterToPair(String name, Object value) { + List params = new ArrayList(); + + // preconditions + if (name == null || name.isEmpty() || value == null || value instanceof Collection) { + return params; + } + + params.add(new Pair(name, parameterToString(value))); + return params; + } + + /** + * Formats the specified collection query parameters to a list of {@code Pair} objects. + * + * Note that the values of each of the returned Pair objects are percent-encoded. + * + * @param collectionFormat The collection format of the parameter. + * @param name The name of the parameter. + * @param value The value of the parameter. + * @return A list of {@code Pair} objects. + */ + public List parameterToPairs(String collectionFormat, String name, Collection value) { + List params = new ArrayList(); + + // preconditions + if (name == null || name.isEmpty() || value == null || value.isEmpty()) { + return params; + } + + // create the params based on the collection format + if ("multi".equals(collectionFormat)) { + for (Object item : value) { + params.add(new Pair(name, escapeString(parameterToString(item)))); + } + return params; + } + + // collectionFormat is assumed to be "csv" by default + String delimiter = ","; + + // escape all delimiters except commas, which are URI reserved + // characters + if ("ssv".equals(collectionFormat)) { + delimiter = escapeString(" "); + } else if ("tsv".equals(collectionFormat)) { + delimiter = escapeString("\t"); + } else if ("pipes".equals(collectionFormat)) { + delimiter = escapeString("|"); + } + + StringBuilder sb = new StringBuilder(); + for (Object item : value) { + sb.append(delimiter); + sb.append(escapeString(parameterToString(item))); + } + + params.add(new Pair(name, sb.substring(delimiter.length()))); + + return params; + } + + /** + * Formats the specified collection path parameter to a string value. + * + * @param collectionFormat The collection format of the parameter. + * @param value The value of the parameter. + * @return String representation of the parameter + */ + public String collectionPathParameterToString(String collectionFormat, Collection value) { + // create the value based on the collection format + if ("multi".equals(collectionFormat)) { + // not valid for path params + return parameterToString(value); + } + + // collectionFormat is assumed to be "csv" by default + String delimiter = ","; + + if ("ssv".equals(collectionFormat)) { + delimiter = " "; + } else if ("tsv".equals(collectionFormat)) { + delimiter = "\t"; + } else if ("pipes".equals(collectionFormat)) { + delimiter = "|"; + } + + StringBuilder sb = new StringBuilder() ; + for (Object item : value) { + sb.append(delimiter); + sb.append(parameterToString(item)); + } + + return sb.substring(delimiter.length()); + } + + /** + * Sanitize filename by removing path. + * e.g. ../../sun.gif becomes sun.gif + * + * @param filename The filename to be sanitized + * @return The sanitized filename + */ + public String sanitizeFilename(String filename) { + return filename.replaceAll(".*[/\\\\]", ""); + } + + /** + * Check if the given MIME is a JSON MIME. + * JSON MIME examples: + * application/json + * application/json; charset=UTF8 + * APPLICATION/JSON + * application/vnd.company+json + * "* / *" is also default to JSON + * @param mime MIME (Multipurpose Internet Mail Extensions) + * @return True if the given MIME is JSON, false otherwise. + */ + public boolean isJsonMime(String mime) { + String jsonMime = "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$"; + return mime != null && (mime.matches(jsonMime) || mime.equals("*/*")); + } + + /** + * Select the Accept header's value from the given accepts array: + * if JSON exists in the given array, use it; + * otherwise use all of them (joining into a string) + * + * @param accepts The accepts array to select from + * @return The Accept header to use. If the given array is empty, + * null will be returned (not to set the Accept header explicitly). + */ + public String selectHeaderAccept(String[] accepts) { + if (accepts.length == 0) { + return null; + } + for (String accept : accepts) { + if (isJsonMime(accept)) { + return accept; + } + } + return StringUtil.join(accepts, ","); + } + + /** + * Select the Content-Type header's value from the given array: + * if JSON exists in the given array, use it; + * otherwise use the first one of the array. + * + * @param contentTypes The Content-Type array to select from + * @return The Content-Type header to use. If the given array is empty, + * returns null. If it matches "any", JSON will be used. + */ + public String selectHeaderContentType(String[] contentTypes) { + if (contentTypes.length == 0) { + return null; + } + + if (contentTypes[0].equals("*/*")) { + return "application/json"; + } + + for (String contentType : contentTypes) { + if (isJsonMime(contentType)) { + return contentType; + } + } + + return contentTypes[0]; + } + + /** + * Escape the given string to be used as URL query value. + * + * @param str String to be escaped + * @return Escaped string + */ + public String escapeString(String str) { + try { + return URLEncoder.encode(str, "utf8").replaceAll("\\+", "%20"); + } catch (UnsupportedEncodingException e) { + return str; + } + } + + /** + * Deserialize response body to Java object, according to the return type and + * the Content-Type response header. + * + * @param Type + * @param response HTTP response + * @param returnType The type of the Java object + * @return The deserialized Java object + * @throws org.openapitools.client.ApiException If fail to deserialize response body, i.e. cannot read response body + * or the Content-Type of the response is not supported. + */ + @SuppressWarnings("unchecked") + public T deserialize(Response response, Type returnType) throws ApiException { + if (response == null || returnType == null) { + return null; + } + + if ("byte[]".equals(returnType.toString())) { + // Handle binary response (byte array). + try { + return (T) response.body().bytes(); + } catch (IOException e) { + throw new ApiException(e); + } + } else if (returnType.equals(File.class)) { + // Handle file downloading. + return (T) downloadFileFromResponse(response); + } + + String respBody; + try { + if (response.body() != null) + respBody = response.body().string(); + else + respBody = null; + } catch (IOException e) { + throw new ApiException(e); + } + + if (respBody == null || "".equals(respBody)) { + return null; + } + + String contentType = response.headers().get("Content-Type"); + if (contentType == null) { + // ensuring a default content type + contentType = "application/json"; + } + if (isJsonMime(contentType)) { + return json.deserialize(respBody, returnType); + } else if (returnType.equals(String.class)) { + // Expecting string, return the raw response body. + return (T) respBody; + } else { + throw new ApiException( + "Content type \"" + contentType + "\" is not supported for type: " + returnType, + response.code(), + response.headers().toMultimap(), + respBody); + } + } + + /** + * Serialize the given Java object into request body according to the object's + * class and the request Content-Type. + * + * @param obj The Java object + * @param contentType The request Content-Type + * @return The serialized request body + * @throws org.openapitools.client.ApiException If fail to serialize the given object + */ + public RequestBody serialize(Object obj, String contentType) throws ApiException { + if (obj instanceof byte[]) { + // Binary (byte array) body parameter support. + return RequestBody.create((byte[]) obj, MediaType.parse(contentType)); + } else if (obj instanceof File) { + // File body parameter support. + return RequestBody.create((File) obj, MediaType.parse(contentType)); + } else if ("text/plain".equals(contentType) && obj instanceof String) { + return RequestBody.create((String) obj, MediaType.parse(contentType)); + } else if (isJsonMime(contentType)) { + String content; + if (obj != null) { + content = json.serialize(obj); + } else { + content = null; + } + return RequestBody.create(content, MediaType.parse(contentType)); + } else { + throw new ApiException("Content type \"" + contentType + "\" is not supported"); + } + } + + /** + * Download file from the given response. + * + * @param response An instance of the Response object + * @throws org.openapitools.client.ApiException If fail to read file content from response and write to disk + * @return Downloaded file + */ + public File downloadFileFromResponse(Response response) throws ApiException { + try { + File file = prepareDownloadFile(response); + BufferedSink sink = Okio.buffer(Okio.sink(file)); + sink.writeAll(response.body().source()); + sink.close(); + return file; + } catch (IOException e) { + throw new ApiException(e); + } + } + + /** + * Prepare file for download + * + * @param response An instance of the Response object + * @return Prepared file for the download + * @throws java.io.IOException If fail to prepare file for download + */ + public File prepareDownloadFile(Response response) throws IOException { + String filename = null; + String contentDisposition = response.header("Content-Disposition"); + if (contentDisposition != null && !"".equals(contentDisposition)) { + // Get filename from the Content-Disposition header. + Pattern pattern = Pattern.compile("filename=['\"]?([^'\"\\s]+)['\"]?"); + Matcher matcher = pattern.matcher(contentDisposition); + if (matcher.find()) { + filename = sanitizeFilename(matcher.group(1)); + } + } + + String prefix = null; + String suffix = null; + if (filename == null) { + prefix = "download-"; + suffix = ""; + } else { + int pos = filename.lastIndexOf("."); + if (pos == -1) { + prefix = filename + "-"; + } else { + prefix = filename.substring(0, pos) + "-"; + suffix = filename.substring(pos); + } + // Files.createTempFile requires the prefix to be at least three characters long + if (prefix.length() < 3) + prefix = "download-"; + } + + if (tempFolderPath == null) + return Files.createTempFile(prefix, suffix).toFile(); + else + return Files.createTempFile(Paths.get(tempFolderPath), prefix, suffix).toFile(); + } + + /** + * {@link #execute(Call, Type)} + * + * @param Type + * @param call An instance of the Call object + * @return ApiResponse<T> + * @throws org.openapitools.client.ApiException If fail to execute the call + */ + public ApiResponse execute(Call call) throws ApiException { + return execute(call, null); + } + + /** + * Execute HTTP call and deserialize the HTTP response body into the given return type. + * + * @param returnType The return type used to deserialize HTTP response body + * @param The return type corresponding to (same with) returnType + * @param call Call + * @return ApiResponse object containing response status, headers and + * data, which is a Java object deserialized from response body and would be null + * when returnType is null. + * @throws org.openapitools.client.ApiException If fail to execute the call + */ + public ApiResponse execute(Call call, Type returnType) throws ApiException { + try { + Response response = call.execute(); + T data = handleResponse(response, returnType); + return new ApiResponse(response.code(), response.headers().toMultimap(), data); + } catch (IOException e) { + throw new ApiException(e); + } + } + + /** + * {@link #executeAsync(Call, Type, ApiCallback)} + * + * @param Type + * @param call An instance of the Call object + * @param callback ApiCallback<T> + */ + public void executeAsync(Call call, ApiCallback callback) { + executeAsync(call, null, callback); + } + + /** + * Execute HTTP call asynchronously. + * + * @param Type + * @param call The callback to be executed when the API call finishes + * @param returnType Return type + * @param callback ApiCallback + * @see #execute(Call, Type) + */ + @SuppressWarnings("unchecked") + public void executeAsync(Call call, final Type returnType, final ApiCallback callback) { + call.enqueue(new Callback() { + @Override + public void onFailure(Call call, IOException e) { + callback.onFailure(new ApiException(e), 0, null); + } + + @Override + public void onResponse(Call call, Response response) throws IOException { + T result; + try { + result = (T) handleResponse(response, returnType); + } catch (ApiException e) { + callback.onFailure(e, response.code(), response.headers().toMultimap()); + return; + } catch (Exception e) { + callback.onFailure(new ApiException(e), response.code(), response.headers().toMultimap()); + return; + } + callback.onSuccess(result, response.code(), response.headers().toMultimap()); + } + }); + } + + /** + * Handle the given response, return the deserialized object when the response is successful. + * + * @param Type + * @param response Response + * @param returnType Return type + * @return Type + * @throws org.openapitools.client.ApiException If the response has an unsuccessful status code or + * fail to deserialize the response body + */ + public T handleResponse(Response response, Type returnType) throws ApiException { + if (response.isSuccessful()) { + if (returnType == null || response.code() == 204) { + // returning null if the returnType is not defined, + // or the status code is 204 (No Content) + if (response.body() != null) { + try { + response.body().close(); + } catch (Exception e) { + throw new ApiException(response.message(), e, response.code(), response.headers().toMultimap()); + } + } + return null; + } else { + return deserialize(response, returnType); + } + } else { + String respBody = null; + if (response.body() != null) { + try { + respBody = response.body().string(); + } catch (IOException e) { + throw new ApiException(response.message(), e, response.code(), response.headers().toMultimap()); + } + } + throw new ApiException(response.message(), response.code(), response.headers().toMultimap(), respBody); + } + } + + /** + * Build HTTP call with the given options. + * + * @param baseUrl The base URL + * @param path The sub-path of the HTTP URL + * @param method The request method, one of "GET", "HEAD", "OPTIONS", "POST", "PUT", "PATCH" and "DELETE" + * @param queryParams The query parameters + * @param collectionQueryParams The collection query parameters + * @param body The request body object + * @param headerParams The header parameters + * @param cookieParams The cookie parameters + * @param formParams The form parameters + * @param authNames The authentications to apply + * @param callback Callback for upload/download progress + * @return The HTTP call + * @throws org.openapitools.client.ApiException If fail to serialize the request body object + */ + public Call buildCall(String baseUrl, String path, String method, List queryParams, List collectionQueryParams, Object body, Map headerParams, Map cookieParams, Map formParams, String[] authNames, ApiCallback callback) throws ApiException { + Request request = buildRequest(baseUrl, path, method, queryParams, collectionQueryParams, body, headerParams, cookieParams, formParams, authNames, callback); + + return httpClient.newCall(request); + } + + /** + * Build an HTTP request with the given options. + * + * @param baseUrl The base URL + * @param path The sub-path of the HTTP URL + * @param method The request method, one of "GET", "HEAD", "OPTIONS", "POST", "PUT", "PATCH" and "DELETE" + * @param queryParams The query parameters + * @param collectionQueryParams The collection query parameters + * @param body The request body object + * @param headerParams The header parameters + * @param cookieParams The cookie parameters + * @param formParams The form parameters + * @param authNames The authentications to apply + * @param callback Callback for upload/download progress + * @return The HTTP request + * @throws org.openapitools.client.ApiException If fail to serialize the request body object + */ + public Request buildRequest(String baseUrl, String path, String method, List queryParams, List collectionQueryParams, Object body, Map headerParams, Map cookieParams, Map formParams, String[] authNames, ApiCallback callback) throws ApiException { + // aggregate queryParams (non-collection) and collectionQueryParams into allQueryParams + List allQueryParams = new ArrayList(queryParams); + allQueryParams.addAll(collectionQueryParams); + + final String url = buildUrl(baseUrl, path, queryParams, collectionQueryParams); + + // prepare HTTP request body + RequestBody reqBody; + String contentType = headerParams.get("Content-Type"); + + if (!HttpMethod.permitsRequestBody(method)) { + reqBody = null; + } else if ("application/x-www-form-urlencoded".equals(contentType)) { + reqBody = buildRequestBodyFormEncoding(formParams); + } else if ("multipart/form-data".equals(contentType)) { + reqBody = buildRequestBodyMultipart(formParams); + } else if (body == null) { + if ("DELETE".equals(method)) { + // allow calling DELETE without sending a request body + reqBody = null; + } else { + // use an empty request body (for POST, PUT and PATCH) + reqBody = RequestBody.create("", contentType == null ? null : MediaType.parse(contentType)); + } + } else { + reqBody = serialize(body, contentType); + } + + // update parameters with authentication settings + updateParamsForAuth(authNames, allQueryParams, headerParams, cookieParams, requestBodyToString(reqBody), method, URI.create(url)); + + final Request.Builder reqBuilder = new Request.Builder().url(url); + processHeaderParams(headerParams, reqBuilder); + processCookieParams(cookieParams, reqBuilder); + + // Associate callback with request (if not null) so interceptor can + // access it when creating ProgressResponseBody + reqBuilder.tag(callback); + + Request request = null; + + if (callback != null && reqBody != null) { + ProgressRequestBody progressRequestBody = new ProgressRequestBody(reqBody, callback); + request = reqBuilder.method(method, progressRequestBody).build(); + } else { + request = reqBuilder.method(method, reqBody).build(); + } + + return request; + } + + /** + * Build full URL by concatenating base path, the given sub path and query parameters. + * + * @param baseUrl The base URL + * @param path The sub path + * @param queryParams The query parameters + * @param collectionQueryParams The collection query parameters + * @return The full URL + */ + public String buildUrl(String baseUrl, String path, List queryParams, List collectionQueryParams) { + final StringBuilder url = new StringBuilder(); + if (baseUrl != null) { + url.append(baseUrl).append(path); + } else { + url.append(basePath).append(path); + } + + if (queryParams != null && !queryParams.isEmpty()) { + // support (constant) query string in `path`, e.g. "/posts?draft=1" + String prefix = path.contains("?") ? "&" : "?"; + for (Pair param : queryParams) { + if (param.getValue() != null) { + if (prefix != null) { + url.append(prefix); + prefix = null; + } else { + url.append("&"); + } + String value = parameterToString(param.getValue()); + url.append(escapeString(param.getName())).append("=").append(escapeString(value)); + } + } + } + + if (collectionQueryParams != null && !collectionQueryParams.isEmpty()) { + String prefix = url.toString().contains("?") ? "&" : "?"; + for (Pair param : collectionQueryParams) { + if (param.getValue() != null) { + if (prefix != null) { + url.append(prefix); + prefix = null; + } else { + url.append("&"); + } + String value = parameterToString(param.getValue()); + // collection query parameter value already escaped as part of parameterToPairs + url.append(escapeString(param.getName())).append("=").append(value); + } + } + } + + return url.toString(); + } + + /** + * Set header parameters to the request builder, including default headers. + * + * @param headerParams Header parameters in the form of Map + * @param reqBuilder Request.Builder + */ + public void processHeaderParams(Map headerParams, Request.Builder reqBuilder) { + for (Entry param : headerParams.entrySet()) { + reqBuilder.header(param.getKey(), parameterToString(param.getValue())); + } + for (Entry header : defaultHeaderMap.entrySet()) { + if (!headerParams.containsKey(header.getKey())) { + reqBuilder.header(header.getKey(), parameterToString(header.getValue())); + } + } + } + + /** + * Set cookie parameters to the request builder, including default cookies. + * + * @param cookieParams Cookie parameters in the form of Map + * @param reqBuilder Request.Builder + */ + public void processCookieParams(Map cookieParams, Request.Builder reqBuilder) { + for (Entry param : cookieParams.entrySet()) { + reqBuilder.addHeader("Cookie", String.format("%s=%s", param.getKey(), param.getValue())); + } + for (Entry param : defaultCookieMap.entrySet()) { + if (!cookieParams.containsKey(param.getKey())) { + reqBuilder.addHeader("Cookie", String.format("%s=%s", param.getKey(), param.getValue())); + } + } + } + + /** + * Update query and header parameters based on authentication settings. + * + * @param authNames The authentications to apply + * @param queryParams List of query parameters + * @param headerParams Map of header parameters + * @param cookieParams Map of cookie parameters + * @param payload HTTP request body + * @param method HTTP method + * @param uri URI + * @throws org.openapitools.client.ApiException If fails to update the parameters + */ + public void updateParamsForAuth(String[] authNames, List queryParams, Map headerParams, + Map cookieParams, String payload, String method, URI uri) throws ApiException { + for (String authName : authNames) { + Authentication auth = authentications.get(authName); + if (auth == null) { + throw new RuntimeException("Authentication undefined: " + authName); + } + auth.applyToParams(queryParams, headerParams, cookieParams, payload, method, uri); + } + } + + /** + * Build a form-encoding request body with the given form parameters. + * + * @param formParams Form parameters in the form of Map + * @return RequestBody + */ + public RequestBody buildRequestBodyFormEncoding(Map formParams) { + okhttp3.FormBody.Builder formBuilder = new okhttp3.FormBody.Builder(); + for (Entry param : formParams.entrySet()) { + formBuilder.add(param.getKey(), parameterToString(param.getValue())); + } + return formBuilder.build(); + } + + /** + * Build a multipart (file uploading) request body with the given form parameters, + * which could contain text fields and file fields. + * + * @param formParams Form parameters in the form of Map + * @return RequestBody + */ + public RequestBody buildRequestBodyMultipart(Map formParams) { + MultipartBody.Builder mpBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + for (Entry param : formParams.entrySet()) { + if (param.getValue() instanceof File) { + File file = (File) param.getValue(); + addPartToMultiPartBuilder(mpBuilder, param.getKey(), file); + } else if (param.getValue() instanceof List) { + List list = (List) param.getValue(); + for (Object item: list) { + if (item instanceof File) { + addPartToMultiPartBuilder(mpBuilder, param.getKey(), (File) item); + } + } + } else { + Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + param.getKey() + "\""); + mpBuilder.addPart(partHeaders, RequestBody.create(parameterToString(param.getValue()), null)); + } + } + return mpBuilder.build(); + } + + /** + * Guess Content-Type header from the given file (defaults to "application/octet-stream"). + * + * @param file The given file + * @return The guessed Content-Type + */ + public String guessContentTypeFromFile(File file) { + String contentType = URLConnection.guessContentTypeFromName(file.getName()); + if (contentType == null) { + return "application/octet-stream"; + } else { + return contentType; + } + } + + /** + * Add a Content-Disposition Header for the given key and file to the MultipartBody Builder. + * + * @param mpBuilder MultipartBody.Builder + * @param key The key of the Header element + * @param file The file to add to the Header + */ + private void addPartToMultiPartBuilder(MultipartBody.Builder mpBuilder, String key, File file) { + Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + key + "\"; filename=\"" + file.getName() + "\""); + MediaType mediaType = MediaType.parse(guessContentTypeFromFile(file)); + mpBuilder.addPart(partHeaders, RequestBody.create(file, mediaType)); + } + + /** + * Get network interceptor to add it to the httpClient to track download progress for + * async requests. + */ + private Interceptor getProgressInterceptor() { + return new Interceptor() { + @Override + public Response intercept(Interceptor.Chain chain) throws IOException { + final Request request = chain.request(); + final Response originalResponse = chain.proceed(request); + if (request.tag() instanceof ApiCallback) { + final ApiCallback callback = (ApiCallback) request.tag(); + return originalResponse.newBuilder() + .body(new ProgressResponseBody(originalResponse.body(), callback)) + .build(); + } + return originalResponse; + } + }; + } + + /** + * Apply SSL related settings to httpClient according to the current values of + * verifyingSsl and sslCaCert. + */ + private void applySslSettings() { + try { + TrustManager[] trustManagers; + HostnameVerifier hostnameVerifier; + if (!verifyingSsl) { + trustManagers = new TrustManager[]{ + new X509TrustManager() { + @Override + public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException { + } + + @Override + public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException { + } + + @Override + public java.security.cert.X509Certificate[] getAcceptedIssuers() { + return new java.security.cert.X509Certificate[]{}; + } + } + }; + hostnameVerifier = new HostnameVerifier() { + @Override + public boolean verify(String hostname, SSLSession session) { + return true; + } + }; + } else { + TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); + + if (sslCaCert == null) { + trustManagerFactory.init((KeyStore) null); + } else { + char[] password = null; // Any password will work. + CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); + Collection certificates = certificateFactory.generateCertificates(sslCaCert); + if (certificates.isEmpty()) { + throw new IllegalArgumentException("expected non-empty set of trusted certificates"); + } + KeyStore caKeyStore = newEmptyKeyStore(password); + int index = 0; + for (Certificate certificate : certificates) { + String certificateAlias = "ca" + Integer.toString(index++); + caKeyStore.setCertificateEntry(certificateAlias, certificate); + } + trustManagerFactory.init(caKeyStore); + } + trustManagers = trustManagerFactory.getTrustManagers(); + hostnameVerifier = OkHostnameVerifier.INSTANCE; + } + + SSLContext sslContext = SSLContext.getInstance("TLS"); + sslContext.init(keyManagers, trustManagers, new SecureRandom()); + httpClient = httpClient.newBuilder() + .sslSocketFactory(sslContext.getSocketFactory(), (X509TrustManager) trustManagers[0]) + .hostnameVerifier(hostnameVerifier) + .build(); + } catch (GeneralSecurityException e) { + throw new RuntimeException(e); + } + } + + private KeyStore newEmptyKeyStore(char[] password) throws GeneralSecurityException { + try { + KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); + keyStore.load(null, password); + return keyStore; + } catch (IOException e) { + throw new AssertionError(e); + } + } + + /** + * Convert the HTTP request body to a string. + * + * @param request The HTTP request object + * @return The string representation of the HTTP request body + * @throws org.openapitools.client.ApiException If fail to serialize the request body object into a string + */ + private String requestBodyToString(RequestBody requestBody) throws ApiException { + if (requestBody != null) { + try { + final Buffer buffer = new Buffer(); + requestBody.writeTo(buffer); + return buffer.readUtf8(); + } catch (final IOException e) { + throw new ApiException(e); + } + } + + // empty http request body + return ""; + } +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiException.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiException.java new file mode 100644 index 0000000000..326973a682 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiException.java @@ -0,0 +1,166 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client; + +import java.util.Map; +import java.util.List; + +import javax.ws.rs.core.GenericType; + +/** + *

ApiException class.

+ */ +@SuppressWarnings("serial") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class ApiException extends Exception { + private int code = 0; + private Map> responseHeaders = null; + private String responseBody = null; + + /** + *

Constructor for ApiException.

+ */ + public ApiException() {} + + /** + *

Constructor for ApiException.

+ * + * @param throwable a {@link java.lang.Throwable} object + */ + public ApiException(Throwable throwable) { + super(throwable); + } + + /** + *

Constructor for ApiException.

+ * + * @param message the error message + */ + public ApiException(String message) { + super(message); + } + + /** + *

Constructor for ApiException.

+ * + * @param message the error message + * @param throwable a {@link java.lang.Throwable} object + * @param code HTTP status code + * @param responseHeaders a {@link java.util.Map} of HTTP response headers + * @param responseBody the response body + */ + public ApiException(String message, Throwable throwable, int code, Map> responseHeaders, String responseBody) { + super(message, throwable); + this.code = code; + this.responseHeaders = responseHeaders; + this.responseBody = responseBody; + } + + /** + *

Constructor for ApiException.

+ * + * @param message the error message + * @param code HTTP status code + * @param responseHeaders a {@link java.util.Map} of HTTP response headers + * @param responseBody the response body + */ + public ApiException(String message, int code, Map> responseHeaders, String responseBody) { + this(message, (Throwable) null, code, responseHeaders, responseBody); + } + + /** + *

Constructor for ApiException.

+ * + * @param message the error message + * @param throwable a {@link java.lang.Throwable} object + * @param code HTTP status code + * @param responseHeaders a {@link java.util.Map} of HTTP response headers + */ + public ApiException(String message, Throwable throwable, int code, Map> responseHeaders) { + this(message, throwable, code, responseHeaders, null); + } + + /** + *

Constructor for ApiException.

+ * + * @param code HTTP status code + * @param responseHeaders a {@link java.util.Map} of HTTP response headers + * @param responseBody the response body + */ + public ApiException(int code, Map> responseHeaders, String responseBody) { + this((String) null, (Throwable) null, code, responseHeaders, responseBody); + } + + /** + *

Constructor for ApiException.

+ * + * @param code HTTP status code + * @param message a {@link java.lang.String} object + */ + public ApiException(int code, String message) { + super(message); + this.code = code; + } + + /** + *

Constructor for ApiException.

+ * + * @param code HTTP status code + * @param message the error message + * @param responseHeaders a {@link java.util.Map} of HTTP response headers + * @param responseBody the response body + */ + public ApiException(int code, String message, Map> responseHeaders, String responseBody) { + this(code, message); + this.responseHeaders = responseHeaders; + this.responseBody = responseBody; + } + + /** + * Get the HTTP status code. + * + * @return HTTP status code + */ + public int getCode() { + return code; + } + + /** + * Get the HTTP response headers. + * + * @return A map of list of string + */ + public Map> getResponseHeaders() { + return responseHeaders; + } + + /** + * Get the HTTP response body. + * + * @return Response body in the form of string + */ + public String getResponseBody() { + return responseBody; + } + + /** + * Get the exception message including HTTP response data. + * + * @return The exception message + */ + public String getMessage() { + return String.format("Message: %s%nHTTP response code: %s%nHTTP response body: %s%nHTTP response headers: %s", + super.getMessage(), this.getCode(), this.getResponseBody(), this.getResponseHeaders()); + } +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiResponse.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiResponse.java new file mode 100644 index 0000000000..189537deb5 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiResponse.java @@ -0,0 +1,76 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client; + +import java.util.List; +import java.util.Map; + +/** + * API response returned by API call. + */ +public class ApiResponse { + final private int statusCode; + final private Map> headers; + final private T data; + + /** + *

Constructor for ApiResponse.

+ * + * @param statusCode The status code of HTTP response + * @param headers The headers of HTTP response + */ + public ApiResponse(int statusCode, Map> headers) { + this(statusCode, headers, null); + } + + /** + *

Constructor for ApiResponse.

+ * + * @param statusCode The status code of HTTP response + * @param headers The headers of HTTP response + * @param data The object deserialized from response bod + */ + public ApiResponse(int statusCode, Map> headers, T data) { + this.statusCode = statusCode; + this.headers = headers; + this.data = data; + } + + /** + *

Get the status code.

+ * + * @return the status code + */ + public int getStatusCode() { + return statusCode; + } + + /** + *

Get the headers.

+ * + * @return a {@link java.util.Map} of headers + */ + public Map> getHeaders() { + return headers; + } + + /** + *

Get the data.

+ * + * @return the data + */ + public T getData() { + return data; + } +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/Configuration.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/Configuration.java new file mode 100644 index 0000000000..d4402e0c46 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/Configuration.java @@ -0,0 +1,39 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class Configuration { + private static ApiClient defaultApiClient = new ApiClient(); + + /** + * Get the default API client, which would be used when creating API + * instances without providing an API client. + * + * @return Default API client + */ + public static ApiClient getDefaultApiClient() { + return defaultApiClient; + } + + /** + * Set the default API client, which would be used when creating API + * instances without providing an API client. + * + * @param apiClient API client + */ + public static void setDefaultApiClient(ApiClient apiClient) { + defaultApiClient = apiClient; + } +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/GzipRequestInterceptor.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/GzipRequestInterceptor.java new file mode 100644 index 0000000000..69ea613c83 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/GzipRequestInterceptor.java @@ -0,0 +1,85 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client; + +import okhttp3.*; +import okio.Buffer; +import okio.BufferedSink; +import okio.GzipSink; +import okio.Okio; + +import java.io.IOException; + +/** + * Encodes request bodies using gzip. + * + * Taken from https://github.com/square/okhttp/issues/350 + */ +class GzipRequestInterceptor implements Interceptor { + @Override + public Response intercept(Chain chain) throws IOException { + Request originalRequest = chain.request(); + if (originalRequest.body() == null || originalRequest.header("Content-Encoding") != null) { + return chain.proceed(originalRequest); + } + + Request compressedRequest = originalRequest.newBuilder() + .header("Content-Encoding", "gzip") + .method(originalRequest.method(), forceContentLength(gzip(originalRequest.body()))) + .build(); + return chain.proceed(compressedRequest); + } + + private RequestBody forceContentLength(final RequestBody requestBody) throws IOException { + final Buffer buffer = new Buffer(); + requestBody.writeTo(buffer); + return new RequestBody() { + @Override + public MediaType contentType() { + return requestBody.contentType(); + } + + @Override + public long contentLength() { + return buffer.size(); + } + + @Override + public void writeTo(BufferedSink sink) throws IOException { + sink.write(buffer.snapshot()); + } + }; + } + + private RequestBody gzip(final RequestBody body) { + return new RequestBody() { + @Override + public MediaType contentType() { + return body.contentType(); + } + + @Override + public long contentLength() { + return -1; // We don't know the compressed length in advance! + } + + @Override + public void writeTo(BufferedSink sink) throws IOException { + BufferedSink gzipSink = Okio.buffer(new GzipSink(sink)); + body.writeTo(gzipSink); + gzipSink.close(); + } + }; + } +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/JSON.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/JSON.java new file mode 100644 index 0000000000..82efa28d6d --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/JSON.java @@ -0,0 +1,406 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapter; +import com.google.gson.internal.bind.util.ISO8601Utils; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.google.gson.JsonElement; +import io.gsonfire.GsonFireBuilder; +import io.gsonfire.TypeSelector; + +import okio.ByteString; + +import java.io.IOException; +import java.io.StringReader; +import java.lang.reflect.Type; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.ParsePosition; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Date; +import java.util.Locale; +import java.util.Map; +import java.util.HashMap; + +/* + * A JSON utility class + * + * NOTE: in the future, this class may be converted to static, which may break + * backward-compatibility + */ +public class JSON { + private static Gson gson; + private static boolean isLenientOnJson = false; + private static DateTypeAdapter dateTypeAdapter = new DateTypeAdapter(); + private static SqlDateTypeAdapter sqlDateTypeAdapter = new SqlDateTypeAdapter(); + private static OffsetDateTimeTypeAdapter offsetDateTimeTypeAdapter = new OffsetDateTimeTypeAdapter(); + private static LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter(); + private static ByteArrayAdapter byteArrayAdapter = new ByteArrayAdapter(); + + @SuppressWarnings("unchecked") + public static GsonBuilder createGson() { + GsonFireBuilder fireBuilder = new GsonFireBuilder() + ; + GsonBuilder builder = fireBuilder.createGsonBuilder(); + return builder; + } + + private static String getDiscriminatorValue(JsonElement readElement, String discriminatorField) { + JsonElement element = readElement.getAsJsonObject().get(discriminatorField); + if (null == element) { + throw new IllegalArgumentException("missing discriminator field: <" + discriminatorField + ">"); + } + return element.getAsString(); + } + + /** + * Returns the Java class that implements the OpenAPI schema for the specified discriminator value. + * + * @param classByDiscriminatorValue The map of discriminator values to Java classes. + * @param discriminatorValue The value of the OpenAPI discriminator in the input data. + * @return The Java class that implements the OpenAPI schema + */ + private static Class getClassByDiscriminator(Map classByDiscriminatorValue, String discriminatorValue) { + Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue); + if (null == clazz) { + throw new IllegalArgumentException("cannot determine model class of name: <" + discriminatorValue + ">"); + } + return clazz; + } + + { + gson = createGson() + .registerTypeAdapter(Date.class, dateTypeAdapter) + .registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter) + .registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter) + .registerTypeAdapter(LocalDate.class, localDateTypeAdapter) + .registerTypeAdapter(byte[].class, byteArrayAdapter) + .registerTypeAdapterFactory(new org.openapitools.client.model.Category.CustomTypeAdapterFactory()) + .registerTypeAdapterFactory(new org.openapitools.client.model.ModelApiResponse.CustomTypeAdapterFactory()) + .registerTypeAdapterFactory(new org.openapitools.client.model.Order.CustomTypeAdapterFactory()) + .registerTypeAdapterFactory(new org.openapitools.client.model.Pet.CustomTypeAdapterFactory()) + .registerTypeAdapterFactory(new org.openapitools.client.model.Tag.CustomTypeAdapterFactory()) + .registerTypeAdapterFactory(new org.openapitools.client.model.User.CustomTypeAdapterFactory()) + .create(); + } + + /** + * Get Gson. + * + * @return Gson + */ + public static Gson getGson() { + return gson; + } + + /** + * Set Gson. + * + * @param gson Gson + */ + public static void setGson(Gson gson) { + JSON.gson = gson; + } + + public static void setLenientOnJson(boolean lenientOnJson) { + isLenientOnJson = lenientOnJson; + } + + /** + * Serialize the given Java object into JSON string. + * + * @param obj Object + * @return String representation of the JSON + */ + public static String serialize(Object obj) { + return gson.toJson(obj); + } + + /** + * Deserialize the given JSON string to Java object. + * + * @param Type + * @param body The JSON string + * @param returnType The type to deserialize into + * @return The deserialized Java object + */ + @SuppressWarnings("unchecked") + public static T deserialize(String body, Type returnType) { + try { + if (isLenientOnJson) { + JsonReader jsonReader = new JsonReader(new StringReader(body)); + // see https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/stream/JsonReader.html#setLenient(boolean) + jsonReader.setLenient(true); + return gson.fromJson(jsonReader, returnType); + } else { + return gson.fromJson(body, returnType); + } + } catch (JsonParseException e) { + // Fallback processing when failed to parse JSON form response body: + // return the response body string directly for the String return type; + if (returnType.equals(String.class)) { + return (T) body; + } else { + throw (e); + } + } + } + + /** + * Gson TypeAdapter for Byte Array type + */ + public static class ByteArrayAdapter extends TypeAdapter { + + @Override + public void write(JsonWriter out, byte[] value) throws IOException { + if (value == null) { + out.nullValue(); + } else { + out.value(ByteString.of(value).base64()); + } + } + + @Override + public byte[] read(JsonReader in) throws IOException { + switch (in.peek()) { + case NULL: + in.nextNull(); + return null; + default: + String bytesAsBase64 = in.nextString(); + ByteString byteString = ByteString.decodeBase64(bytesAsBase64); + return byteString.toByteArray(); + } + } + } + + /** + * Gson TypeAdapter for JSR310 OffsetDateTime type + */ + public static class OffsetDateTimeTypeAdapter extends TypeAdapter { + + private DateTimeFormatter formatter; + + public OffsetDateTimeTypeAdapter() { + this(DateTimeFormatter.ISO_OFFSET_DATE_TIME); + } + + public OffsetDateTimeTypeAdapter(DateTimeFormatter formatter) { + this.formatter = formatter; + } + + public void setFormat(DateTimeFormatter dateFormat) { + this.formatter = dateFormat; + } + + @Override + public void write(JsonWriter out, OffsetDateTime date) throws IOException { + if (date == null) { + out.nullValue(); + } else { + out.value(formatter.format(date)); + } + } + + @Override + public OffsetDateTime read(JsonReader in) throws IOException { + switch (in.peek()) { + case NULL: + in.nextNull(); + return null; + default: + String date = in.nextString(); + if (date.endsWith("+0000")) { + date = date.substring(0, date.length()-5) + "Z"; + } + return OffsetDateTime.parse(date, formatter); + } + } + } + + /** + * Gson TypeAdapter for JSR310 LocalDate type + */ + public static class LocalDateTypeAdapter extends TypeAdapter { + + private DateTimeFormatter formatter; + + public LocalDateTypeAdapter() { + this(DateTimeFormatter.ISO_LOCAL_DATE); + } + + public LocalDateTypeAdapter(DateTimeFormatter formatter) { + this.formatter = formatter; + } + + public void setFormat(DateTimeFormatter dateFormat) { + this.formatter = dateFormat; + } + + @Override + public void write(JsonWriter out, LocalDate date) throws IOException { + if (date == null) { + out.nullValue(); + } else { + out.value(formatter.format(date)); + } + } + + @Override + public LocalDate read(JsonReader in) throws IOException { + switch (in.peek()) { + case NULL: + in.nextNull(); + return null; + default: + String date = in.nextString(); + return LocalDate.parse(date, formatter); + } + } + } + + public static void setOffsetDateTimeFormat(DateTimeFormatter dateFormat) { + offsetDateTimeTypeAdapter.setFormat(dateFormat); + } + + public static void setLocalDateFormat(DateTimeFormatter dateFormat) { + localDateTypeAdapter.setFormat(dateFormat); + } + + /** + * Gson TypeAdapter for java.sql.Date type + * If the dateFormat is null, a simple "yyyy-MM-dd" format will be used + * (more efficient than SimpleDateFormat). + */ + public static class SqlDateTypeAdapter extends TypeAdapter { + + private DateFormat dateFormat; + + public SqlDateTypeAdapter() {} + + public SqlDateTypeAdapter(DateFormat dateFormat) { + this.dateFormat = dateFormat; + } + + public void setFormat(DateFormat dateFormat) { + this.dateFormat = dateFormat; + } + + @Override + public void write(JsonWriter out, java.sql.Date date) throws IOException { + if (date == null) { + out.nullValue(); + } else { + String value; + if (dateFormat != null) { + value = dateFormat.format(date); + } else { + value = date.toString(); + } + out.value(value); + } + } + + @Override + public java.sql.Date read(JsonReader in) throws IOException { + switch (in.peek()) { + case NULL: + in.nextNull(); + return null; + default: + String date = in.nextString(); + try { + if (dateFormat != null) { + return new java.sql.Date(dateFormat.parse(date).getTime()); + } + return new java.sql.Date(ISO8601Utils.parse(date, new ParsePosition(0)).getTime()); + } catch (ParseException e) { + throw new JsonParseException(e); + } + } + } + } + + /** + * Gson TypeAdapter for java.util.Date type + * If the dateFormat is null, ISO8601Utils will be used. + */ + public static class DateTypeAdapter extends TypeAdapter { + + private DateFormat dateFormat; + + public DateTypeAdapter() {} + + public DateTypeAdapter(DateFormat dateFormat) { + this.dateFormat = dateFormat; + } + + public void setFormat(DateFormat dateFormat) { + this.dateFormat = dateFormat; + } + + @Override + public void write(JsonWriter out, Date date) throws IOException { + if (date == null) { + out.nullValue(); + } else { + String value; + if (dateFormat != null) { + value = dateFormat.format(date); + } else { + value = ISO8601Utils.format(date, true); + } + out.value(value); + } + } + + @Override + public Date read(JsonReader in) throws IOException { + try { + switch (in.peek()) { + case NULL: + in.nextNull(); + return null; + default: + String date = in.nextString(); + try { + if (dateFormat != null) { + return dateFormat.parse(date); + } + return ISO8601Utils.parse(date, new ParsePosition(0)); + } catch (ParseException e) { + throw new JsonParseException(e); + } + } + } catch (IllegalArgumentException e) { + throw new JsonParseException(e); + } + } + } + + public static void setDateFormat(DateFormat dateFormat) { + dateTypeAdapter.setFormat(dateFormat); + } + + public static void setSqlDateFormat(DateFormat dateFormat) { + sqlDateTypeAdapter.setFormat(dateFormat); + } +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/Pair.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/Pair.java new file mode 100644 index 0000000000..e085c74e3d --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/Pair.java @@ -0,0 +1,57 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class Pair { + private String name = ""; + private String value = ""; + + public Pair (String name, String value) { + setName(name); + setValue(value); + } + + private void setName(String name) { + if (!isValidString(name)) { + return; + } + + this.name = name; + } + + private void setValue(String value) { + if (!isValidString(value)) { + return; + } + + this.value = value; + } + + public String getName() { + return this.name; + } + + public String getValue() { + return this.value; + } + + private boolean isValidString(String arg) { + if (arg == null) { + return false; + } + + return true; + } +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ProgressRequestBody.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ProgressRequestBody.java new file mode 100644 index 0000000000..673ffc4cbb --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ProgressRequestBody.java @@ -0,0 +1,73 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client; + +import okhttp3.MediaType; +import okhttp3.RequestBody; + +import java.io.IOException; + +import okio.Buffer; +import okio.BufferedSink; +import okio.ForwardingSink; +import okio.Okio; +import okio.Sink; + +public class ProgressRequestBody extends RequestBody { + + private final RequestBody requestBody; + + private final ApiCallback callback; + + public ProgressRequestBody(RequestBody requestBody, ApiCallback callback) { + this.requestBody = requestBody; + this.callback = callback; + } + + @Override + public MediaType contentType() { + return requestBody.contentType(); + } + + @Override + public long contentLength() throws IOException { + return requestBody.contentLength(); + } + + @Override + public void writeTo(BufferedSink sink) throws IOException { + BufferedSink bufferedSink = Okio.buffer(sink(sink)); + requestBody.writeTo(bufferedSink); + bufferedSink.flush(); + } + + private Sink sink(Sink sink) { + return new ForwardingSink(sink) { + + long bytesWritten = 0L; + long contentLength = 0L; + + @Override + public void write(Buffer source, long byteCount) throws IOException { + super.write(source, byteCount); + if (contentLength == 0) { + contentLength = contentLength(); + } + + bytesWritten += byteCount; + callback.onUploadProgress(bytesWritten, contentLength, bytesWritten == contentLength); + } + }; + } +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ProgressResponseBody.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ProgressResponseBody.java new file mode 100644 index 0000000000..10eeda6a29 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ProgressResponseBody.java @@ -0,0 +1,70 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client; + +import okhttp3.MediaType; +import okhttp3.ResponseBody; + +import java.io.IOException; + +import okio.Buffer; +import okio.BufferedSource; +import okio.ForwardingSource; +import okio.Okio; +import okio.Source; + +public class ProgressResponseBody extends ResponseBody { + + private final ResponseBody responseBody; + private final ApiCallback callback; + private BufferedSource bufferedSource; + + public ProgressResponseBody(ResponseBody responseBody, ApiCallback callback) { + this.responseBody = responseBody; + this.callback = callback; + } + + @Override + public MediaType contentType() { + return responseBody.contentType(); + } + + @Override + public long contentLength() { + return responseBody.contentLength(); + } + + @Override + public BufferedSource source() { + if (bufferedSource == null) { + bufferedSource = Okio.buffer(source(responseBody.source())); + } + return bufferedSource; + } + + private Source source(Source source) { + return new ForwardingSource(source) { + long totalBytesRead = 0L; + + @Override + public long read(Buffer sink, long byteCount) throws IOException { + long bytesRead = super.read(sink, byteCount); + // read() returns the number of bytes read, or -1 if this source is exhausted. + totalBytesRead += bytesRead != -1 ? bytesRead : 0; + callback.onDownloadProgress(totalBytesRead, responseBody.contentLength(), bytesRead == -1); + return bytesRead; + } + }; + } +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ServerConfiguration.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ServerConfiguration.java new file mode 100644 index 0000000000..ca5c1187ed --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ServerConfiguration.java @@ -0,0 +1,58 @@ +package org.openapitools.client; + +import java.util.Map; + +/** + * Representing a Server configuration. + */ +public class ServerConfiguration { + public String URL; + public String description; + public Map variables; + + /** + * @param URL A URL to the target host. + * @param description A description of the host designated by the URL. + * @param variables A map between a variable name and its value. The value is used for substitution in the server's URL template. + */ + public ServerConfiguration(String URL, String description, Map variables) { + this.URL = URL; + this.description = description; + this.variables = variables; + } + + /** + * Format URL template using given variables. + * + * @param variables A map between a variable name and its value. + * @return Formatted URL. + */ + public String URL(Map variables) { + String url = this.URL; + + // go through variables and replace placeholders + for (Map.Entry variable: this.variables.entrySet()) { + String name = variable.getKey(); + ServerVariable serverVariable = variable.getValue(); + String value = serverVariable.defaultValue; + + if (variables != null && variables.containsKey(name)) { + value = variables.get(name); + if (serverVariable.enumValues.size() > 0 && !serverVariable.enumValues.contains(value)) { + throw new IllegalArgumentException("The variable " + name + " in the server URL has invalid value " + value + "."); + } + } + url = url.replaceAll("\\{" + name + "\\}", value); + } + return url; + } + + /** + * Format URL template using default server variables. + * + * @return Formatted URL. + */ + public String URL() { + return URL(null); + } +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ServerVariable.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ServerVariable.java new file mode 100644 index 0000000000..c2f13e2166 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ServerVariable.java @@ -0,0 +1,23 @@ +package org.openapitools.client; + +import java.util.HashSet; + +/** + * Representing a Server Variable for server URL template substitution. + */ +public class ServerVariable { + public String description; + public String defaultValue; + public HashSet enumValues = null; + + /** + * @param description A description for the server variable. + * @param defaultValue The default value to use for substitution. + * @param enumValues An enumeration of string values to be used if the substitution options are from a limited set. + */ + public ServerVariable(String description, String defaultValue, HashSet enumValues) { + this.description = description; + this.defaultValue = defaultValue; + this.enumValues = enumValues; + } +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/StringUtil.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/StringUtil.java new file mode 100644 index 0000000000..6b6b475734 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/StringUtil.java @@ -0,0 +1,83 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client; + +import java.util.Collection; +import java.util.Iterator; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class StringUtil { + /** + * Check if the given array contains the given value (with case-insensitive comparison). + * + * @param array The array + * @param value The value to search + * @return true if the array contains the value + */ + public static boolean containsIgnoreCase(String[] array, String value) { + for (String str : array) { + if (value == null && str == null) { + return true; + } + if (value != null && value.equalsIgnoreCase(str)) { + return true; + } + } + return false; + } + + /** + * Join an array of strings with the given separator. + *

+ * Note: This might be replaced by utility method from commons-lang or guava someday + * if one of those libraries is added as dependency. + *

+ * + * @param array The array of strings + * @param separator The separator + * @return the resulting string + */ + public static String join(String[] array, String separator) { + int len = array.length; + if (len == 0) { + return ""; + } + + StringBuilder out = new StringBuilder(); + out.append(array[0]); + for (int i = 1; i < len; i++) { + out.append(separator).append(array[i]); + } + return out.toString(); + } + + /** + * Join a list of strings with the given separator. + * + * @param list The list of strings + * @param separator The separator + * @return the resulting string + */ + public static String join(Collection list, String separator) { + Iterator iterator = list.iterator(); + StringBuilder out = new StringBuilder(); + if (iterator.hasNext()) { + out.append(iterator.next()); + } + while (iterator.hasNext()) { + out.append(separator).append(iterator.next()); + } + return out.toString(); + } +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/api/PetApi.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/api/PetApi.java new file mode 100644 index 0000000000..395aa4d795 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/api/PetApi.java @@ -0,0 +1,1405 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.api; + +import org.openapitools.client.ApiCallback; +import org.openapitools.client.ApiClient; +import org.openapitools.client.ApiException; +import org.openapitools.client.ApiResponse; +import org.openapitools.client.Configuration; +import org.openapitools.client.Pair; +import org.openapitools.client.ProgressRequestBody; +import org.openapitools.client.ProgressResponseBody; + +import com.google.gson.reflect.TypeToken; + +import java.io.IOException; + + +import java.io.File; +import org.openapitools.client.model.ModelApiResponse; +import org.openapitools.client.model.Pet; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.ws.rs.core.GenericType; + +public class PetApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public PetApi() { + this(Configuration.getDefaultApiClient()); + } + + public PetApi(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public ApiClient getApiClient() { + return localVarApiClient; + } + + public void setApiClient(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public int getHostIndex() { + return localHostIndex; + } + + public void setHostIndex(int hostIndex) { + this.localHostIndex = hostIndex; + } + + public String getCustomBaseUrl() { + return localCustomBaseUrl; + } + + public void setCustomBaseUrl(String customBaseUrl) { + this.localCustomBaseUrl = customBaseUrl; + } + + private okhttp3.Call addPetCall(Pet pet, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = pet; + + // create path and map variables + String localVarPath = "/pet"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/xml", "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/json", "application/xml" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "petstore_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call addPetValidateBeforeCall(Pet pet, final ApiCallback _callback) throws ApiException { + + // verify the required parameter 'pet' is set + if (pet == null) { + throw new ApiException("Missing the required parameter 'pet' when calling addPet(Async)"); + } + + + okhttp3.Call localVarCall = addPetCall(pet, _callback); + return localVarCall; + + } + + + private ApiResponse addPetWithHttpInfo(Pet pet) throws ApiException { + okhttp3.Call localVarCall = addPetValidateBeforeCall(pet, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + private okhttp3.Call addPetAsync(Pet pet, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = addPetValidateBeforeCall(pet, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + + public class APIaddPetRequest { + private final Pet pet; + + private APIaddPetRequest(Pet pet) { + this.pet = pet; + } + + /** + * Build call for addPet + * @param _callback ApiCallback API callback + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + +
Status Code Description Response Headers
200 successful operation -
405 Invalid input -
+ */ + public okhttp3.Call buildCall(final ApiCallback _callback) throws ApiException { + return addPetCall(pet, _callback); + } + + /** + * Execute addPet request + * @return Pet + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + +
Status Code Description Response Headers
200 successful operation -
405 Invalid input -
+ */ + public Pet execute() throws ApiException { + ApiResponse localVarResp = addPetWithHttpInfo(pet); + return localVarResp.getData(); + } + + /** + * Execute addPet request with HTTP info returned + * @return ApiResponse<Pet> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + +
Status Code Description Response Headers
200 successful operation -
405 Invalid input -
+ */ + public ApiResponse executeWithHttpInfo() throws ApiException { + return addPetWithHttpInfo(pet); + } + + /** + * Execute addPet request (asynchronously) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + +
Status Code Description Response Headers
200 successful operation -
405 Invalid input -
+ */ + public okhttp3.Call executeAsync(final ApiCallback _callback) throws ApiException { + return addPetAsync(pet, _callback); + } + } + + /** + * Add a new pet to the store + * + * @param pet Pet object that needs to be added to the store (required) + * @return APIaddPetRequest + * @http.response.details + + + + +
Status Code Description Response Headers
200 successful operation -
405 Invalid input -
+ */ + public APIaddPetRequest addPet(Pet pet) { + return new APIaddPetRequest(pet); + } + private okhttp3.Call deletePetCall(Long petId, String apiKey, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/pet/{petId}" + .replaceAll("\\{" + "petId" + "\\}", localVarApiClient.escapeString(petId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + if (apiKey != null) { + localVarHeaderParams.put("api_key", localVarApiClient.parameterToString(apiKey)); + } + + final String[] localVarAccepts = { + + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "petstore_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call deletePetValidateBeforeCall(Long petId, String apiKey, final ApiCallback _callback) throws ApiException { + + // verify the required parameter 'petId' is set + if (petId == null) { + throw new ApiException("Missing the required parameter 'petId' when calling deletePet(Async)"); + } + + + okhttp3.Call localVarCall = deletePetCall(petId, apiKey, _callback); + return localVarCall; + + } + + + private ApiResponse deletePetWithHttpInfo(Long petId, String apiKey) throws ApiException { + okhttp3.Call localVarCall = deletePetValidateBeforeCall(petId, apiKey, null); + return localVarApiClient.execute(localVarCall); + } + + private okhttp3.Call deletePetAsync(Long petId, String apiKey, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deletePetValidateBeforeCall(petId, apiKey, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + + public class APIdeletePetRequest { + private final Long petId; + private String apiKey; + + private APIdeletePetRequest(Long petId) { + this.petId = petId; + } + + /** + * Set apiKey + * @param apiKey (optional) + * @return APIdeletePetRequest + */ + public APIdeletePetRequest apiKey(String apiKey) { + this.apiKey = apiKey; + return this; + } + + /** + * Build call for deletePet + * @param _callback ApiCallback API callback + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + +
Status Code Description Response Headers
400 Invalid pet value -
+ */ + public okhttp3.Call buildCall(final ApiCallback _callback) throws ApiException { + return deletePetCall(petId, apiKey, _callback); + } + + /** + * Execute deletePet request + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + +
Status Code Description Response Headers
400 Invalid pet value -
+ */ + public void execute() throws ApiException { + deletePetWithHttpInfo(petId, apiKey); + } + + /** + * Execute deletePet request with HTTP info returned + * @return ApiResponse<Void> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + +
Status Code Description Response Headers
400 Invalid pet value -
+ */ + public ApiResponse executeWithHttpInfo() throws ApiException { + return deletePetWithHttpInfo(petId, apiKey); + } + + /** + * Execute deletePet request (asynchronously) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + +
Status Code Description Response Headers
400 Invalid pet value -
+ */ + public okhttp3.Call executeAsync(final ApiCallback _callback) throws ApiException { + return deletePetAsync(petId, apiKey, _callback); + } + } + + /** + * Deletes a pet + * + * @param petId Pet id to delete (required) + * @return APIdeletePetRequest + * @http.response.details + + + +
Status Code Description Response Headers
400 Invalid pet value -
+ */ + public APIdeletePetRequest deletePet(Long petId) { + return new APIdeletePetRequest(petId); + } + private okhttp3.Call findPetsByStatusCall(List status, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/pet/findByStatus"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + if (status != null) { + localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("csv", "status", status)); + } + + final String[] localVarAccepts = { + "application/xml", "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "petstore_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call findPetsByStatusValidateBeforeCall(List status, final ApiCallback _callback) throws ApiException { + + // verify the required parameter 'status' is set + if (status == null) { + throw new ApiException("Missing the required parameter 'status' when calling findPetsByStatus(Async)"); + } + + + okhttp3.Call localVarCall = findPetsByStatusCall(status, _callback); + return localVarCall; + + } + + + private ApiResponse> findPetsByStatusWithHttpInfo(List status) throws ApiException { + okhttp3.Call localVarCall = findPetsByStatusValidateBeforeCall(status, null); + Type localVarReturnType = new TypeToken>(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + private okhttp3.Call findPetsByStatusAsync(List status, final ApiCallback> _callback) throws ApiException { + + okhttp3.Call localVarCall = findPetsByStatusValidateBeforeCall(status, _callback); + Type localVarReturnType = new TypeToken>(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + + public class APIfindPetsByStatusRequest { + private final List status; + + private APIfindPetsByStatusRequest(List status) { + this.status = status; + } + + /** + * Build call for findPetsByStatus + * @param _callback ApiCallback API callback + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid status value -
+ */ + public okhttp3.Call buildCall(final ApiCallback _callback) throws ApiException { + return findPetsByStatusCall(status, _callback); + } + + /** + * Execute findPetsByStatus request + * @return List<Pet> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid status value -
+ */ + public List execute() throws ApiException { + ApiResponse> localVarResp = findPetsByStatusWithHttpInfo(status); + return localVarResp.getData(); + } + + /** + * Execute findPetsByStatus request with HTTP info returned + * @return ApiResponse<List<Pet>> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid status value -
+ */ + public ApiResponse> executeWithHttpInfo() throws ApiException { + return findPetsByStatusWithHttpInfo(status); + } + + /** + * Execute findPetsByStatus request (asynchronously) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid status value -
+ */ + public okhttp3.Call executeAsync(final ApiCallback> _callback) throws ApiException { + return findPetsByStatusAsync(status, _callback); + } + } + + /** + * Finds Pets by status + * Multiple status values can be provided with comma separated strings + * @param status Status values that need to be considered for filter (required) + * @return APIfindPetsByStatusRequest + * @http.response.details + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid status value -
+ */ + public APIfindPetsByStatusRequest findPetsByStatus(List status) { + return new APIfindPetsByStatusRequest(status); + } + private okhttp3.Call findPetsByTagsCall(List tags, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/pet/findByTags"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + if (tags != null) { + localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("csv", "tags", tags)); + } + + final String[] localVarAccepts = { + "application/xml", "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "petstore_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @Deprecated + @SuppressWarnings("rawtypes") + private okhttp3.Call findPetsByTagsValidateBeforeCall(List tags, final ApiCallback _callback) throws ApiException { + + // verify the required parameter 'tags' is set + if (tags == null) { + throw new ApiException("Missing the required parameter 'tags' when calling findPetsByTags(Async)"); + } + + + okhttp3.Call localVarCall = findPetsByTagsCall(tags, _callback); + return localVarCall; + + } + + + private ApiResponse> findPetsByTagsWithHttpInfo(List tags) throws ApiException { + okhttp3.Call localVarCall = findPetsByTagsValidateBeforeCall(tags, null); + Type localVarReturnType = new TypeToken>(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + private okhttp3.Call findPetsByTagsAsync(List tags, final ApiCallback> _callback) throws ApiException { + + okhttp3.Call localVarCall = findPetsByTagsValidateBeforeCall(tags, _callback); + Type localVarReturnType = new TypeToken>(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + + public class APIfindPetsByTagsRequest { + private final List tags; + + private APIfindPetsByTagsRequest(List tags) { + this.tags = tags; + } + + /** + * Build call for findPetsByTags + * @param _callback ApiCallback API callback + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid tag value -
+ * @deprecated + */ + @Deprecated + public okhttp3.Call buildCall(final ApiCallback _callback) throws ApiException { + return findPetsByTagsCall(tags, _callback); + } + + /** + * Execute findPetsByTags request + * @return List<Pet> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid tag value -
+ * @deprecated + */ + @Deprecated + public List execute() throws ApiException { + ApiResponse> localVarResp = findPetsByTagsWithHttpInfo(tags); + return localVarResp.getData(); + } + + /** + * Execute findPetsByTags request with HTTP info returned + * @return ApiResponse<List<Pet>> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid tag value -
+ * @deprecated + */ + @Deprecated + public ApiResponse> executeWithHttpInfo() throws ApiException { + return findPetsByTagsWithHttpInfo(tags); + } + + /** + * Execute findPetsByTags request (asynchronously) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid tag value -
+ * @deprecated + */ + @Deprecated + public okhttp3.Call executeAsync(final ApiCallback> _callback) throws ApiException { + return findPetsByTagsAsync(tags, _callback); + } + } + + /** + * Finds Pets by tags + * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. + * @param tags Tags to filter by (required) + * @return APIfindPetsByTagsRequest + * @http.response.details + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid tag value -
+ * @deprecated + */ + @Deprecated + public APIfindPetsByTagsRequest findPetsByTags(List tags) { + return new APIfindPetsByTagsRequest(tags); + } + private okhttp3.Call getPetByIdCall(Long petId, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/pet/{petId}" + .replaceAll("\\{" + "petId" + "\\}", localVarApiClient.escapeString(petId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/xml", "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "api_key" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call getPetByIdValidateBeforeCall(Long petId, final ApiCallback _callback) throws ApiException { + + // verify the required parameter 'petId' is set + if (petId == null) { + throw new ApiException("Missing the required parameter 'petId' when calling getPetById(Async)"); + } + + + okhttp3.Call localVarCall = getPetByIdCall(petId, _callback); + return localVarCall; + + } + + + private ApiResponse getPetByIdWithHttpInfo(Long petId) throws ApiException { + okhttp3.Call localVarCall = getPetByIdValidateBeforeCall(petId, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + private okhttp3.Call getPetByIdAsync(Long petId, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getPetByIdValidateBeforeCall(petId, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + + public class APIgetPetByIdRequest { + private final Long petId; + + private APIgetPetByIdRequest(Long petId) { + this.petId = petId; + } + + /** + * Build call for getPetById + * @param _callback ApiCallback API callback + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid ID supplied -
404 Pet not found -
+ */ + public okhttp3.Call buildCall(final ApiCallback _callback) throws ApiException { + return getPetByIdCall(petId, _callback); + } + + /** + * Execute getPetById request + * @return Pet + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid ID supplied -
404 Pet not found -
+ */ + public Pet execute() throws ApiException { + ApiResponse localVarResp = getPetByIdWithHttpInfo(petId); + return localVarResp.getData(); + } + + /** + * Execute getPetById request with HTTP info returned + * @return ApiResponse<Pet> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid ID supplied -
404 Pet not found -
+ */ + public ApiResponse executeWithHttpInfo() throws ApiException { + return getPetByIdWithHttpInfo(petId); + } + + /** + * Execute getPetById request (asynchronously) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid ID supplied -
404 Pet not found -
+ */ + public okhttp3.Call executeAsync(final ApiCallback _callback) throws ApiException { + return getPetByIdAsync(petId, _callback); + } + } + + /** + * Find pet by ID + * Returns a single pet + * @param petId ID of pet to return (required) + * @return APIgetPetByIdRequest + * @http.response.details + + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid ID supplied -
404 Pet not found -
+ */ + public APIgetPetByIdRequest getPetById(Long petId) { + return new APIgetPetByIdRequest(petId); + } + private okhttp3.Call updatePetCall(Pet pet, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = pet; + + // create path and map variables + String localVarPath = "/pet"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/xml", "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/json", "application/xml" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "petstore_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call updatePetValidateBeforeCall(Pet pet, final ApiCallback _callback) throws ApiException { + + // verify the required parameter 'pet' is set + if (pet == null) { + throw new ApiException("Missing the required parameter 'pet' when calling updatePet(Async)"); + } + + + okhttp3.Call localVarCall = updatePetCall(pet, _callback); + return localVarCall; + + } + + + private ApiResponse updatePetWithHttpInfo(Pet pet) throws ApiException { + okhttp3.Call localVarCall = updatePetValidateBeforeCall(pet, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + private okhttp3.Call updatePetAsync(Pet pet, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updatePetValidateBeforeCall(pet, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + + public class APIupdatePetRequest { + private final Pet pet; + + private APIupdatePetRequest(Pet pet) { + this.pet = pet; + } + + /** + * Build call for updatePet + * @param _callback ApiCallback API callback + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid ID supplied -
404 Pet not found -
405 Validation exception -
+ */ + public okhttp3.Call buildCall(final ApiCallback _callback) throws ApiException { + return updatePetCall(pet, _callback); + } + + /** + * Execute updatePet request + * @return Pet + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid ID supplied -
404 Pet not found -
405 Validation exception -
+ */ + public Pet execute() throws ApiException { + ApiResponse localVarResp = updatePetWithHttpInfo(pet); + return localVarResp.getData(); + } + + /** + * Execute updatePet request with HTTP info returned + * @return ApiResponse<Pet> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid ID supplied -
404 Pet not found -
405 Validation exception -
+ */ + public ApiResponse executeWithHttpInfo() throws ApiException { + return updatePetWithHttpInfo(pet); + } + + /** + * Execute updatePet request (asynchronously) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid ID supplied -
404 Pet not found -
405 Validation exception -
+ */ + public okhttp3.Call executeAsync(final ApiCallback _callback) throws ApiException { + return updatePetAsync(pet, _callback); + } + } + + /** + * Update an existing pet + * + * @param pet Pet object that needs to be added to the store (required) + * @return APIupdatePetRequest + * @http.response.details + + + + + + +
Status Code Description Response Headers
200 successful operation -
400 Invalid ID supplied -
404 Pet not found -
405 Validation exception -
+ */ + public APIupdatePetRequest updatePet(Pet pet) { + return new APIupdatePetRequest(pet); + } + /** + * Build call for updatePetWithForm + * @param petId ID of pet that needs to be updated (required) + * @param name Updated name of the pet (optional) + * @param status Updated status of the pet (optional) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + +
Status Code Description Response Headers
405 Invalid input -
+ */ + public okhttp3.Call updatePetWithFormCall(Long petId, String name, String status, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/pet/{petId}" + .replaceAll("\\{" + "petId" + "\\}", localVarApiClient.escapeString(petId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + if (name != null) { + localVarFormParams.put("name", name); + } + + if (status != null) { + localVarFormParams.put("status", status); + } + + final String[] localVarAccepts = { + + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/x-www-form-urlencoded" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "petstore_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call updatePetWithFormValidateBeforeCall(Long petId, String name, String status, final ApiCallback _callback) throws ApiException { + + // verify the required parameter 'petId' is set + if (petId == null) { + throw new ApiException("Missing the required parameter 'petId' when calling updatePetWithForm(Async)"); + } + + + okhttp3.Call localVarCall = updatePetWithFormCall(petId, name, status, _callback); + return localVarCall; + + } + + /** + * Updates a pet in the store with form data + * + * @param petId ID of pet that needs to be updated (required) + * @param name Updated name of the pet (optional) + * @param status Updated status of the pet (optional) + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + +
Status Code Description Response Headers
405 Invalid input -
+ */ + public void updatePetWithForm(Long petId, String name, String status) throws ApiException { + updatePetWithFormWithHttpInfo(petId, name, status); + } + + /** + * Updates a pet in the store with form data + * + * @param petId ID of pet that needs to be updated (required) + * @param name Updated name of the pet (optional) + * @param status Updated status of the pet (optional) + * @return ApiResponse<Void> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + +
Status Code Description Response Headers
405 Invalid input -
+ */ + public ApiResponse updatePetWithFormWithHttpInfo(Long petId, String name, String status) throws ApiException { + okhttp3.Call localVarCall = updatePetWithFormValidateBeforeCall(petId, name, status, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Updates a pet in the store with form data (asynchronously) + * + * @param petId ID of pet that needs to be updated (required) + * @param name Updated name of the pet (optional) + * @param status Updated status of the pet (optional) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + +
Status Code Description Response Headers
405 Invalid input -
+ */ + public okhttp3.Call updatePetWithFormAsync(Long petId, String name, String status, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updatePetWithFormValidateBeforeCall(petId, name, status, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + private okhttp3.Call uploadFileCall(Long petId, String additionalMetadata, File _file, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/pet/{petId}/uploadImage" + .replaceAll("\\{" + "petId" + "\\}", localVarApiClient.escapeString(petId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + if (additionalMetadata != null) { + localVarFormParams.put("additionalMetadata", additionalMetadata); + } + + if (_file != null) { + localVarFormParams.put("file", _file); + } + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "multipart/form-data" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "petstore_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call uploadFileValidateBeforeCall(Long petId, String additionalMetadata, File _file, final ApiCallback _callback) throws ApiException { + + // verify the required parameter 'petId' is set + if (petId == null) { + throw new ApiException("Missing the required parameter 'petId' when calling uploadFile(Async)"); + } + + + okhttp3.Call localVarCall = uploadFileCall(petId, additionalMetadata, _file, _callback); + return localVarCall; + + } + + + private ApiResponse uploadFileWithHttpInfo(Long petId, String additionalMetadata, File _file) throws ApiException { + okhttp3.Call localVarCall = uploadFileValidateBeforeCall(petId, additionalMetadata, _file, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + private okhttp3.Call uploadFileAsync(Long petId, String additionalMetadata, File _file, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = uploadFileValidateBeforeCall(petId, additionalMetadata, _file, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + + public class APIuploadFileRequest { + private final Long petId; + private String additionalMetadata; + private File _file; + + private APIuploadFileRequest(Long petId) { + this.petId = petId; + } + + /** + * Set additionalMetadata + * @param additionalMetadata Additional data to pass to server (optional) + * @return APIuploadFileRequest + */ + public APIuploadFileRequest additionalMetadata(String additionalMetadata) { + this.additionalMetadata = additionalMetadata; + return this; + } + + /** + * Set _file + * @param _file file to upload (optional) + * @return APIuploadFileRequest + */ + public APIuploadFileRequest _file(File _file) { + this._file = _file; + return this; + } + + /** + * Build call for uploadFile + * @param _callback ApiCallback API callback + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + +
Status Code Description Response Headers
200 successful operation -
+ */ + public okhttp3.Call buildCall(final ApiCallback _callback) throws ApiException { + return uploadFileCall(petId, additionalMetadata, _file, _callback); + } + + /** + * Execute uploadFile request + * @return ModelApiResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + +
Status Code Description Response Headers
200 successful operation -
+ */ + public ModelApiResponse execute() throws ApiException { + ApiResponse localVarResp = uploadFileWithHttpInfo(petId, additionalMetadata, _file); + return localVarResp.getData(); + } + + /** + * Execute uploadFile request with HTTP info returned + * @return ApiResponse<ModelApiResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + +
Status Code Description Response Headers
200 successful operation -
+ */ + public ApiResponse executeWithHttpInfo() throws ApiException { + return uploadFileWithHttpInfo(petId, additionalMetadata, _file); + } + + /** + * Execute uploadFile request (asynchronously) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + +
Status Code Description Response Headers
200 successful operation -
+ */ + public okhttp3.Call executeAsync(final ApiCallback _callback) throws ApiException { + return uploadFileAsync(petId, additionalMetadata, _file, _callback); + } + } + + /** + * uploads an image + * + * @param petId ID of pet to update (required) + * @return APIuploadFileRequest + * @http.response.details + + + +
Status Code Description Response Headers
200 successful operation -
+ */ + public APIuploadFileRequest uploadFile(Long petId) { + return new APIuploadFileRequest(petId); + } +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/ApiKeyAuth.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/ApiKeyAuth.java new file mode 100644 index 0000000000..81e9195fca --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/ApiKeyAuth.java @@ -0,0 +1,80 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.auth; + +import org.openapitools.client.ApiException; +import org.openapitools.client.Pair; + +import java.net.URI; +import java.util.Map; +import java.util.List; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class ApiKeyAuth implements Authentication { + private final String location; + private final String paramName; + + private String apiKey; + private String apiKeyPrefix; + + public ApiKeyAuth(String location, String paramName) { + this.location = location; + this.paramName = paramName; + } + + public String getLocation() { + return location; + } + + public String getParamName() { + return paramName; + } + + public String getApiKey() { + return apiKey; + } + + public void setApiKey(String apiKey) { + this.apiKey = apiKey; + } + + public String getApiKeyPrefix() { + return apiKeyPrefix; + } + + public void setApiKeyPrefix(String apiKeyPrefix) { + this.apiKeyPrefix = apiKeyPrefix; + } + + @Override + public void applyToParams(List queryParams, Map headerParams, Map cookieParams, + String payload, String method, URI uri) throws ApiException { + if (apiKey == null) { + return; + } + String value; + if (apiKeyPrefix != null) { + value = apiKeyPrefix + " " + apiKey; + } else { + value = apiKey; + } + if ("query".equals(location)) { + queryParams.add(new Pair(paramName, value)); + } else if ("header".equals(location)) { + headerParams.put(paramName, value); + } else if ("cookie".equals(location)) { + cookieParams.put(paramName, value); + } + } +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/Authentication.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/Authentication.java new file mode 100644 index 0000000000..6424dc10e1 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/Authentication.java @@ -0,0 +1,36 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.auth; + +import org.openapitools.client.Pair; +import org.openapitools.client.ApiException; + +import java.net.URI; +import java.util.Map; +import java.util.List; + +public interface Authentication { + /** + * Apply authentication settings to header and query params. + * + * @param queryParams List of query parameters + * @param headerParams Map of header parameters + * @param cookieParams Map of cookie parameters + * @param payload HTTP request body + * @param method HTTP method + * @param uri URI + * @throws ApiException if failed to update the parameters + */ + void applyToParams(List queryParams, Map headerParams, Map cookieParams, String payload, String method, URI uri) throws ApiException; +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/HttpBasicAuth.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/HttpBasicAuth.java new file mode 100644 index 0000000000..f40a47ba21 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/HttpBasicAuth.java @@ -0,0 +1,57 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.auth; + +import org.openapitools.client.Pair; +import org.openapitools.client.ApiException; + +import okhttp3.Credentials; + +import java.net.URI; +import java.util.Map; +import java.util.List; + +import java.io.UnsupportedEncodingException; + +public class HttpBasicAuth implements Authentication { + private String username; + private String password; + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + @Override + public void applyToParams(List queryParams, Map headerParams, Map cookieParams, + String payload, String method, URI uri) throws ApiException { + if (username == null && password == null) { + return; + } + headerParams.put("Authorization", Credentials.basic( + username == null ? "" : username, + password == null ? "" : password)); + } +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/HttpBearerAuth.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/HttpBearerAuth.java new file mode 100644 index 0000000000..b282a35e1a --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/HttpBearerAuth.java @@ -0,0 +1,63 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.auth; + +import org.openapitools.client.ApiException; +import org.openapitools.client.Pair; + +import java.net.URI; +import java.util.Map; +import java.util.List; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class HttpBearerAuth implements Authentication { + private final String scheme; + private String bearerToken; + + public HttpBearerAuth(String scheme) { + this.scheme = scheme; + } + + /** + * Gets the token, which together with the scheme, will be sent as the value of the Authorization header. + * + * @return The bearer token + */ + public String getBearerToken() { + return bearerToken; + } + + /** + * Sets the token, which together with the scheme, will be sent as the value of the Authorization header. + * + * @param bearerToken The bearer token to send in the Authorization header + */ + public void setBearerToken(String bearerToken) { + this.bearerToken = bearerToken; + } + + @Override + public void applyToParams(List queryParams, Map headerParams, Map cookieParams, + String payload, String method, URI uri) throws ApiException { + if (bearerToken == null) { + return; + } + + headerParams.put("Authorization", (scheme != null ? upperCaseBearer(scheme) + " " : "") + bearerToken); + } + + private static String upperCaseBearer(String scheme) { + return ("bearer".equalsIgnoreCase(scheme)) ? "Bearer" : scheme; + } +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/OAuth.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/OAuth.java new file mode 100644 index 0000000000..ef5543470a --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/OAuth.java @@ -0,0 +1,42 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.auth; + +import org.openapitools.client.Pair; +import org.openapitools.client.ApiException; + +import java.net.URI; +import java.util.Map; +import java.util.List; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class OAuth implements Authentication { + private String accessToken; + + public String getAccessToken() { + return accessToken; + } + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + @Override + public void applyToParams(List queryParams, Map headerParams, Map cookieParams, + String payload, String method, URI uri) throws ApiException { + if (accessToken != null) { + headerParams.put("Authorization", "Bearer " + accessToken); + } + } +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/OAuthFlow.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/OAuthFlow.java new file mode 100644 index 0000000000..686a0736ac --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/OAuthFlow.java @@ -0,0 +1,25 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.auth; + +/** + * OAuth flows that are supported by this client + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public enum OAuthFlow { + ACCESS_CODE, //called authorizationCode in OpenAPI 3.0 + IMPLICIT, + PASSWORD, + APPLICATION //called clientCredentials in OpenAPI 3.0 +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/OAuthOkHttpClient.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/OAuthOkHttpClient.java new file mode 100644 index 0000000000..1c8ac2dc0c --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/OAuthOkHttpClient.java @@ -0,0 +1,68 @@ +package org.openapitools.client.auth; + +import okhttp3.OkHttpClient; +import okhttp3.MediaType; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; + +import org.apache.oltu.oauth2.client.HttpClient; +import org.apache.oltu.oauth2.client.request.OAuthClientRequest; +import org.apache.oltu.oauth2.client.response.OAuthClientResponse; +import org.apache.oltu.oauth2.client.response.OAuthClientResponseFactory; +import org.apache.oltu.oauth2.common.exception.OAuthProblemException; +import org.apache.oltu.oauth2.common.exception.OAuthSystemException; + +import java.io.IOException; +import java.util.Map; +import java.util.Map.Entry; + +public class OAuthOkHttpClient implements HttpClient { + private OkHttpClient client; + + public OAuthOkHttpClient() { + this.client = new OkHttpClient(); + } + + public OAuthOkHttpClient(OkHttpClient client) { + this.client = client; + } + + @Override + public T execute(OAuthClientRequest request, Map headers, + String requestMethod, Class responseClass) + throws OAuthSystemException, OAuthProblemException { + + MediaType mediaType = MediaType.parse("application/json"); + Request.Builder requestBuilder = new Request.Builder().url(request.getLocationUri()); + + if(headers != null) { + for (Entry entry : headers.entrySet()) { + if (entry.getKey().equalsIgnoreCase("Content-Type")) { + mediaType = MediaType.parse(entry.getValue()); + } else { + requestBuilder.addHeader(entry.getKey(), entry.getValue()); + } + } + } + + RequestBody body = request.getBody() != null ? RequestBody.create(request.getBody(), mediaType) : null; + requestBuilder.method(requestMethod, body); + + try { + Response response = client.newCall(requestBuilder.build()).execute(); + return OAuthClientResponseFactory.createCustomResponse( + response.body().string(), + response.body().contentType().toString(), + response.code(), + responseClass); + } catch (IOException e) { + throw new OAuthSystemException(e); + } + } + + @Override + public void shutdown() { + // Nothing to do here + } +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/RetryingOAuth.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/RetryingOAuth.java new file mode 100644 index 0000000000..2bd61d7fe8 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/auth/RetryingOAuth.java @@ -0,0 +1,210 @@ +package org.openapitools.client.auth; + +import org.openapitools.client.ApiException; +import org.openapitools.client.Pair; + +import okhttp3.Interceptor; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; + +import org.apache.oltu.oauth2.client.OAuthClient; +import org.apache.oltu.oauth2.client.request.OAuthBearerClientRequest; +import org.apache.oltu.oauth2.client.request.OAuthClientRequest; +import org.apache.oltu.oauth2.client.request.OAuthClientRequest.TokenRequestBuilder; +import org.apache.oltu.oauth2.client.response.OAuthJSONAccessTokenResponse; +import org.apache.oltu.oauth2.common.exception.OAuthProblemException; +import org.apache.oltu.oauth2.common.exception.OAuthSystemException; +import org.apache.oltu.oauth2.common.message.types.GrantType; + +import java.io.IOException; +import java.net.HttpURLConnection; +import java.net.URI; +import java.util.Map; +import java.util.List; + +public class RetryingOAuth extends OAuth implements Interceptor { + private OAuthClient oAuthClient; + + private TokenRequestBuilder tokenRequestBuilder; + + /** + * @param client An OkHttp client + * @param tokenRequestBuilder A token request builder + */ + public RetryingOAuth(OkHttpClient client, TokenRequestBuilder tokenRequestBuilder) { + this.oAuthClient = new OAuthClient(new OAuthOkHttpClient(client)); + this.tokenRequestBuilder = tokenRequestBuilder; + } + + /** + * @param tokenRequestBuilder A token request builder + */ + public RetryingOAuth(TokenRequestBuilder tokenRequestBuilder) { + this(new OkHttpClient(), tokenRequestBuilder); + } + + /** + * @param tokenUrl The token URL to be used for this OAuth2 flow. + * Applicable to the following OAuth2 flows: "password", "clientCredentials" and "authorizationCode". + * The value must be an absolute URL. + * @param clientId The OAuth2 client ID for the "clientCredentials" flow. + * @param flow OAuth flow. + * @param clientSecret The OAuth2 client secret for the "clientCredentials" flow. + * @param parameters A map of string. + */ + public RetryingOAuth( + String tokenUrl, + String clientId, + OAuthFlow flow, + String clientSecret, + Map parameters + ) { + this(OAuthClientRequest.tokenLocation(tokenUrl) + .setClientId(clientId) + .setClientSecret(clientSecret)); + setFlow(flow); + if (parameters != null) { + for (String paramName : parameters.keySet()) { + tokenRequestBuilder.setParameter(paramName, parameters.get(paramName)); + } + } + } + + /** + * Set the OAuth flow + * + * @param flow The OAuth flow. + */ + public void setFlow(OAuthFlow flow) { + switch(flow) { + case ACCESS_CODE: + tokenRequestBuilder.setGrantType(GrantType.AUTHORIZATION_CODE); + break; + case IMPLICIT: + tokenRequestBuilder.setGrantType(GrantType.IMPLICIT); + break; + case PASSWORD: + tokenRequestBuilder.setGrantType(GrantType.PASSWORD); + break; + case APPLICATION: + tokenRequestBuilder.setGrantType(GrantType.CLIENT_CREDENTIALS); + break; + default: + break; + } + } + + @Override + public Response intercept(Chain chain) throws IOException { + return retryingIntercept(chain, true); + } + + private Response retryingIntercept(Chain chain, boolean updateTokenAndRetryOnAuthorizationFailure) throws IOException { + Request request = chain.request(); + + // If the request already has an authorization (e.g. Basic auth), proceed with the request as is + if (request.header("Authorization") != null) { + return chain.proceed(request); + } + + // Get the token if it has not yet been acquired + if (getAccessToken() == null) { + updateAccessToken(null); + } + + OAuthClientRequest oAuthRequest; + if (getAccessToken() != null) { + // Build the request + Request.Builder requestBuilder = request.newBuilder(); + + String requestAccessToken = getAccessToken(); + try { + oAuthRequest = + new OAuthBearerClientRequest(request.url().toString()). + setAccessToken(requestAccessToken). + buildHeaderMessage(); + } catch (OAuthSystemException e) { + throw new IOException(e); + } + + Map headers = oAuthRequest.getHeaders(); + for (String headerName : headers.keySet()) { + requestBuilder.addHeader(headerName, headers.get(headerName)); + } + requestBuilder.url(oAuthRequest.getLocationUri()); + + // Execute the request + Response response = chain.proceed(requestBuilder.build()); + + // 401/403 response codes most likely indicate an expired access token, unless it happens two times in a row + if ( + response != null && + ( response.code() == HttpURLConnection.HTTP_UNAUTHORIZED || + response.code() == HttpURLConnection.HTTP_FORBIDDEN ) && + updateTokenAndRetryOnAuthorizationFailure + ) { + try { + if (updateAccessToken(requestAccessToken)) { + response.body().close(); + return retryingIntercept(chain, false); + } + } catch (Exception e) { + response.body().close(); + throw e; + } + } + return response; + } + else { + return chain.proceed(chain.request()); + } + } + + /** + * Returns true if the access token has been updated + * + * @param requestAccessToken the request access token + * @return True if the update is successful + * @throws java.io.IOException If fail to update the access token + */ + public synchronized boolean updateAccessToken(String requestAccessToken) throws IOException { + if (getAccessToken() == null || getAccessToken().equals(requestAccessToken)) { + try { + OAuthJSONAccessTokenResponse accessTokenResponse = + oAuthClient.accessToken(tokenRequestBuilder.buildBodyMessage()); + if (accessTokenResponse != null && accessTokenResponse.getAccessToken() != null) { + setAccessToken(accessTokenResponse.getAccessToken()); + } + } catch (OAuthSystemException | OAuthProblemException e) { + throw new IOException(e); + } + } + return getAccessToken() == null || !getAccessToken().equals(requestAccessToken); + } + + /** + * Gets the token request builder + * + * @return A token request builder + */ + public TokenRequestBuilder getTokenRequestBuilder() { + return tokenRequestBuilder; + } + + /** + * Sets the token request builder + * + * @param tokenRequestBuilder Token request builder + */ + public void setTokenRequestBuilder(TokenRequestBuilder tokenRequestBuilder) { + this.tokenRequestBuilder = tokenRequestBuilder; + } + + // Applying authorization to parameters is performed in the retryingIntercept method + @Override + public void applyToParams(List queryParams, Map headerParams, Map cookieParams, + String payload, String method, URI uri) throws ApiException { + // No implementation necessary + } +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/AbstractOpenApiSchema.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/AbstractOpenApiSchema.java new file mode 100644 index 0000000000..7422402107 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/AbstractOpenApiSchema.java @@ -0,0 +1,149 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import org.openapitools.client.ApiException; +import java.util.Objects; +import java.lang.reflect.Type; +import java.util.Map; +import javax.ws.rs.core.GenericType; + +//import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Abstract class for oneOf,anyOf schemas defined in OpenAPI spec + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public abstract class AbstractOpenApiSchema { + + // store the actual instance of the schema/object + private Object instance; + + // is nullable + private Boolean isNullable; + + // schema type (e.g. oneOf, anyOf) + private final String schemaType; + + public AbstractOpenApiSchema(String schemaType, Boolean isNullable) { + this.schemaType = schemaType; + this.isNullable = isNullable; + } + + /** + * Get the list of oneOf/anyOf composed schemas allowed to be stored in this object + * + * @return an instance of the actual schema/object + */ + public abstract Map getSchemas(); + + /** + * Get the actual instance + * + * @return an instance of the actual schema/object + */ + //@JsonValue + public Object getActualInstance() {return instance;} + + /** + * Set the actual instance + * + * @param instance the actual instance of the schema/object + */ + public void setActualInstance(Object instance) {this.instance = instance;} + + /** + * Get the instant recursively when the schemas defined in oneOf/anyof happen to be oneOf/anyOf schema as well + * + * @return an instance of the actual schema/object + */ + public Object getActualInstanceRecursively() { + return getActualInstanceRecursively(this); + } + + private Object getActualInstanceRecursively(AbstractOpenApiSchema object) { + if (object.getActualInstance() == null) { + return null; + } else if (object.getActualInstance() instanceof AbstractOpenApiSchema) { + return getActualInstanceRecursively((AbstractOpenApiSchema)object.getActualInstance()); + } else { + return object.getActualInstance(); + } + } + + /** + * Get the schema type (e.g. anyOf, oneOf) + * + * @return the schema type + */ + public String getSchemaType() { + return schemaType; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ").append(getClass()).append(" {\n"); + sb.append(" instance: ").append(toIndentedString(instance)).append("\n"); + sb.append(" isNullable: ").append(toIndentedString(isNullable)).append("\n"); + sb.append(" schemaType: ").append(toIndentedString(schemaType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AbstractOpenApiSchema a = (AbstractOpenApiSchema) o; + return Objects.equals(this.instance, a.instance) && + Objects.equals(this.isNullable, a.isNullable) && + Objects.equals(this.schemaType, a.schemaType); + } + + @Override + public int hashCode() { + return Objects.hash(instance, isNullable, schemaType); + } + + /** + * Is nullable + * + * @return true if it's nullable + */ + public Boolean isNullable() { + if (Boolean.TRUE.equals(isNullable)) { + return Boolean.TRUE; + } else { + return Boolean.FALSE; + } + } + + + +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/Category.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/Category.java new file mode 100644 index 0000000000..073a612483 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/Category.java @@ -0,0 +1,304 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.openapitools.client.JSON; + +/** + * A category for a pet + */ +@ApiModel(description = "A category for a pet") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class Category { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private Long id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public Category() { + } + + public Category id(Long id) { + + this.id = id; + return this; + } + + /** + * Get id + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Long getId() { + return id; + } + + + public void setId(Long id) { + this.id = id; + } + + + public Category name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + */ + public Category putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Category category = (Category) o; + return Objects.equals(this.id, category.id) && + Objects.equals(this.name, category.name)&& + Objects.equals(this.additionalProperties, category.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Category {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("name"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to Category + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (Category.openapiRequiredFields.isEmpty()) { + return; + } else { // has required fields + throw new IllegalArgumentException(String.format("The required field(s) %s in Category is not found in the empty JSON string", Category.openapiRequiredFields.toString())); + } + } + if (jsonObj.get("name") != null && !jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!Category.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'Category' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(Category.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, Category value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additonal properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public Category read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + Category instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else { // non-primitive type + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of Category given an JSON string + * + * @param jsonString JSON string + * @return An instance of Category + * @throws IOException if the JSON string is invalid with respect to Category + */ + public static Category fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, Category.class); + } + + /** + * Convert an instance of Category to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/ModelApiResponse.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/ModelApiResponse.java new file mode 100644 index 0000000000..2629fe576a --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/ModelApiResponse.java @@ -0,0 +1,337 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.openapitools.client.JSON; + +/** + * Describes the result of uploading an image resource + */ +@ApiModel(description = "Describes the result of uploading an image resource") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class ModelApiResponse { + public static final String SERIALIZED_NAME_CODE = "code"; + @SerializedName(SERIALIZED_NAME_CODE) + private Integer code; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + public static final String SERIALIZED_NAME_MESSAGE = "message"; + @SerializedName(SERIALIZED_NAME_MESSAGE) + private String message; + + public ModelApiResponse() { + } + + public ModelApiResponse code(Integer code) { + + this.code = code; + return this; + } + + /** + * Get code + * @return code + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Integer getCode() { + return code; + } + + + public void setCode(Integer code) { + this.code = code; + } + + + public ModelApiResponse type(String type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + public ModelApiResponse message(String message) { + + this.message = message; + return this; + } + + /** + * Get message + * @return message + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMessage() { + return message; + } + + + public void setMessage(String message) { + this.message = message; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + */ + public ModelApiResponse putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ModelApiResponse _apiResponse = (ModelApiResponse) o; + return Objects.equals(this.code, _apiResponse.code) && + Objects.equals(this.type, _apiResponse.type) && + Objects.equals(this.message, _apiResponse.message)&& + Objects.equals(this.additionalProperties, _apiResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(code, type, message, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ModelApiResponse {\n"); + sb.append(" code: ").append(toIndentedString(code)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("code"); + openapiFields.add("type"); + openapiFields.add("message"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to ModelApiResponse + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (ModelApiResponse.openapiRequiredFields.isEmpty()) { + return; + } else { // has required fields + throw new IllegalArgumentException(String.format("The required field(s) %s in ModelApiResponse is not found in the empty JSON string", ModelApiResponse.openapiRequiredFields.toString())); + } + } + if (jsonObj.get("type") != null && !jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + if (jsonObj.get("message") != null && !jsonObj.get("message").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `message` to be a primitive type in the JSON string but got `%s`", jsonObj.get("message").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ModelApiResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ModelApiResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ModelApiResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ModelApiResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additonal properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public ModelApiResponse read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + ModelApiResponse instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else { // non-primitive type + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ModelApiResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of ModelApiResponse + * @throws IOException if the JSON string is invalid with respect to ModelApiResponse + */ + public static ModelApiResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ModelApiResponse.class); + } + + /** + * Convert an instance of ModelApiResponse to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/Order.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/Order.java new file mode 100644 index 0000000000..d9eae070d5 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/Order.java @@ -0,0 +1,474 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.openapitools.client.JSON; + +/** + * An order for a pets from the pet store + */ +@ApiModel(description = "An order for a pets from the pet store") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class Order { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private Long id; + + public static final String SERIALIZED_NAME_PET_ID = "petId"; + @SerializedName(SERIALIZED_NAME_PET_ID) + private Long petId; + + public static final String SERIALIZED_NAME_QUANTITY = "quantity"; + @SerializedName(SERIALIZED_NAME_QUANTITY) + private Integer quantity; + + public static final String SERIALIZED_NAME_SHIP_DATE = "shipDate"; + @SerializedName(SERIALIZED_NAME_SHIP_DATE) + private OffsetDateTime shipDate; + + /** + * Order Status + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + PLACED("placed"), + + APPROVED("approved"), + + DELIVERED("delivered"); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StatusEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private StatusEnum status; + + public static final String SERIALIZED_NAME_COMPLETE = "complete"; + @SerializedName(SERIALIZED_NAME_COMPLETE) + private Boolean complete = false; + + public Order() { + } + + public Order id(Long id) { + + this.id = id; + return this; + } + + /** + * Get id + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Long getId() { + return id; + } + + + public void setId(Long id) { + this.id = id; + } + + + public Order petId(Long petId) { + + this.petId = petId; + return this; + } + + /** + * Get petId + * @return petId + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Long getPetId() { + return petId; + } + + + public void setPetId(Long petId) { + this.petId = petId; + } + + + public Order quantity(Integer quantity) { + + this.quantity = quantity; + return this; + } + + /** + * Get quantity + * @return quantity + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Integer getQuantity() { + return quantity; + } + + + public void setQuantity(Integer quantity) { + this.quantity = quantity; + } + + + public Order shipDate(OffsetDateTime shipDate) { + + this.shipDate = shipDate; + return this; + } + + /** + * Get shipDate + * @return shipDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public OffsetDateTime getShipDate() { + return shipDate; + } + + + public void setShipDate(OffsetDateTime shipDate) { + this.shipDate = shipDate; + } + + + public Order status(StatusEnum status) { + + this.status = status; + return this; + } + + /** + * Order Status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Order Status") + + public StatusEnum getStatus() { + return status; + } + + + public void setStatus(StatusEnum status) { + this.status = status; + } + + + public Order complete(Boolean complete) { + + this.complete = complete; + return this; + } + + /** + * Get complete + * @return complete + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Boolean getComplete() { + return complete; + } + + + public void setComplete(Boolean complete) { + this.complete = complete; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + */ + public Order putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Order order = (Order) o; + return Objects.equals(this.id, order.id) && + Objects.equals(this.petId, order.petId) && + Objects.equals(this.quantity, order.quantity) && + Objects.equals(this.shipDate, order.shipDate) && + Objects.equals(this.status, order.status) && + Objects.equals(this.complete, order.complete)&& + Objects.equals(this.additionalProperties, order.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(id, petId, quantity, shipDate, status, complete, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Order {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" petId: ").append(toIndentedString(petId)).append("\n"); + sb.append(" quantity: ").append(toIndentedString(quantity)).append("\n"); + sb.append(" shipDate: ").append(toIndentedString(shipDate)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" complete: ").append(toIndentedString(complete)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("petId"); + openapiFields.add("quantity"); + openapiFields.add("shipDate"); + openapiFields.add("status"); + openapiFields.add("complete"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to Order + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (Order.openapiRequiredFields.isEmpty()) { + return; + } else { // has required fields + throw new IllegalArgumentException(String.format("The required field(s) %s in Order is not found in the empty JSON string", Order.openapiRequiredFields.toString())); + } + } + if (jsonObj.get("status") != null && !jsonObj.get("status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("status").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!Order.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'Order' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(Order.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, Order value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additonal properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public Order read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + Order instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else { // non-primitive type + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of Order given an JSON string + * + * @param jsonString JSON string + * @return An instance of Order + * @throws IOException if the JSON string is invalid with respect to Order + */ + public static Order fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, Order.class); + } + + /** + * Convert an instance of Order to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/Pet.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/Pet.java new file mode 100644 index 0000000000..04cc9037b0 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/Pet.java @@ -0,0 +1,524 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.openapitools.client.model.Category; +import org.openapitools.client.model.Tag; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.openapitools.client.JSON; + +/** + * A pet for sale in the pet store + */ +@ApiModel(description = "A pet for sale in the pet store") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class Pet { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private Long id; + + public static final String SERIALIZED_NAME_CATEGORY = "category"; + @SerializedName(SERIALIZED_NAME_CATEGORY) + private Category category; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PHOTO_URLS = "photoUrls"; + @SerializedName(SERIALIZED_NAME_PHOTO_URLS) + private List photoUrls = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TAGS = "tags"; + @SerializedName(SERIALIZED_NAME_TAGS) + private List tags = null; + + /** + * pet status in the store + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + AVAILABLE("available"), + + PENDING("pending"), + + SOLD("sold"); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StatusEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private StatusEnum status; + + public Pet() { + } + + public Pet id(Long id) { + + this.id = id; + return this; + } + + /** + * Get id + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Long getId() { + return id; + } + + + public void setId(Long id) { + this.id = id; + } + + + public Pet category(Category category) { + + this.category = category; + return this; + } + + /** + * Get category + * @return category + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Category getCategory() { + return category; + } + + + public void setCategory(Category category) { + this.category = category; + } + + + public Pet name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nonnull + @ApiModelProperty(example = "doggie", required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public Pet photoUrls(List photoUrls) { + + this.photoUrls = photoUrls; + return this; + } + + public Pet addPhotoUrlsItem(String photoUrlsItem) { + this.photoUrls.add(photoUrlsItem); + return this; + } + + /** + * Get photoUrls + * @return photoUrls + **/ + @javax.annotation.Nonnull + @ApiModelProperty(required = true, value = "") + + public List getPhotoUrls() { + return photoUrls; + } + + + public void setPhotoUrls(List photoUrls) { + this.photoUrls = photoUrls; + } + + + public Pet tags(List tags) { + + this.tags = tags; + return this; + } + + public Pet addTagsItem(Tag tagsItem) { + if (this.tags == null) { + this.tags = new ArrayList<>(); + } + this.tags.add(tagsItem); + return this; + } + + /** + * Get tags + * @return tags + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getTags() { + return tags; + } + + + public void setTags(List tags) { + this.tags = tags; + } + + + public Pet status(StatusEnum status) { + + this.status = status; + return this; + } + + /** + * pet status in the store + * @return status + * @deprecated + **/ + @Deprecated + @javax.annotation.Nullable + @ApiModelProperty(value = "pet status in the store") + + public StatusEnum getStatus() { + return status; + } + + + public void setStatus(StatusEnum status) { + this.status = status; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + */ + public Pet putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Pet pet = (Pet) o; + return Objects.equals(this.id, pet.id) && + Objects.equals(this.category, pet.category) && + Objects.equals(this.name, pet.name) && + Objects.equals(this.photoUrls, pet.photoUrls) && + Objects.equals(this.tags, pet.tags) && + Objects.equals(this.status, pet.status)&& + Objects.equals(this.additionalProperties, pet.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(id, category, name, photoUrls, tags, status, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Pet {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" photoUrls: ").append(toIndentedString(photoUrls)).append("\n"); + sb.append(" tags: ").append(toIndentedString(tags)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("category"); + openapiFields.add("name"); + openapiFields.add("photoUrls"); + openapiFields.add("tags"); + openapiFields.add("status"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("photoUrls"); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to Pet + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (Pet.openapiRequiredFields.isEmpty()) { + return; + } else { // has required fields + throw new IllegalArgumentException(String.format("The required field(s) %s in Pet is not found in the empty JSON string", Pet.openapiRequiredFields.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : Pet.openapiRequiredFields) { + if (jsonObj.get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonObj.toString())); + } + } + // validate the optional field `category` + if (jsonObj.getAsJsonObject("category") != null) { + Category.validateJsonObject(jsonObj.getAsJsonObject("category")); + } + if (jsonObj.get("name") != null && !jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + // ensure the json data is an array + if (jsonObj.get("photoUrls") != null && !jsonObj.get("photoUrls").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `photoUrls` to be an array in the JSON string but got `%s`", jsonObj.get("photoUrls").toString())); + } + JsonArray jsonArraytags = jsonObj.getAsJsonArray("tags"); + if (jsonArraytags != null) { + // ensure the json data is an array + if (!jsonObj.get("tags").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `tags` to be an array in the JSON string but got `%s`", jsonObj.get("tags").toString())); + } + + // validate the optional field `tags` (array) + for (int i = 0; i < jsonArraytags.size(); i++) { + Tag.validateJsonObject(jsonArraytags.get(i).getAsJsonObject()); + }; + } + if (jsonObj.get("status") != null && !jsonObj.get("status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("status").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!Pet.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'Pet' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(Pet.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, Pet value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additonal properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public Pet read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + Pet instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else { // non-primitive type + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of Pet given an JSON string + * + * @param jsonString JSON string + * @return An instance of Pet + * @throws IOException if the JSON string is invalid with respect to Pet + */ + public static Pet fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, Pet.class); + } + + /** + * Convert an instance of Pet to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/Tag.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/Tag.java new file mode 100644 index 0000000000..f2986e7354 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/Tag.java @@ -0,0 +1,304 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.openapitools.client.JSON; + +/** + * A tag for a pet + */ +@ApiModel(description = "A tag for a pet") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class Tag { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private Long id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public Tag() { + } + + public Tag id(Long id) { + + this.id = id; + return this; + } + + /** + * Get id + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Long getId() { + return id; + } + + + public void setId(Long id) { + this.id = id; + } + + + public Tag name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + */ + public Tag putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Tag tag = (Tag) o; + return Objects.equals(this.id, tag.id) && + Objects.equals(this.name, tag.name)&& + Objects.equals(this.additionalProperties, tag.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Tag {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("name"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to Tag + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (Tag.openapiRequiredFields.isEmpty()) { + return; + } else { // has required fields + throw new IllegalArgumentException(String.format("The required field(s) %s in Tag is not found in the empty JSON string", Tag.openapiRequiredFields.toString())); + } + } + if (jsonObj.get("name") != null && !jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!Tag.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'Tag' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(Tag.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, Tag value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additonal properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public Tag read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + Tag instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else { // non-primitive type + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of Tag given an JSON string + * + * @param jsonString JSON string + * @return An instance of Tag + * @throws IOException if the JSON string is invalid with respect to Tag + */ + public static Tag fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, Tag.class); + } + + /** + * Convert an instance of Tag to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/User.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/User.java new file mode 100644 index 0000000000..1e7e4bec7d --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/model/User.java @@ -0,0 +1,499 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.openapitools.client.JSON; + +/** + * A User who is purchasing from the pet store + */ +@ApiModel(description = "A User who is purchasing from the pet store") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class User { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private Long id; + + public static final String SERIALIZED_NAME_USERNAME = "username"; + @SerializedName(SERIALIZED_NAME_USERNAME) + private String username; + + public static final String SERIALIZED_NAME_FIRST_NAME = "firstName"; + @SerializedName(SERIALIZED_NAME_FIRST_NAME) + private String firstName; + + public static final String SERIALIZED_NAME_LAST_NAME = "lastName"; + @SerializedName(SERIALIZED_NAME_LAST_NAME) + private String lastName; + + public static final String SERIALIZED_NAME_EMAIL = "email"; + @SerializedName(SERIALIZED_NAME_EMAIL) + private String email; + + public static final String SERIALIZED_NAME_PASSWORD = "password"; + @SerializedName(SERIALIZED_NAME_PASSWORD) + private String password; + + public static final String SERIALIZED_NAME_PHONE = "phone"; + @SerializedName(SERIALIZED_NAME_PHONE) + private String phone; + + public static final String SERIALIZED_NAME_USER_STATUS = "userStatus"; + @SerializedName(SERIALIZED_NAME_USER_STATUS) + private Integer userStatus; + + public User() { + } + + public User id(Long id) { + + this.id = id; + return this; + } + + /** + * Get id + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Long getId() { + return id; + } + + + public void setId(Long id) { + this.id = id; + } + + + public User username(String username) { + + this.username = username; + return this; + } + + /** + * Get username + * @return username + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getUsername() { + return username; + } + + + public void setUsername(String username) { + this.username = username; + } + + + public User firstName(String firstName) { + + this.firstName = firstName; + return this; + } + + /** + * Get firstName + * @return firstName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getFirstName() { + return firstName; + } + + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + + public User lastName(String lastName) { + + this.lastName = lastName; + return this; + } + + /** + * Get lastName + * @return lastName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getLastName() { + return lastName; + } + + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + + public User email(String email) { + + this.email = email; + return this; + } + + /** + * Get email + * @return email + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getEmail() { + return email; + } + + + public void setEmail(String email) { + this.email = email; + } + + + public User password(String password) { + + this.password = password; + return this; + } + + /** + * Get password + * @return password + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getPassword() { + return password; + } + + + public void setPassword(String password) { + this.password = password; + } + + + public User phone(String phone) { + + this.phone = phone; + return this; + } + + /** + * Get phone + * @return phone + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getPhone() { + return phone; + } + + + public void setPhone(String phone) { + this.phone = phone; + } + + + public User userStatus(Integer userStatus) { + + this.userStatus = userStatus; + return this; + } + + /** + * User Status + * @return userStatus + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "User Status") + + public Integer getUserStatus() { + return userStatus; + } + + + public void setUserStatus(Integer userStatus) { + this.userStatus = userStatus; + } + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. + * If the property does not already exist, create it otherwise replace it. + */ + public User putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + */ + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + User user = (User) o; + return Objects.equals(this.id, user.id) && + Objects.equals(this.username, user.username) && + Objects.equals(this.firstName, user.firstName) && + Objects.equals(this.lastName, user.lastName) && + Objects.equals(this.email, user.email) && + Objects.equals(this.password, user.password) && + Objects.equals(this.phone, user.phone) && + Objects.equals(this.userStatus, user.userStatus)&& + Objects.equals(this.additionalProperties, user.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(id, username, firstName, lastName, email, password, phone, userStatus, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class User {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" username: ").append(toIndentedString(username)).append("\n"); + sb.append(" firstName: ").append(toIndentedString(firstName)).append("\n"); + sb.append(" lastName: ").append(toIndentedString(lastName)).append("\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append(" password: ").append(toIndentedString(password)).append("\n"); + sb.append(" phone: ").append(toIndentedString(phone)).append("\n"); + sb.append(" userStatus: ").append(toIndentedString(userStatus)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("username"); + openapiFields.add("firstName"); + openapiFields.add("lastName"); + openapiFields.add("email"); + openapiFields.add("password"); + openapiFields.add("phone"); + openapiFields.add("userStatus"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Object and throws an exception if issues found + * + * @param jsonObj JSON Object + * @throws IOException if the JSON Object is invalid with respect to User + */ + public static void validateJsonObject(JsonObject jsonObj) throws IOException { + if (jsonObj == null) { + if (User.openapiRequiredFields.isEmpty()) { + return; + } else { // has required fields + throw new IllegalArgumentException(String.format("The required field(s) %s in User is not found in the empty JSON string", User.openapiRequiredFields.toString())); + } + } + if (jsonObj.get("username") != null && !jsonObj.get("username").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `username` to be a primitive type in the JSON string but got `%s`", jsonObj.get("username").toString())); + } + if (jsonObj.get("firstName") != null && !jsonObj.get("firstName").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `firstName` to be a primitive type in the JSON string but got `%s`", jsonObj.get("firstName").toString())); + } + if (jsonObj.get("lastName") != null && !jsonObj.get("lastName").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `lastName` to be a primitive type in the JSON string but got `%s`", jsonObj.get("lastName").toString())); + } + if (jsonObj.get("email") != null && !jsonObj.get("email").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `email` to be a primitive type in the JSON string but got `%s`", jsonObj.get("email").toString())); + } + if (jsonObj.get("password") != null && !jsonObj.get("password").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `password` to be a primitive type in the JSON string but got `%s`", jsonObj.get("password").toString())); + } + if (jsonObj.get("phone") != null && !jsonObj.get("phone").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `phone` to be a primitive type in the JSON string but got `%s`", jsonObj.get("phone").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!User.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'User' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(User.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, User value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + obj.remove("additionalProperties"); + // serialize additonal properties + if (value.getAdditionalProperties() != null) { + for (Map.Entry entry : value.getAdditionalProperties().entrySet()) { + if (entry.getValue() instanceof String) + obj.addProperty(entry.getKey(), (String) entry.getValue()); + else if (entry.getValue() instanceof Number) + obj.addProperty(entry.getKey(), (Number) entry.getValue()); + else if (entry.getValue() instanceof Boolean) + obj.addProperty(entry.getKey(), (Boolean) entry.getValue()); + else if (entry.getValue() instanceof Character) + obj.addProperty(entry.getKey(), (Character) entry.getValue()); + else { + obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject()); + } + } + } + elementAdapter.write(out, obj); + } + + @Override + public User read(JsonReader in) throws IOException { + JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); + validateJsonObject(jsonObj); + // store additional fields in the deserialized instance + User instance = thisAdapter.fromJsonTree(jsonObj); + for (Map.Entry entry : jsonObj.entrySet()) { + if (!openapiFields.contains(entry.getKey())) { + if (entry.getValue().isJsonPrimitive()) { // primitive type + if (entry.getValue().getAsJsonPrimitive().isString()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString()); + else if (entry.getValue().getAsJsonPrimitive().isNumber()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber()); + else if (entry.getValue().getAsJsonPrimitive().isBoolean()) + instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean()); + else + throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString())); + } else { // non-primitive type + instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class)); + } + } + } + return instance; + } + + }.nullSafe(); + } + } + + /** + * Create an instance of User given an JSON string + * + * @param jsonString JSON string + * @return An instance of User + * @throws IOException if the JSON string is invalid with respect to User + */ + public static User fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, User.class); + } + + /** + * Convert an instance of User to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/api/PetApiTest.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/api/PetApiTest.java new file mode 100644 index 0000000000..0aa0fcd8fd --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/api/PetApiTest.java @@ -0,0 +1,163 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.api; + +import org.openapitools.client.ApiException; +import java.io.File; +import org.openapitools.client.model.ModelApiResponse; +import org.openapitools.client.model.Pet; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * API tests for PetApi + */ +@Disabled +public class PetApiTest { + + private final PetApi api = new PetApi(); + + /** + * Add a new pet to the store + * + * + * + * @throws ApiException if the Api call fails + */ + @Test + public void addPetTest() throws ApiException { + Pet pet = null; + Pet response = api.addPet(pet) + .execute(); + // TODO: test validations + } + + /** + * Deletes a pet + * + * + * + * @throws ApiException if the Api call fails + */ + @Test + public void deletePetTest() throws ApiException { + Long petId = null; + String apiKey = null; + api.deletePet(petId) + .apiKey(apiKey) + .execute(); + // TODO: test validations + } + + /** + * Finds Pets by status + * + * Multiple status values can be provided with comma separated strings + * + * @throws ApiException if the Api call fails + */ + @Test + public void findPetsByStatusTest() throws ApiException { + List status = null; + List response = api.findPetsByStatus(status) + .execute(); + // TODO: test validations + } + + /** + * Finds Pets by tags + * + * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. + * + * @throws ApiException if the Api call fails + */ + @Test + public void findPetsByTagsTest() throws ApiException { + List tags = null; + List response = api.findPetsByTags(tags) + .execute(); + // TODO: test validations + } + + /** + * Find pet by ID + * + * Returns a single pet + * + * @throws ApiException if the Api call fails + */ + @Test + public void getPetByIdTest() throws ApiException { + Long petId = null; + Pet response = api.getPetById(petId) + .execute(); + // TODO: test validations + } + + /** + * Update an existing pet + * + * + * + * @throws ApiException if the Api call fails + */ + @Test + public void updatePetTest() throws ApiException { + Pet pet = null; + Pet response = api.updatePet(pet) + .execute(); + // TODO: test validations + } + + /** + * Updates a pet in the store with form data + * + * + * + * @throws ApiException if the Api call fails + */ + @Test + public void updatePetWithFormTest() throws ApiException { + Long petId = null; + String name = null; + String status = null; + api.updatePetWithForm(petId, name, status); + // TODO: test validations + } + + /** + * uploads an image + * + * + * + * @throws ApiException if the Api call fails + */ + @Test + public void uploadFileTest() throws ApiException { + Long petId = null; + String additionalMetadata = null; + File _file = null; + ModelApiResponse response = api.uploadFile(petId) + .additionalMetadata(additionalMetadata) + ._file(_file) + .execute(); + // TODO: test validations + } + +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/CategoryTest.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/CategoryTest.java new file mode 100644 index 0000000000..a7c58d0acb --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/CategoryTest.java @@ -0,0 +1,58 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for Category + */ +public class CategoryTest { + private final Category model = new Category(); + + /** + * Model tests for Category + */ + @Test + public void testCategory() { + // TODO: test Category + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/ModelApiResponseTest.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/ModelApiResponseTest.java new file mode 100644 index 0000000000..ed1673bdc7 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/ModelApiResponseTest.java @@ -0,0 +1,66 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for ModelApiResponse + */ +public class ModelApiResponseTest { + private final ModelApiResponse model = new ModelApiResponse(); + + /** + * Model tests for ModelApiResponse + */ + @Test + public void testModelApiResponse() { + // TODO: test ModelApiResponse + } + + /** + * Test the property 'code' + */ + @Test + public void codeTest() { + // TODO: test code + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'message' + */ + @Test + public void messageTest() { + // TODO: test message + } + +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/OrderTest.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/OrderTest.java new file mode 100644 index 0000000000..1b27fe89a4 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/OrderTest.java @@ -0,0 +1,91 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for Order + */ +public class OrderTest { + private final Order model = new Order(); + + /** + * Model tests for Order + */ + @Test + public void testOrder() { + // TODO: test Order + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'petId' + */ + @Test + public void petIdTest() { + // TODO: test petId + } + + /** + * Test the property 'quantity' + */ + @Test + public void quantityTest() { + // TODO: test quantity + } + + /** + * Test the property 'shipDate' + */ + @Test + public void shipDateTest() { + // TODO: test shipDate + } + + /** + * Test the property 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + + /** + * Test the property 'complete' + */ + @Test + public void completeTest() { + // TODO: test complete + } + +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/PetTest.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/PetTest.java new file mode 100644 index 0000000000..99c3d89110 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/PetTest.java @@ -0,0 +1,94 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.openapitools.client.model.Category; +import org.openapitools.client.model.Tag; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for Pet + */ +public class PetTest { + private final Pet model = new Pet(); + + /** + * Model tests for Pet + */ + @Test + public void testPet() { + // TODO: test Pet + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'category' + */ + @Test + public void categoryTest() { + // TODO: test category + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'photoUrls' + */ + @Test + public void photoUrlsTest() { + // TODO: test photoUrls + } + + /** + * Test the property 'tags' + */ + @Test + public void tagsTest() { + // TODO: test tags + } + + /** + * Test the property 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/TagTest.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/TagTest.java new file mode 100644 index 0000000000..49228a52bb --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/TagTest.java @@ -0,0 +1,58 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for Tag + */ +public class TagTest { + private final Tag model = new Tag(); + + /** + * Model tests for Tag + */ + @Test + public void testTag() { + // TODO: test Tag + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + +} diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/UserTest.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/UserTest.java new file mode 100644 index 0000000000..851b9cc57a --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/test/java/org/openapitools/client/model/UserTest.java @@ -0,0 +1,106 @@ +/* + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for User + */ +public class UserTest { + private final User model = new User(); + + /** + * Model tests for User + */ + @Test + public void testUser() { + // TODO: test User + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'username' + */ + @Test + public void usernameTest() { + // TODO: test username + } + + /** + * Test the property 'firstName' + */ + @Test + public void firstNameTest() { + // TODO: test firstName + } + + /** + * Test the property 'lastName' + */ + @Test + public void lastNameTest() { + // TODO: test lastName + } + + /** + * Test the property 'email' + */ + @Test + public void emailTest() { + // TODO: test email + } + + /** + * Test the property 'password' + */ + @Test + public void passwordTest() { + // TODO: test password + } + + /** + * Test the property 'phone' + */ + @Test + public void phoneTest() { + // TODO: test phone + } + + /** + * Test the property 'userStatus' + */ + @Test + public void userStatusTest() { + // TODO: test userStatus + } + +} From cdc2d926090d1c4bdd21c7fbf648fed540e49cfd Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 12 Jun 2022 22:36:10 +0800 Subject: [PATCH 070/212] [Java] fix bugs when property name, datatype are the same (#12581) * fix bugs when property name, datatype are the same * add null check * add Locale.ROOT --- .../openapitools/codegen/languages/AbstractJavaCodegen.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java index 87cb92356d..357bc078f4 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java @@ -1330,6 +1330,11 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code if (property.isReadOnly) { model.getVendorExtensions().put("x-has-readonly-properties", true); } + + // if data type happens to be the same as the property name and both are upper case + if (property.dataType != null && property.dataType.equals(property.name) && property.dataType.toUpperCase(Locale.ROOT).equals(property.name)) { + property.name = property.name.toLowerCase(Locale.ROOT); + } } @Override From a7db213c2d948cf8b47c9812d2427c0bb8e4c223 Mon Sep 17 00:00:00 2001 From: cachescrubber <5127753+cachescrubber@users.noreply.github.com> Date: Mon, 13 Jun 2022 08:48:26 +0200 Subject: [PATCH 071/212] Upgrade virtualan-plugin to 2.5.1 (#12429) * Upgrade virtualan-plugin to 2.5.1 * Generate samples * Upgrade virtualan sample to springdoc * Generate Samples * Add samples/server/petstore/springboot-virtualan to ci run * Upgrade virtualan-plugin to 2.5.2 * Generate samples * Add virtualan.version to spring-boot-3 pom.xml, upgrade to 2.5.2 --- .github/workflows/samples-spring.yaml | 1 + bin/configs/spring-boot-virtualan.yaml | 2 +- .../libraries/spring-boot/pom-sb3.mustache | 6 +- .../libraries/spring-boot/pom.mustache | 6 +- .../.openapi-generator/FILES | 3 +- .../petstore/springboot-virtualan/README.md | 14 +- .../petstore/springboot-virtualan/pom.xml | 25 +- .../configuration/HomeController.java | 8 - .../configuration/SpringDocConfiguration.java | 52 +++ .../configuration/SpringFoxConfiguration.java | 71 ---- .../virtualan/api/AnotherFakeApi.java | 29 +- .../openapitools/virtualan/api/FakeApi.java | 330 +++++++++--------- .../virtualan/api/FakeClassnameTestApi.java | 35 +- .../openapitools/virtualan/api/PetApi.java | 243 ++++++------- .../openapitools/virtualan/api/StoreApi.java | 95 ++--- .../openapitools/virtualan/api/UserApi.java | 151 ++++---- .../model/AdditionalPropertiesAnyType.java | 5 +- .../model/AdditionalPropertiesArray.java | 5 +- .../model/AdditionalPropertiesBoolean.java | 5 +- .../model/AdditionalPropertiesClass.java | 25 +- .../model/AdditionalPropertiesInteger.java | 5 +- .../model/AdditionalPropertiesNumber.java | 5 +- .../model/AdditionalPropertiesObject.java | 5 +- .../model/AdditionalPropertiesString.java | 5 +- .../openapitools/virtualan/model/Animal.java | 7 +- .../model/ArrayOfArrayOfNumberOnly.java | 5 +- .../virtualan/model/ArrayOfNumberOnly.java | 5 +- .../virtualan/model/ArrayTest.java | 9 +- .../openapitools/virtualan/model/BigCat.java | 5 +- .../virtualan/model/BigCatAllOf.java | 5 +- .../virtualan/model/Capitalization.java | 15 +- .../org/openapitools/virtualan/model/Cat.java | 5 +- .../virtualan/model/CatAllOf.java | 5 +- .../virtualan/model/Category.java | 7 +- .../virtualan/model/ClassModel.java | 7 +- .../openapitools/virtualan/model/Client.java | 5 +- .../org/openapitools/virtualan/model/Dog.java | 5 +- .../virtualan/model/DogAllOf.java | 5 +- .../virtualan/model/EnumArrays.java | 7 +- .../virtualan/model/EnumClass.java | 1 + .../virtualan/model/EnumTest.java | 13 +- .../openapitools/virtualan/model/File.java | 7 +- .../virtualan/model/FileSchemaTestClass.java | 7 +- .../virtualan/model/FormatTest.java | 31 +- .../virtualan/model/HasOnlyReadOnly.java | 7 +- .../openapitools/virtualan/model/MapTest.java | 11 +- ...ropertiesAndAdditionalPropertiesClass.java | 9 +- .../virtualan/model/Model200Response.java | 9 +- .../virtualan/model/ModelApiResponse.java | 9 +- .../virtualan/model/ModelFile.java | 85 ----- .../virtualan/model/ModelList.java | 5 +- .../virtualan/model/ModelReturn.java | 7 +- .../openapitools/virtualan/model/Name.java | 13 +- .../virtualan/model/NumberOnly.java | 5 +- .../openapitools/virtualan/model/Order.java | 15 +- .../virtualan/model/OuterComposite.java | 9 +- .../virtualan/model/OuterEnum.java | 1 + .../org/openapitools/virtualan/model/Pet.java | 15 +- .../virtualan/model/ReadOnlyFirst.java | 7 +- .../virtualan/model/SpecialModelName.java | 5 +- .../org/openapitools/virtualan/model/Tag.java | 7 +- .../virtualan/model/TypeHolderDefault.java | 13 +- .../virtualan/model/TypeHolderExample.java | 15 +- .../openapitools/virtualan/model/User.java | 19 +- .../openapitools/virtualan/model/XmlItem.java | 61 ++-- .../src/main/resources/static/swagger-ui.html | 60 ---- 66 files changed, 721 insertions(+), 953 deletions(-) create mode 100644 samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/configuration/SpringDocConfiguration.java delete mode 100644 samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java delete mode 100644 samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ModelFile.java delete mode 100644 samples/server/petstore/springboot-virtualan/src/main/resources/static/swagger-ui.html diff --git a/.github/workflows/samples-spring.yaml b/.github/workflows/samples-spring.yaml index 78b4dc8f57..790ae2416b 100644 --- a/.github/workflows/samples-spring.yaml +++ b/.github/workflows/samples-spring.yaml @@ -41,6 +41,7 @@ jobs: - samples/server/petstore/spring-boot-nullable-set - samples/server/petstore/spring-boot-defaultInterface-unhandledException - samples/openapi3/server/petstore/spring-boot-oneof + - samples/server/petstore/springboot-virtualan - samples/openapi3/server/petstore/springboot-3 steps: - uses: actions/checkout@v3 diff --git a/bin/configs/spring-boot-virtualan.yaml b/bin/configs/spring-boot-virtualan.yaml index c67ecf980e..f1ae90fa85 100644 --- a/bin/configs/spring-boot-virtualan.yaml +++ b/bin/configs/spring-boot-virtualan.yaml @@ -4,7 +4,7 @@ library: spring-boot inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml templateDir: modules/openapi-generator/src/main/resources/JavaSpring additionalProperties: - documentationProvider: springfox + documentationProvider: springdoc apiPackage: org.openapitools.virtualan.api modelPackage: org.openapitools.virtualan.model virtualService: true diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom-sb3.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom-sb3.mustache index 8e58bafee4..75dd47e9fd 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom-sb3.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom-sb3.mustache @@ -21,6 +21,9 @@ {{#useSwaggerUI}} 4.8.1 {{/useSwaggerUI}} + {{#virtualService}} + 2.5.2 + {{/virtualService}} {{#parentOverridden}} @@ -198,13 +201,12 @@ io.virtualan virtualan-plugin - 2.2.1 + ${virtualan.version} org.hsqldb hsqldb - 2.5.0 {{/virtualService}} diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom.mustache index 053edf0ddc..64c1874d46 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-boot/pom.mustache @@ -26,6 +26,9 @@ {{/swagger2AnnotationLibrary}} {{/springDocDocumentationProvider}} {{/springFoxDocumentationProvider}} + {{#virtualService}} + 2.5.2 + {{/virtualService}} {{#useSwaggerUI}} 4.10.3 {{/useSwaggerUI}} @@ -208,13 +211,12 @@ io.virtualan virtualan-plugin - 2.2.1 + ${virtualan.version} org.hsqldb hsqldb - 2.5.0 {{/virtualService}} diff --git a/samples/server/petstore/springboot-virtualan/.openapi-generator/FILES b/samples/server/petstore/springboot-virtualan/.openapi-generator/FILES index b0c2d3753d..242b525847 100644 --- a/samples/server/petstore/springboot-virtualan/.openapi-generator/FILES +++ b/samples/server/petstore/springboot-virtualan/.openapi-generator/FILES @@ -3,7 +3,7 @@ pom.xml src/main/java/org/openapitools/OpenApiGeneratorApplication.java src/main/java/org/openapitools/RFC3339DateFormat.java src/main/java/org/openapitools/configuration/HomeController.java -src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java +src/main/java/org/openapitools/configuration/SpringDocConfiguration.java src/main/java/org/openapitools/virtualan/api/AnotherFakeApi.java src/main/java/org/openapitools/virtualan/api/AnotherFakeApiController.java src/main/java/org/openapitools/virtualan/api/ApiUtil.java @@ -67,5 +67,4 @@ src/main/java/org/openapitools/virtualan/model/User.java src/main/java/org/openapitools/virtualan/model/XmlItem.java src/main/resources/application.properties src/main/resources/openapi.yaml -src/main/resources/static/swagger-ui.html src/test/java/org/openapitools/OpenApiGeneratorApplicationTests.java diff --git a/samples/server/petstore/springboot-virtualan/README.md b/samples/server/petstore/springboot-virtualan/README.md index c32bb08d6e..876d784cc9 100644 --- a/samples/server/petstore/springboot-virtualan/README.md +++ b/samples/server/petstore/springboot-virtualan/README.md @@ -7,17 +7,11 @@ This server was generated by the [OpenAPI Generator](https://openapi-generator.t By using the [OpenAPI-Spec](https://openapis.org), you can easily generate a server stub. This is an example of building a OpenAPI-enabled server in Java using the SpringBoot framework. -The underlying library integrating OpenAPI to Spring Boot is [springfox](https://github.com/springfox/springfox). -Springfox will generate an OpenAPI v2 (fka Swagger RESTful API Documentation Specification) specification based on the -generated Controller and Model classes. The specification is available to download using the following url: -http://localhost:80/v2/api-docs/ - -**HEADS-UP**: Springfox is deprecated for removal in version 6.0.0 of openapi-generator. The project seems to be no longer -maintained (last commit is of Oct 14, 2020). It works with Spring Boot 2.5.x but not with 2.6. Spring Boot 2.5 is -supported until 2022-05-19. Users of openapi-generator should migrate to the springdoc documentation provider which is, -as an added bonus, OpenAPI v3 compatible. - +The underlying library integrating OpenAPI to Spring Boot is [springdoc](https://springdoc.org). +Springdoc will generate an OpenAPI v3 specification based on the generated Controller and Model classes. +The specification is available to download using the following url: +http://localhost:80/v3/api-docs/ Start your server as a simple java application diff --git a/samples/server/petstore/springboot-virtualan/pom.xml b/samples/server/petstore/springboot-virtualan/pom.xml index 04a0fc2443..bf2ad821c9 100644 --- a/samples/server/petstore/springboot-virtualan/pom.xml +++ b/samples/server/petstore/springboot-virtualan/pom.xml @@ -10,13 +10,14 @@ ${java.version} ${java.version} UTF-8 - 2.9.2 + 1.6.8 + 2.5.2 4.10.3 org.springframework.boot spring-boot-starter-parent - 2.5.14 + 2.7.0 @@ -37,20 +38,11 @@ org.springframework.data spring-data-commons
- + - io.springfox - springfox-swagger2 - ${springfox.version} - - - org.webjars - swagger-ui - ${swagger-ui.version} - - - org.webjars - webjars-locator-core + org.springdoc + springdoc-openapi-ui + ${springdoc.version} @@ -80,13 +72,12 @@ io.virtualan virtualan-plugin - 2.2.1 + ${virtualan.version} org.hsqldb hsqldb - 2.5.0 diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/configuration/HomeController.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/configuration/HomeController.java index e390f86f5b..9aa29284ab 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/configuration/HomeController.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/configuration/HomeController.java @@ -12,14 +12,6 @@ import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { - static final String API_DOCS_PATH = "/v2/api-docs"; - - @GetMapping(value = "/swagger-config.yaml", produces = "text/plain") - @ResponseBody - public String swaggerConfig() { - return "url: " + API_DOCS_PATH + "\n"; - } - @RequestMapping("/") public String index() { return "redirect:swagger-ui.html"; diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/configuration/SpringDocConfiguration.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/configuration/SpringDocConfiguration.java new file mode 100644 index 0000000000..14b0b607ea --- /dev/null +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/configuration/SpringDocConfiguration.java @@ -0,0 +1,52 @@ +package org.openapitools.configuration; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Info; +import io.swagger.v3.oas.models.info.Contact; +import io.swagger.v3.oas.models.info.License; +import io.swagger.v3.oas.models.Components; +import io.swagger.v3.oas.models.security.SecurityScheme; + +@Configuration +public class SpringDocConfiguration { + + @Bean + OpenAPI apiInfo() { + return new OpenAPI() + .info( + new Info() + .title("OpenAPI Petstore") + .description("This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\") + .license( + new License() + .name("Apache-2.0") + .url("https://www.apache.org/licenses/LICENSE-2.0.html") + ) + .version("1.0.0") + ) + .components( + new Components() + .addSecuritySchemes("api_key", new SecurityScheme() + .type(SecurityScheme.Type.APIKEY) + .in(SecurityScheme.In.HEADER) + .name("api_key") + ) + .addSecuritySchemes("api_key_query", new SecurityScheme() + .type(SecurityScheme.Type.APIKEY) + .in(SecurityScheme.In.QUERY) + .name("api_key_query") + ) + .addSecuritySchemes("http_basic_test", new SecurityScheme() + .type(SecurityScheme.Type.HTTP) + .scheme("basic") + ) + .addSecuritySchemes("petstore_auth", new SecurityScheme() + .type(SecurityScheme.Type.OAUTH2) + ) + ) + ; + } +} \ No newline at end of file diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java deleted file mode 100644 index 7fd7bc22fd..0000000000 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.openapitools.configuration; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import org.springframework.web.util.UriComponentsBuilder; -import springfox.documentation.builders.ApiInfoBuilder; -import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.service.ApiInfo; -import springfox.documentation.service.Contact; -import springfox.documentation.spi.DocumentationType; -import springfox.documentation.spring.web.paths.Paths; -import springfox.documentation.spring.web.paths.RelativePathProvider; -import springfox.documentation.spring.web.plugins.Docket; -import springfox.documentation.swagger2.annotations.EnableSwagger2; - -import javax.annotation.Generated; -import javax.servlet.ServletContext; - -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -@Configuration -@EnableSwagger2 -public class SpringFoxConfiguration { - - ApiInfo apiInfo() { - return new ApiInfoBuilder() - .title("OpenAPI Petstore") - .description("This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\") - .license("Apache-2.0") - .licenseUrl("https://www.apache.org/licenses/LICENSE-2.0.html") - .termsOfServiceUrl("") - .version("1.0.0") - .contact(new Contact("","", "")) - .build(); - } - - @Bean - public Docket customImplementation(ServletContext servletContext, @Value("${openapi.openAPIPetstore.base-path:/v2}") String basePath) { - return new Docket(DocumentationType.SWAGGER_2) - .select() - .apis(RequestHandlerSelectors.basePackage("org.openapitools.virtualan.api")) - .build() - .pathProvider(new BasePathAwareRelativePathProvider(servletContext, basePath)) - .directModelSubstitute(java.time.LocalDate.class, java.sql.Date.class) - .directModelSubstitute(java.time.OffsetDateTime.class, java.util.Date.class) - .apiInfo(apiInfo()); - } - - class BasePathAwareRelativePathProvider extends RelativePathProvider { - private String basePath; - - public BasePathAwareRelativePathProvider(ServletContext servletContext, String basePath) { - super(servletContext); - this.basePath = basePath; - } - - @Override - protected String applicationPath() { - return Paths.removeAdjacentForwardSlashes(UriComponentsBuilder.fromPath(super.applicationPath()).path(basePath).build().toString()); - } - - @Override - public String getOperationPath(String operationPath) { - UriComponentsBuilder uriComponentsBuilder = UriComponentsBuilder.fromPath("/"); - return Paths.removeAdjacentForwardSlashes( - uriComponentsBuilder.path(operationPath.replaceFirst("^" + basePath, "")).build().toString()); - } - } - -} diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/AnotherFakeApi.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/AnotherFakeApi.java index 9b87830f95..1be0c3368f 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/AnotherFakeApi.java @@ -6,7 +6,14 @@ package org.openapitools.virtualan.api; import org.openapitools.virtualan.model.Client; -import io.swagger.annotations.*; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import io.swagger.v3.oas.annotations.tags.Tag; import io.virtualan.annotation.ApiVirtual; import io.virtualan.annotation.VirtualService; import org.springframework.http.HttpStatus; @@ -26,7 +33,7 @@ import javax.annotation.Generated; @Generated(value = "org.openapitools.codegen.languages.SpringCodegen") @Validated -@Api(value = "another-fake", description = "the another-fake API") +@Tag(name = "another-fake", description = "the another-fake API") @VirtualService public interface AnotherFakeApi { @@ -42,16 +49,16 @@ public interface AnotherFakeApi { * @return successful operation (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "call123testSpecialTags", + summary = "To test special tags", tags = { "$another-fake?" }, - value = "To test special tags", - nickname = "call123testSpecialTags", - notes = "To test special tags and operation ID starting with number", - response = Client.class + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/json", schema = @Schema(implementation = Client.class)) + }) + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Client.class) - }) @RequestMapping( method = RequestMethod.PATCH, value = "/another-fake/dummy", @@ -59,7 +66,7 @@ public interface AnotherFakeApi { consumes = { "application/json" } ) default ResponseEntity call123testSpecialTags( - @ApiParam(value = "client model", required = true) @Valid @RequestBody Client body + @Parameter(name = "body", description = "client model", required = true) @Valid @RequestBody Client body ) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeApi.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeApi.java index 136741d4a5..61c967c111 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeApi.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeApi.java @@ -16,7 +16,14 @@ import java.time.OffsetDateTime; import org.openapitools.virtualan.model.OuterComposite; import org.openapitools.virtualan.model.User; import org.openapitools.virtualan.model.XmlItem; -import io.swagger.annotations.*; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import io.swagger.v3.oas.annotations.tags.Tag; import io.virtualan.annotation.ApiVirtual; import io.virtualan.annotation.VirtualService; import org.springframework.http.HttpStatus; @@ -36,7 +43,7 @@ import javax.annotation.Generated; @Generated(value = "org.openapitools.codegen.languages.SpringCodegen") @Validated -@Api(value = "fake", description = "the fake API") +@Tag(name = "fake", description = "the fake API") @VirtualService public interface FakeApi { @@ -52,22 +59,21 @@ public interface FakeApi { * @return successful operation (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "createXmlItem", + summary = "creates an XmlItem", tags = { "fake" }, - value = "creates an XmlItem", - nickname = "createXmlItem", - notes = "this route creates an XmlItem" + responses = { + @ApiResponse(responseCode = "200", description = "successful operation") + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation") - }) @RequestMapping( method = RequestMethod.POST, value = "/fake/create_xml_item", consumes = { "application/xml", "application/xml; charset=utf-8", "application/xml; charset=utf-16", "text/xml", "text/xml; charset=utf-8", "text/xml; charset=utf-16" } ) default ResponseEntity createXmlItem( - @ApiParam(value = "XmlItem Body", required = true) @Valid @RequestBody XmlItem xmlItem + @Parameter(name = "XmlItem", description = "XmlItem Body", required = true) @Valid @RequestBody XmlItem xmlItem ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -82,23 +88,22 @@ public interface FakeApi { * @return Output boolean (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "fakeOuterBooleanSerialize", tags = { "fake" }, - value = "", - nickname = "fakeOuterBooleanSerialize", - notes = "Test serialization of outer boolean types", - response = Boolean.class + responses = { + @ApiResponse(responseCode = "200", description = "Output boolean", content = { + @Content(mediaType = "*/*", schema = @Schema(implementation = Boolean.class)) + }) + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "Output boolean", response = Boolean.class) - }) @RequestMapping( method = RequestMethod.POST, value = "/fake/outer/boolean", produces = { "*/*" } ) default ResponseEntity fakeOuterBooleanSerialize( - @ApiParam(value = "Input boolean as post body") @Valid @RequestBody(required = false) Boolean body + @Parameter(name = "body", description = "Input boolean as post body") @Valid @RequestBody(required = false) Boolean body ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -113,23 +118,22 @@ public interface FakeApi { * @return Output composite (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "fakeOuterCompositeSerialize", tags = { "fake" }, - value = "", - nickname = "fakeOuterCompositeSerialize", - notes = "Test serialization of object with outer number type", - response = OuterComposite.class + responses = { + @ApiResponse(responseCode = "200", description = "Output composite", content = { + @Content(mediaType = "*/*", schema = @Schema(implementation = OuterComposite.class)) + }) + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "Output composite", response = OuterComposite.class) - }) @RequestMapping( method = RequestMethod.POST, value = "/fake/outer/composite", produces = { "*/*" } ) default ResponseEntity fakeOuterCompositeSerialize( - @ApiParam(value = "Input composite as post body") @Valid @RequestBody(required = false) OuterComposite body + @Parameter(name = "body", description = "Input composite as post body") @Valid @RequestBody(required = false) OuterComposite body ) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { @@ -153,23 +157,22 @@ public interface FakeApi { * @return Output number (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "fakeOuterNumberSerialize", tags = { "fake" }, - value = "", - nickname = "fakeOuterNumberSerialize", - notes = "Test serialization of outer number types", - response = BigDecimal.class + responses = { + @ApiResponse(responseCode = "200", description = "Output number", content = { + @Content(mediaType = "*/*", schema = @Schema(implementation = BigDecimal.class)) + }) + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "Output number", response = BigDecimal.class) - }) @RequestMapping( method = RequestMethod.POST, value = "/fake/outer/number", produces = { "*/*" } ) default ResponseEntity fakeOuterNumberSerialize( - @ApiParam(value = "Input number as post body") @Valid @RequestBody(required = false) BigDecimal body + @Parameter(name = "body", description = "Input number as post body") @Valid @RequestBody(required = false) BigDecimal body ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -184,23 +187,22 @@ public interface FakeApi { * @return Output string (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "fakeOuterStringSerialize", tags = { "fake" }, - value = "", - nickname = "fakeOuterStringSerialize", - notes = "Test serialization of outer string types", - response = String.class + responses = { + @ApiResponse(responseCode = "200", description = "Output string", content = { + @Content(mediaType = "*/*", schema = @Schema(implementation = String.class)) + }) + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "Output string", response = String.class) - }) @RequestMapping( method = RequestMethod.POST, value = "/fake/outer/string", produces = { "*/*" } ) default ResponseEntity fakeOuterStringSerialize( - @ApiParam(value = "Input string as post body") @Valid @RequestBody(required = false) String body + @Parameter(name = "body", description = "Input string as post body") @Valid @RequestBody(required = false) String body ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -215,22 +217,20 @@ public interface FakeApi { * @return Success (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "testBodyWithFileSchema", tags = { "fake" }, - value = "", - nickname = "testBodyWithFileSchema", - notes = "For this test, the body for this request much reference a schema named `File`." + responses = { + @ApiResponse(responseCode = "200", description = "Success") + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "Success") - }) @RequestMapping( method = RequestMethod.PUT, value = "/fake/body-with-file-schema", consumes = { "application/json" } ) default ResponseEntity testBodyWithFileSchema( - @ApiParam(value = "", required = true) @Valid @RequestBody FileSchemaTestClass body + @Parameter(name = "body", description = "", required = true) @Valid @RequestBody FileSchemaTestClass body ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -245,23 +245,21 @@ public interface FakeApi { * @return Success (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "testBodyWithQueryParams", tags = { "fake" }, - value = "", - nickname = "testBodyWithQueryParams", - notes = "" + responses = { + @ApiResponse(responseCode = "200", description = "Success") + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "Success") - }) @RequestMapping( method = RequestMethod.PUT, value = "/fake/body-with-query-params", consumes = { "application/json" } ) default ResponseEntity testBodyWithQueryParams( - @NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query, - @ApiParam(value = "", required = true) @Valid @RequestBody User body + @NotNull @Parameter(name = "query", description = "", required = true) @Valid @RequestParam(value = "query", required = true) String query, + @Parameter(name = "body", description = "", required = true) @Valid @RequestBody User body ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -276,16 +274,16 @@ public interface FakeApi { * @return successful operation (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "testClientModel", + summary = "To test \"client\" model", tags = { "fake" }, - value = "To test \"client\" model", - nickname = "testClientModel", - notes = "To test \"client\" model", - response = Client.class + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/json", schema = @Schema(implementation = Client.class)) + }) + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Client.class) - }) @RequestMapping( method = RequestMethod.PATCH, value = "/fake", @@ -293,7 +291,7 @@ public interface FakeApi { consumes = { "application/json" } ) default ResponseEntity testClientModel( - @ApiParam(value = "client model", required = true) @Valid @RequestBody Client body + @Parameter(name = "body", description = "client model", required = true) @Valid @RequestBody Client body ) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { @@ -331,39 +329,38 @@ public interface FakeApi { * or User not found (status code 404) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "testEndpointParameters", + summary = "Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트", tags = { "fake" }, - value = "Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트", - nickname = "testEndpointParameters", - notes = "Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트", - authorizations = { - @Authorization(value = "http_basic_test") - } + responses = { + @ApiResponse(responseCode = "400", description = "Invalid username supplied"), + @ApiResponse(responseCode = "404", description = "User not found") + }, + security = { + @SecurityRequirement(name = "http_basic_test") + } ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid username supplied"), - @ApiResponse(code = 404, message = "User not found") - }) @RequestMapping( method = RequestMethod.POST, value = "/fake", consumes = { "application/x-www-form-urlencoded" } ) default ResponseEntity testEndpointParameters( - @ApiParam(value = "None", required = true) @Valid @RequestParam(value = "number", required = true) BigDecimal number, - @ApiParam(value = "None", required = true) @Valid @RequestParam(value = "double", required = true) Double _double, - @ApiParam(value = "None", required = true) @Valid @RequestParam(value = "pattern_without_delimiter", required = true) String patternWithoutDelimiter, - @ApiParam(value = "None", required = true) @Valid @RequestParam(value = "byte", required = true) byte[] _byte, - @ApiParam(value = "None") @Valid @RequestParam(value = "integer", required = false) Integer integer, - @ApiParam(value = "None") @Valid @RequestParam(value = "int32", required = false) Integer int32, - @ApiParam(value = "None") @Valid @RequestParam(value = "int64", required = false) Long int64, - @ApiParam(value = "None") @Valid @RequestParam(value = "float", required = false) Float _float, - @ApiParam(value = "None") @Valid @RequestParam(value = "string", required = false) String string, - @ApiParam(value = "None") @RequestPart(value = "binary", required = false) MultipartFile binary, - @ApiParam(value = "None") @Valid @RequestParam(value = "date", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate date, - @ApiParam(value = "None") @Valid @RequestParam(value = "dateTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) OffsetDateTime dateTime, - @ApiParam(value = "None") @Valid @RequestParam(value = "password", required = false) String password, - @ApiParam(value = "None") @Valid @RequestParam(value = "callback", required = false) String paramCallback + @Parameter(name = "number", description = "None", required = true) @Valid @RequestParam(value = "number", required = true) BigDecimal number, + @Parameter(name = "double", description = "None", required = true) @Valid @RequestParam(value = "double", required = true) Double _double, + @Parameter(name = "pattern_without_delimiter", description = "None", required = true) @Valid @RequestParam(value = "pattern_without_delimiter", required = true) String patternWithoutDelimiter, + @Parameter(name = "byte", description = "None", required = true) @Valid @RequestParam(value = "byte", required = true) byte[] _byte, + @Parameter(name = "integer", description = "None") @Valid @RequestParam(value = "integer", required = false) Integer integer, + @Parameter(name = "int32", description = "None") @Valid @RequestParam(value = "int32", required = false) Integer int32, + @Parameter(name = "int64", description = "None") @Valid @RequestParam(value = "int64", required = false) Long int64, + @Parameter(name = "float", description = "None") @Valid @RequestParam(value = "float", required = false) Float _float, + @Parameter(name = "string", description = "None") @Valid @RequestParam(value = "string", required = false) String string, + @Parameter(name = "binary", description = "None") @RequestPart(value = "binary", required = false) MultipartFile binary, + @Parameter(name = "date", description = "None") @Valid @RequestParam(value = "date", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate date, + @Parameter(name = "dateTime", description = "None") @Valid @RequestParam(value = "dateTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) OffsetDateTime dateTime, + @Parameter(name = "password", description = "None") @Valid @RequestParam(value = "password", required = false) String password, + @Parameter(name = "callback", description = "None") @Valid @RequestParam(value = "callback", required = false) String paramCallback ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -386,30 +383,29 @@ public interface FakeApi { * or Not found (status code 404) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "testEnumParameters", + summary = "To test enum parameters", tags = { "fake" }, - value = "To test enum parameters", - nickname = "testEnumParameters", - notes = "To test enum parameters" + responses = { + @ApiResponse(responseCode = "400", description = "Invalid request"), + @ApiResponse(responseCode = "404", description = "Not found") + } ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid request"), - @ApiResponse(code = 404, message = "Not found") - }) @RequestMapping( method = RequestMethod.GET, value = "/fake", consumes = { "application/x-www-form-urlencoded" } ) default ResponseEntity testEnumParameters( - @ApiParam(value = "Header parameter enum test (string array)", allowableValues = ">, $") @RequestHeader(value = "enum_header_string_array", required = false) List enumHeaderStringArray, - @ApiParam(value = "Header parameter enum test (string)", allowableValues = "_abc, -efg, (xyz)", defaultValue = "-efg") @RequestHeader(value = "enum_header_string", required = false, defaultValue = "-efg") String enumHeaderString, - @ApiParam(value = "Query parameter enum test (string array)", allowableValues = ">, $") @Valid @RequestParam(value = "enum_query_string_array", required = false) List enumQueryStringArray, - @ApiParam(value = "Query parameter enum test (string)", allowableValues = "_abc, -efg, (xyz)", defaultValue = "-efg") @Valid @RequestParam(value = "enum_query_string", required = false, defaultValue = "-efg") String enumQueryString, - @ApiParam(value = "Query parameter enum test (double)", allowableValues = "1, -2") @Valid @RequestParam(value = "enum_query_integer", required = false) Integer enumQueryInteger, - @ApiParam(value = "Query parameter enum test (double)", allowableValues = "1.1, -1.2") @Valid @RequestParam(value = "enum_query_double", required = false) Double enumQueryDouble, - @ApiParam(value = "Form parameter enum test (string array)", allowableValues = ">, $", defaultValue = "$") @Valid @RequestParam(value = "enum_form_string_array", required = false) List enumFormStringArray, - @ApiParam(value = "Form parameter enum test (string)", allowableValues = "_abc, -efg, (xyz)", defaultValue = "-efg") @Valid @RequestParam(value = "enum_form_string", required = false) String enumFormString + @Parameter(name = "enum_header_string_array", description = "Header parameter enum test (string array)") @RequestHeader(value = "enum_header_string_array", required = false) List enumHeaderStringArray, + @Parameter(name = "enum_header_string", description = "Header parameter enum test (string)") @RequestHeader(value = "enum_header_string", required = false, defaultValue = "-efg") String enumHeaderString, + @Parameter(name = "enum_query_string_array", description = "Query parameter enum test (string array)") @Valid @RequestParam(value = "enum_query_string_array", required = false) List enumQueryStringArray, + @Parameter(name = "enum_query_string", description = "Query parameter enum test (string)") @Valid @RequestParam(value = "enum_query_string", required = false, defaultValue = "-efg") String enumQueryString, + @Parameter(name = "enum_query_integer", description = "Query parameter enum test (double)") @Valid @RequestParam(value = "enum_query_integer", required = false) Integer enumQueryInteger, + @Parameter(name = "enum_query_double", description = "Query parameter enum test (double)") @Valid @RequestParam(value = "enum_query_double", required = false) Double enumQueryDouble, + @Parameter(name = "enum_form_string_array", description = "Form parameter enum test (string array)") @Valid @RequestParam(value = "enum_form_string_array", required = false) List enumFormStringArray, + @Parameter(name = "enum_form_string", description = "Form parameter enum test (string)") @Valid @RequestParam(value = "enum_form_string", required = false) String enumFormString ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -429,26 +425,25 @@ public interface FakeApi { * @return Someting wrong (status code 400) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "testGroupParameters", + summary = "Fake endpoint to test group parameters (optional)", tags = { "fake" }, - value = "Fake endpoint to test group parameters (optional)", - nickname = "testGroupParameters", - notes = "Fake endpoint to test group parameters (optional)" + responses = { + @ApiResponse(responseCode = "400", description = "Someting wrong") + } ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Someting wrong") - }) @RequestMapping( method = RequestMethod.DELETE, value = "/fake" ) default ResponseEntity testGroupParameters( - @NotNull @ApiParam(value = "Required String in group parameters", required = true) @Valid @RequestParam(value = "required_string_group", required = true) Integer requiredStringGroup, - @ApiParam(value = "Required Boolean in group parameters", required = true) @RequestHeader(value = "required_boolean_group", required = true) Boolean requiredBooleanGroup, - @NotNull @ApiParam(value = "Required Integer in group parameters", required = true) @Valid @RequestParam(value = "required_int64_group", required = true) Long requiredInt64Group, - @ApiParam(value = "String in group parameters") @Valid @RequestParam(value = "string_group", required = false) Integer stringGroup, - @ApiParam(value = "Boolean in group parameters") @RequestHeader(value = "boolean_group", required = false) Boolean booleanGroup, - @ApiParam(value = "Integer in group parameters") @Valid @RequestParam(value = "int64_group", required = false) Long int64Group + @NotNull @Parameter(name = "required_string_group", description = "Required String in group parameters", required = true) @Valid @RequestParam(value = "required_string_group", required = true) Integer requiredStringGroup, + @Parameter(name = "required_boolean_group", description = "Required Boolean in group parameters", required = true) @RequestHeader(value = "required_boolean_group", required = true) Boolean requiredBooleanGroup, + @NotNull @Parameter(name = "required_int64_group", description = "Required Integer in group parameters", required = true) @Valid @RequestParam(value = "required_int64_group", required = true) Long requiredInt64Group, + @Parameter(name = "string_group", description = "String in group parameters") @Valid @RequestParam(value = "string_group", required = false) Integer stringGroup, + @Parameter(name = "boolean_group", description = "Boolean in group parameters") @RequestHeader(value = "boolean_group", required = false) Boolean booleanGroup, + @Parameter(name = "int64_group", description = "Integer in group parameters") @Valid @RequestParam(value = "int64_group", required = false) Long int64Group ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -462,22 +457,21 @@ public interface FakeApi { * @return successful operation (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "testInlineAdditionalProperties", + summary = "test inline additionalProperties", tags = { "fake" }, - value = "test inline additionalProperties", - nickname = "testInlineAdditionalProperties", - notes = "" + responses = { + @ApiResponse(responseCode = "200", description = "successful operation") + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation") - }) @RequestMapping( method = RequestMethod.POST, value = "/fake/inline-additionalProperties", consumes = { "application/json" } ) default ResponseEntity testInlineAdditionalProperties( - @ApiParam(value = "request body", required = true) @Valid @RequestBody Map param + @Parameter(name = "param", description = "request body", required = true) @Valid @RequestBody Map param ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -492,23 +486,22 @@ public interface FakeApi { * @return successful operation (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "testJsonFormData", + summary = "test json serialization of form data", tags = { "fake" }, - value = "test json serialization of form data", - nickname = "testJsonFormData", - notes = "" + responses = { + @ApiResponse(responseCode = "200", description = "successful operation") + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation") - }) @RequestMapping( method = RequestMethod.GET, value = "/fake/jsonFormData", consumes = { "application/x-www-form-urlencoded" } ) default ResponseEntity testJsonFormData( - @ApiParam(value = "field1", required = true) @Valid @RequestParam(value = "param", required = true) String param, - @ApiParam(value = "field2", required = true) @Valid @RequestParam(value = "param2", required = true) String param2 + @Parameter(name = "param", description = "field1", required = true) @Valid @RequestParam(value = "param", required = true) String param, + @Parameter(name = "param2", description = "field2", required = true) @Valid @RequestParam(value = "param2", required = true) String param2 ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -527,25 +520,23 @@ public interface FakeApi { * @return Success (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "testQueryParameterCollectionFormat", tags = { "fake" }, - value = "", - nickname = "testQueryParameterCollectionFormat", - notes = "To test the collection format in query parameters" + responses = { + @ApiResponse(responseCode = "200", description = "Success") + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "Success") - }) @RequestMapping( method = RequestMethod.PUT, value = "/fake/test-query-parameters" ) default ResponseEntity testQueryParameterCollectionFormat( - @NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "pipe", required = true) List pipe, - @NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "ioutil", required = true) List ioutil, - @NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "http", required = true) List http, - @NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "url", required = true) List url, - @NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "context", required = true) List context + @NotNull @Parameter(name = "pipe", description = "", required = true) @Valid @RequestParam(value = "pipe", required = true) List pipe, + @NotNull @Parameter(name = "ioutil", description = "", required = true) @Valid @RequestParam(value = "ioutil", required = true) List ioutil, + @NotNull @Parameter(name = "http", description = "", required = true) @Valid @RequestParam(value = "http", required = true) List http, + @NotNull @Parameter(name = "url", description = "", required = true) @Valid @RequestParam(value = "url", required = true) List url, + @NotNull @Parameter(name = "context", description = "", required = true) @Valid @RequestParam(value = "context", required = true) List context ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -561,22 +552,19 @@ public interface FakeApi { * @return successful operation (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "uploadFileWithRequiredFile", + summary = "uploads an image (required)", tags = { "pet" }, - value = "uploads an image (required)", - nickname = "uploadFileWithRequiredFile", - notes = "", - response = ModelApiResponse.class, - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/json", schema = @Schema(implementation = ModelApiResponse.class)) }) - } + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class) - }) @RequestMapping( method = RequestMethod.POST, value = "/fake/{petId}/uploadImageWithRequiredFile", @@ -584,9 +572,9 @@ public interface FakeApi { consumes = { "multipart/form-data" } ) default ResponseEntity uploadFileWithRequiredFile( - @ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId, - @ApiParam(value = "file to upload", required = true) @RequestPart(value = "requiredFile", required = true) MultipartFile requiredFile, - @ApiParam(value = "Additional data to pass to server") @Valid @RequestParam(value = "additionalMetadata", required = false) String additionalMetadata + @Parameter(name = "petId", description = "ID of pet to update", required = true) @PathVariable("petId") Long petId, + @Parameter(name = "requiredFile", description = "file to upload", required = true) @RequestPart(value = "requiredFile", required = true) MultipartFile requiredFile, + @Parameter(name = "additionalMetadata", description = "Additional data to pass to server") @Valid @RequestParam(value = "additionalMetadata", required = false) String additionalMetadata ) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeClassnameTestApi.java index a0b0bef9b7..0092a930e9 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeClassnameTestApi.java @@ -6,7 +6,14 @@ package org.openapitools.virtualan.api; import org.openapitools.virtualan.model.Client; -import io.swagger.annotations.*; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import io.swagger.v3.oas.annotations.tags.Tag; import io.virtualan.annotation.ApiVirtual; import io.virtualan.annotation.VirtualService; import org.springframework.http.HttpStatus; @@ -26,7 +33,7 @@ import javax.annotation.Generated; @Generated(value = "org.openapitools.codegen.languages.SpringCodegen") @Validated -@Api(value = "fake_classname_test", description = "the fake_classname_test API") +@Tag(name = "fake_classname_test", description = "the fake_classname_test API") @VirtualService public interface FakeClassnameTestApi { @@ -42,19 +49,19 @@ public interface FakeClassnameTestApi { * @return successful operation (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "testClassname", + summary = "To test class name in snake case", tags = { "fake_classname_tags 123#$%^" }, - value = "To test class name in snake case", - nickname = "testClassname", - notes = "To test class name in snake case", - response = Client.class, - authorizations = { - @Authorization(value = "api_key_query") - } + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/json", schema = @Schema(implementation = Client.class)) + }) + }, + security = { + @SecurityRequirement(name = "api_key_query") + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Client.class) - }) @RequestMapping( method = RequestMethod.PATCH, value = "/fake_classname_test", @@ -62,7 +69,7 @@ public interface FakeClassnameTestApi { consumes = { "application/json" } ) default ResponseEntity testClassname( - @ApiParam(value = "client model", required = true) @Valid @RequestBody Client body + @Parameter(name = "body", description = "client model", required = true) @Valid @RequestBody Client body ) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/PetApi.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/PetApi.java index 9d574d0ffc..6ff6c5169d 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/PetApi.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/PetApi.java @@ -8,7 +8,14 @@ package org.openapitools.virtualan.api; import org.openapitools.virtualan.model.ModelApiResponse; import org.openapitools.virtualan.model.Pet; import java.util.Set; -import io.swagger.annotations.*; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import io.swagger.v3.oas.annotations.tags.Tag; import io.virtualan.annotation.ApiVirtual; import io.virtualan.annotation.VirtualService; import org.springframework.http.HttpStatus; @@ -28,7 +35,7 @@ import javax.annotation.Generated; @Generated(value = "org.openapitools.codegen.languages.SpringCodegen") @Validated -@Api(value = "pet", description = "Everything about your Pets") +@Tag(name = "pet", description = "Everything about your Pets") @VirtualService public interface PetApi { @@ -44,29 +51,25 @@ public interface PetApi { * or Invalid input (status code 405) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "addPet", + summary = "Add a new pet to the store", tags = { "pet" }, - value = "Add a new pet to the store", - nickname = "addPet", - notes = "", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } + responses = { + @ApiResponse(responseCode = "200", description = "successful operation"), + @ApiResponse(responseCode = "405", description = "Invalid input") + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation"), - @ApiResponse(code = 405, message = "Invalid input") - }) @RequestMapping( method = RequestMethod.POST, value = "/pet", consumes = { "application/json", "application/xml" } ) default ResponseEntity addPet( - @ApiParam(value = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet body + @Parameter(name = "body", description = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet body ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -82,29 +85,25 @@ public interface PetApi { * or Invalid pet value (status code 400) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "deletePet", + summary = "Deletes a pet", tags = { "pet" }, - value = "Deletes a pet", - nickname = "deletePet", - notes = "", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } + responses = { + @ApiResponse(responseCode = "200", description = "successful operation"), + @ApiResponse(responseCode = "400", description = "Invalid pet value") + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation"), - @ApiResponse(code = 400, message = "Invalid pet value") - }) @RequestMapping( method = RequestMethod.DELETE, value = "/pet/{petId}" ) default ResponseEntity deletePet( - @ApiParam(value = "Pet id to delete", required = true) @PathVariable("petId") Long petId, - @ApiParam(value = "") @RequestHeader(value = "api_key", required = false) String apiKey + @Parameter(name = "petId", description = "Pet id to delete", required = true) @PathVariable("petId") Long petId, + @Parameter(name = "api_key", description = "") @RequestHeader(value = "api_key", required = false) String apiKey ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -120,31 +119,28 @@ public interface PetApi { * or Invalid status value (status code 400) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "findPetsByStatus", + summary = "Finds Pets by status", tags = { "pet" }, - value = "Finds Pets by status", - nickname = "findPetsByStatus", - notes = "Multiple status values can be provided with comma separated strings", - response = Pet.class, - responseContainer = "List", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Pet.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Pet.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid status value") + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Pet.class, responseContainer = "List"), - @ApiResponse(code = 400, message = "Invalid status value") - }) @RequestMapping( method = RequestMethod.GET, value = "/pet/findByStatus", produces = { "application/xml", "application/json" } ) default ResponseEntity> findPetsByStatus( - @NotNull @ApiParam(value = "Status values that need to be considered for filter", required = true, allowableValues = "available, pending, sold") @Valid @RequestParam(value = "status", required = true) List status + @NotNull @Parameter(name = "status", description = "Status values that need to be considered for filter", required = true) @Valid @RequestParam(value = "status", required = true) List status ) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { @@ -175,31 +171,28 @@ public interface PetApi { * @deprecated */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "findPetsByTags", + summary = "Finds Pets by tags", tags = { "pet" }, - value = "Finds Pets by tags", - nickname = "findPetsByTags", - notes = "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.", - response = Pet.class, - responseContainer = "Set", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Pet.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Pet.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid tag value") + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Pet.class, responseContainer = "Set"), - @ApiResponse(code = 400, message = "Invalid tag value") - }) @RequestMapping( method = RequestMethod.GET, value = "/pet/findByTags", produces = { "application/xml", "application/json" } ) default ResponseEntity> findPetsByTags( - @NotNull @ApiParam(value = "Tags to filter by", required = true) @Valid @RequestParam(value = "tags", required = true) Set tags + @NotNull @Parameter(name = "tags", description = "Tags to filter by", required = true) @Valid @RequestParam(value = "tags", required = true) Set tags ) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { @@ -230,28 +223,29 @@ public interface PetApi { * or Pet not found (status code 404) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "getPetById", + summary = "Find pet by ID", tags = { "pet" }, - value = "Find pet by ID", - nickname = "getPetById", - notes = "Returns a single pet", - response = Pet.class, - authorizations = { - @Authorization(value = "api_key") - } + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Pet.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Pet.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid ID supplied"), + @ApiResponse(responseCode = "404", description = "Pet not found") + }, + security = { + @SecurityRequirement(name = "api_key") + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Pet.class), - @ApiResponse(code = 400, message = "Invalid ID supplied"), - @ApiResponse(code = 404, message = "Pet not found") - }) @RequestMapping( method = RequestMethod.GET, value = "/pet/{petId}", produces = { "application/xml", "application/json" } ) default ResponseEntity getPetById( - @ApiParam(value = "ID of pet to return", required = true) @PathVariable("petId") Long petId + @Parameter(name = "petId", description = "ID of pet to return", required = true) @PathVariable("petId") Long petId ) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { @@ -282,31 +276,27 @@ public interface PetApi { * or Validation exception (status code 405) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "updatePet", + summary = "Update an existing pet", tags = { "pet" }, - value = "Update an existing pet", - nickname = "updatePet", - notes = "", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } + responses = { + @ApiResponse(responseCode = "200", description = "successful operation"), + @ApiResponse(responseCode = "400", description = "Invalid ID supplied"), + @ApiResponse(responseCode = "404", description = "Pet not found"), + @ApiResponse(responseCode = "405", description = "Validation exception") + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation"), - @ApiResponse(code = 400, message = "Invalid ID supplied"), - @ApiResponse(code = 404, message = "Pet not found"), - @ApiResponse(code = 405, message = "Validation exception") - }) @RequestMapping( method = RequestMethod.PUT, value = "/pet", consumes = { "application/json", "application/xml" } ) default ResponseEntity updatePet( - @ApiParam(value = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet body + @Parameter(name = "body", description = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet body ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -322,30 +312,26 @@ public interface PetApi { * @return Invalid input (status code 405) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "updatePetWithForm", + summary = "Updates a pet in the store with form data", tags = { "pet" }, - value = "Updates a pet in the store with form data", - nickname = "updatePetWithForm", - notes = "", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } + responses = { + @ApiResponse(responseCode = "405", description = "Invalid input") + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + } ) - @ApiResponses({ - @ApiResponse(code = 405, message = "Invalid input") - }) @RequestMapping( method = RequestMethod.POST, value = "/pet/{petId}", consumes = { "application/x-www-form-urlencoded" } ) default ResponseEntity updatePetWithForm( - @ApiParam(value = "ID of pet that needs to be updated", required = true) @PathVariable("petId") Long petId, - @ApiParam(value = "Updated name of the pet") @Valid @RequestParam(value = "name", required = false) String name, - @ApiParam(value = "Updated status of the pet") @Valid @RequestParam(value = "status", required = false) String status + @Parameter(name = "petId", description = "ID of pet that needs to be updated", required = true) @PathVariable("petId") Long petId, + @Parameter(name = "name", description = "Updated name of the pet") @Valid @RequestParam(value = "name", required = false) String name, + @Parameter(name = "status", description = "Updated status of the pet") @Valid @RequestParam(value = "status", required = false) String status ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -361,22 +347,19 @@ public interface PetApi { * @return successful operation (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "uploadFile", + summary = "uploads an image", tags = { "pet" }, - value = "uploads an image", - nickname = "uploadFile", - notes = "", - response = ModelApiResponse.class, - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/json", schema = @Schema(implementation = ModelApiResponse.class)) }) - } + }, + security = { + @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class) - }) @RequestMapping( method = RequestMethod.POST, value = "/pet/{petId}/uploadImage", @@ -384,9 +367,9 @@ public interface PetApi { consumes = { "multipart/form-data" } ) default ResponseEntity uploadFile( - @ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId, - @ApiParam(value = "Additional data to pass to server") @Valid @RequestParam(value = "additionalMetadata", required = false) String additionalMetadata, - @ApiParam(value = "file to upload") @RequestPart(value = "file", required = false) MultipartFile file + @Parameter(name = "petId", description = "ID of pet to update", required = true) @PathVariable("petId") Long petId, + @Parameter(name = "additionalMetadata", description = "Additional data to pass to server") @Valid @RequestParam(value = "additionalMetadata", required = false) String additionalMetadata, + @Parameter(name = "file", description = "file to upload") @RequestPart(value = "file", required = false) MultipartFile file ) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/StoreApi.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/StoreApi.java index 8cd43f6382..68a196c3c6 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/StoreApi.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/StoreApi.java @@ -7,7 +7,14 @@ package org.openapitools.virtualan.api; import java.util.Map; import org.openapitools.virtualan.model.Order; -import io.swagger.annotations.*; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import io.swagger.v3.oas.annotations.tags.Tag; import io.virtualan.annotation.ApiVirtual; import io.virtualan.annotation.VirtualService; import org.springframework.http.HttpStatus; @@ -27,7 +34,7 @@ import javax.annotation.Generated; @Generated(value = "org.openapitools.codegen.languages.SpringCodegen") @Validated -@Api(value = "store", description = "Access to Petstore orders") +@Tag(name = "store", description = "Access to Petstore orders") @VirtualService public interface StoreApi { @@ -44,22 +51,21 @@ public interface StoreApi { * or Order not found (status code 404) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "deleteOrder", + summary = "Delete purchase order by ID", tags = { "store" }, - value = "Delete purchase order by ID", - nickname = "deleteOrder", - notes = "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors" + responses = { + @ApiResponse(responseCode = "400", description = "Invalid ID supplied"), + @ApiResponse(responseCode = "404", description = "Order not found") + } ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid ID supplied"), - @ApiResponse(code = 404, message = "Order not found") - }) @RequestMapping( method = RequestMethod.DELETE, value = "/store/order/{order_id}" ) default ResponseEntity deleteOrder( - @ApiParam(value = "ID of the order that needs to be deleted", required = true) @PathVariable("order_id") String orderId + @Parameter(name = "order_id", description = "ID of the order that needs to be deleted", required = true) @PathVariable("order_id") String orderId ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -73,20 +79,19 @@ public interface StoreApi { * @return successful operation (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "getInventory", + summary = "Returns pet inventories by status", tags = { "store" }, - value = "Returns pet inventories by status", - nickname = "getInventory", - notes = "Returns a map of status codes to quantities", - response = Integer.class, - responseContainer = "Map", - authorizations = { - @Authorization(value = "api_key") - } + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/json", schema = @Schema(implementation = Map.class)) + }) + }, + security = { + @SecurityRequirement(name = "api_key") + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Map.class, responseContainer = "Map") - }) @RequestMapping( method = RequestMethod.GET, value = "/store/inventory", @@ -110,25 +115,26 @@ public interface StoreApi { * or Order not found (status code 404) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "getOrderById", + summary = "Find purchase order by ID", tags = { "store" }, - value = "Find purchase order by ID", - nickname = "getOrderById", - notes = "For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions", - response = Order.class + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Order.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Order.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid ID supplied"), + @ApiResponse(responseCode = "404", description = "Order not found") + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Order.class), - @ApiResponse(code = 400, message = "Invalid ID supplied"), - @ApiResponse(code = 404, message = "Order not found") - }) @RequestMapping( method = RequestMethod.GET, value = "/store/order/{order_id}", produces = { "application/xml", "application/json" } ) default ResponseEntity getOrderById( - @Min(1L) @Max(5L) @ApiParam(value = "ID of pet that needs to be fetched", required = true) @PathVariable("order_id") Long orderId + @Min(1L) @Max(5L) @Parameter(name = "order_id", description = "ID of pet that needs to be fetched", required = true) @PathVariable("order_id") Long orderId ) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { @@ -157,24 +163,25 @@ public interface StoreApi { * or Invalid Order (status code 400) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "placeOrder", + summary = "Place an order for a pet", tags = { "store" }, - value = "Place an order for a pet", - nickname = "placeOrder", - notes = "", - response = Order.class + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Order.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Order.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid Order") + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Order.class), - @ApiResponse(code = 400, message = "Invalid Order") - }) @RequestMapping( method = RequestMethod.POST, value = "/store/order", produces = { "application/xml", "application/json" } ) default ResponseEntity placeOrder( - @ApiParam(value = "order placed for purchasing the pet", required = true) @Valid @RequestBody Order body + @Parameter(name = "body", description = "order placed for purchasing the pet", required = true) @Valid @RequestBody Order body ) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/UserApi.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/UserApi.java index 7caf48bfa5..7a556e5ae0 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/UserApi.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/UserApi.java @@ -8,7 +8,14 @@ package org.openapitools.virtualan.api; import java.util.List; import java.time.OffsetDateTime; import org.openapitools.virtualan.model.User; -import io.swagger.annotations.*; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import io.swagger.v3.oas.annotations.tags.Tag; import io.virtualan.annotation.ApiVirtual; import io.virtualan.annotation.VirtualService; import org.springframework.http.HttpStatus; @@ -28,7 +35,7 @@ import javax.annotation.Generated; @Generated(value = "org.openapitools.codegen.languages.SpringCodegen") @Validated -@Api(value = "user", description = "Operations about user") +@Tag(name = "user", description = "Operations about user") @VirtualService public interface UserApi { @@ -44,21 +51,20 @@ public interface UserApi { * @return successful operation (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "createUser", + summary = "Create user", tags = { "user" }, - value = "Create user", - nickname = "createUser", - notes = "This can only be done by the logged in user." + responses = { + @ApiResponse(responseCode = "200", description = "successful operation") + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation") - }) @RequestMapping( method = RequestMethod.POST, value = "/user" ) default ResponseEntity createUser( - @ApiParam(value = "Created user object", required = true) @Valid @RequestBody User body + @Parameter(name = "body", description = "Created user object", required = true) @Valid @RequestBody User body ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -72,21 +78,20 @@ public interface UserApi { * @return successful operation (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "createUsersWithArrayInput", + summary = "Creates list of users with given input array", tags = { "user" }, - value = "Creates list of users with given input array", - nickname = "createUsersWithArrayInput", - notes = "" + responses = { + @ApiResponse(responseCode = "200", description = "successful operation") + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation") - }) @RequestMapping( method = RequestMethod.POST, value = "/user/createWithArray" ) default ResponseEntity createUsersWithArrayInput( - @ApiParam(value = "List of user object", required = true) @Valid @RequestBody List body + @Parameter(name = "body", description = "List of user object", required = true) @Valid @RequestBody List body ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -100,21 +105,20 @@ public interface UserApi { * @return successful operation (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "createUsersWithListInput", + summary = "Creates list of users with given input array", tags = { "user" }, - value = "Creates list of users with given input array", - nickname = "createUsersWithListInput", - notes = "" + responses = { + @ApiResponse(responseCode = "200", description = "successful operation") + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation") - }) @RequestMapping( method = RequestMethod.POST, value = "/user/createWithList" ) default ResponseEntity createUsersWithListInput( - @ApiParam(value = "List of user object", required = true) @Valid @RequestBody List body + @Parameter(name = "body", description = "List of user object", required = true) @Valid @RequestBody List body ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -130,22 +134,21 @@ public interface UserApi { * or User not found (status code 404) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "deleteUser", + summary = "Delete user", tags = { "user" }, - value = "Delete user", - nickname = "deleteUser", - notes = "This can only be done by the logged in user." + responses = { + @ApiResponse(responseCode = "400", description = "Invalid username supplied"), + @ApiResponse(responseCode = "404", description = "User not found") + } ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid username supplied"), - @ApiResponse(code = 404, message = "User not found") - }) @RequestMapping( method = RequestMethod.DELETE, value = "/user/{username}" ) default ResponseEntity deleteUser( - @ApiParam(value = "The name that needs to be deleted", required = true) @PathVariable("username") String username + @Parameter(name = "username", description = "The name that needs to be deleted", required = true) @PathVariable("username") String username ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -161,25 +164,26 @@ public interface UserApi { * or User not found (status code 404) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "getUserByName", + summary = "Get user by user name", tags = { "user" }, - value = "Get user by user name", - nickname = "getUserByName", - notes = "", - response = User.class + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = User.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = User.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid username supplied"), + @ApiResponse(responseCode = "404", description = "User not found") + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = User.class), - @ApiResponse(code = 400, message = "Invalid username supplied"), - @ApiResponse(code = 404, message = "User not found") - }) @RequestMapping( method = RequestMethod.GET, value = "/user/{username}", produces = { "application/xml", "application/json" } ) default ResponseEntity getUserByName( - @ApiParam(value = "The name that needs to be fetched. Use user1 for testing.", required = true) @PathVariable("username") String username + @Parameter(name = "username", description = "The name that needs to be fetched. Use user1 for testing.", required = true) @PathVariable("username") String username ) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { @@ -209,25 +213,26 @@ public interface UserApi { * or Invalid username/password supplied (status code 400) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "loginUser", + summary = "Logs user into the system", tags = { "user" }, - value = "Logs user into the system", - nickname = "loginUser", - notes = "", - response = String.class + responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = String.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = String.class)) + }), + @ApiResponse(responseCode = "400", description = "Invalid username/password supplied") + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = String.class), - @ApiResponse(code = 400, message = "Invalid username/password supplied") - }) @RequestMapping( method = RequestMethod.GET, value = "/user/login", produces = { "application/xml", "application/json" } ) default ResponseEntity loginUser( - @NotNull @ApiParam(value = "The user name for login", required = true) @Valid @RequestParam(value = "username", required = true) String username, - @NotNull @ApiParam(value = "The password for login in clear text", required = true) @Valid @RequestParam(value = "password", required = true) String password + @NotNull @Parameter(name = "username", description = "The user name for login", required = true) @Valid @RequestParam(value = "username", required = true) String username, + @NotNull @Parameter(name = "password", description = "The password for login in clear text", required = true) @Valid @RequestParam(value = "password", required = true) String password ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -240,15 +245,14 @@ public interface UserApi { * @return successful operation (status code 200) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "logoutUser", + summary = "Logs out current logged in user session", tags = { "user" }, - value = "Logs out current logged in user session", - nickname = "logoutUser", - notes = "" + responses = { + @ApiResponse(responseCode = "200", description = "successful operation") + } ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation") - }) @RequestMapping( method = RequestMethod.GET, value = "/user/logout" @@ -271,23 +275,22 @@ public interface UserApi { * or User not found (status code 404) */ @ApiVirtual - @ApiOperation( + @Operation( + operationId = "updateUser", + summary = "Updated user", tags = { "user" }, - value = "Updated user", - nickname = "updateUser", - notes = "This can only be done by the logged in user." + responses = { + @ApiResponse(responseCode = "400", description = "Invalid user supplied"), + @ApiResponse(responseCode = "404", description = "User not found") + } ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid user supplied"), - @ApiResponse(code = 404, message = "User not found") - }) @RequestMapping( method = RequestMethod.PUT, value = "/user/{username}" ) default ResponseEntity updateUser( - @ApiParam(value = "name that need to be deleted", required = true) @PathVariable("username") String username, - @ApiParam(value = "Updated user object", required = true) @Valid @RequestBody User body + @Parameter(name = "username", description = "name that need to be deleted", required = true) @PathVariable("username") String username, + @Parameter(name = "body", description = "Updated user object", required = true) @Valid @RequestBody User body ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesAnyType.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesAnyType.java index e52378f1b2..05466a3fc2 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesAnyType.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesAnyType.java @@ -4,14 +4,13 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -37,7 +36,7 @@ public class AdditionalPropertiesAnyType extends HashMap { * @return name */ - @ApiModelProperty(value = "") + @Schema(name = "name", required = false) public String getName() { return name; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesArray.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesArray.java index 5f3fe5acda..c210e8ba86 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesArray.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesArray.java @@ -4,8 +4,6 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -13,6 +11,7 @@ import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -38,7 +37,7 @@ public class AdditionalPropertiesArray extends HashMap { * @return name */ - @ApiModelProperty(value = "") + @Schema(name = "name", required = false) public String getName() { return name; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesBoolean.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesBoolean.java index 7cfb5cd2c2..47f6c5c105 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesBoolean.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesBoolean.java @@ -4,14 +4,13 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -37,7 +36,7 @@ public class AdditionalPropertiesBoolean extends HashMap { * @return name */ - @ApiModelProperty(value = "") + @Schema(name = "name", required = false) public String getName() { return name; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesClass.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesClass.java index 9374367c38..051fc22561 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesClass.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesClass.java @@ -4,8 +4,6 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.math.BigDecimal; import java.util.HashMap; import java.util.List; @@ -14,6 +12,7 @@ import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -85,7 +84,7 @@ public class AdditionalPropertiesClass { * @return mapString */ - @ApiModelProperty(value = "") + @Schema(name = "map_string", required = false) public Map getMapString() { return mapString; } @@ -112,7 +111,7 @@ public class AdditionalPropertiesClass { * @return mapNumber */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "map_number", required = false) public Map getMapNumber() { return mapNumber; } @@ -139,7 +138,7 @@ public class AdditionalPropertiesClass { * @return mapInteger */ - @ApiModelProperty(value = "") + @Schema(name = "map_integer", required = false) public Map getMapInteger() { return mapInteger; } @@ -166,7 +165,7 @@ public class AdditionalPropertiesClass { * @return mapBoolean */ - @ApiModelProperty(value = "") + @Schema(name = "map_boolean", required = false) public Map getMapBoolean() { return mapBoolean; } @@ -193,7 +192,7 @@ public class AdditionalPropertiesClass { * @return mapArrayInteger */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "map_array_integer", required = false) public Map> getMapArrayInteger() { return mapArrayInteger; } @@ -220,7 +219,7 @@ public class AdditionalPropertiesClass { * @return mapArrayAnytype */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "map_array_anytype", required = false) public Map> getMapArrayAnytype() { return mapArrayAnytype; } @@ -247,7 +246,7 @@ public class AdditionalPropertiesClass { * @return mapMapString */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "map_map_string", required = false) public Map> getMapMapString() { return mapMapString; } @@ -274,7 +273,7 @@ public class AdditionalPropertiesClass { * @return mapMapAnytype */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "map_map_anytype", required = false) public Map> getMapMapAnytype() { return mapMapAnytype; } @@ -293,7 +292,7 @@ public class AdditionalPropertiesClass { * @return anytype1 */ - @ApiModelProperty(value = "") + @Schema(name = "anytype_1", required = false) public Object getAnytype1() { return anytype1; } @@ -312,7 +311,7 @@ public class AdditionalPropertiesClass { * @return anytype2 */ - @ApiModelProperty(value = "") + @Schema(name = "anytype_2", required = false) public Object getAnytype2() { return anytype2; } @@ -331,7 +330,7 @@ public class AdditionalPropertiesClass { * @return anytype3 */ - @ApiModelProperty(value = "") + @Schema(name = "anytype_3", required = false) public Object getAnytype3() { return anytype3; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesInteger.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesInteger.java index a5a216a1d7..18ad45a075 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesInteger.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesInteger.java @@ -4,14 +4,13 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -37,7 +36,7 @@ public class AdditionalPropertiesInteger extends HashMap { * @return name */ - @ApiModelProperty(value = "") + @Schema(name = "name", required = false) public String getName() { return name; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesNumber.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesNumber.java index cb0d402383..0dae708a3c 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesNumber.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesNumber.java @@ -4,8 +4,6 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.math.BigDecimal; import java.util.HashMap; import java.util.Map; @@ -13,6 +11,7 @@ import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -38,7 +37,7 @@ public class AdditionalPropertiesNumber extends HashMap { * @return name */ - @ApiModelProperty(value = "") + @Schema(name = "name", required = false) public String getName() { return name; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesObject.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesObject.java index 352f0237ed..a4a85527c5 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesObject.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesObject.java @@ -4,14 +4,13 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -37,7 +36,7 @@ public class AdditionalPropertiesObject extends HashMap { * @return name */ - @ApiModelProperty(value = "") + @Schema(name = "name", required = false) public String getName() { return name; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesString.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesString.java index 7532c143b2..a8ae509b35 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesString.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/AdditionalPropertiesString.java @@ -4,14 +4,13 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -37,7 +36,7 @@ public class AdditionalPropertiesString extends HashMap { * @return name */ - @ApiModelProperty(value = "") + @Schema(name = "name", required = false) public String getName() { return name; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Animal.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Animal.java index 52aa926844..7238fc7b80 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Animal.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Animal.java @@ -7,8 +7,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.virtualan.model.BigCat; import org.openapitools.virtualan.model.Cat; import org.openapitools.virtualan.model.Dog; @@ -16,6 +14,7 @@ import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -55,7 +54,7 @@ public class Animal { * @return className */ @NotNull - @ApiModelProperty(required = true, value = "") + @Schema(name = "className", required = true) public String getClassName() { return className; } @@ -74,7 +73,7 @@ public class Animal { * @return color */ - @ApiModelProperty(value = "") + @Schema(name = "color", required = false) public String getColor() { return color; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ArrayOfArrayOfNumberOnly.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ArrayOfArrayOfNumberOnly.java index 180ab0ac0e..7882ddfa03 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ArrayOfArrayOfNumberOnly.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ArrayOfArrayOfNumberOnly.java @@ -4,8 +4,6 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -13,6 +11,7 @@ import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -47,7 +46,7 @@ public class ArrayOfArrayOfNumberOnly { * @return arrayArrayNumber */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "ArrayArrayNumber", required = false) public List> getArrayArrayNumber() { return arrayArrayNumber; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ArrayOfNumberOnly.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ArrayOfNumberOnly.java index ae14568d99..ef93d88d75 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ArrayOfNumberOnly.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ArrayOfNumberOnly.java @@ -4,8 +4,6 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -13,6 +11,7 @@ import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -47,7 +46,7 @@ public class ArrayOfNumberOnly { * @return arrayNumber */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "ArrayNumber", required = false) public List getArrayNumber() { return arrayNumber; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ArrayTest.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ArrayTest.java index f9590f7815..2398d2c3c4 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ArrayTest.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ArrayTest.java @@ -4,8 +4,6 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.util.ArrayList; import java.util.List; import org.openapitools.virtualan.model.ReadOnlyFirst; @@ -13,6 +11,7 @@ import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -55,7 +54,7 @@ public class ArrayTest { * @return arrayOfString */ - @ApiModelProperty(value = "") + @Schema(name = "array_of_string", required = false) public List getArrayOfString() { return arrayOfString; } @@ -82,7 +81,7 @@ public class ArrayTest { * @return arrayArrayOfInteger */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "array_array_of_integer", required = false) public List> getArrayArrayOfInteger() { return arrayArrayOfInteger; } @@ -109,7 +108,7 @@ public class ArrayTest { * @return arrayArrayOfModel */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "array_array_of_model", required = false) public List> getArrayArrayOfModel() { return arrayArrayOfModel; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/BigCat.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/BigCat.java index 0512603faa..eb3561ea5d 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/BigCat.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/BigCat.java @@ -8,14 +8,13 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonValue; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.virtualan.model.BigCatAllOf; import org.openapitools.virtualan.model.Cat; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -81,7 +80,7 @@ public class BigCat extends Cat { * @return kind */ - @ApiModelProperty(value = "") + @Schema(name = "kind", required = false) public KindEnum getKind() { return kind; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/BigCatAllOf.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/BigCatAllOf.java index 166413f2de..e3269825bc 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/BigCatAllOf.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/BigCatAllOf.java @@ -6,12 +6,11 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -77,7 +76,7 @@ public class BigCatAllOf { * @return kind */ - @ApiModelProperty(value = "") + @Schema(name = "kind", required = false) public KindEnum getKind() { return kind; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Capitalization.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Capitalization.java index 62a71dc052..8e049e9757 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Capitalization.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Capitalization.java @@ -4,12 +4,11 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -50,7 +49,7 @@ public class Capitalization { * @return smallCamel */ - @ApiModelProperty(value = "") + @Schema(name = "smallCamel", required = false) public String getSmallCamel() { return smallCamel; } @@ -69,7 +68,7 @@ public class Capitalization { * @return capitalCamel */ - @ApiModelProperty(value = "") + @Schema(name = "CapitalCamel", required = false) public String getCapitalCamel() { return capitalCamel; } @@ -88,7 +87,7 @@ public class Capitalization { * @return smallSnake */ - @ApiModelProperty(value = "") + @Schema(name = "small_Snake", required = false) public String getSmallSnake() { return smallSnake; } @@ -107,7 +106,7 @@ public class Capitalization { * @return capitalSnake */ - @ApiModelProperty(value = "") + @Schema(name = "Capital_Snake", required = false) public String getCapitalSnake() { return capitalSnake; } @@ -126,7 +125,7 @@ public class Capitalization { * @return scAETHFlowPoints */ - @ApiModelProperty(value = "") + @Schema(name = "SCA_ETH_Flow_Points", required = false) public String getScAETHFlowPoints() { return scAETHFlowPoints; } @@ -145,7 +144,7 @@ public class Capitalization { * @return ATT_NAME */ - @ApiModelProperty(value = "Name of the pet ") + @Schema(name = "ATT_NAME", description = "Name of the pet ", required = false) public String getATTNAME() { return ATT_NAME; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Cat.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Cat.java index 4c523da550..d023ac04e0 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Cat.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Cat.java @@ -7,8 +7,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.virtualan.model.Animal; import org.openapitools.virtualan.model.BigCat; import org.openapitools.virtualan.model.CatAllOf; @@ -16,6 +14,7 @@ import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -50,7 +49,7 @@ public class Cat extends Animal { * @return declawed */ - @ApiModelProperty(value = "") + @Schema(name = "declawed", required = false) public Boolean getDeclawed() { return declawed; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/CatAllOf.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/CatAllOf.java index b9ad68564a..7d8a54bbb2 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/CatAllOf.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/CatAllOf.java @@ -5,12 +5,11 @@ import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonTypeName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -37,7 +36,7 @@ public class CatAllOf { * @return declawed */ - @ApiModelProperty(value = "") + @Schema(name = "declawed", required = false) public Boolean getDeclawed() { return declawed; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Category.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Category.java index 9aae0a86ca..7196d93ac0 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Category.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Category.java @@ -4,12 +4,11 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -38,7 +37,7 @@ public class Category { * @return id */ - @ApiModelProperty(value = "") + @Schema(name = "id", required = false) public Long getId() { return id; } @@ -57,7 +56,7 @@ public class Category { * @return name */ @NotNull - @ApiModelProperty(required = true, value = "") + @Schema(name = "name", required = true) public String getName() { return name; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ClassModel.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ClassModel.java index 4dd9879b6c..7258b24030 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ClassModel.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ClassModel.java @@ -4,12 +4,11 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -19,7 +18,7 @@ import javax.annotation.Generated; * Model for testing model with \"_class\" property */ -@ApiModel(description = "Model for testing model with \"_class\" property") +@Schema(name = "ClassModel", description = "Model for testing model with \"_class\" property") @Generated(value = "org.openapitools.codegen.languages.SpringCodegen") public class ClassModel { @@ -36,7 +35,7 @@ public class ClassModel { * @return propertyClass */ - @ApiModelProperty(value = "") + @Schema(name = "_class", required = false) public String getPropertyClass() { return propertyClass; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Client.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Client.java index ab8ec39047..aba5b243b7 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Client.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Client.java @@ -4,12 +4,11 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -35,7 +34,7 @@ public class Client { * @return client */ - @ApiModelProperty(value = "") + @Schema(name = "client", required = false) public String getClient() { return client; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Dog.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Dog.java index d123f91d3f..522d7e1332 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Dog.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Dog.java @@ -7,14 +7,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.virtualan.model.Animal; import org.openapitools.virtualan.model.DogAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -41,7 +40,7 @@ public class Dog extends Animal { * @return breed */ - @ApiModelProperty(value = "") + @Schema(name = "breed", required = false) public String getBreed() { return breed; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/DogAllOf.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/DogAllOf.java index 94713cff83..fc1e59acc0 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/DogAllOf.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/DogAllOf.java @@ -5,12 +5,11 @@ import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonTypeName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -37,7 +36,7 @@ public class DogAllOf { * @return breed */ - @ApiModelProperty(value = "") + @Schema(name = "breed", required = false) public String getBreed() { return breed; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/EnumArrays.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/EnumArrays.java index 306c77d520..78612a1892 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/EnumArrays.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/EnumArrays.java @@ -5,14 +5,13 @@ import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.util.ArrayList; import java.util.List; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -112,7 +111,7 @@ public class EnumArrays { * @return justSymbol */ - @ApiModelProperty(value = "") + @Schema(name = "just_symbol", required = false) public JustSymbolEnum getJustSymbol() { return justSymbol; } @@ -139,7 +138,7 @@ public class EnumArrays { * @return arrayEnum */ - @ApiModelProperty(value = "") + @Schema(name = "array_enum", required = false) public List getArrayEnum() { return arrayEnum; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/EnumClass.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/EnumClass.java index 395fca337a..75321f8bd6 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/EnumClass.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/EnumClass.java @@ -7,6 +7,7 @@ import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/EnumTest.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/EnumTest.java index a60c2f44ef..dc6498a497 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/EnumTest.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/EnumTest.java @@ -6,13 +6,12 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.virtualan.model.OuterEnum; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -195,7 +194,7 @@ public class EnumTest { * @return enumString */ - @ApiModelProperty(value = "") + @Schema(name = "enum_string", required = false) public EnumStringEnum getEnumString() { return enumString; } @@ -214,7 +213,7 @@ public class EnumTest { * @return enumStringRequired */ @NotNull - @ApiModelProperty(required = true, value = "") + @Schema(name = "enum_string_required", required = true) public EnumStringRequiredEnum getEnumStringRequired() { return enumStringRequired; } @@ -233,7 +232,7 @@ public class EnumTest { * @return enumInteger */ - @ApiModelProperty(value = "") + @Schema(name = "enum_integer", required = false) public EnumIntegerEnum getEnumInteger() { return enumInteger; } @@ -252,7 +251,7 @@ public class EnumTest { * @return enumNumber */ - @ApiModelProperty(value = "") + @Schema(name = "enum_number", required = false) public EnumNumberEnum getEnumNumber() { return enumNumber; } @@ -271,7 +270,7 @@ public class EnumTest { * @return outerEnum */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "outerEnum", required = false) public OuterEnum getOuterEnum() { return outerEnum; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/File.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/File.java index 42e3ae11c2..2ac7e4d176 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/File.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/File.java @@ -4,12 +4,11 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -19,7 +18,7 @@ import javax.annotation.Generated; * Must be named `File` for test. */ -@ApiModel(description = "Must be named `File` for test.") +@Schema(name = "File", description = "Must be named `File` for test.") @Generated(value = "org.openapitools.codegen.languages.SpringCodegen") public class File { @@ -36,7 +35,7 @@ public class File { * @return sourceURI */ - @ApiModelProperty(value = "Test capitalization") + @Schema(name = "sourceURI", description = "Test capitalization", required = false) public String getSourceURI() { return sourceURI; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/FileSchemaTestClass.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/FileSchemaTestClass.java index 03e3f3072b..351da96066 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/FileSchemaTestClass.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/FileSchemaTestClass.java @@ -4,8 +4,6 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.io.File; import java.util.ArrayList; import java.util.List; @@ -13,6 +11,7 @@ import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -42,7 +41,7 @@ public class FileSchemaTestClass { * @return file */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "file", required = false) public File getFile() { return file; } @@ -69,7 +68,7 @@ public class FileSchemaTestClass { * @return files */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "files", required = false) public List getFiles() { return files; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/FormatTest.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/FormatTest.java index 12ff058826..00b2379c9e 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/FormatTest.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/FormatTest.java @@ -5,8 +5,6 @@ import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonTypeName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.math.BigDecimal; import java.time.LocalDate; import java.time.OffsetDateTime; @@ -17,6 +15,7 @@ import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -86,7 +85,7 @@ public class FormatTest { * @return integer */ @Min(10) @Max(100) - @ApiModelProperty(value = "") + @Schema(name = "integer", required = false) public Integer getInteger() { return integer; } @@ -107,7 +106,7 @@ public class FormatTest { * @return int32 */ @Min(20) @Max(200) - @ApiModelProperty(value = "") + @Schema(name = "int32", required = false) public Integer getInt32() { return int32; } @@ -126,7 +125,7 @@ public class FormatTest { * @return int64 */ - @ApiModelProperty(value = "") + @Schema(name = "int64", required = false) public Long getInt64() { return int64; } @@ -147,7 +146,7 @@ public class FormatTest { * @return number */ @NotNull @Valid @DecimalMin("32.1") @DecimalMax("543.2") - @ApiModelProperty(required = true, value = "") + @Schema(name = "number", required = true) public BigDecimal getNumber() { return number; } @@ -168,7 +167,7 @@ public class FormatTest { * @return _float */ @DecimalMin("54.3") @DecimalMax("987.6") - @ApiModelProperty(value = "") + @Schema(name = "float", required = false) public Float getFloat() { return _float; } @@ -189,7 +188,7 @@ public class FormatTest { * @return _double */ @DecimalMin("67.8") @DecimalMax("123.4") - @ApiModelProperty(value = "") + @Schema(name = "double", required = false) public Double getDouble() { return _double; } @@ -208,7 +207,7 @@ public class FormatTest { * @return string */ @Pattern(regexp = "/[a-z]/i") - @ApiModelProperty(value = "") + @Schema(name = "string", required = false) public String getString() { return string; } @@ -227,7 +226,7 @@ public class FormatTest { * @return _byte */ @NotNull - @ApiModelProperty(required = true, value = "") + @Schema(name = "byte", required = true) public byte[] getByte() { return _byte; } @@ -246,7 +245,7 @@ public class FormatTest { * @return binary */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "binary", required = false) public org.springframework.core.io.Resource getBinary() { return binary; } @@ -265,7 +264,7 @@ public class FormatTest { * @return date */ @NotNull @Valid - @ApiModelProperty(required = true, value = "") + @Schema(name = "date", required = true) public LocalDate getDate() { return date; } @@ -284,7 +283,7 @@ public class FormatTest { * @return dateTime */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "dateTime", required = false) public OffsetDateTime getDateTime() { return dateTime; } @@ -303,7 +302,7 @@ public class FormatTest { * @return uuid */ @Valid - @ApiModelProperty(example = "72f98069-206d-4f12-9f12-3d1e525a8e84", value = "") + @Schema(name = "uuid", example = "72f98069-206d-4f12-9f12-3d1e525a8e84", required = false) public UUID getUuid() { return uuid; } @@ -322,7 +321,7 @@ public class FormatTest { * @return password */ @NotNull @Size(min = 10, max = 64) - @ApiModelProperty(required = true, value = "") + @Schema(name = "password", required = true) public String getPassword() { return password; } @@ -341,7 +340,7 @@ public class FormatTest { * @return bigDecimal */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "BigDecimal", required = false) public BigDecimal getBigDecimal() { return bigDecimal; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/HasOnlyReadOnly.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/HasOnlyReadOnly.java index ff3467d8d8..7a7571cfc3 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/HasOnlyReadOnly.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/HasOnlyReadOnly.java @@ -5,12 +5,11 @@ import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonTypeName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -40,7 +39,7 @@ public class HasOnlyReadOnly { * @return bar */ - @ApiModelProperty(readOnly = true, value = "") + @Schema(name = "bar", accessMode = Schema.AccessMode.READ_ONLY, required = false) public String getBar() { return bar; } @@ -59,7 +58,7 @@ public class HasOnlyReadOnly { * @return foo */ - @ApiModelProperty(readOnly = true, value = "") + @Schema(name = "foo", accessMode = Schema.AccessMode.READ_ONLY, required = false) public String getFoo() { return foo; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/MapTest.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/MapTest.java index cb6c1af687..f2ac65048f 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/MapTest.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/MapTest.java @@ -5,8 +5,6 @@ import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -14,6 +12,7 @@ import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -95,7 +94,7 @@ public class MapTest { * @return mapMapOfString */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "map_map_of_string", required = false) public Map> getMapMapOfString() { return mapMapOfString; } @@ -122,7 +121,7 @@ public class MapTest { * @return mapOfEnumString */ - @ApiModelProperty(value = "") + @Schema(name = "map_of_enum_string", required = false) public Map getMapOfEnumString() { return mapOfEnumString; } @@ -149,7 +148,7 @@ public class MapTest { * @return directMap */ - @ApiModelProperty(value = "") + @Schema(name = "direct_map", required = false) public Map getDirectMap() { return directMap; } @@ -176,7 +175,7 @@ public class MapTest { * @return indirectMap */ - @ApiModelProperty(value = "") + @Schema(name = "indirect_map", required = false) public Map getIndirectMap() { return indirectMap; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/MixedPropertiesAndAdditionalPropertiesClass.java index c318416d82..bc5340cc13 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -4,8 +4,6 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; import java.util.List; @@ -17,6 +15,7 @@ import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -50,7 +49,7 @@ public class MixedPropertiesAndAdditionalPropertiesClass { * @return uuid */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "uuid", required = false) public UUID getUuid() { return uuid; } @@ -69,7 +68,7 @@ public class MixedPropertiesAndAdditionalPropertiesClass { * @return dateTime */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "dateTime", required = false) public OffsetDateTime getDateTime() { return dateTime; } @@ -96,7 +95,7 @@ public class MixedPropertiesAndAdditionalPropertiesClass { * @return map */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "map", required = false) public Map getMap() { return map; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Model200Response.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Model200Response.java index e614464af0..a3e6d6c956 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Model200Response.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Model200Response.java @@ -5,12 +5,11 @@ import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonTypeName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -20,7 +19,7 @@ import javax.annotation.Generated; * Model for testing model name starting with number */ -@ApiModel(description = "Model for testing model name starting with number") +@Schema(name = "200_response", description = "Model for testing model name starting with number") @JsonTypeName("200_response") @Generated(value = "org.openapitools.codegen.languages.SpringCodegen") public class Model200Response { @@ -41,7 +40,7 @@ public class Model200Response { * @return name */ - @ApiModelProperty(value = "") + @Schema(name = "name", required = false) public Integer getName() { return name; } @@ -60,7 +59,7 @@ public class Model200Response { * @return propertyClass */ - @ApiModelProperty(value = "") + @Schema(name = "class", required = false) public String getPropertyClass() { return propertyClass; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ModelApiResponse.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ModelApiResponse.java index 2825787f2d..a26037d567 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ModelApiResponse.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ModelApiResponse.java @@ -5,12 +5,11 @@ import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonTypeName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -43,7 +42,7 @@ public class ModelApiResponse { * @return code */ - @ApiModelProperty(value = "") + @Schema(name = "code", required = false) public Integer getCode() { return code; } @@ -62,7 +61,7 @@ public class ModelApiResponse { * @return type */ - @ApiModelProperty(value = "") + @Schema(name = "type", required = false) public String getType() { return type; } @@ -81,7 +80,7 @@ public class ModelApiResponse { * @return message */ - @ApiModelProperty(value = "") + @Schema(name = "message", required = false) public String getMessage() { return message; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ModelFile.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ModelFile.java deleted file mode 100644 index 3339e215b3..0000000000 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ModelFile.java +++ /dev/null @@ -1,85 +0,0 @@ -package org.openapitools.virtualan.model; - -import java.net.URI; -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import org.openapitools.jackson.nullable.JsonNullable; -import java.time.OffsetDateTime; -import javax.validation.Valid; -import javax.validation.constraints.*; - - -import java.util.*; - -/** - * Must be named `File` for test. - */ -@ApiModel(description = "Must be named `File` for test.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -public class ModelFile { - @JsonProperty("sourceURI") - private String sourceURI; - - public ModelFile sourceURI(String sourceURI) { - this.sourceURI = sourceURI; - return this; - } - - /** - * Test capitalization - * @return sourceURI - */ - @ApiModelProperty(value = "Test capitalization") - - - public String getSourceURI() { - return sourceURI; - } - - public void setSourceURI(String sourceURI) { - this.sourceURI = sourceURI; - } - - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - ModelFile _file = (ModelFile) o; - return Objects.equals(this.sourceURI, _file.sourceURI); - } - - @Override - public int hashCode() { - return Objects.hash(sourceURI); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class ModelFile {\n"); - - sb.append(" sourceURI: ").append(toIndentedString(sourceURI)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ModelList.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ModelList.java index 6228ffaa92..da45464898 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ModelList.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ModelList.java @@ -5,12 +5,11 @@ import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonTypeName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -37,7 +36,7 @@ public class ModelList { * @return _123list */ - @ApiModelProperty(value = "") + @Schema(name = "123-list", required = false) public String get123list() { return _123list; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ModelReturn.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ModelReturn.java index b2bf3b2119..dae82c6484 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ModelReturn.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ModelReturn.java @@ -5,12 +5,11 @@ import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonTypeName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -20,7 +19,7 @@ import javax.annotation.Generated; * Model for testing reserved words */ -@ApiModel(description = "Model for testing reserved words") +@Schema(name = "Return", description = "Model for testing reserved words") @JsonTypeName("Return") @Generated(value = "org.openapitools.codegen.languages.SpringCodegen") public class ModelReturn { @@ -38,7 +37,7 @@ public class ModelReturn { * @return _return */ - @ApiModelProperty(value = "") + @Schema(name = "return", required = false) public Integer getReturn() { return _return; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Name.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Name.java index ee68073ee6..30a39b9072 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Name.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Name.java @@ -4,12 +4,11 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -19,7 +18,7 @@ import javax.annotation.Generated; * Model for testing model name same as property name */ -@ApiModel(description = "Model for testing model name same as property name") +@Schema(name = "Name", description = "Model for testing model name same as property name") @Generated(value = "org.openapitools.codegen.languages.SpringCodegen") public class Name { @@ -45,7 +44,7 @@ public class Name { * @return name */ @NotNull - @ApiModelProperty(required = true, value = "") + @Schema(name = "name", required = true) public Integer getName() { return name; } @@ -64,7 +63,7 @@ public class Name { * @return snakeCase */ - @ApiModelProperty(readOnly = true, value = "") + @Schema(name = "snake_case", accessMode = Schema.AccessMode.READ_ONLY, required = false) public Integer getSnakeCase() { return snakeCase; } @@ -83,7 +82,7 @@ public class Name { * @return property */ - @ApiModelProperty(value = "") + @Schema(name = "property", required = false) public String getProperty() { return property; } @@ -102,7 +101,7 @@ public class Name { * @return _123number */ - @ApiModelProperty(readOnly = true, value = "") + @Schema(name = "123Number", accessMode = Schema.AccessMode.READ_ONLY, required = false) public Integer get123number() { return _123number; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/NumberOnly.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/NumberOnly.java index 3e818137fb..d244ec9f05 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/NumberOnly.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/NumberOnly.java @@ -4,13 +4,12 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.math.BigDecimal; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -36,7 +35,7 @@ public class NumberOnly { * @return justNumber */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "JustNumber", required = false) public BigDecimal getJustNumber() { return justNumber; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Order.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Order.java index fd488c078a..97fdeb0539 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Order.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Order.java @@ -5,14 +5,13 @@ import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import org.springframework.format.annotation.DateTimeFormat; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -91,7 +90,7 @@ public class Order { * @return id */ - @ApiModelProperty(value = "") + @Schema(name = "id", required = false) public Long getId() { return id; } @@ -110,7 +109,7 @@ public class Order { * @return petId */ - @ApiModelProperty(value = "") + @Schema(name = "petId", required = false) public Long getPetId() { return petId; } @@ -129,7 +128,7 @@ public class Order { * @return quantity */ - @ApiModelProperty(value = "") + @Schema(name = "quantity", required = false) public Integer getQuantity() { return quantity; } @@ -148,7 +147,7 @@ public class Order { * @return shipDate */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "shipDate", required = false) public OffsetDateTime getShipDate() { return shipDate; } @@ -167,7 +166,7 @@ public class Order { * @return status */ - @ApiModelProperty(value = "Order Status") + @Schema(name = "status", description = "Order Status", required = false) public StatusEnum getStatus() { return status; } @@ -186,7 +185,7 @@ public class Order { * @return complete */ - @ApiModelProperty(value = "") + @Schema(name = "complete", required = false) public Boolean getComplete() { return complete; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/OuterComposite.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/OuterComposite.java index 39315b1a00..49051ed09a 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/OuterComposite.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/OuterComposite.java @@ -4,13 +4,12 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.math.BigDecimal; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -42,7 +41,7 @@ public class OuterComposite { * @return myNumber */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "my_number", required = false) public BigDecimal getMyNumber() { return myNumber; } @@ -61,7 +60,7 @@ public class OuterComposite { * @return myString */ - @ApiModelProperty(value = "") + @Schema(name = "my_string", required = false) public String getMyString() { return myString; } @@ -80,7 +79,7 @@ public class OuterComposite { * @return myBoolean */ - @ApiModelProperty(value = "") + @Schema(name = "my_boolean", required = false) public Boolean getMyBoolean() { return myBoolean; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/OuterEnum.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/OuterEnum.java index 3f9a061957..f766436e4e 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/OuterEnum.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/OuterEnum.java @@ -7,6 +7,7 @@ import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Pet.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Pet.java index 7cc1fa8169..e89318ef87 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Pet.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Pet.java @@ -6,8 +6,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.List; @@ -18,6 +16,7 @@ import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -97,7 +96,7 @@ public class Pet { * @return id */ - @ApiModelProperty(value = "") + @Schema(name = "id", required = false) public Long getId() { return id; } @@ -116,7 +115,7 @@ public class Pet { * @return category */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "category", required = false) public Category getCategory() { return category; } @@ -135,7 +134,7 @@ public class Pet { * @return name */ @NotNull - @ApiModelProperty(example = "doggie", required = true, value = "") + @Schema(name = "name", example = "doggie", required = true) public String getName() { return name; } @@ -159,7 +158,7 @@ public class Pet { * @return photoUrls */ @NotNull - @ApiModelProperty(required = true, value = "") + @Schema(name = "photoUrls", required = true) public Set getPhotoUrls() { return photoUrls; } @@ -187,7 +186,7 @@ public class Pet { * @return tags */ @Valid - @ApiModelProperty(value = "") + @Schema(name = "tags", required = false) public List getTags() { return tags; } @@ -206,7 +205,7 @@ public class Pet { * @return status */ - @ApiModelProperty(value = "pet status in the store") + @Schema(name = "status", description = "pet status in the store", required = false) public StatusEnum getStatus() { return status; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ReadOnlyFirst.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ReadOnlyFirst.java index b19436af36..b4b4688eb1 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ReadOnlyFirst.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/ReadOnlyFirst.java @@ -4,12 +4,11 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -38,7 +37,7 @@ public class ReadOnlyFirst { * @return bar */ - @ApiModelProperty(readOnly = true, value = "") + @Schema(name = "bar", accessMode = Schema.AccessMode.READ_ONLY, required = false) public String getBar() { return bar; } @@ -57,7 +56,7 @@ public class ReadOnlyFirst { * @return baz */ - @ApiModelProperty(value = "") + @Schema(name = "baz", required = false) public String getBaz() { return baz; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/SpecialModelName.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/SpecialModelName.java index d5b7c54fe4..7fb8738c72 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/SpecialModelName.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/SpecialModelName.java @@ -5,12 +5,11 @@ import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonTypeName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -37,7 +36,7 @@ public class SpecialModelName { * @return $specialPropertyName */ - @ApiModelProperty(value = "") + @Schema(name = "$special[property.name]", required = false) public Long get$SpecialPropertyName() { return $specialPropertyName; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Tag.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Tag.java index 83db384b15..7d35a9fc13 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Tag.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Tag.java @@ -4,12 +4,11 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -38,7 +37,7 @@ public class Tag { * @return id */ - @ApiModelProperty(value = "") + @Schema(name = "id", required = false) public Long getId() { return id; } @@ -57,7 +56,7 @@ public class Tag { * @return name */ - @ApiModelProperty(value = "") + @Schema(name = "name", required = false) public String getName() { return name; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/TypeHolderDefault.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/TypeHolderDefault.java index 074a578f83..a58fe18210 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/TypeHolderDefault.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/TypeHolderDefault.java @@ -4,8 +4,6 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -13,6 +11,7 @@ import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -51,7 +50,7 @@ public class TypeHolderDefault { * @return stringItem */ @NotNull - @ApiModelProperty(required = true, value = "") + @Schema(name = "string_item", required = true) public String getStringItem() { return stringItem; } @@ -70,7 +69,7 @@ public class TypeHolderDefault { * @return numberItem */ @NotNull @Valid - @ApiModelProperty(required = true, value = "") + @Schema(name = "number_item", required = true) public BigDecimal getNumberItem() { return numberItem; } @@ -89,7 +88,7 @@ public class TypeHolderDefault { * @return integerItem */ @NotNull - @ApiModelProperty(required = true, value = "") + @Schema(name = "integer_item", required = true) public Integer getIntegerItem() { return integerItem; } @@ -108,7 +107,7 @@ public class TypeHolderDefault { * @return boolItem */ @NotNull - @ApiModelProperty(required = true, value = "") + @Schema(name = "bool_item", required = true) public Boolean getBoolItem() { return boolItem; } @@ -132,7 +131,7 @@ public class TypeHolderDefault { * @return arrayItem */ @NotNull - @ApiModelProperty(required = true, value = "") + @Schema(name = "array_item", required = true) public List getArrayItem() { return arrayItem; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/TypeHolderExample.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/TypeHolderExample.java index 6b7e94285b..1adc44928f 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/TypeHolderExample.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/TypeHolderExample.java @@ -4,8 +4,6 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -13,6 +11,7 @@ import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -54,7 +53,7 @@ public class TypeHolderExample { * @return stringItem */ @NotNull - @ApiModelProperty(example = "what", required = true, value = "") + @Schema(name = "string_item", example = "what", required = true) public String getStringItem() { return stringItem; } @@ -73,7 +72,7 @@ public class TypeHolderExample { * @return numberItem */ @NotNull @Valid - @ApiModelProperty(example = "1.234", required = true, value = "") + @Schema(name = "number_item", example = "1.234", required = true) public BigDecimal getNumberItem() { return numberItem; } @@ -92,7 +91,7 @@ public class TypeHolderExample { * @return floatItem */ @NotNull - @ApiModelProperty(example = "1.234", required = true, value = "") + @Schema(name = "float_item", example = "1.234", required = true) public Float getFloatItem() { return floatItem; } @@ -111,7 +110,7 @@ public class TypeHolderExample { * @return integerItem */ @NotNull - @ApiModelProperty(example = "-2", required = true, value = "") + @Schema(name = "integer_item", example = "-2", required = true) public Integer getIntegerItem() { return integerItem; } @@ -130,7 +129,7 @@ public class TypeHolderExample { * @return boolItem */ @NotNull - @ApiModelProperty(example = "true", required = true, value = "") + @Schema(name = "bool_item", example = "true", required = true) public Boolean getBoolItem() { return boolItem; } @@ -154,7 +153,7 @@ public class TypeHolderExample { * @return arrayItem */ @NotNull - @ApiModelProperty(example = "[0, 1, 2, 3]", required = true, value = "") + @Schema(name = "array_item", example = "[0, 1, 2, 3]", required = true) public List getArrayItem() { return arrayItem; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/User.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/User.java index d497e1b752..c5d187f698 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/User.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/User.java @@ -4,12 +4,11 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -56,7 +55,7 @@ public class User { * @return id */ - @ApiModelProperty(value = "") + @Schema(name = "id", required = false) public Long getId() { return id; } @@ -75,7 +74,7 @@ public class User { * @return username */ - @ApiModelProperty(value = "") + @Schema(name = "username", required = false) public String getUsername() { return username; } @@ -94,7 +93,7 @@ public class User { * @return firstName */ - @ApiModelProperty(value = "") + @Schema(name = "firstName", required = false) public String getFirstName() { return firstName; } @@ -113,7 +112,7 @@ public class User { * @return lastName */ - @ApiModelProperty(value = "") + @Schema(name = "lastName", required = false) public String getLastName() { return lastName; } @@ -132,7 +131,7 @@ public class User { * @return email */ - @ApiModelProperty(value = "") + @Schema(name = "email", required = false) public String getEmail() { return email; } @@ -151,7 +150,7 @@ public class User { * @return password */ - @ApiModelProperty(value = "") + @Schema(name = "password", required = false) public String getPassword() { return password; } @@ -170,7 +169,7 @@ public class User { * @return phone */ - @ApiModelProperty(value = "") + @Schema(name = "phone", required = false) public String getPhone() { return phone; } @@ -189,7 +188,7 @@ public class User { * @return userStatus */ - @ApiModelProperty(value = "User Status") + @Schema(name = "userStatus", description = "User Status", required = false) public Integer getUserStatus() { return userStatus; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/XmlItem.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/XmlItem.java index 782f3d60bc..2eb74edaad 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/XmlItem.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/XmlItem.java @@ -4,8 +4,6 @@ import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -13,6 +11,7 @@ import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; @@ -131,7 +130,7 @@ public class XmlItem { * @return attributeString */ - @ApiModelProperty(example = "string", value = "") + @Schema(name = "attribute_string", example = "string", required = false) public String getAttributeString() { return attributeString; } @@ -150,7 +149,7 @@ public class XmlItem { * @return attributeNumber */ @Valid - @ApiModelProperty(example = "1.234", value = "") + @Schema(name = "attribute_number", example = "1.234", required = false) public BigDecimal getAttributeNumber() { return attributeNumber; } @@ -169,7 +168,7 @@ public class XmlItem { * @return attributeInteger */ - @ApiModelProperty(example = "-2", value = "") + @Schema(name = "attribute_integer", example = "-2", required = false) public Integer getAttributeInteger() { return attributeInteger; } @@ -188,7 +187,7 @@ public class XmlItem { * @return attributeBoolean */ - @ApiModelProperty(example = "true", value = "") + @Schema(name = "attribute_boolean", example = "true", required = false) public Boolean getAttributeBoolean() { return attributeBoolean; } @@ -215,7 +214,7 @@ public class XmlItem { * @return wrappedArray */ - @ApiModelProperty(value = "") + @Schema(name = "wrapped_array", required = false) public List getWrappedArray() { return wrappedArray; } @@ -234,7 +233,7 @@ public class XmlItem { * @return nameString */ - @ApiModelProperty(example = "string", value = "") + @Schema(name = "name_string", example = "string", required = false) public String getNameString() { return nameString; } @@ -253,7 +252,7 @@ public class XmlItem { * @return nameNumber */ @Valid - @ApiModelProperty(example = "1.234", value = "") + @Schema(name = "name_number", example = "1.234", required = false) public BigDecimal getNameNumber() { return nameNumber; } @@ -272,7 +271,7 @@ public class XmlItem { * @return nameInteger */ - @ApiModelProperty(example = "-2", value = "") + @Schema(name = "name_integer", example = "-2", required = false) public Integer getNameInteger() { return nameInteger; } @@ -291,7 +290,7 @@ public class XmlItem { * @return nameBoolean */ - @ApiModelProperty(example = "true", value = "") + @Schema(name = "name_boolean", example = "true", required = false) public Boolean getNameBoolean() { return nameBoolean; } @@ -318,7 +317,7 @@ public class XmlItem { * @return nameArray */ - @ApiModelProperty(value = "") + @Schema(name = "name_array", required = false) public List getNameArray() { return nameArray; } @@ -345,7 +344,7 @@ public class XmlItem { * @return nameWrappedArray */ - @ApiModelProperty(value = "") + @Schema(name = "name_wrapped_array", required = false) public List getNameWrappedArray() { return nameWrappedArray; } @@ -364,7 +363,7 @@ public class XmlItem { * @return prefixString */ - @ApiModelProperty(example = "string", value = "") + @Schema(name = "prefix_string", example = "string", required = false) public String getPrefixString() { return prefixString; } @@ -383,7 +382,7 @@ public class XmlItem { * @return prefixNumber */ @Valid - @ApiModelProperty(example = "1.234", value = "") + @Schema(name = "prefix_number", example = "1.234", required = false) public BigDecimal getPrefixNumber() { return prefixNumber; } @@ -402,7 +401,7 @@ public class XmlItem { * @return prefixInteger */ - @ApiModelProperty(example = "-2", value = "") + @Schema(name = "prefix_integer", example = "-2", required = false) public Integer getPrefixInteger() { return prefixInteger; } @@ -421,7 +420,7 @@ public class XmlItem { * @return prefixBoolean */ - @ApiModelProperty(example = "true", value = "") + @Schema(name = "prefix_boolean", example = "true", required = false) public Boolean getPrefixBoolean() { return prefixBoolean; } @@ -448,7 +447,7 @@ public class XmlItem { * @return prefixArray */ - @ApiModelProperty(value = "") + @Schema(name = "prefix_array", required = false) public List getPrefixArray() { return prefixArray; } @@ -475,7 +474,7 @@ public class XmlItem { * @return prefixWrappedArray */ - @ApiModelProperty(value = "") + @Schema(name = "prefix_wrapped_array", required = false) public List getPrefixWrappedArray() { return prefixWrappedArray; } @@ -494,7 +493,7 @@ public class XmlItem { * @return namespaceString */ - @ApiModelProperty(example = "string", value = "") + @Schema(name = "namespace_string", example = "string", required = false) public String getNamespaceString() { return namespaceString; } @@ -513,7 +512,7 @@ public class XmlItem { * @return namespaceNumber */ @Valid - @ApiModelProperty(example = "1.234", value = "") + @Schema(name = "namespace_number", example = "1.234", required = false) public BigDecimal getNamespaceNumber() { return namespaceNumber; } @@ -532,7 +531,7 @@ public class XmlItem { * @return namespaceInteger */ - @ApiModelProperty(example = "-2", value = "") + @Schema(name = "namespace_integer", example = "-2", required = false) public Integer getNamespaceInteger() { return namespaceInteger; } @@ -551,7 +550,7 @@ public class XmlItem { * @return namespaceBoolean */ - @ApiModelProperty(example = "true", value = "") + @Schema(name = "namespace_boolean", example = "true", required = false) public Boolean getNamespaceBoolean() { return namespaceBoolean; } @@ -578,7 +577,7 @@ public class XmlItem { * @return namespaceArray */ - @ApiModelProperty(value = "") + @Schema(name = "namespace_array", required = false) public List getNamespaceArray() { return namespaceArray; } @@ -605,7 +604,7 @@ public class XmlItem { * @return namespaceWrappedArray */ - @ApiModelProperty(value = "") + @Schema(name = "namespace_wrapped_array", required = false) public List getNamespaceWrappedArray() { return namespaceWrappedArray; } @@ -624,7 +623,7 @@ public class XmlItem { * @return prefixNsString */ - @ApiModelProperty(example = "string", value = "") + @Schema(name = "prefix_ns_string", example = "string", required = false) public String getPrefixNsString() { return prefixNsString; } @@ -643,7 +642,7 @@ public class XmlItem { * @return prefixNsNumber */ @Valid - @ApiModelProperty(example = "1.234", value = "") + @Schema(name = "prefix_ns_number", example = "1.234", required = false) public BigDecimal getPrefixNsNumber() { return prefixNsNumber; } @@ -662,7 +661,7 @@ public class XmlItem { * @return prefixNsInteger */ - @ApiModelProperty(example = "-2", value = "") + @Schema(name = "prefix_ns_integer", example = "-2", required = false) public Integer getPrefixNsInteger() { return prefixNsInteger; } @@ -681,7 +680,7 @@ public class XmlItem { * @return prefixNsBoolean */ - @ApiModelProperty(example = "true", value = "") + @Schema(name = "prefix_ns_boolean", example = "true", required = false) public Boolean getPrefixNsBoolean() { return prefixNsBoolean; } @@ -708,7 +707,7 @@ public class XmlItem { * @return prefixNsArray */ - @ApiModelProperty(value = "") + @Schema(name = "prefix_ns_array", required = false) public List getPrefixNsArray() { return prefixNsArray; } @@ -735,7 +734,7 @@ public class XmlItem { * @return prefixNsWrappedArray */ - @ApiModelProperty(value = "") + @Schema(name = "prefix_ns_wrapped_array", required = false) public List getPrefixNsWrappedArray() { return prefixNsWrappedArray; } diff --git a/samples/server/petstore/springboot-virtualan/src/main/resources/static/swagger-ui.html b/samples/server/petstore/springboot-virtualan/src/main/resources/static/swagger-ui.html deleted file mode 100644 index f85b6654f6..0000000000 --- a/samples/server/petstore/springboot-virtualan/src/main/resources/static/swagger-ui.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - Swagger UI - - - - - - - -
- - - - - - From bf22f38015f658794f867b61c01574cc96e1dc7b Mon Sep 17 00:00:00 2001 From: Hui Yu Date: Mon, 13 Jun 2022 15:52:02 +0800 Subject: [PATCH 072/212] [C][Client] Support freeform object (#12557) --- .../resources/C-libcurl/object-body.mustache | 36 ++++++++++++++----- .../C-libcurl/object-header.mustache | 2 +- samples/client/petstore/c/model/object.c | 36 ++++++++++++++----- samples/client/petstore/c/model/object.h | 2 +- 4 files changed, 58 insertions(+), 18 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/C-libcurl/object-body.mustache b/modules/openapi-generator/src/main/resources/C-libcurl/object-body.mustache index d106693842..9606d41d98 100644 --- a/modules/openapi-generator/src/main/resources/C-libcurl/object-body.mustache +++ b/modules/openapi-generator/src/main/resources/C-libcurl/object-body.mustache @@ -4,28 +4,48 @@ #include "object.h" object_t *object_create() { - object_t *object = malloc(sizeof(object_t)); + object_t *object = calloc(1, sizeof(object_t)); return object; } void object_free(object_t *object) { + if (!object) { + return ; + } + + if (object->temporary) { + free(object->temporary); + object->temporary = NULL; + } + free (object); } cJSON *object_convertToJSON(object_t *object) { - cJSON *item = cJSON_CreateObject(); + if (!object) { + return NULL; + } - return item; -fail: - cJSON_Delete(item); - return NULL; + if (!object->temporary) { + return cJSON_Parse("{}"); + } + + return cJSON_Parse(object->temporary); } -object_t *object_parseFromJSON(char *jsonString){ - object_t *object = NULL; +object_t *object_parseFromJSON(cJSON *json){ + if (!json) { + goto end; + } + object_t *object = object_create(); + if (!object) { + goto end; + } + object->temporary = cJSON_Print(json); return object; + end: return NULL; } diff --git a/modules/openapi-generator/src/main/resources/C-libcurl/object-header.mustache b/modules/openapi-generator/src/main/resources/C-libcurl/object-header.mustache index 18503e0c27..35bfeb60fd 100644 --- a/modules/openapi-generator/src/main/resources/C-libcurl/object-header.mustache +++ b/modules/openapi-generator/src/main/resources/C-libcurl/object-header.mustache @@ -20,7 +20,7 @@ object_t *object_create(); void object_free(object_t *object); -object_t *object_parseFromJSON(char *jsonString); +object_t *object_parseFromJSON(cJSON *json); cJSON *object_convertToJSON(object_t *object); diff --git a/samples/client/petstore/c/model/object.c b/samples/client/petstore/c/model/object.c index d106693842..9606d41d98 100644 --- a/samples/client/petstore/c/model/object.c +++ b/samples/client/petstore/c/model/object.c @@ -4,28 +4,48 @@ #include "object.h" object_t *object_create() { - object_t *object = malloc(sizeof(object_t)); + object_t *object = calloc(1, sizeof(object_t)); return object; } void object_free(object_t *object) { + if (!object) { + return ; + } + + if (object->temporary) { + free(object->temporary); + object->temporary = NULL; + } + free (object); } cJSON *object_convertToJSON(object_t *object) { - cJSON *item = cJSON_CreateObject(); + if (!object) { + return NULL; + } - return item; -fail: - cJSON_Delete(item); - return NULL; + if (!object->temporary) { + return cJSON_Parse("{}"); + } + + return cJSON_Parse(object->temporary); } -object_t *object_parseFromJSON(char *jsonString){ - object_t *object = NULL; +object_t *object_parseFromJSON(cJSON *json){ + if (!json) { + goto end; + } + object_t *object = object_create(); + if (!object) { + goto end; + } + object->temporary = cJSON_Print(json); return object; + end: return NULL; } diff --git a/samples/client/petstore/c/model/object.h b/samples/client/petstore/c/model/object.h index 18503e0c27..35bfeb60fd 100644 --- a/samples/client/petstore/c/model/object.h +++ b/samples/client/petstore/c/model/object.h @@ -20,7 +20,7 @@ object_t *object_create(); void object_free(object_t *object); -object_t *object_parseFromJSON(char *jsonString); +object_t *object_parseFromJSON(cJSON *json); cJSON *object_convertToJSON(object_t *object); From 3190084134c9ac07bf348f1567a4f6313fc590e9 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Mon, 13 Jun 2022 16:46:01 +0800 Subject: [PATCH 073/212] Test JDK 17 in github workflow (#12583) * test jdk17 in github workflow * trigger build * trigger tests * Revert "trigger build" This reverts commit 77c4d859b01a1a8f1c0202b1b2e70730a643a334. * add branch for tests * disable spring tests * trigger build * remove path * undo changes --- .github/workflows/samples-jdk17.yaml | 43 +++++++++++++++++++++++++++ .github/workflows/samples-spring.yaml | 2 -- 2 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/samples-jdk17.yaml diff --git a/.github/workflows/samples-jdk17.yaml b/.github/workflows/samples-jdk17.yaml new file mode 100644 index 0000000000..36b76e0347 --- /dev/null +++ b/.github/workflows/samples-jdk17.yaml @@ -0,0 +1,43 @@ +name: Samples JDK17 +on: + push: + paths: + # clients + - samples/openapi3/client/petstore/spring-cloud-3 + # servers + - samples/openapi3/server/petstore/springboot-3 + pull_request: + paths: + # clients + - samples/openapi3/client/petstore/spring-cloud-3 + # servers + - samples/openapi3/server/petstore/springboot-3 +jobs: + build: + name: Build with JDK17 + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + sample: + # clients + - samples/openapi3/client/petstore/spring-cloud-3 + # servers + - samples/openapi3/server/petstore/springboot-3 + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 + with: + distribution: 'temurin' + java-version: 17 + - name: Cache maven dependencies + uses: actions/cache@v3 + env: + cache-name: maven-repository + with: + path: | + ~/.m2 + key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} + - name: Build + working-directory: ${{ matrix.sample }} + run: mvn clean package diff --git a/.github/workflows/samples-spring.yaml b/.github/workflows/samples-spring.yaml index 790ae2416b..941c9f3ad2 100644 --- a/.github/workflows/samples-spring.yaml +++ b/.github/workflows/samples-spring.yaml @@ -25,7 +25,6 @@ jobs: - samples/client/petstore/spring-stubs - samples/openapi3/client/petstore/spring-stubs - samples/openapi3/client/petstore/spring-stubs-skip-default-interface - - samples/openapi3/client/petstore/spring-cloud-3 # servers - samples/server/petstore/springboot - samples/openapi3/server/petstore/springboot @@ -42,7 +41,6 @@ jobs: - samples/server/petstore/spring-boot-defaultInterface-unhandledException - samples/openapi3/server/petstore/spring-boot-oneof - samples/server/petstore/springboot-virtualan - - samples/openapi3/server/petstore/springboot-3 steps: - uses: actions/checkout@v3 - uses: actions/setup-java@v3 From a00ae4631d5d4a2b86dcc4886d72ce4f565168f7 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Mon, 13 Jun 2022 07:45:15 -0700 Subject: [PATCH 074/212] Fixes double serialization bug in python-experimental (#12561) * Partial template update, simplifies ref6570 serialization * Updated serialization * Typo fixes * Fixes test_query_style_form_serialization * Fixes test_cookie_style_form_serialization * FIxes test_style_simple_in_path_serialization * Fixes test_style_simple_in_header_serialization * Fixes many parameter tests * Deletes duplicate method * Fixes TestParameter.test_path_params_no_style * Fixes test_style_pipe_delimited_serialization * Fixes test_header_params_no_style * Fixes test_style_space_delimited_serialization * Fixes test_query_style_form_serialization * Fixes test_cookie_style_form_serialization * Fixes test_query_params_no_style * Fixes test_cookie_params_no_style * Fixes test_delete_endpoint_without_request_body * Fixes all tests * Reverts version file * Adds test_get_user_by_name to test path param url encoding * Adds test_body_with_query_params * Samples regenerated --- .../python-experimental/api_client.handlebars | 550 +++++++++--------- .../python-experimental/endpoint.handlebars | 21 +- .../python-experimental/rest.handlebars | 29 +- .../call_123_test_special_tags.py | 3 +- .../api/default_api_endpoints/foo_get.py | 3 +- ...ditional_properties_with_array_of_enums.py | 3 +- .../api/fake_api_endpoints/array_model.py | 3 +- .../api/fake_api_endpoints/array_of_enums.py | 3 +- .../body_with_file_schema.py | 3 +- .../body_with_query_params.py | 13 +- .../api/fake_api_endpoints/boolean.py | 3 +- .../case_sensitive_params.py | 13 +- .../api/fake_api_endpoints/client_model.py | 3 +- .../composed_one_of_different_types.py | 3 +- .../api/fake_api_endpoints/delete_coffee.py | 7 +- .../fake_api_endpoints/endpoint_parameters.py | 3 +- .../api/fake_api_endpoints/enum_parameters.py | 13 +- .../api/fake_api_endpoints/fake_health_get.py | 3 +- .../fake_api_endpoints/group_parameters.py | 13 +- .../inline_additional_properties.py | 3 +- .../fake_api_endpoints/inline_composition.py | 13 +- .../api/fake_api_endpoints/json_form_data.py | 3 +- .../fake_api_endpoints/json_with_charset.py | 3 +- .../api/fake_api_endpoints/mammal.py | 3 +- .../number_with_validations.py | 3 +- .../api/fake_api_endpoints/object_in_query.py | 13 +- .../object_model_with_ref_props.py | 3 +- .../parameter_collisions.py | 17 +- .../query_parameter_collection_format.py | 13 +- .../fake_api_endpoints/ref_object_in_query.py | 13 +- .../response_without_schema.py | 3 +- .../api/fake_api_endpoints/string.py | 3 +- .../api/fake_api_endpoints/string_enum.py | 3 +- .../upload_download_file.py | 3 +- .../api/fake_api_endpoints/upload_file.py | 3 +- .../api/fake_api_endpoints/upload_files.py | 3 +- .../classname.py | 3 +- .../api/pet_api_endpoints/add_pet.py | 3 +- .../api/pet_api_endpoints/delete_pet.py | 7 +- .../pet_api_endpoints/find_pets_by_status.py | 13 +- .../pet_api_endpoints/find_pets_by_tags.py | 13 +- .../api/pet_api_endpoints/get_pet_by_id.py | 7 +- .../api/pet_api_endpoints/update_pet.py | 3 +- .../pet_api_endpoints/update_pet_with_form.py | 7 +- .../upload_file_with_required_file.py | 7 +- .../api/pet_api_endpoints/upload_image.py | 7 +- .../api/store_api_endpoints/delete_order.py | 7 +- .../api/store_api_endpoints/get_inventory.py | 3 +- .../store_api_endpoints/get_order_by_id.py | 7 +- .../api/store_api_endpoints/place_order.py | 3 +- .../api/user_api_endpoints/create_user.py | 3 +- .../create_users_with_array_input.py | 3 +- .../create_users_with_list_input.py | 3 +- .../api/user_api_endpoints/delete_user.py | 7 +- .../user_api_endpoints/get_user_by_name.py | 7 +- .../api/user_api_endpoints/login_user.py | 13 +- .../api/user_api_endpoints/logout_user.py | 3 +- .../api/user_api_endpoints/update_user.py | 7 +- .../petstore_api/api_client.py | 550 +++++++++--------- .../python-experimental/petstore_api/rest.py | 29 +- .../tests_manual/__init__.py | 104 ++++ .../tests_manual/test_configuration.py | 2 - .../tests_manual/test_fake_api.py | 277 ++++----- .../tests_manual/test_parameters.py | 444 +++++++------- .../tests_manual/test_request_body.py | 4 +- .../tests_manual/test_user_api.py | 108 ++++ 66 files changed, 1374 insertions(+), 1077 deletions(-) create mode 100644 samples/openapi3/client/petstore/python-experimental/tests_manual/test_user_api.py diff --git a/modules/openapi-generator/src/main/resources/python-experimental/api_client.handlebars b/modules/openapi-generator/src/main/resources/python-experimental/api_client.handlebars index b72a961ed1..38b68c510c 100644 --- a/modules/openapi-generator/src/main/resources/python-experimental/api_client.handlebars +++ b/modules/openapi-generator/src/main/resources/python-experimental/api_client.handlebars @@ -49,9 +49,12 @@ class RequestField(RequestFieldBase): class JSONEncoder(json.JSONEncoder): def default(self, obj): - if isinstance(obj, (str, int, float)): - # instances based on primitive classes - return obj + if isinstance(obj, str): + return str(obj) + elif isinstance(obj, float): + return float(obj) + elif isinstance(obj, int): + return int(obj) elif isinstance(obj, Decimal): if obj.as_tuple().exponent >= 0: return int(obj) @@ -84,180 +87,175 @@ class ParameterStyle(enum.Enum): DEEP_OBJECT = 'deepObject' +class PrefixSeparatorIterator: + # A class to store prefixes and separators for rfc6570 expansions + + def __init__(self, prefix: str, separator: str): + self.prefix = prefix + self.separator = separator + self.first = True + if separator in {'.', '|', '%20'}: + item_separator = separator + else: + item_separator = ',' + self.item_separator = item_separator + + def __iter__(self): + return self + + def __next__(self): + if self.first: + self.first = False + return self.prefix + return self.separator + + class ParameterSerializerBase: - @staticmethod - def __serialize_number( - in_data: typing.Union[int, float], name: str, prefix='' - ) -> typing.Tuple[typing.Tuple[str, str]]: - return tuple([(name, prefix + str(in_data))]) + @classmethod + def get_default_explode(cls, style: ParameterStyle) -> bool: + return False @staticmethod - def __serialize_str( - in_data: str, name: str, prefix='' - ) -> typing.Tuple[typing.Tuple[str, str]]: - return tuple([(name, prefix + quote(in_data))]) - - @staticmethod - def __serialize_bool(in_data: bool, name: str, prefix='') -> typing.Tuple[typing.Tuple[str, str]]: - if in_data: - return tuple([(name, prefix + 'true')]) - return tuple([(name, prefix + 'false')]) - - @staticmethod - def __urlencode(in_data: typing.Any) -> str: - return quote(str(in_data)) - - def __serialize_list( - self, - in_data: typing.List[typing.Any], - style: ParameterStyle, - name: str, - explode: bool, - empty_val: typing.Union[typing.Tuple[str, str], typing.Tuple] = tuple(), - prefix: str = '', - separator: str = ',', - ) -> typing.Tuple[typing.Union[typing.Tuple[str, str], typing.Tuple], ...]: - if not in_data: - return empty_val - if explode and style in { - ParameterStyle.FORM, - ParameterStyle.MATRIX, - ParameterStyle.SPACE_DELIMITED, - ParameterStyle.PIPE_DELIMITED - }: - if style is ParameterStyle.FORM: - return tuple((name, prefix + self.__urlencode(val)) for val in in_data) - else: - joined_vals = prefix + separator.join(name + '=' + self.__urlencode(val) for val in in_data) - else: - joined_vals = prefix + separator.join(map(self.__urlencode, in_data)) - return tuple([(name, joined_vals)]) - - def __form_item_representation(self, in_data: typing.Any) -> typing.Optional[str]: - if isinstance(in_data, none_type): + def __ref6570_item_value(in_data: typing.Any, percent_encode: bool): + """ + Get representation if str/float/int/None/items in list/ values in dict + None is returned if an item is undefined, use cases are value= + - None + - [] + - {} + - [None, None None] + - {'a': None, 'b': None} + """ + if type(in_data) in {str, float, int}: + if percent_encode: + return quote(str(in_data)) + return str(in_data) + elif isinstance(in_data, none_type): + # ignored by the expansion process https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.1 return None - elif isinstance(in_data, list): - if not in_data: - return None - raise ApiValueError('Unable to generate a form representation of {}'.format(in_data)) - elif isinstance(in_data, dict): - if not in_data: - return None - raise ApiValueError('Unable to generate a form representation of {}'.format(in_data)) - elif isinstance(in_data, (bool, bytes)): - raise ApiValueError('Unable to generate a form representation of {}'.format(in_data)) - # str, float, int - return self.__urlencode(in_data) + elif isinstance(in_data, list) and not in_data: + # ignored by the expansion process https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.1 + return None + elif isinstance(in_data, dict) and not in_data: + # ignored by the expansion process https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.1 + return None + raise ApiValueError('Unable to generate a ref6570 item representation of {}'.format(in_data)) - def __serialize_dict( - self, - in_data: typing.Dict[str, typing.Any], - style: ParameterStyle, - name: str, + @staticmethod + def to_dict(name: str, value: str): + return {name: value} + + @classmethod + def ref6570_expansion( + cls, + variable_name: str, + in_data: typing.Any, explode: bool, - empty_val: typing.Union[typing.Tuple[str, str], typing.Tuple] = tuple(), - prefix: str = '', - separator: str = ',', - ) -> typing.Tuple[typing.Tuple[str, str]]: - if not in_data: - return empty_val - if all(val is None for val in in_data.values()): - return empty_val - - form_items = {} - if style is ParameterStyle.FORM: - for key, val in in_data.items(): - new_val = self.__form_item_representation(val) - if new_val is None: - continue - form_items[key] = new_val - - if explode: - if style is ParameterStyle.FORM: - return tuple((key, prefix + val) for key, val in form_items.items()) - elif style in { - ParameterStyle.SIMPLE, - ParameterStyle.LABEL, - ParameterStyle.MATRIX, - ParameterStyle.SPACE_DELIMITED, - ParameterStyle.PIPE_DELIMITED - }: - joined_vals = prefix + separator.join(key + '=' + self.__urlencode(val) for key, val in in_data.items()) - else: - raise ApiValueError(f'Invalid style {style} for dict serialization with explode=True') - elif style is ParameterStyle.FORM: - joined_vals = prefix + separator.join(key + separator + val for key, val in form_items.items()) - else: - joined_vals = prefix + separator.join( - key + separator + self.__urlencode(val) for key, val in in_data.items()) - return tuple([(name, joined_vals)]) - - def _serialize_x( - self, - in_data: typing.Union[None, int, float, str, bool, dict, list], - style: ParameterStyle, - name: str, - explode: bool, - empty_val: typing.Union[typing.Tuple[str, str], typing.Tuple] = (), - prefix: str = '', - separator: str = ',', - ) -> typing.Tuple[typing.Tuple[str, str], ...]: - if isinstance(in_data, none_type): - return empty_val - elif isinstance(in_data, bool): - # must be before int check - return self.__serialize_bool(in_data, name=name, prefix=prefix) - elif isinstance(in_data, (int, float)): - return self.__serialize_number(in_data, name=name, prefix=prefix) - elif isinstance(in_data, str): - return self.__serialize_str(in_data, name=name, prefix=prefix) + percent_encode: bool, + prefix_separator_iterator: PrefixSeparatorIterator + ) -> str: + """ + Separator is for separate variables like dict with explode true, not for array item separation + """ + named_parameter_expansion = prefix_separator_iterator.separator in {'&', ';'} + var_name_piece = variable_name if named_parameter_expansion else '' + if type(in_data) in {str, float, int}: + item_value = cls.__ref6570_item_value(in_data, percent_encode) + if item_value is None: + return next(prefix_separator_iterator) + var_name_piece + elif item_value == '' and prefix_separator_iterator.separator == ';': + return next(prefix_separator_iterator) + var_name_piece + value_pair_equals = '=' if named_parameter_expansion else '' + return next(prefix_separator_iterator) + var_name_piece + value_pair_equals + item_value + elif isinstance(in_data, none_type): + # ignored by the expansion process https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.1 + return "" elif isinstance(in_data, list): - return self.__serialize_list( - in_data, - style=style, - name=name, - explode=explode, - empty_val=empty_val, - prefix=prefix, - separator=separator + item_values = [cls.__ref6570_item_value(v, percent_encode) for v in in_data] + item_values = [v for v in item_values if v is not None] + if not item_values: + # ignored by the expansion process https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.1 + return "" + value_pair_equals = '=' if named_parameter_expansion else '' + if not explode: + return ( + next(prefix_separator_iterator) + + var_name_piece + + value_pair_equals + + prefix_separator_iterator.item_separator.join(item_values) + ) + # exploded + return next(prefix_separator_iterator) + next(prefix_separator_iterator).join( + [var_name_piece + value_pair_equals + val for val in item_values] ) elif isinstance(in_data, dict): - return self.__serialize_dict( - in_data, - style=style, - name=name, - explode=explode, - empty_val=empty_val, - prefix=prefix, - separator=separator + in_data_transformed = {key: cls.__ref6570_item_value(val, percent_encode) for key, val in in_data.items()} + in_data_transformed = {key: val for key, val in in_data_transformed.items() if val is not None} + if not in_data_transformed: + # ignored by the expansion process https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.1 + return "" + value_pair_equals = '=' if named_parameter_expansion else '' + if not explode: + return ( + next(prefix_separator_iterator) + + var_name_piece + value_pair_equals + + prefix_separator_iterator.item_separator.join( + prefix_separator_iterator.item_separator.join( + item_pair + ) for item_pair in in_data_transformed.items() + ) + ) + # exploded + return next(prefix_separator_iterator) + next(prefix_separator_iterator).join( + [key + '=' + val for key, val in in_data_transformed.items()] ) + # bool, bytes, etc + raise ApiValueError('Unable to generate a ref6570 representation of {}'.format(in_data)) class StyleFormSerializer(ParameterSerializerBase): + @classmethod + def get_default_explode(cls, style: ParameterStyle) -> bool: + if style is ParameterStyle.FORM: + return True + return super().get_default_explode(style) - def _serialize_form( + def serialize_form( self, in_data: typing.Union[None, int, float, str, bool, dict, list], name: str, explode: bool, - ) -> typing.Tuple[typing.Tuple[str, str], ...]: - return self._serialize_x(in_data, style=ParameterStyle.FORM, name=name, explode=explode) + percent_encode: bool, + prefix_separator_iterator: typing.Optional[PrefixSeparatorIterator] = None + ) -> str: + if prefix_separator_iterator is None: + prefix_separator_iterator = PrefixSeparatorIterator('?', '&') + return self.ref6570_expansion( + variable_name=name, + in_data=in_data, + explode=explode, + percent_encode=percent_encode, + prefix_separator_iterator=prefix_separator_iterator + ) class StyleSimpleSerializer(ParameterSerializerBase): - def _serialize_simple_tuple( + def serialize_simple( self, in_data: typing.Union[None, int, float, str, bool, dict, list], name: str, explode: bool, - in_type: ParameterInType, - ) -> typing.Tuple[typing.Tuple[str, str], ...]: - if in_type is ParameterInType.HEADER: - empty_val = () - else: - empty_val = ((name, ''),) - return self._serialize_x(in_data, style=ParameterStyle.SIMPLE, name=name, explode=explode, empty_val=empty_val) + percent_encode: bool + ) -> str: + prefix_separator_iterator = PrefixSeparatorIterator('', ',') + return self.ref6570_expansion( + variable_name=name, + in_data=in_data, + explode=explode, + percent_encode=percent_encode, + prefix_separator_iterator=prefix_separator_iterator + ) @dataclass @@ -345,8 +343,8 @@ class ParameterBase: def _serialize_json( self, in_data: typing.Union[None, int, float, str, bool, dict, list] - ) -> typing.Tuple[typing.Tuple[str, str]]: - return tuple([(self.name, json.dumps(in_data))]) + ) -> str: + return json.dumps(in_data) class PathParameter(ParameterBase, StyleSimpleSerializer): @@ -372,56 +370,45 @@ class PathParameter(ParameterBase, StyleSimpleSerializer): content=content ) - def __serialize_label( + def _serialize_label( self, in_data: typing.Union[None, int, float, str, bool, dict, list] ) -> typing.Dict[str, str]: - empty_val = ((self.name, ''),) - prefix = '.' - separator = '.' - return self._remove_empty_and_cast( - self._serialize_x( - in_data, - style=ParameterStyle.LABEL, - name=self.name, - explode=self.explode, - empty_val=empty_val, - prefix=prefix, - separator=separator - ) + prefix_separator_iterator = PrefixSeparatorIterator('.', '.') + value = self.ref6570_expansion( + variable_name=self.name, + in_data=in_data, + explode=self.explode, + percent_encode=True, + prefix_separator_iterator=prefix_separator_iterator ) + return self.to_dict(self.name, value) - def __serialize_matrix( + def _serialize_matrix( self, in_data: typing.Union[None, int, float, str, bool, dict, list] ) -> typing.Dict[str, str]: - separator = ',' - if in_data == '': - prefix = ';' + self.name - elif isinstance(in_data, (dict, list)) and self.explode: - prefix = ';' - separator = ';' - else: - prefix = ';' + self.name + '=' - empty_val = ((self.name, ''),) - return self._remove_empty_and_cast( - self._serialize_x( - in_data, - style=ParameterStyle.MATRIX, - name=self.name, - explode=self.explode, - prefix=prefix, - empty_val=empty_val, - separator=separator - ) + prefix_separator_iterator = PrefixSeparatorIterator(';', ';') + value = self.ref6570_expansion( + variable_name=self.name, + in_data=in_data, + explode=self.explode, + percent_encode=True, + prefix_separator_iterator=prefix_separator_iterator ) + return self.to_dict(self.name, value) def _serialize_simple( self, in_data: typing.Union[None, int, float, str, bool, dict, list], ) -> typing.Dict[str, str]: - tuple_data = self._serialize_simple_tuple(in_data, self.name, self.explode, self.in_type) - return self._remove_empty_and_cast(tuple_data) + value = self.serialize_simple( + in_data=in_data, + name=self.name, + explode=self.explode, + percent_encode=True + ) + return self.to_dict(self.name, value) def serialize( self, @@ -444,16 +431,16 @@ class PathParameter(ParameterBase, StyleSimpleSerializer): if self.style is ParameterStyle.SIMPLE: return self._serialize_simple(cast_in_data) elif self.style is ParameterStyle.LABEL: - return self.__serialize_label(cast_in_data) + return self._serialize_label(cast_in_data) elif self.style is ParameterStyle.MATRIX: - return self.__serialize_matrix(cast_in_data) + return self._serialize_matrix(cast_in_data) # self.content will be length one for content_type, schema in self.content.items(): cast_in_data = schema(in_data) cast_in_data = self._json_encoder.default(cast_in_data) if content_type == self._json_content_type: - tuple_data = self._serialize_json(cast_in_data) - return self._remove_empty_and_cast(tuple_data) + value = self._serialize_json(cast_in_data) + return self.to_dict(self.name, value) raise NotImplementedError('Serialization of {} has not yet been implemented'.format(content_type)) @@ -464,17 +451,20 @@ class QueryParameter(ParameterBase, StyleFormSerializer): name: str, required: bool = False, style: typing.Optional[ParameterStyle] = None, - explode: bool = False, + explode: typing.Optional[bool] = None, allow_reserved: typing.Optional[bool] = None, schema: typing.Optional[typing.Type[Schema]] = None, content: typing.Optional[typing.Dict[str, typing.Type[Schema]]] = None ): + used_style = ParameterStyle.FORM if style is None and content is None and schema else style + used_explode = self.get_default_explode(used_style) if explode is None else explode + super().__init__( name, in_type=ParameterInType.QUERY, required=required, - style=style, - explode=explode, + style=used_style, + explode=used_explode, allow_reserved=allow_reserved, schema=schema, content=content @@ -482,39 +472,68 @@ class QueryParameter(ParameterBase, StyleFormSerializer): def __serialize_space_delimited( self, - in_data: typing.Union[None, int, float, str, bool, dict, list] - ) -> typing.Tuple[typing.Tuple[str, str], ...]: - separator = '%20' - empty_val = () - return self._serialize_x( - in_data, - style=ParameterStyle.SPACE_DELIMITED, - name=self.name, + in_data: typing.Union[None, int, float, str, bool, dict, list], + prefix_separator_iterator: typing.Optional[PrefixSeparatorIterator] + ) -> typing.Dict[str, str]: + if prefix_separator_iterator is None: + prefix_separator_iterator = self.get_prefix_separator_iterator() + value = self.ref6570_expansion( + variable_name=self.name, + in_data=in_data, explode=self.explode, - separator=separator, - empty_val=empty_val + percent_encode=True, + prefix_separator_iterator=prefix_separator_iterator ) + return self.to_dict(self.name, value) def __serialize_pipe_delimited( self, - in_data: typing.Union[None, int, float, str, bool, dict, list] - ) -> typing.Tuple[typing.Tuple[str, str], ...]: - separator = '|' - empty_val = () - return self._serialize_x( + in_data: typing.Union[None, int, float, str, bool, dict, list], + prefix_separator_iterator: typing.Optional[PrefixSeparatorIterator] + ) -> typing.Dict[str, str]: + if prefix_separator_iterator is None: + prefix_separator_iterator = self.get_prefix_separator_iterator() + value = self.ref6570_expansion( + variable_name=self.name, + in_data=in_data, + explode=self.explode, + percent_encode=True, + prefix_separator_iterator=prefix_separator_iterator + ) + return self.to_dict(self.name, value) + + def __serialize_form( + self, + in_data: typing.Union[None, int, float, str, bool, dict, list], + prefix_separator_iterator: typing.Optional[PrefixSeparatorIterator] + ) -> typing.Dict[str, str]: + if prefix_separator_iterator is None: + prefix_separator_iterator = self.get_prefix_separator_iterator() + value = self.serialize_form( in_data, - style=ParameterStyle.PIPE_DELIMITED, name=self.name, explode=self.explode, - separator=separator, - empty_val=empty_val + percent_encode=True, + prefix_separator_iterator=prefix_separator_iterator ) + return self.to_dict(self.name, value) + + def get_prefix_separator_iterator(self) -> typing.Optional[PrefixSeparatorIterator]: + if not self.schema: + return None + if self.style is ParameterStyle.FORM: + return PrefixSeparatorIterator('?', '&') + elif self.style is ParameterStyle.SPACE_DELIMITED: + return PrefixSeparatorIterator('', '%20') + elif self.style is ParameterStyle.PIPE_DELIMITED: + return PrefixSeparatorIterator('', '|') def serialize( self, in_data: typing.Union[ - Schema, Decimal, int, float, str, date, datetime, None, bool, list, tuple, dict, frozendict] - ) -> typing.Tuple[typing.Tuple[str, str]]: + Schema, Decimal, int, float, str, date, datetime, None, bool, list, tuple, dict, frozendict], + prefix_separator_iterator: typing.Optional[PrefixSeparatorIterator] = None + ) -> typing.Dict[str, str]: if self.schema: cast_in_data = self.schema(in_data) cast_in_data = self._json_encoder.default(cast_in_data) @@ -534,17 +553,18 @@ class QueryParameter(ParameterBase, StyleFormSerializer): if self.style: # TODO update query ones to omit setting values when [] {} or None is input if self.style is ParameterStyle.FORM: - return self._serialize_form(cast_in_data, explode=self.explode, name=self.name) + return self.__serialize_form(cast_in_data, prefix_separator_iterator) elif self.style is ParameterStyle.SPACE_DELIMITED: - return self.__serialize_space_delimited(cast_in_data) + return self.__serialize_space_delimited(cast_in_data, prefix_separator_iterator) elif self.style is ParameterStyle.PIPE_DELIMITED: - return self.__serialize_pipe_delimited(cast_in_data) + return self.__serialize_pipe_delimited(cast_in_data, prefix_separator_iterator) # self.content will be length one for content_type, schema in self.content.items(): cast_in_data = schema(in_data) cast_in_data = self._json_encoder.default(cast_in_data) if content_type == self._json_content_type: - return self._serialize_json(cast_in_data) + value = self._serialize_json(cast_in_data) + return self.to_dict(self.name, value) raise NotImplementedError('Serialization of {} has not yet been implemented'.format(content_type)) @@ -555,17 +575,20 @@ class CookieParameter(ParameterBase, StyleFormSerializer): name: str, required: bool = False, style: typing.Optional[ParameterStyle] = None, - explode: bool = False, + explode: typing.Optional[bool] = None, allow_reserved: typing.Optional[bool] = None, schema: typing.Optional[typing.Type[Schema]] = None, content: typing.Optional[typing.Dict[str, typing.Type[Schema]]] = None ): + used_style = ParameterStyle.FORM if style is None and content is None and schema else style + used_explode = self.get_default_explode(used_style) if explode is None else explode + super().__init__( name, in_type=ParameterInType.COOKIE, required=required, - style=style, - explode=explode, + style=used_style, + explode=used_explode, allow_reserved=allow_reserved, schema=schema, content=content @@ -575,7 +598,7 @@ class CookieParameter(ParameterBase, StyleFormSerializer): self, in_data: typing.Union[ Schema, Decimal, int, float, str, date, datetime, None, bool, list, tuple, dict, frozendict] - ) -> typing.Tuple[typing.Tuple[str, str]]: + ) -> typing.Dict[str, str]: if self.schema: cast_in_data = self.schema(in_data) cast_in_data = self._json_encoder.default(cast_in_data) @@ -584,13 +607,25 @@ class CookieParameter(ParameterBase, StyleFormSerializer): returns fields: tuple """ if self.style: - return self._serialize_form(cast_in_data, explode=self.explode, name=self.name) + """ + TODO add escaping of comma, space, equals + or turn encoding on + """ + value = self.serialize_form( + cast_in_data, + explode=self.explode, + name=self.name, + percent_encode=False, + prefix_separator_iterator=PrefixSeparatorIterator('', '&') + ) + return self.to_dict(self.name, value) # self.content will be length one for content_type, schema in self.content.items(): cast_in_data = schema(in_data) cast_in_data = self._json_encoder.default(cast_in_data) if content_type == self._json_content_type: - return self._serialize_json(cast_in_data) + value = self._serialize_json(cast_in_data) + return self.to_dict(self.name, value) raise NotImplementedError('Serialization of {} has not yet been implemented'.format(content_type)) @@ -628,9 +663,8 @@ class HeaderParameter(ParameterBase, StyleSimpleSerializer): def _serialize_simple( self, in_data: typing.Union[None, int, float, str, bool, dict, list], - ) -> HTTPHeaderDict[str, str]: - tuple_data = self._serialize_simple_tuple(in_data, self.name, self.explode, self.in_type) - return self.__to_headers(tuple_data) + ) -> str: + return self.serialize_simple(in_data, self.name, self.explode, False) def serialize( self, @@ -646,14 +680,15 @@ class HeaderParameter(ParameterBase, StyleSimpleSerializer): returns headers: dict """ if self.style: - return self._serialize_simple(cast_in_data) + value = self._serialize_simple(cast_in_data) + return self.__to_headers(((self.name, value),)) # self.content will be length one for content_type, schema in self.content.items(): cast_in_data = schema(in_data) cast_in_data = self._json_encoder.default(cast_in_data) if content_type == self._json_content_type: - tuple_data = self._serialize_json(cast_in_data) - return self.__to_headers(tuple_data) + value = self._serialize_json(cast_in_data) + return self.__to_headers(((self.name, value),)) raise NotImplementedError('Serialization of {} has not yet been implemented'.format(content_type)) @@ -934,8 +969,6 @@ class ApiClient: self, resource_path: str, method: str, - path_params: typing.Optional[typing.Dict[str, typing.Any]] = None, - query_params: typing.Optional[typing.Tuple[typing.Tuple[str, str], ...]] = None, headers: typing.Optional[HTTPHeaderDict] = None, body: typing.Optional[typing.Union[str, bytes]] = None, fields: typing.Optional[typing.Tuple[typing.Tuple[str, str], ...]] = None, @@ -951,17 +984,8 @@ class ApiClient: if self.cookie: headers['Cookie'] = self.cookie - # path parameters - if path_params: - for k, v in path_params.items(): - # specified safe chars, encode everything - resource_path = resource_path.replace( - '{%s}' % k, - quote(str(v), safe=self.configuration.safe_chars_for_path_param) - ) - # auth setting - self.update_params_for_auth(headers, query_params, + self.update_params_for_auth(headers, auth_settings, resource_path, method, body) # request url @@ -975,7 +999,6 @@ class ApiClient: response = {{#if asyncio}}await {{/if}}{{#if tornado}}yield {{/if}}self.request( method, url, - query_params=query_params, headers=headers, fields=fields, body=body, @@ -988,8 +1011,6 @@ class ApiClient: self, resource_path: str, method: str, - path_params: typing.Optional[typing.Dict[str, typing.Any]] = None, - query_params: typing.Optional[typing.Tuple[typing.Tuple[str, str], ...]] = None, headers: typing.Optional[HTTPHeaderDict] = None, body: typing.Optional[typing.Union[str, bytes]] = None, fields: typing.Optional[typing.Tuple[typing.Tuple[str, str], ...]] = None, @@ -1005,8 +1026,6 @@ class ApiClient: :param resource_path: Path to method endpoint. :param method: Method to call. - :param path_params: Path parameters in the url. - :param query_params: Query parameters in the url. :param headers: Header parameters to be placed in the request header. :param body: Request body. @@ -1039,8 +1058,6 @@ class ApiClient: return self.__call_api( resource_path, method, - path_params, - query_params, headers, body, fields, @@ -1055,8 +1072,6 @@ class ApiClient: ( resource_path, method, - path_params, - query_params, headers, body, json, @@ -1072,7 +1087,6 @@ class ApiClient: self, method: str, url: str, - query_params: typing.Optional[typing.Tuple[typing.Tuple[str, str], ...]] = None, headers: typing.Optional[HTTPHeaderDict] = None, fields: typing.Optional[typing.Tuple[typing.Tuple[str, str], ...]] = None, body: typing.Optional[typing.Union[str, bytes]] = None, @@ -1082,19 +1096,16 @@ class ApiClient: """Makes the HTTP request using RESTClient.""" if method == "GET": return self.rest_client.GET(url, - query_params=query_params, stream=stream, timeout=timeout, headers=headers) elif method == "HEAD": return self.rest_client.HEAD(url, - query_params=query_params, stream=stream, timeout=timeout, headers=headers) elif method == "OPTIONS": return self.rest_client.OPTIONS(url, - query_params=query_params, headers=headers, fields=fields, stream=stream, @@ -1102,7 +1113,6 @@ class ApiClient: body=body) elif method == "POST": return self.rest_client.POST(url, - query_params=query_params, headers=headers, fields=fields, stream=stream, @@ -1110,7 +1120,6 @@ class ApiClient: body=body) elif method == "PUT": return self.rest_client.PUT(url, - query_params=query_params, headers=headers, fields=fields, stream=stream, @@ -1118,7 +1127,6 @@ class ApiClient: body=body) elif method == "PATCH": return self.rest_client.PATCH(url, - query_params=query_params, headers=headers, fields=fields, stream=stream, @@ -1126,7 +1134,6 @@ class ApiClient: body=body) elif method == "DELETE": return self.rest_client.DELETE(url, - query_params=query_params, headers=headers, stream=stream, timeout=timeout, @@ -1137,12 +1144,11 @@ class ApiClient: " `POST`, `PATCH`, `PUT` or `DELETE`." ) - def update_params_for_auth(self, headers, querys, auth_settings, + def update_params_for_auth(self, headers, auth_settings, resource_path, method, body): """Updates header and query params based on authentication setting. :param headers: Header parameters dict to be updated. - :param querys: Query parameters tuple list to be updated. :param auth_settings: Authentication setting identifiers list. :param resource_path: A string representation of the HTTP request resource path. :param method: A string representation of the HTTP request method. @@ -1165,13 +1171,18 @@ class ApiClient: # The HTTP signature scheme requires multiple HTTP headers # that are calculated dynamically. signing_info = self.configuration.signing_info + querys = tuple() auth_headers = signing_info.get_http_signature_headers( resource_path, method, headers, body, querys) for key, value in auth_headers.items(): headers.add(key, value) {{/if}} elif auth_setting['in'] == 'query': - querys.append((auth_setting['key'], auth_setting['value'])) + """ TODO implement auth in query + need to pass in prefix_separator_iterator + and need to output resource_path with query params added + """ + raise ApiValueError("Auth in query not yet implemented") else: raise ApiValueError( 'Authentication token must be in `query` or `header`' @@ -1374,15 +1385,16 @@ class RequestBody(StyleFormSerializer, JSONDetector): def __serialize_application_x_www_form_data( self, in_data: typing.Any - ) -> typing.Dict[str, tuple[tuple[str, str], ...]]: + ) -> SerializedRequestBody: + """ + POST submission of form data in body + """ if not isinstance(in_data, frozendict): raise ValueError( f'Unable to serialize {in_data} to application/x-www-form-urlencoded because it is not a dict of data') cast_in_data = self.__json_encoder.default(in_data) - fields = self._serialize_form(cast_in_data, explode=True, name='') - if not fields: - return {} - return {'fields': fields} + value = self.serialize_form(cast_in_data, name='', explode=True, percent_encode=False) + return dict(body=value) def serialize( self, in_data: typing.Any, content_type: str diff --git a/modules/openapi-generator/src/main/resources/python-experimental/endpoint.handlebars b/modules/openapi-generator/src/main/resources/python-experimental/endpoint.handlebars index eec855c368..cb2c0191b3 100644 --- a/modules/openapi-generator/src/main/resources/python-experimental/endpoint.handlebars +++ b/modules/openapi-generator/src/main/resources/python-experimental/endpoint.handlebars @@ -436,6 +436,7 @@ class {{operationIdCamelCase}}(api_client.Api): {{#if cookieParams}} self._verify_typed_dict_inputs(RequestCookieParams, cookie_params) {{/if}} + used_path = _path {{#if pathParams}} _path_params = {} @@ -449,10 +450,13 @@ class {{operationIdCamelCase}}(api_client.Api): continue serialized_data = parameter.serialize(parameter_data) _path_params.update(serialized_data) + + for k, v in _path_params.items(): + used_path = used_path.replace('{%s}' % k, v) {{/if}} {{#if queryParams}} - _query_params = [] + prefix_separator_iterator = None for parameter in ( {{#each queryParams}} request_query_{{paramName}}, @@ -461,8 +465,11 @@ class {{operationIdCamelCase}}(api_client.Api): parameter_data = query_params.get(parameter.name, unset) if parameter_data is unset: continue - serialized_data = parameter.serialize(parameter_data) - _query_params.extend(serialized_data) + if prefix_separator_iterator is None: + prefix_separator_iterator = parameter.get_prefix_separator_iterator() + serialized_data = parameter.serialize(parameter_data, prefix_separator_iterator) + for serialized_value in serialized_data.values(): + used_path += serialized_value {{/if}} {{#or headerParams bodyParam produces}} @@ -509,14 +516,8 @@ class {{operationIdCamelCase}}(api_client.Api): {{/if}} response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - {{#if pathParams}} - path_params=_path_params, - {{/if}} - {{#if queryParams}} - query_params=tuple(_query_params), - {{/if}} {{#or headerParams bodyParam produces}} headers=_headers, {{/or}} diff --git a/modules/openapi-generator/src/main/resources/python-experimental/rest.handlebars b/modules/openapi-generator/src/main/resources/python-experimental/rest.handlebars index 1fa9f555ed..b181139616 100644 --- a/modules/openapi-generator/src/main/resources/python-experimental/rest.handlebars +++ b/modules/openapi-generator/src/main/resources/python-experimental/rest.handlebars @@ -83,7 +83,6 @@ class RESTClientObject(object): self, method: str, url: str, - query_params: typing.Optional[typing.Tuple[typing.Tuple[str, str], ...]] = None, headers: typing.Optional[HTTPHeaderDict] = None, fields: typing.Optional[typing.Tuple[typing.Tuple[str, typing.Any], ...]] = None, body: typing.Optional[typing.Union[str, bytes]] = None, @@ -94,7 +93,6 @@ class RESTClientObject(object): :param method: http request method :param url: http request url - :param query_params: query parameters in the url :param headers: http request headers :param body: request body, for other types :param fields: request parameters for @@ -130,13 +128,10 @@ class RESTClientObject(object): try: # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']: - if query_params: - url += '?' + urlencode(query_params) if 'Content-Type' not in headers and body is None: r = self.pool_manager.request( method, url, - fields=query_params, preload_content=not stream, timeout=timeout, headers=headers @@ -181,7 +176,6 @@ class RESTClientObject(object): # For `GET`, `HEAD` else: r = self.pool_manager.request(method, url, - fields=query_params, preload_content=not stream, timeout=timeout, headers=headers) @@ -195,63 +189,58 @@ class RESTClientObject(object): return r - def GET(self, url, headers=None, query_params=None, stream=False, + def GET(self, url, headers=None, stream=False, timeout=None, fields=None) -> urllib3.HTTPResponse: return self.request("GET", url, headers=headers, stream=stream, timeout=timeout, - query_params=query_params, fields=fields) + fields=fields) - def HEAD(self, url, headers=None, query_params=None, stream=False, + def HEAD(self, url, headers=None, stream=False, timeout=None, fields=None) -> urllib3.HTTPResponse: return self.request("HEAD", url, headers=headers, stream=stream, timeout=timeout, - query_params=query_params, fields=fields) + fields=fields) - def OPTIONS(self, url, headers=None, query_params=None, + def OPTIONS(self, url, headers=None, body=None, stream=False, timeout=None, fields=None) -> urllib3.HTTPResponse: return self.request("OPTIONS", url, headers=headers, - query_params=query_params, stream=stream, timeout=timeout, body=body, fields=fields) - def DELETE(self, url, headers=None, query_params=None, body=None, + def DELETE(self, url, headers=None, body=None, stream=False, timeout=None, fields=None) -> urllib3.HTTPResponse: return self.request("DELETE", url, headers=headers, - query_params=query_params, stream=stream, timeout=timeout, body=body, fields=fields) - def POST(self, url, headers=None, query_params=None, + def POST(self, url, headers=None, body=None, stream=False, timeout=None, fields=None) -> urllib3.HTTPResponse: return self.request("POST", url, headers=headers, - query_params=query_params, stream=stream, timeout=timeout, body=body, fields=fields) - def PUT(self, url, headers=None, query_params=None, + def PUT(self, url, headers=None, body=None, stream=False, timeout=None, fields=None) -> urllib3.HTTPResponse: return self.request("PUT", url, headers=headers, - query_params=query_params, stream=stream, timeout=timeout, body=body, fields=fields) - def PATCH(self, url, headers=None, query_params=None, + def PATCH(self, url, headers=None, body=None, stream=False, timeout=None, fields=None) -> urllib3.HTTPResponse: return self.request("PATCH", url, headers=headers, - query_params=query_params, stream=stream, timeout=timeout, body=body, fields=fields) diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/another_fake_api_endpoints/call_123_test_special_tags.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/another_fake_api_endpoints/call_123_test_special_tags.py index 56af9d5ca2..61ce6b70dd 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/another_fake_api_endpoints/call_123_test_special_tags.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/another_fake_api_endpoints/call_123_test_special_tags.py @@ -126,6 +126,7 @@ class Call123TestSpecialTags(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -145,7 +146,7 @@ class Call123TestSpecialTags(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/default_api_endpoints/foo_get.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/default_api_endpoints/foo_get.py index d671e247cb..d365457ba5 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/default_api_endpoints/foo_get.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/default_api_endpoints/foo_get.py @@ -137,6 +137,7 @@ class FooGet(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -145,7 +146,7 @@ class FooGet(api_client.Api): _headers.add('Accept', accept_content_type) response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, stream=stream, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/additional_properties_with_array_of_enums.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/additional_properties_with_array_of_enums.py index 7ff42a0ec8..b810d09359 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/additional_properties_with_array_of_enums.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/additional_properties_with_array_of_enums.py @@ -125,6 +125,7 @@ class AdditionalPropertiesWithArrayOfEnums(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -142,7 +143,7 @@ class AdditionalPropertiesWithArrayOfEnums(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/array_model.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/array_model.py index e011b7055f..76fc4eb052 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/array_model.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/array_model.py @@ -124,6 +124,7 @@ class ArrayModel(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -141,7 +142,7 @@ class ArrayModel(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/array_of_enums.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/array_of_enums.py index 8caf1316be..bcd41c3397 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/array_of_enums.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/array_of_enums.py @@ -125,6 +125,7 @@ class ArrayOfEnums(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -142,7 +143,7 @@ class ArrayOfEnums(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/body_with_file_schema.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/body_with_file_schema.py index f8e55f9d06..bd6940fdea 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/body_with_file_schema.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/body_with_file_schema.py @@ -114,6 +114,7 @@ class BodyWithFileSchema(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -130,7 +131,7 @@ class BodyWithFileSchema(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/body_with_query_params.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/body_with_query_params.py index 845c9c4327..f391b867df 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/body_with_query_params.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/body_with_query_params.py @@ -143,16 +143,20 @@ class BodyWithQueryParams(api_client.Api): class instances """ self._verify_typed_dict_inputs(RequestQueryParams, query_params) + used_path = _path - _query_params = [] + prefix_separator_iterator = None for parameter in ( request_query_query, ): parameter_data = query_params.get(parameter.name, unset) if parameter_data is unset: continue - serialized_data = parameter.serialize(parameter_data) - _query_params.extend(serialized_data) + if prefix_separator_iterator is None: + prefix_separator_iterator = parameter.get_prefix_separator_iterator() + serialized_data = parameter.serialize(parameter_data, prefix_separator_iterator) + for serialized_value in serialized_data.values(): + used_path += serialized_value _headers = HTTPHeaderDict() # TODO add cookie handling @@ -169,9 +173,8 @@ class BodyWithQueryParams(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - query_params=tuple(_query_params), headers=_headers, fields=_fields, body=_body, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/boolean.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/boolean.py index 860b0e83a9..cb41c9f75b 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/boolean.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/boolean.py @@ -122,6 +122,7 @@ class Boolean(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -139,7 +140,7 @@ class Boolean(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/case_sensitive_params.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/case_sensitive_params.py index d82ce87b9f..78ad2a45b3 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/case_sensitive_params.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/case_sensitive_params.py @@ -145,8 +145,9 @@ class CaseSensitiveParams(api_client.Api): class instances """ self._verify_typed_dict_inputs(RequestQueryParams, query_params) + used_path = _path - _query_params = [] + prefix_separator_iterator = None for parameter in ( request_query_some_var, request_query_some_var2, @@ -155,14 +156,16 @@ class CaseSensitiveParams(api_client.Api): parameter_data = query_params.get(parameter.name, unset) if parameter_data is unset: continue - serialized_data = parameter.serialize(parameter_data) - _query_params.extend(serialized_data) + if prefix_separator_iterator is None: + prefix_separator_iterator = parameter.get_prefix_separator_iterator() + serialized_data = parameter.serialize(parameter_data, prefix_separator_iterator) + for serialized_value in serialized_data.values(): + used_path += serialized_value # TODO add cookie handling response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - query_params=tuple(_query_params), stream=stream, timeout=timeout, ) diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/client_model.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/client_model.py index 3ab153fac4..1b821d62cb 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/client_model.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/client_model.py @@ -126,6 +126,7 @@ class ClientModel(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -145,7 +146,7 @@ class ClientModel(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/composed_one_of_different_types.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/composed_one_of_different_types.py index a88e6edf20..28bd085987 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/composed_one_of_different_types.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/composed_one_of_different_types.py @@ -124,6 +124,7 @@ class ComposedOneOfDifferentTypes(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -141,7 +142,7 @@ class ComposedOneOfDifferentTypes(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/delete_coffee.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/delete_coffee.py index f16ebaf6b3..d92684e66a 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/delete_coffee.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/delete_coffee.py @@ -141,6 +141,7 @@ class DeleteCoffee(api_client.Api): class instances """ self._verify_typed_dict_inputs(RequestPathParams, path_params) + used_path = _path _path_params = {} for parameter in ( @@ -151,12 +152,14 @@ class DeleteCoffee(api_client.Api): continue serialized_data = parameter.serialize(parameter_data) _path_params.update(serialized_data) + + for k, v in _path_params.items(): + used_path = used_path.replace('{%s}' % k, v) # TODO add cookie handling response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - path_params=_path_params, stream=stream, timeout=timeout, ) diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/endpoint_parameters.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/endpoint_parameters.py index fbe686c3d1..51d08760c8 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/endpoint_parameters.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/endpoint_parameters.py @@ -257,6 +257,7 @@ class EndpointParameters(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -271,7 +272,7 @@ class EndpointParameters(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/enum_parameters.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/enum_parameters.py index 9e7fcd8180..eadcbb4587 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/enum_parameters.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/enum_parameters.py @@ -427,8 +427,9 @@ class EnumParameters(api_client.Api): """ self._verify_typed_dict_inputs(RequestQueryParams, query_params) self._verify_typed_dict_inputs(RequestHeaderParams, header_params) + used_path = _path - _query_params = [] + prefix_separator_iterator = None for parameter in ( request_query_enum_query_string_array, request_query_enum_query_string, @@ -438,8 +439,11 @@ class EnumParameters(api_client.Api): parameter_data = query_params.get(parameter.name, unset) if parameter_data is unset: continue - serialized_data = parameter.serialize(parameter_data) - _query_params.extend(serialized_data) + if prefix_separator_iterator is None: + prefix_separator_iterator = parameter.get_prefix_separator_iterator() + serialized_data = parameter.serialize(parameter_data, prefix_separator_iterator) + for serialized_value in serialized_data.values(): + used_path += serialized_value _headers = HTTPHeaderDict() for parameter in ( @@ -463,9 +467,8 @@ class EnumParameters(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - query_params=tuple(_query_params), headers=_headers, fields=_fields, body=_body, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/fake_health_get.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/fake_health_get.py index ba01a663ef..87d8f01968 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/fake_health_get.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/fake_health_get.py @@ -113,6 +113,7 @@ class FakeHealthGet(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -121,7 +122,7 @@ class FakeHealthGet(api_client.Api): _headers.add('Accept', accept_content_type) response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, stream=stream, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/group_parameters.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/group_parameters.py index 1c2362b929..f23fa27f15 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/group_parameters.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/group_parameters.py @@ -191,8 +191,9 @@ class GroupParameters(api_client.Api): """ self._verify_typed_dict_inputs(RequestQueryParams, query_params) self._verify_typed_dict_inputs(RequestHeaderParams, header_params) + used_path = _path - _query_params = [] + prefix_separator_iterator = None for parameter in ( request_query_required_string_group, request_query_required_int64_group, @@ -202,8 +203,11 @@ class GroupParameters(api_client.Api): parameter_data = query_params.get(parameter.name, unset) if parameter_data is unset: continue - serialized_data = parameter.serialize(parameter_data) - _query_params.extend(serialized_data) + if prefix_separator_iterator is None: + prefix_separator_iterator = parameter.get_prefix_separator_iterator() + serialized_data = parameter.serialize(parameter_data, prefix_separator_iterator) + for serialized_value in serialized_data.values(): + used_path += serialized_value _headers = HTTPHeaderDict() for parameter in ( @@ -218,9 +222,8 @@ class GroupParameters(api_client.Api): # TODO add cookie handling response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - query_params=tuple(_query_params), headers=_headers, auth_settings=_auth, stream=stream, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/inline_additional_properties.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/inline_additional_properties.py index 27f281927f..b966ddb8ff 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/inline_additional_properties.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/inline_additional_properties.py @@ -132,6 +132,7 @@ class InlineAdditionalProperties(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -148,7 +149,7 @@ class InlineAdditionalProperties(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/inline_composition.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/inline_composition.py index 352df0a9d7..06df8ec3b9 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/inline_composition.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/inline_composition.py @@ -524,8 +524,9 @@ class InlineComposition(api_client.Api): class instances """ self._verify_typed_dict_inputs(RequestQueryParams, query_params) + used_path = _path - _query_params = [] + prefix_separator_iterator = None for parameter in ( request_query_composition_at_root, request_query_composition_in_property, @@ -533,8 +534,11 @@ class InlineComposition(api_client.Api): parameter_data = query_params.get(parameter.name, unset) if parameter_data is unset: continue - serialized_data = parameter.serialize(parameter_data) - _query_params.extend(serialized_data) + if prefix_separator_iterator is None: + prefix_separator_iterator = parameter.get_prefix_separator_iterator() + serialized_data = parameter.serialize(parameter_data, prefix_separator_iterator) + for serialized_value in serialized_data.values(): + used_path += serialized_value _headers = HTTPHeaderDict() # TODO add cookie handling @@ -552,9 +556,8 @@ class InlineComposition(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - query_params=tuple(_query_params), headers=_headers, fields=_fields, body=_body, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_form_data.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_form_data.py index acd9f45f01..cc4c0f5e5d 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_form_data.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_form_data.py @@ -134,6 +134,7 @@ class JsonFormData(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -148,7 +149,7 @@ class JsonFormData(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_with_charset.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_with_charset.py index 9c6fbd6903..ea85e142df 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_with_charset.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_with_charset.py @@ -123,6 +123,7 @@ class JsonWithCharset(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -140,7 +141,7 @@ class JsonWithCharset(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/mammal.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/mammal.py index 204bbbe2a2..62af68de20 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/mammal.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/mammal.py @@ -125,6 +125,7 @@ class Mammal(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -144,7 +145,7 @@ class Mammal(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/number_with_validations.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/number_with_validations.py index 62c561b954..a805ac6751 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/number_with_validations.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/number_with_validations.py @@ -124,6 +124,7 @@ class NumberWithValidations(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -141,7 +142,7 @@ class NumberWithValidations(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/object_in_query.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/object_in_query.py index 674c383d59..aad17c08e5 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/object_in_query.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/object_in_query.py @@ -148,22 +148,25 @@ class ObjectInQuery(api_client.Api): class instances """ self._verify_typed_dict_inputs(RequestQueryParams, query_params) + used_path = _path - _query_params = [] + prefix_separator_iterator = None for parameter in ( request_query_map_bean, ): parameter_data = query_params.get(parameter.name, unset) if parameter_data is unset: continue - serialized_data = parameter.serialize(parameter_data) - _query_params.extend(serialized_data) + if prefix_separator_iterator is None: + prefix_separator_iterator = parameter.get_prefix_separator_iterator() + serialized_data = parameter.serialize(parameter_data, prefix_separator_iterator) + for serialized_value in serialized_data.values(): + used_path += serialized_value # TODO add cookie handling response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - query_params=tuple(_query_params), stream=stream, timeout=timeout, ) diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/object_model_with_ref_props.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/object_model_with_ref_props.py index 9e0d6feab2..47b010528e 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/object_model_with_ref_props.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/object_model_with_ref_props.py @@ -124,6 +124,7 @@ class ObjectModelWithRefProps(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -141,7 +142,7 @@ class ObjectModelWithRefProps(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/parameter_collisions.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/parameter_collisions.py index 12c0aa0f34..9566d007ea 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/parameter_collisions.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/parameter_collisions.py @@ -351,6 +351,7 @@ class ParameterCollisions(api_client.Api): self._verify_typed_dict_inputs(RequestHeaderParams, header_params) self._verify_typed_dict_inputs(RequestPathParams, path_params) self._verify_typed_dict_inputs(RequestCookieParams, cookie_params) + used_path = _path _path_params = {} for parameter in ( @@ -366,7 +367,10 @@ class ParameterCollisions(api_client.Api): serialized_data = parameter.serialize(parameter_data) _path_params.update(serialized_data) - _query_params = [] + for k, v in _path_params.items(): + used_path = used_path.replace('{%s}' % k, v) + + prefix_separator_iterator = None for parameter in ( request_query__1, request_query_a_b, @@ -377,8 +381,11 @@ class ParameterCollisions(api_client.Api): parameter_data = query_params.get(parameter.name, unset) if parameter_data is unset: continue - serialized_data = parameter.serialize(parameter_data) - _query_params.extend(serialized_data) + if prefix_separator_iterator is None: + prefix_separator_iterator = parameter.get_prefix_separator_iterator() + serialized_data = parameter.serialize(parameter_data, prefix_separator_iterator) + for serialized_value in serialized_data.values(): + used_path += serialized_value _headers = HTTPHeaderDict() for parameter in ( @@ -407,10 +414,8 @@ class ParameterCollisions(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - path_params=_path_params, - query_params=tuple(_query_params), headers=_headers, fields=_fields, body=_body, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/query_parameter_collection_format.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/query_parameter_collection_format.py index a699b9cc24..1a7cb1db97 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/query_parameter_collection_format.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/query_parameter_collection_format.py @@ -196,8 +196,9 @@ class QueryParameterCollectionFormat(api_client.Api): class instances """ self._verify_typed_dict_inputs(RequestQueryParams, query_params) + used_path = _path - _query_params = [] + prefix_separator_iterator = None for parameter in ( request_query_pipe, request_query_ioutil, @@ -209,14 +210,16 @@ class QueryParameterCollectionFormat(api_client.Api): parameter_data = query_params.get(parameter.name, unset) if parameter_data is unset: continue - serialized_data = parameter.serialize(parameter_data) - _query_params.extend(serialized_data) + if prefix_separator_iterator is None: + prefix_separator_iterator = parameter.get_prefix_separator_iterator() + serialized_data = parameter.serialize(parameter_data, prefix_separator_iterator) + for serialized_value in serialized_data.values(): + used_path += serialized_value # TODO add cookie handling response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - query_params=tuple(_query_params), stream=stream, timeout=timeout, ) diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/ref_object_in_query.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/ref_object_in_query.py index 7d3870b10a..ce6becc4d8 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/ref_object_in_query.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/ref_object_in_query.py @@ -129,22 +129,25 @@ class RefObjectInQuery(api_client.Api): class instances """ self._verify_typed_dict_inputs(RequestQueryParams, query_params) + used_path = _path - _query_params = [] + prefix_separator_iterator = None for parameter in ( request_query_map_bean, ): parameter_data = query_params.get(parameter.name, unset) if parameter_data is unset: continue - serialized_data = parameter.serialize(parameter_data) - _query_params.extend(serialized_data) + if prefix_separator_iterator is None: + prefix_separator_iterator = parameter.get_prefix_separator_iterator() + serialized_data = parameter.serialize(parameter_data, prefix_separator_iterator) + for serialized_value in serialized_data.values(): + used_path += serialized_value # TODO add cookie handling response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - query_params=tuple(_query_params), stream=stream, timeout=timeout, ) diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/response_without_schema.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/response_without_schema.py index 6eed5a523c..59c536759a 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/response_without_schema.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/response_without_schema.py @@ -112,6 +112,7 @@ class ResponseWithoutSchema(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -120,7 +121,7 @@ class ResponseWithoutSchema(api_client.Api): _headers.add('Accept', accept_content_type) response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, stream=stream, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/string.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/string.py index e14f80853b..50e48a52ff 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/string.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/string.py @@ -122,6 +122,7 @@ class String(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -139,7 +140,7 @@ class String(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/string_enum.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/string_enum.py index 3ed9a3b291..bee9d1aa22 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/string_enum.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/string_enum.py @@ -124,6 +124,7 @@ class StringEnum(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -141,7 +142,7 @@ class StringEnum(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_download_file.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_download_file.py index 2d5f58120b..71595e309e 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_download_file.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_download_file.py @@ -124,6 +124,7 @@ class UploadDownloadFile(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -143,7 +144,7 @@ class UploadDownloadFile(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_file.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_file.py index 66a2e5dcd4..e092ff0014 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_file.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_file.py @@ -149,6 +149,7 @@ class UploadFile(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -166,7 +167,7 @@ class UploadFile(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_files.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_files.py index a9461e803a..9da5c260ae 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_files.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_files.py @@ -151,6 +151,7 @@ class UploadFiles(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -168,7 +169,7 @@ class UploadFiles(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_classname_tags123_api_endpoints/classname.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_classname_tags123_api_endpoints/classname.py index 741d34f0d6..0a439014da 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_classname_tags123_api_endpoints/classname.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_classname_tags123_api_endpoints/classname.py @@ -129,6 +129,7 @@ class Classname(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -148,7 +149,7 @@ class Classname(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/add_pet.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/add_pet.py index 9a03737b99..a6d99272f5 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/add_pet.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/add_pet.py @@ -146,6 +146,7 @@ class AddPet(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -164,7 +165,7 @@ class AddPet(api_client.Api): host = self.get_host('add_pet', _servers, host_index) response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/delete_pet.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/delete_pet.py index 5b17fd2958..f109924c34 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/delete_pet.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/delete_pet.py @@ -157,6 +157,7 @@ class DeletePet(api_client.Api): """ self._verify_typed_dict_inputs(RequestHeaderParams, header_params) self._verify_typed_dict_inputs(RequestPathParams, path_params) + used_path = _path _path_params = {} for parameter in ( @@ -168,6 +169,9 @@ class DeletePet(api_client.Api): serialized_data = parameter.serialize(parameter_data) _path_params.update(serialized_data) + for k, v in _path_params.items(): + used_path = used_path.replace('{%s}' % k, v) + _headers = HTTPHeaderDict() for parameter in ( request_header_api_key, @@ -180,9 +184,8 @@ class DeletePet(api_client.Api): # TODO add cookie handling response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - path_params=_path_params, headers=_headers, auth_settings=_auth, stream=stream, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/find_pets_by_status.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/find_pets_by_status.py index 0a2963d69c..ef7933713d 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/find_pets_by_status.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/find_pets_by_status.py @@ -212,16 +212,20 @@ class FindPetsByStatus(api_client.Api): class instances """ self._verify_typed_dict_inputs(RequestQueryParams, query_params) + used_path = _path - _query_params = [] + prefix_separator_iterator = None for parameter in ( request_query_status, ): parameter_data = query_params.get(parameter.name, unset) if parameter_data is unset: continue - serialized_data = parameter.serialize(parameter_data) - _query_params.extend(serialized_data) + if prefix_separator_iterator is None: + prefix_separator_iterator = parameter.get_prefix_separator_iterator() + serialized_data = parameter.serialize(parameter_data, prefix_separator_iterator) + for serialized_value in serialized_data.values(): + used_path += serialized_value _headers = HTTPHeaderDict() # TODO add cookie handling @@ -230,9 +234,8 @@ class FindPetsByStatus(api_client.Api): _headers.add('Accept', accept_content_type) response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - query_params=tuple(_query_params), headers=_headers, auth_settings=_auth, stream=stream, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/find_pets_by_tags.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/find_pets_by_tags.py index 613545c92f..867b0a0a53 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/find_pets_by_tags.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/find_pets_by_tags.py @@ -186,16 +186,20 @@ class FindPetsByTags(api_client.Api): class instances """ self._verify_typed_dict_inputs(RequestQueryParams, query_params) + used_path = _path - _query_params = [] + prefix_separator_iterator = None for parameter in ( request_query_tags, ): parameter_data = query_params.get(parameter.name, unset) if parameter_data is unset: continue - serialized_data = parameter.serialize(parameter_data) - _query_params.extend(serialized_data) + if prefix_separator_iterator is None: + prefix_separator_iterator = parameter.get_prefix_separator_iterator() + serialized_data = parameter.serialize(parameter_data, prefix_separator_iterator) + for serialized_value in serialized_data.values(): + used_path += serialized_value _headers = HTTPHeaderDict() # TODO add cookie handling @@ -204,9 +208,8 @@ class FindPetsByTags(api_client.Api): _headers.add('Accept', accept_content_type) response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - query_params=tuple(_query_params), headers=_headers, auth_settings=_auth, stream=stream, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/get_pet_by_id.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/get_pet_by_id.py index 527154463f..04eec525b5 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/get_pet_by_id.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/get_pet_by_id.py @@ -175,6 +175,7 @@ class GetPetById(api_client.Api): class instances """ self._verify_typed_dict_inputs(RequestPathParams, path_params) + used_path = _path _path_params = {} for parameter in ( @@ -186,6 +187,9 @@ class GetPetById(api_client.Api): serialized_data = parameter.serialize(parameter_data) _path_params.update(serialized_data) + for k, v in _path_params.items(): + used_path = used_path.replace('{%s}' % k, v) + _headers = HTTPHeaderDict() # TODO add cookie handling if accept_content_types: @@ -193,9 +197,8 @@ class GetPetById(api_client.Api): _headers.add('Accept', accept_content_type) response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - path_params=_path_params, headers=_headers, auth_settings=_auth, stream=stream, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/update_pet.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/update_pet.py index 0912f57656..275d192c41 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/update_pet.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/update_pet.py @@ -158,6 +158,7 @@ class UpdatePet(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -176,7 +177,7 @@ class UpdatePet(api_client.Api): host = self.get_host('update_pet', _servers, host_index) response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/update_pet_with_form.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/update_pet_with_form.py index 47012f008d..0c1f5cc504 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/update_pet_with_form.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/update_pet_with_form.py @@ -166,6 +166,7 @@ class UpdatePetWithForm(api_client.Api): class instances """ self._verify_typed_dict_inputs(RequestPathParams, path_params) + used_path = _path _path_params = {} for parameter in ( @@ -177,6 +178,9 @@ class UpdatePetWithForm(api_client.Api): serialized_data = parameter.serialize(parameter_data) _path_params.update(serialized_data) + for k, v in _path_params.items(): + used_path = used_path.replace('{%s}' % k, v) + _headers = HTTPHeaderDict() # TODO add cookie handling @@ -190,9 +194,8 @@ class UpdatePetWithForm(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - path_params=_path_params, headers=_headers, fields=_fields, body=_body, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_file_with_required_file.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_file_with_required_file.py index 26629273ee..0555858428 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_file_with_required_file.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_file_with_required_file.py @@ -180,6 +180,7 @@ class UploadFileWithRequiredFile(api_client.Api): class instances """ self._verify_typed_dict_inputs(RequestPathParams, path_params) + used_path = _path _path_params = {} for parameter in ( @@ -191,6 +192,9 @@ class UploadFileWithRequiredFile(api_client.Api): serialized_data = parameter.serialize(parameter_data) _path_params.update(serialized_data) + for k, v in _path_params.items(): + used_path = used_path.replace('{%s}' % k, v) + _headers = HTTPHeaderDict() # TODO add cookie handling if accept_content_types: @@ -207,9 +211,8 @@ class UploadFileWithRequiredFile(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - path_params=_path_params, headers=_headers, fields=_fields, body=_body, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_image.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_image.py index 80ed3f149b..95836e036e 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_image.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_image.py @@ -178,6 +178,7 @@ class UploadImage(api_client.Api): class instances """ self._verify_typed_dict_inputs(RequestPathParams, path_params) + used_path = _path _path_params = {} for parameter in ( @@ -189,6 +190,9 @@ class UploadImage(api_client.Api): serialized_data = parameter.serialize(parameter_data) _path_params.update(serialized_data) + for k, v in _path_params.items(): + used_path = used_path.replace('{%s}' % k, v) + _headers = HTTPHeaderDict() # TODO add cookie handling if accept_content_types: @@ -205,9 +209,8 @@ class UploadImage(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - path_params=_path_params, headers=_headers, fields=_fields, body=_body, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/delete_order.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/delete_order.py index 85e0c391f7..791d2347ce 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/delete_order.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/delete_order.py @@ -139,6 +139,7 @@ class DeleteOrder(api_client.Api): class instances """ self._verify_typed_dict_inputs(RequestPathParams, path_params) + used_path = _path _path_params = {} for parameter in ( @@ -149,12 +150,14 @@ class DeleteOrder(api_client.Api): continue serialized_data = parameter.serialize(parameter_data) _path_params.update(serialized_data) + + for k, v in _path_params.items(): + used_path = used_path.replace('{%s}' % k, v) # TODO add cookie handling response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - path_params=_path_params, stream=stream, timeout=timeout, ) diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/get_inventory.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/get_inventory.py index eaab273e35..be6a45c2ed 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/get_inventory.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/get_inventory.py @@ -133,6 +133,7 @@ class GetInventory(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -141,7 +142,7 @@ class GetInventory(api_client.Api): _headers.add('Accept', accept_content_type) response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, auth_settings=_auth, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/get_order_by_id.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/get_order_by_id.py index d2b2c89b07..4539bfcf1b 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/get_order_by_id.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/get_order_by_id.py @@ -181,6 +181,7 @@ class GetOrderById(api_client.Api): class instances """ self._verify_typed_dict_inputs(RequestPathParams, path_params) + used_path = _path _path_params = {} for parameter in ( @@ -192,6 +193,9 @@ class GetOrderById(api_client.Api): serialized_data = parameter.serialize(parameter_data) _path_params.update(serialized_data) + for k, v in _path_params.items(): + used_path = used_path.replace('{%s}' % k, v) + _headers = HTTPHeaderDict() # TODO add cookie handling if accept_content_types: @@ -199,9 +203,8 @@ class GetOrderById(api_client.Api): _headers.add('Accept', accept_content_type) response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - path_params=_path_params, headers=_headers, stream=stream, timeout=timeout, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/place_order.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/place_order.py index 34e71ff924..7707e9be67 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/place_order.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/place_order.py @@ -144,6 +144,7 @@ class PlaceOrder(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -163,7 +164,7 @@ class PlaceOrder(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_user.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_user.py index b3cf5e03ed..ec13814a99 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_user.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_user.py @@ -115,6 +115,7 @@ class CreateUser(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -131,7 +132,7 @@ class CreateUser(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_users_with_array_input.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_users_with_array_input.py index 5ed7daaea2..555d7e45a6 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_users_with_array_input.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_users_with_array_input.py @@ -124,6 +124,7 @@ class CreateUsersWithArrayInput(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -140,7 +141,7 @@ class CreateUsersWithArrayInput(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_users_with_list_input.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_users_with_list_input.py index 9d6a3d34de..0e367df7b1 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_users_with_list_input.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_users_with_list_input.py @@ -124,6 +124,7 @@ class CreateUsersWithListInput(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path _headers = HTTPHeaderDict() # TODO add cookie handling @@ -140,7 +141,7 @@ class CreateUsersWithListInput(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, headers=_headers, fields=_fields, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/delete_user.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/delete_user.py index 964d6d3c96..6d6121ce01 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/delete_user.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/delete_user.py @@ -139,6 +139,7 @@ class DeleteUser(api_client.Api): class instances """ self._verify_typed_dict_inputs(RequestPathParams, path_params) + used_path = _path _path_params = {} for parameter in ( @@ -149,12 +150,14 @@ class DeleteUser(api_client.Api): continue serialized_data = parameter.serialize(parameter_data) _path_params.update(serialized_data) + + for k, v in _path_params.items(): + used_path = used_path.replace('{%s}' % k, v) # TODO add cookie handling response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - path_params=_path_params, stream=stream, timeout=timeout, ) diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/get_user_by_name.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/get_user_by_name.py index adb22afe7c..9dd751d22b 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/get_user_by_name.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/get_user_by_name.py @@ -172,6 +172,7 @@ class GetUserByName(api_client.Api): class instances """ self._verify_typed_dict_inputs(RequestPathParams, path_params) + used_path = _path _path_params = {} for parameter in ( @@ -183,6 +184,9 @@ class GetUserByName(api_client.Api): serialized_data = parameter.serialize(parameter_data) _path_params.update(serialized_data) + for k, v in _path_params.items(): + used_path = used_path.replace('{%s}' % k, v) + _headers = HTTPHeaderDict() # TODO add cookie handling if accept_content_types: @@ -190,9 +194,8 @@ class GetUserByName(api_client.Api): _headers.add('Accept', accept_content_type) response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - path_params=_path_params, headers=_headers, stream=stream, timeout=timeout, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/login_user.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/login_user.py index f1f38546d1..c3f7472712 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/login_user.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/login_user.py @@ -190,8 +190,9 @@ class LoginUser(api_client.Api): class instances """ self._verify_typed_dict_inputs(RequestQueryParams, query_params) + used_path = _path - _query_params = [] + prefix_separator_iterator = None for parameter in ( request_query_username, request_query_password, @@ -199,8 +200,11 @@ class LoginUser(api_client.Api): parameter_data = query_params.get(parameter.name, unset) if parameter_data is unset: continue - serialized_data = parameter.serialize(parameter_data) - _query_params.extend(serialized_data) + if prefix_separator_iterator is None: + prefix_separator_iterator = parameter.get_prefix_separator_iterator() + serialized_data = parameter.serialize(parameter_data, prefix_separator_iterator) + for serialized_value in serialized_data.values(): + used_path += serialized_value _headers = HTTPHeaderDict() # TODO add cookie handling @@ -209,9 +213,8 @@ class LoginUser(api_client.Api): _headers.add('Accept', accept_content_type) response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - query_params=tuple(_query_params), headers=_headers, stream=stream, timeout=timeout, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/logout_user.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/logout_user.py index d6e61bb2f1..7fbedc55b9 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/logout_user.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/logout_user.py @@ -99,10 +99,11 @@ class LogoutUser(api_client.Api): api_response.body and api_response.headers will not be deserialized into schema class instances """ + used_path = _path # TODO add cookie handling response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, stream=stream, timeout=timeout, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/update_user.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/update_user.py index 04e29018fa..b7e3931b6a 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/update_user.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/update_user.py @@ -155,6 +155,7 @@ class UpdateUser(api_client.Api): class instances """ self._verify_typed_dict_inputs(RequestPathParams, path_params) + used_path = _path _path_params = {} for parameter in ( @@ -166,6 +167,9 @@ class UpdateUser(api_client.Api): serialized_data = parameter.serialize(parameter_data) _path_params.update(serialized_data) + for k, v in _path_params.items(): + used_path = used_path.replace('{%s}' % k, v) + _headers = HTTPHeaderDict() # TODO add cookie handling @@ -181,9 +185,8 @@ class UpdateUser(api_client.Api): elif 'body' in serialized_data: _body = serialized_data['body'] response = self.api_client.call_api( - resource_path=_path, + resource_path=used_path, method=_method, - path_params=_path_params, headers=_headers, fields=_fields, body=_body, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api_client.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api_client.py index c8797cf4a6..fcd76cc5ca 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api_client.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api_client.py @@ -53,9 +53,12 @@ class RequestField(RequestFieldBase): class JSONEncoder(json.JSONEncoder): def default(self, obj): - if isinstance(obj, (str, int, float)): - # instances based on primitive classes - return obj + if isinstance(obj, str): + return str(obj) + elif isinstance(obj, float): + return float(obj) + elif isinstance(obj, int): + return int(obj) elif isinstance(obj, Decimal): if obj.as_tuple().exponent >= 0: return int(obj) @@ -88,180 +91,175 @@ class ParameterStyle(enum.Enum): DEEP_OBJECT = 'deepObject' +class PrefixSeparatorIterator: + # A class to store prefixes and separators for rfc6570 expansions + + def __init__(self, prefix: str, separator: str): + self.prefix = prefix + self.separator = separator + self.first = True + if separator in {'.', '|', '%20'}: + item_separator = separator + else: + item_separator = ',' + self.item_separator = item_separator + + def __iter__(self): + return self + + def __next__(self): + if self.first: + self.first = False + return self.prefix + return self.separator + + class ParameterSerializerBase: - @staticmethod - def __serialize_number( - in_data: typing.Union[int, float], name: str, prefix='' - ) -> typing.Tuple[typing.Tuple[str, str]]: - return tuple([(name, prefix + str(in_data))]) + @classmethod + def get_default_explode(cls, style: ParameterStyle) -> bool: + return False @staticmethod - def __serialize_str( - in_data: str, name: str, prefix='' - ) -> typing.Tuple[typing.Tuple[str, str]]: - return tuple([(name, prefix + quote(in_data))]) - - @staticmethod - def __serialize_bool(in_data: bool, name: str, prefix='') -> typing.Tuple[typing.Tuple[str, str]]: - if in_data: - return tuple([(name, prefix + 'true')]) - return tuple([(name, prefix + 'false')]) - - @staticmethod - def __urlencode(in_data: typing.Any) -> str: - return quote(str(in_data)) - - def __serialize_list( - self, - in_data: typing.List[typing.Any], - style: ParameterStyle, - name: str, - explode: bool, - empty_val: typing.Union[typing.Tuple[str, str], typing.Tuple] = tuple(), - prefix: str = '', - separator: str = ',', - ) -> typing.Tuple[typing.Union[typing.Tuple[str, str], typing.Tuple], ...]: - if not in_data: - return empty_val - if explode and style in { - ParameterStyle.FORM, - ParameterStyle.MATRIX, - ParameterStyle.SPACE_DELIMITED, - ParameterStyle.PIPE_DELIMITED - }: - if style is ParameterStyle.FORM: - return tuple((name, prefix + self.__urlencode(val)) for val in in_data) - else: - joined_vals = prefix + separator.join(name + '=' + self.__urlencode(val) for val in in_data) - else: - joined_vals = prefix + separator.join(map(self.__urlencode, in_data)) - return tuple([(name, joined_vals)]) - - def __form_item_representation(self, in_data: typing.Any) -> typing.Optional[str]: - if isinstance(in_data, none_type): + def __ref6570_item_value(in_data: typing.Any, percent_encode: bool): + """ + Get representation if str/float/int/None/items in list/ values in dict + None is returned if an item is undefined, use cases are value= + - None + - [] + - {} + - [None, None None] + - {'a': None, 'b': None} + """ + if type(in_data) in {str, float, int}: + if percent_encode: + return quote(str(in_data)) + return str(in_data) + elif isinstance(in_data, none_type): + # ignored by the expansion process https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.1 return None - elif isinstance(in_data, list): - if not in_data: - return None - raise ApiValueError('Unable to generate a form representation of {}'.format(in_data)) - elif isinstance(in_data, dict): - if not in_data: - return None - raise ApiValueError('Unable to generate a form representation of {}'.format(in_data)) - elif isinstance(in_data, (bool, bytes)): - raise ApiValueError('Unable to generate a form representation of {}'.format(in_data)) - # str, float, int - return self.__urlencode(in_data) + elif isinstance(in_data, list) and not in_data: + # ignored by the expansion process https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.1 + return None + elif isinstance(in_data, dict) and not in_data: + # ignored by the expansion process https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.1 + return None + raise ApiValueError('Unable to generate a ref6570 item representation of {}'.format(in_data)) - def __serialize_dict( - self, - in_data: typing.Dict[str, typing.Any], - style: ParameterStyle, - name: str, + @staticmethod + def to_dict(name: str, value: str): + return {name: value} + + @classmethod + def ref6570_expansion( + cls, + variable_name: str, + in_data: typing.Any, explode: bool, - empty_val: typing.Union[typing.Tuple[str, str], typing.Tuple] = tuple(), - prefix: str = '', - separator: str = ',', - ) -> typing.Tuple[typing.Tuple[str, str]]: - if not in_data: - return empty_val - if all(val is None for val in in_data.values()): - return empty_val - - form_items = {} - if style is ParameterStyle.FORM: - for key, val in in_data.items(): - new_val = self.__form_item_representation(val) - if new_val is None: - continue - form_items[key] = new_val - - if explode: - if style is ParameterStyle.FORM: - return tuple((key, prefix + val) for key, val in form_items.items()) - elif style in { - ParameterStyle.SIMPLE, - ParameterStyle.LABEL, - ParameterStyle.MATRIX, - ParameterStyle.SPACE_DELIMITED, - ParameterStyle.PIPE_DELIMITED - }: - joined_vals = prefix + separator.join(key + '=' + self.__urlencode(val) for key, val in in_data.items()) - else: - raise ApiValueError(f'Invalid style {style} for dict serialization with explode=True') - elif style is ParameterStyle.FORM: - joined_vals = prefix + separator.join(key + separator + val for key, val in form_items.items()) - else: - joined_vals = prefix + separator.join( - key + separator + self.__urlencode(val) for key, val in in_data.items()) - return tuple([(name, joined_vals)]) - - def _serialize_x( - self, - in_data: typing.Union[None, int, float, str, bool, dict, list], - style: ParameterStyle, - name: str, - explode: bool, - empty_val: typing.Union[typing.Tuple[str, str], typing.Tuple] = (), - prefix: str = '', - separator: str = ',', - ) -> typing.Tuple[typing.Tuple[str, str], ...]: - if isinstance(in_data, none_type): - return empty_val - elif isinstance(in_data, bool): - # must be before int check - return self.__serialize_bool(in_data, name=name, prefix=prefix) - elif isinstance(in_data, (int, float)): - return self.__serialize_number(in_data, name=name, prefix=prefix) - elif isinstance(in_data, str): - return self.__serialize_str(in_data, name=name, prefix=prefix) + percent_encode: bool, + prefix_separator_iterator: PrefixSeparatorIterator + ) -> str: + """ + Separator is for separate variables like dict with explode true, not for array item separation + """ + named_parameter_expansion = prefix_separator_iterator.separator in {'&', ';'} + var_name_piece = variable_name if named_parameter_expansion else '' + if type(in_data) in {str, float, int}: + item_value = cls.__ref6570_item_value(in_data, percent_encode) + if item_value is None: + return next(prefix_separator_iterator) + var_name_piece + elif item_value == '' and prefix_separator_iterator.separator == ';': + return next(prefix_separator_iterator) + var_name_piece + value_pair_equals = '=' if named_parameter_expansion else '' + return next(prefix_separator_iterator) + var_name_piece + value_pair_equals + item_value + elif isinstance(in_data, none_type): + # ignored by the expansion process https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.1 + return "" elif isinstance(in_data, list): - return self.__serialize_list( - in_data, - style=style, - name=name, - explode=explode, - empty_val=empty_val, - prefix=prefix, - separator=separator + item_values = [cls.__ref6570_item_value(v, percent_encode) for v in in_data] + item_values = [v for v in item_values if v is not None] + if not item_values: + # ignored by the expansion process https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.1 + return "" + value_pair_equals = '=' if named_parameter_expansion else '' + if not explode: + return ( + next(prefix_separator_iterator) + + var_name_piece + + value_pair_equals + + prefix_separator_iterator.item_separator.join(item_values) + ) + # exploded + return next(prefix_separator_iterator) + next(prefix_separator_iterator).join( + [var_name_piece + value_pair_equals + val for val in item_values] ) elif isinstance(in_data, dict): - return self.__serialize_dict( - in_data, - style=style, - name=name, - explode=explode, - empty_val=empty_val, - prefix=prefix, - separator=separator + in_data_transformed = {key: cls.__ref6570_item_value(val, percent_encode) for key, val in in_data.items()} + in_data_transformed = {key: val for key, val in in_data_transformed.items() if val is not None} + if not in_data_transformed: + # ignored by the expansion process https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.1 + return "" + value_pair_equals = '=' if named_parameter_expansion else '' + if not explode: + return ( + next(prefix_separator_iterator) + + var_name_piece + value_pair_equals + + prefix_separator_iterator.item_separator.join( + prefix_separator_iterator.item_separator.join( + item_pair + ) for item_pair in in_data_transformed.items() + ) + ) + # exploded + return next(prefix_separator_iterator) + next(prefix_separator_iterator).join( + [key + '=' + val for key, val in in_data_transformed.items()] ) + # bool, bytes, etc + raise ApiValueError('Unable to generate a ref6570 representation of {}'.format(in_data)) class StyleFormSerializer(ParameterSerializerBase): + @classmethod + def get_default_explode(cls, style: ParameterStyle) -> bool: + if style is ParameterStyle.FORM: + return True + return super().get_default_explode(style) - def _serialize_form( + def serialize_form( self, in_data: typing.Union[None, int, float, str, bool, dict, list], name: str, explode: bool, - ) -> typing.Tuple[typing.Tuple[str, str], ...]: - return self._serialize_x(in_data, style=ParameterStyle.FORM, name=name, explode=explode) + percent_encode: bool, + prefix_separator_iterator: typing.Optional[PrefixSeparatorIterator] = None + ) -> str: + if prefix_separator_iterator is None: + prefix_separator_iterator = PrefixSeparatorIterator('?', '&') + return self.ref6570_expansion( + variable_name=name, + in_data=in_data, + explode=explode, + percent_encode=percent_encode, + prefix_separator_iterator=prefix_separator_iterator + ) class StyleSimpleSerializer(ParameterSerializerBase): - def _serialize_simple_tuple( + def serialize_simple( self, in_data: typing.Union[None, int, float, str, bool, dict, list], name: str, explode: bool, - in_type: ParameterInType, - ) -> typing.Tuple[typing.Tuple[str, str], ...]: - if in_type is ParameterInType.HEADER: - empty_val = () - else: - empty_val = ((name, ''),) - return self._serialize_x(in_data, style=ParameterStyle.SIMPLE, name=name, explode=explode, empty_val=empty_val) + percent_encode: bool + ) -> str: + prefix_separator_iterator = PrefixSeparatorIterator('', ',') + return self.ref6570_expansion( + variable_name=name, + in_data=in_data, + explode=explode, + percent_encode=percent_encode, + prefix_separator_iterator=prefix_separator_iterator + ) @dataclass @@ -349,8 +347,8 @@ class ParameterBase: def _serialize_json( self, in_data: typing.Union[None, int, float, str, bool, dict, list] - ) -> typing.Tuple[typing.Tuple[str, str]]: - return tuple([(self.name, json.dumps(in_data))]) + ) -> str: + return json.dumps(in_data) class PathParameter(ParameterBase, StyleSimpleSerializer): @@ -376,56 +374,45 @@ class PathParameter(ParameterBase, StyleSimpleSerializer): content=content ) - def __serialize_label( + def _serialize_label( self, in_data: typing.Union[None, int, float, str, bool, dict, list] ) -> typing.Dict[str, str]: - empty_val = ((self.name, ''),) - prefix = '.' - separator = '.' - return self._remove_empty_and_cast( - self._serialize_x( - in_data, - style=ParameterStyle.LABEL, - name=self.name, - explode=self.explode, - empty_val=empty_val, - prefix=prefix, - separator=separator - ) + prefix_separator_iterator = PrefixSeparatorIterator('.', '.') + value = self.ref6570_expansion( + variable_name=self.name, + in_data=in_data, + explode=self.explode, + percent_encode=True, + prefix_separator_iterator=prefix_separator_iterator ) + return self.to_dict(self.name, value) - def __serialize_matrix( + def _serialize_matrix( self, in_data: typing.Union[None, int, float, str, bool, dict, list] ) -> typing.Dict[str, str]: - separator = ',' - if in_data == '': - prefix = ';' + self.name - elif isinstance(in_data, (dict, list)) and self.explode: - prefix = ';' - separator = ';' - else: - prefix = ';' + self.name + '=' - empty_val = ((self.name, ''),) - return self._remove_empty_and_cast( - self._serialize_x( - in_data, - style=ParameterStyle.MATRIX, - name=self.name, - explode=self.explode, - prefix=prefix, - empty_val=empty_val, - separator=separator - ) + prefix_separator_iterator = PrefixSeparatorIterator(';', ';') + value = self.ref6570_expansion( + variable_name=self.name, + in_data=in_data, + explode=self.explode, + percent_encode=True, + prefix_separator_iterator=prefix_separator_iterator ) + return self.to_dict(self.name, value) def _serialize_simple( self, in_data: typing.Union[None, int, float, str, bool, dict, list], ) -> typing.Dict[str, str]: - tuple_data = self._serialize_simple_tuple(in_data, self.name, self.explode, self.in_type) - return self._remove_empty_and_cast(tuple_data) + value = self.serialize_simple( + in_data=in_data, + name=self.name, + explode=self.explode, + percent_encode=True + ) + return self.to_dict(self.name, value) def serialize( self, @@ -448,16 +435,16 @@ class PathParameter(ParameterBase, StyleSimpleSerializer): if self.style is ParameterStyle.SIMPLE: return self._serialize_simple(cast_in_data) elif self.style is ParameterStyle.LABEL: - return self.__serialize_label(cast_in_data) + return self._serialize_label(cast_in_data) elif self.style is ParameterStyle.MATRIX: - return self.__serialize_matrix(cast_in_data) + return self._serialize_matrix(cast_in_data) # self.content will be length one for content_type, schema in self.content.items(): cast_in_data = schema(in_data) cast_in_data = self._json_encoder.default(cast_in_data) if content_type == self._json_content_type: - tuple_data = self._serialize_json(cast_in_data) - return self._remove_empty_and_cast(tuple_data) + value = self._serialize_json(cast_in_data) + return self.to_dict(self.name, value) raise NotImplementedError('Serialization of {} has not yet been implemented'.format(content_type)) @@ -468,17 +455,20 @@ class QueryParameter(ParameterBase, StyleFormSerializer): name: str, required: bool = False, style: typing.Optional[ParameterStyle] = None, - explode: bool = False, + explode: typing.Optional[bool] = None, allow_reserved: typing.Optional[bool] = None, schema: typing.Optional[typing.Type[Schema]] = None, content: typing.Optional[typing.Dict[str, typing.Type[Schema]]] = None ): + used_style = ParameterStyle.FORM if style is None and content is None and schema else style + used_explode = self.get_default_explode(used_style) if explode is None else explode + super().__init__( name, in_type=ParameterInType.QUERY, required=required, - style=style, - explode=explode, + style=used_style, + explode=used_explode, allow_reserved=allow_reserved, schema=schema, content=content @@ -486,39 +476,68 @@ class QueryParameter(ParameterBase, StyleFormSerializer): def __serialize_space_delimited( self, - in_data: typing.Union[None, int, float, str, bool, dict, list] - ) -> typing.Tuple[typing.Tuple[str, str], ...]: - separator = '%20' - empty_val = () - return self._serialize_x( - in_data, - style=ParameterStyle.SPACE_DELIMITED, - name=self.name, + in_data: typing.Union[None, int, float, str, bool, dict, list], + prefix_separator_iterator: typing.Optional[PrefixSeparatorIterator] + ) -> typing.Dict[str, str]: + if prefix_separator_iterator is None: + prefix_separator_iterator = self.get_prefix_separator_iterator() + value = self.ref6570_expansion( + variable_name=self.name, + in_data=in_data, explode=self.explode, - separator=separator, - empty_val=empty_val + percent_encode=True, + prefix_separator_iterator=prefix_separator_iterator ) + return self.to_dict(self.name, value) def __serialize_pipe_delimited( self, - in_data: typing.Union[None, int, float, str, bool, dict, list] - ) -> typing.Tuple[typing.Tuple[str, str], ...]: - separator = '|' - empty_val = () - return self._serialize_x( + in_data: typing.Union[None, int, float, str, bool, dict, list], + prefix_separator_iterator: typing.Optional[PrefixSeparatorIterator] + ) -> typing.Dict[str, str]: + if prefix_separator_iterator is None: + prefix_separator_iterator = self.get_prefix_separator_iterator() + value = self.ref6570_expansion( + variable_name=self.name, + in_data=in_data, + explode=self.explode, + percent_encode=True, + prefix_separator_iterator=prefix_separator_iterator + ) + return self.to_dict(self.name, value) + + def __serialize_form( + self, + in_data: typing.Union[None, int, float, str, bool, dict, list], + prefix_separator_iterator: typing.Optional[PrefixSeparatorIterator] + ) -> typing.Dict[str, str]: + if prefix_separator_iterator is None: + prefix_separator_iterator = self.get_prefix_separator_iterator() + value = self.serialize_form( in_data, - style=ParameterStyle.PIPE_DELIMITED, name=self.name, explode=self.explode, - separator=separator, - empty_val=empty_val + percent_encode=True, + prefix_separator_iterator=prefix_separator_iterator ) + return self.to_dict(self.name, value) + + def get_prefix_separator_iterator(self) -> typing.Optional[PrefixSeparatorIterator]: + if not self.schema: + return None + if self.style is ParameterStyle.FORM: + return PrefixSeparatorIterator('?', '&') + elif self.style is ParameterStyle.SPACE_DELIMITED: + return PrefixSeparatorIterator('', '%20') + elif self.style is ParameterStyle.PIPE_DELIMITED: + return PrefixSeparatorIterator('', '|') def serialize( self, in_data: typing.Union[ - Schema, Decimal, int, float, str, date, datetime, None, bool, list, tuple, dict, frozendict] - ) -> typing.Tuple[typing.Tuple[str, str]]: + Schema, Decimal, int, float, str, date, datetime, None, bool, list, tuple, dict, frozendict], + prefix_separator_iterator: typing.Optional[PrefixSeparatorIterator] = None + ) -> typing.Dict[str, str]: if self.schema: cast_in_data = self.schema(in_data) cast_in_data = self._json_encoder.default(cast_in_data) @@ -538,17 +557,18 @@ class QueryParameter(ParameterBase, StyleFormSerializer): if self.style: # TODO update query ones to omit setting values when [] {} or None is input if self.style is ParameterStyle.FORM: - return self._serialize_form(cast_in_data, explode=self.explode, name=self.name) + return self.__serialize_form(cast_in_data, prefix_separator_iterator) elif self.style is ParameterStyle.SPACE_DELIMITED: - return self.__serialize_space_delimited(cast_in_data) + return self.__serialize_space_delimited(cast_in_data, prefix_separator_iterator) elif self.style is ParameterStyle.PIPE_DELIMITED: - return self.__serialize_pipe_delimited(cast_in_data) + return self.__serialize_pipe_delimited(cast_in_data, prefix_separator_iterator) # self.content will be length one for content_type, schema in self.content.items(): cast_in_data = schema(in_data) cast_in_data = self._json_encoder.default(cast_in_data) if content_type == self._json_content_type: - return self._serialize_json(cast_in_data) + value = self._serialize_json(cast_in_data) + return self.to_dict(self.name, value) raise NotImplementedError('Serialization of {} has not yet been implemented'.format(content_type)) @@ -559,17 +579,20 @@ class CookieParameter(ParameterBase, StyleFormSerializer): name: str, required: bool = False, style: typing.Optional[ParameterStyle] = None, - explode: bool = False, + explode: typing.Optional[bool] = None, allow_reserved: typing.Optional[bool] = None, schema: typing.Optional[typing.Type[Schema]] = None, content: typing.Optional[typing.Dict[str, typing.Type[Schema]]] = None ): + used_style = ParameterStyle.FORM if style is None and content is None and schema else style + used_explode = self.get_default_explode(used_style) if explode is None else explode + super().__init__( name, in_type=ParameterInType.COOKIE, required=required, - style=style, - explode=explode, + style=used_style, + explode=used_explode, allow_reserved=allow_reserved, schema=schema, content=content @@ -579,7 +602,7 @@ class CookieParameter(ParameterBase, StyleFormSerializer): self, in_data: typing.Union[ Schema, Decimal, int, float, str, date, datetime, None, bool, list, tuple, dict, frozendict] - ) -> typing.Tuple[typing.Tuple[str, str]]: + ) -> typing.Dict[str, str]: if self.schema: cast_in_data = self.schema(in_data) cast_in_data = self._json_encoder.default(cast_in_data) @@ -588,13 +611,25 @@ class CookieParameter(ParameterBase, StyleFormSerializer): returns fields: tuple """ if self.style: - return self._serialize_form(cast_in_data, explode=self.explode, name=self.name) + """ + TODO add escaping of comma, space, equals + or turn encoding on + """ + value = self.serialize_form( + cast_in_data, + explode=self.explode, + name=self.name, + percent_encode=False, + prefix_separator_iterator=PrefixSeparatorIterator('', '&') + ) + return self.to_dict(self.name, value) # self.content will be length one for content_type, schema in self.content.items(): cast_in_data = schema(in_data) cast_in_data = self._json_encoder.default(cast_in_data) if content_type == self._json_content_type: - return self._serialize_json(cast_in_data) + value = self._serialize_json(cast_in_data) + return self.to_dict(self.name, value) raise NotImplementedError('Serialization of {} has not yet been implemented'.format(content_type)) @@ -632,9 +667,8 @@ class HeaderParameter(ParameterBase, StyleSimpleSerializer): def _serialize_simple( self, in_data: typing.Union[None, int, float, str, bool, dict, list], - ) -> HTTPHeaderDict[str, str]: - tuple_data = self._serialize_simple_tuple(in_data, self.name, self.explode, self.in_type) - return self.__to_headers(tuple_data) + ) -> str: + return self.serialize_simple(in_data, self.name, self.explode, False) def serialize( self, @@ -650,14 +684,15 @@ class HeaderParameter(ParameterBase, StyleSimpleSerializer): returns headers: dict """ if self.style: - return self._serialize_simple(cast_in_data) + value = self._serialize_simple(cast_in_data) + return self.__to_headers(((self.name, value),)) # self.content will be length one for content_type, schema in self.content.items(): cast_in_data = schema(in_data) cast_in_data = self._json_encoder.default(cast_in_data) if content_type == self._json_content_type: - tuple_data = self._serialize_json(cast_in_data) - return self.__to_headers(tuple_data) + value = self._serialize_json(cast_in_data) + return self.__to_headers(((self.name, value),)) raise NotImplementedError('Serialization of {} has not yet been implemented'.format(content_type)) @@ -935,8 +970,6 @@ class ApiClient: self, resource_path: str, method: str, - path_params: typing.Optional[typing.Dict[str, typing.Any]] = None, - query_params: typing.Optional[typing.Tuple[typing.Tuple[str, str], ...]] = None, headers: typing.Optional[HTTPHeaderDict] = None, body: typing.Optional[typing.Union[str, bytes]] = None, fields: typing.Optional[typing.Tuple[typing.Tuple[str, str], ...]] = None, @@ -952,17 +985,8 @@ class ApiClient: if self.cookie: headers['Cookie'] = self.cookie - # path parameters - if path_params: - for k, v in path_params.items(): - # specified safe chars, encode everything - resource_path = resource_path.replace( - '{%s}' % k, - quote(str(v), safe=self.configuration.safe_chars_for_path_param) - ) - # auth setting - self.update_params_for_auth(headers, query_params, + self.update_params_for_auth(headers, auth_settings, resource_path, method, body) # request url @@ -976,7 +1000,6 @@ class ApiClient: response = self.request( method, url, - query_params=query_params, headers=headers, fields=fields, body=body, @@ -989,8 +1012,6 @@ class ApiClient: self, resource_path: str, method: str, - path_params: typing.Optional[typing.Dict[str, typing.Any]] = None, - query_params: typing.Optional[typing.Tuple[typing.Tuple[str, str], ...]] = None, headers: typing.Optional[HTTPHeaderDict] = None, body: typing.Optional[typing.Union[str, bytes]] = None, fields: typing.Optional[typing.Tuple[typing.Tuple[str, str], ...]] = None, @@ -1006,8 +1027,6 @@ class ApiClient: :param resource_path: Path to method endpoint. :param method: Method to call. - :param path_params: Path parameters in the url. - :param query_params: Query parameters in the url. :param headers: Header parameters to be placed in the request header. :param body: Request body. @@ -1040,8 +1059,6 @@ class ApiClient: return self.__call_api( resource_path, method, - path_params, - query_params, headers, body, fields, @@ -1056,8 +1073,6 @@ class ApiClient: ( resource_path, method, - path_params, - query_params, headers, body, json, @@ -1073,7 +1088,6 @@ class ApiClient: self, method: str, url: str, - query_params: typing.Optional[typing.Tuple[typing.Tuple[str, str], ...]] = None, headers: typing.Optional[HTTPHeaderDict] = None, fields: typing.Optional[typing.Tuple[typing.Tuple[str, str], ...]] = None, body: typing.Optional[typing.Union[str, bytes]] = None, @@ -1083,19 +1097,16 @@ class ApiClient: """Makes the HTTP request using RESTClient.""" if method == "GET": return self.rest_client.GET(url, - query_params=query_params, stream=stream, timeout=timeout, headers=headers) elif method == "HEAD": return self.rest_client.HEAD(url, - query_params=query_params, stream=stream, timeout=timeout, headers=headers) elif method == "OPTIONS": return self.rest_client.OPTIONS(url, - query_params=query_params, headers=headers, fields=fields, stream=stream, @@ -1103,7 +1114,6 @@ class ApiClient: body=body) elif method == "POST": return self.rest_client.POST(url, - query_params=query_params, headers=headers, fields=fields, stream=stream, @@ -1111,7 +1121,6 @@ class ApiClient: body=body) elif method == "PUT": return self.rest_client.PUT(url, - query_params=query_params, headers=headers, fields=fields, stream=stream, @@ -1119,7 +1128,6 @@ class ApiClient: body=body) elif method == "PATCH": return self.rest_client.PATCH(url, - query_params=query_params, headers=headers, fields=fields, stream=stream, @@ -1127,7 +1135,6 @@ class ApiClient: body=body) elif method == "DELETE": return self.rest_client.DELETE(url, - query_params=query_params, headers=headers, stream=stream, timeout=timeout, @@ -1138,12 +1145,11 @@ class ApiClient: " `POST`, `PATCH`, `PUT` or `DELETE`." ) - def update_params_for_auth(self, headers, querys, auth_settings, + def update_params_for_auth(self, headers, auth_settings, resource_path, method, body): """Updates header and query params based on authentication setting. :param headers: Header parameters dict to be updated. - :param querys: Query parameters tuple list to be updated. :param auth_settings: Authentication setting identifiers list. :param resource_path: A string representation of the HTTP request resource path. :param method: A string representation of the HTTP request method. @@ -1165,12 +1171,17 @@ class ApiClient: # The HTTP signature scheme requires multiple HTTP headers # that are calculated dynamically. signing_info = self.configuration.signing_info + querys = tuple() auth_headers = signing_info.get_http_signature_headers( resource_path, method, headers, body, querys) for key, value in auth_headers.items(): headers.add(key, value) elif auth_setting['in'] == 'query': - querys.append((auth_setting['key'], auth_setting['value'])) + """ TODO implement auth in query + need to pass in prefix_separator_iterator + and need to output resource_path with query params added + """ + raise ApiValueError("Auth in query not yet implemented") else: raise ApiValueError( 'Authentication token must be in `query` or `header`' @@ -1373,15 +1384,16 @@ class RequestBody(StyleFormSerializer, JSONDetector): def __serialize_application_x_www_form_data( self, in_data: typing.Any - ) -> typing.Dict[str, tuple[tuple[str, str], ...]]: + ) -> SerializedRequestBody: + """ + POST submission of form data in body + """ if not isinstance(in_data, frozendict): raise ValueError( f'Unable to serialize {in_data} to application/x-www-form-urlencoded because it is not a dict of data') cast_in_data = self.__json_encoder.default(in_data) - fields = self._serialize_form(cast_in_data, explode=True, name='') - if not fields: - return {} - return {'fields': fields} + value = self.serialize_form(cast_in_data, name='', explode=True, percent_encode=False) + return dict(body=value) def serialize( self, in_data: typing.Any, content_type: str diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/rest.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/rest.py index 20f6077cbc..40e35989f9 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/rest.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/rest.py @@ -90,7 +90,6 @@ class RESTClientObject(object): self, method: str, url: str, - query_params: typing.Optional[typing.Tuple[typing.Tuple[str, str], ...]] = None, headers: typing.Optional[HTTPHeaderDict] = None, fields: typing.Optional[typing.Tuple[typing.Tuple[str, typing.Any], ...]] = None, body: typing.Optional[typing.Union[str, bytes]] = None, @@ -101,7 +100,6 @@ class RESTClientObject(object): :param method: http request method :param url: http request url - :param query_params: query parameters in the url :param headers: http request headers :param body: request body, for other types :param fields: request parameters for @@ -137,13 +135,10 @@ class RESTClientObject(object): try: # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']: - if query_params: - url += '?' + urlencode(query_params) if 'Content-Type' not in headers and body is None: r = self.pool_manager.request( method, url, - fields=query_params, preload_content=not stream, timeout=timeout, headers=headers @@ -188,7 +183,6 @@ class RESTClientObject(object): # For `GET`, `HEAD` else: r = self.pool_manager.request(method, url, - fields=query_params, preload_content=not stream, timeout=timeout, headers=headers) @@ -202,63 +196,58 @@ class RESTClientObject(object): return r - def GET(self, url, headers=None, query_params=None, stream=False, + def GET(self, url, headers=None, stream=False, timeout=None, fields=None) -> urllib3.HTTPResponse: return self.request("GET", url, headers=headers, stream=stream, timeout=timeout, - query_params=query_params, fields=fields) + fields=fields) - def HEAD(self, url, headers=None, query_params=None, stream=False, + def HEAD(self, url, headers=None, stream=False, timeout=None, fields=None) -> urllib3.HTTPResponse: return self.request("HEAD", url, headers=headers, stream=stream, timeout=timeout, - query_params=query_params, fields=fields) + fields=fields) - def OPTIONS(self, url, headers=None, query_params=None, + def OPTIONS(self, url, headers=None, body=None, stream=False, timeout=None, fields=None) -> urllib3.HTTPResponse: return self.request("OPTIONS", url, headers=headers, - query_params=query_params, stream=stream, timeout=timeout, body=body, fields=fields) - def DELETE(self, url, headers=None, query_params=None, body=None, + def DELETE(self, url, headers=None, body=None, stream=False, timeout=None, fields=None) -> urllib3.HTTPResponse: return self.request("DELETE", url, headers=headers, - query_params=query_params, stream=stream, timeout=timeout, body=body, fields=fields) - def POST(self, url, headers=None, query_params=None, + def POST(self, url, headers=None, body=None, stream=False, timeout=None, fields=None) -> urllib3.HTTPResponse: return self.request("POST", url, headers=headers, - query_params=query_params, stream=stream, timeout=timeout, body=body, fields=fields) - def PUT(self, url, headers=None, query_params=None, + def PUT(self, url, headers=None, body=None, stream=False, timeout=None, fields=None) -> urllib3.HTTPResponse: return self.request("PUT", url, headers=headers, - query_params=query_params, stream=stream, timeout=timeout, body=body, fields=fields) - def PATCH(self, url, headers=None, query_params=None, + def PATCH(self, url, headers=None, body=None, stream=False, timeout=None, fields=None) -> urllib3.HTTPResponse: return self.request("PATCH", url, headers=headers, - query_params=query_params, stream=stream, timeout=timeout, body=body, fields=fields) diff --git a/samples/openapi3/client/petstore/python-experimental/tests_manual/__init__.py b/samples/openapi3/client/petstore/python-experimental/tests_manual/__init__.py index e69de29bb2..104cdf76ff 100644 --- a/samples/openapi3/client/petstore/python-experimental/tests_manual/__init__.py +++ b/samples/openapi3/client/petstore/python-experimental/tests_manual/__init__.py @@ -0,0 +1,104 @@ +import json +import typing +import unittest + +import urllib3 +from urllib3._collections import HTTPHeaderDict + +from petstore_api import api_client + + +class ApiTestMixin(unittest.TestCase): + json_content_type = 'application/json' + user_agent = 'OpenAPI-Generator/1.0.0/python' + + @classmethod + def assert_request_called_with( + cls, + mock_request, + url: str, + method: str = 'POST', + body: typing.Optional[bytes] = None, + content_type: typing.Optional[str] = 'application/json', + fields: typing.Optional[tuple[api_client.RequestField, ...]] = None, + accept_content_type: typing.Optional[str] = 'application/json', + stream: bool = False, + ): + headers = { + 'User-Agent': cls.user_agent + } + if accept_content_type: + headers['Accept'] = accept_content_type + if content_type: + headers['Content-Type'] = content_type + kwargs = dict( + headers=HTTPHeaderDict(headers), + fields=fields, + stream=stream, + timeout=None, + ) + if method != 'GET': + kwargs['body'] = body + mock_request.assert_called_with( + method, + url, + **kwargs + ) + + @classmethod + def assert_pool_manager_request_called_with( + cls, + mock_request, + url: str, + method: str = 'POST', + body: typing.Optional[bytes] = None, + content_type: typing.Optional[str] = 'application/json', + accept_content_type: typing.Optional[str] = 'application/json', + stream: bool = False, + ): + headers = { + 'User-Agent': cls.user_agent + } + if accept_content_type: + headers['Accept'] = accept_content_type + if content_type: + headers['Content-Type'] = content_type + kwargs = dict( + headers=HTTPHeaderDict(headers), + preload_content=not stream, + timeout=None, + ) + if content_type and method != 'GET': + kwargs['body'] = body + mock_request.assert_called_with( + method, + url, + **kwargs + ) + + @staticmethod + def headers_for_content_type(content_type: str) -> dict[str, str]: + return {'content-type': content_type} + + @classmethod + def response( + cls, + body: typing.Union[str, bytes], + status: int = 200, + content_type: str = json_content_type, + headers: typing.Optional[dict[str, str]] = None, + preload_content: bool = True + ) -> urllib3.HTTPResponse: + if headers is None: + headers = {} + headers.update(cls.headers_for_content_type(content_type)) + return urllib3.HTTPResponse( + body, + headers=headers, + status=status, + preload_content=preload_content + ) + + @staticmethod + def json_bytes(in_data: typing.Any) -> bytes: + return json.dumps(in_data, separators=(",", ":"), ensure_ascii=False).encode('utf-8') diff --git a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_configuration.py b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_configuration.py index 9218e4fc25..b3162c0686 100644 --- a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_configuration.py +++ b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_configuration.py @@ -43,7 +43,6 @@ class ConfigurationTests(unittest.TestCase): mock_request.assert_called_with( 'POST', 'http://path-server-test.petstore.local/v2/pet', - query_params=None, headers=HTTPHeaderDict({ 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/1.0.0/python' @@ -60,7 +59,6 @@ class ConfigurationTests(unittest.TestCase): mock_request.assert_called_with( 'DELETE', 'https://localhost:8080/v1/pet/123456789', - query_params=None, headers={'User-Agent': 'OpenAPI-Generator/1.0.0/python'}, fields=None, body=None, diff --git a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_fake_api.py b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_fake_api.py index 2b50e28fa0..bb006c131c 100644 --- a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_fake_api.py +++ b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_fake_api.py @@ -13,18 +13,17 @@ from email.mime import nonmultipart import io import sys import unittest -import json import typing from unittest.mock import patch import urllib3 -from urllib3._collections import HTTPHeaderDict - import petstore_api from petstore_api import api_client, schemas, exceptions from petstore_api.api.fake_api import FakeApi # noqa: E501 from petstore_api.rest import RESTClientObject +from . import ApiTestMixin + class MIMEFormdata(nonmultipart.MIMENonMultipart): def __init__(self, keyname, *args, **kwargs): @@ -33,108 +32,10 @@ class MIMEFormdata(nonmultipart.MIMENonMultipart): "Content-Disposition", "form-data; name=\"%s\"" % keyname) -class TestFakeApi(unittest.TestCase): +class TestFakeApi(ApiTestMixin): """FakeApi unit test stubs""" - json_content_type = 'application/json' configuration = petstore_api.Configuration() api = FakeApi(api_client=api_client.ApiClient(configuration=configuration)) - user_agent = 'OpenAPI-Generator/1.0.0/python' - - @staticmethod - def headers_for_content_type(content_type: str) -> dict[str, str]: - return {'content-type': content_type} - - @classmethod - def __response( - cls, - body: typing.Union[str, bytes], - status: int = 200, - content_type: str = json_content_type, - headers: typing.Optional[dict[str, str]] = None, - preload_content: bool = True - ) -> urllib3.HTTPResponse: - if headers is None: - headers = {} - headers.update(cls.headers_for_content_type(content_type)) - return urllib3.HTTPResponse( - body, - headers=headers, - status=status, - preload_content=preload_content - ) - - @staticmethod - def __json_bytes(in_data: typing.Any) -> bytes: - return json.dumps(in_data, separators=(",", ":"), ensure_ascii=False).encode('utf-8') - - @classmethod - def __assert_request_called_with( - cls, - mock_request, - url: str, - method: str = 'POST', - body: typing.Optional[bytes] = None, - content_type: typing.Optional[str] = 'application/json', - fields: typing.Optional[tuple[api_client.RequestField, ...]] = None, - accept_content_type: str = 'application/json', - stream: bool = False, - query_params: typing.Optional[typing.Tuple[typing.Tuple[str, str], ...]] = None - ): - headers = { - 'Accept': accept_content_type, - 'User-Agent': cls.user_agent - } - if accept_content_type: - headers['Accept'] = accept_content_type - if content_type: - headers['Content-Type'] = content_type - kwargs = dict( - headers=HTTPHeaderDict(headers), - query_params=query_params, - fields=fields, - stream=stream, - timeout=None, - ) - if method != 'GET': - kwargs['body'] = body - mock_request.assert_called_with( - method, - url, - **kwargs - ) - - @classmethod - def __assert_pool_manager_request_called_with( - cls, - mock_request, - url: str, - method: str = 'POST', - body: typing.Optional[bytes] = None, - content_type: typing.Optional[str] = 'application/json', - accept_content_type: typing.Optional[str] = 'application/json', - stream: bool = False, - query_params: typing.Optional[typing.Tuple[typing.Tuple[str, str], ...]] = None, - ): - headers = { - 'User-Agent': cls.user_agent - } - if accept_content_type: - headers['Accept'] = accept_content_type - if content_type: - headers['Content-Type'] = content_type - kwargs = dict( - headers=HTTPHeaderDict(headers), - fields=query_params, - preload_content=not stream, - timeout=None, - ) - if content_type and method != 'GET': - kwargs['body'] = body - mock_request.assert_called_with( - method, - url, - **kwargs - ) def test_array_model(self): from petstore_api.model import animal_farm, animal @@ -142,17 +43,17 @@ class TestFakeApi(unittest.TestCase): # serialization + deserialization works with patch.object(RESTClientObject, 'request') as mock_request: json_data = [{"className": "Cat", "color": "black"}] - mock_request.return_value = self.__response( - self.__json_bytes(json_data) + mock_request.return_value = self.response( + self.json_bytes(json_data) ) cat = animal.Animal(className="Cat", color="black") body = animal_farm.AnimalFarm([cat]) api_response = self.api.array_model(body=body) - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/refs/arraymodel', - body=self.__json_bytes(json_data) + body=self.json_bytes(json_data) ) assert isinstance(api_response.body, animal_farm.AnimalFarm) @@ -172,15 +73,15 @@ class TestFakeApi(unittest.TestCase): value = [string_enum.StringEnum("placed")] body = array_of_enums.ArrayOfEnums(value) value_simple = ["placed"] - mock_request.return_value = self.__response( - self.__json_bytes(value_simple) + mock_request.return_value = self.response( + self.json_bytes(value_simple) ) api_response = self.api.array_of_enums(body=body) - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/refs/array-of-enums', - body=self.__json_bytes(value_simple) + body=self.json_bytes(value_simple) ) assert isinstance(api_response.body, array_of_enums.ArrayOfEnums) @@ -193,15 +94,15 @@ class TestFakeApi(unittest.TestCase): with patch.object(RESTClientObject, 'request') as mock_request: value = 10.0 body = number_with_validations.NumberWithValidations(value) - mock_request.return_value = self.__response( - self.__json_bytes(value) + mock_request.return_value = self.response( + self.json_bytes(value) ) api_response = self.api.number_with_validations(body=body) - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/refs/number', - body=self.__json_bytes(value) + body=self.json_bytes(value) ) assert isinstance(api_response.body, number_with_validations.NumberWithValidations) @@ -225,15 +126,15 @@ class TestFakeApi(unittest.TestCase): ] for (body, value_simple) in cast_to_simple_value: with patch.object(RESTClientObject, 'request') as mock_request: - mock_request.return_value = self.__response( - self.__json_bytes(value_simple) + mock_request.return_value = self.response( + self.json_bytes(value_simple) ) api_response = self.api.composed_one_of_different_types(body=body) - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/refs/composed_one_of_number_with_validations', - body=self.__json_bytes(value_simple) + body=self.json_bytes(value_simple) ) assert isinstance(api_response.body, composed_one_of_different_types.ComposedOneOfDifferentTypes) @@ -242,15 +143,15 @@ class TestFakeApi(unittest.TestCase): # inputting the uncast values into the endpoint also works for (body, value_simple) in cast_to_simple_value: with patch.object(RESTClientObject, 'request') as mock_request: - mock_request.return_value = self.__response( - self.__json_bytes(value_simple) + mock_request.return_value = self.response( + self.json_bytes(value_simple) ) api_response = self.api.composed_one_of_different_types(body=value_simple) - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/refs/composed_one_of_number_with_validations', - body=self.__json_bytes(value_simple) + body=self.json_bytes(value_simple) ) assert isinstance(api_response.body, composed_one_of_different_types.ComposedOneOfDifferentTypes) @@ -261,15 +162,15 @@ class TestFakeApi(unittest.TestCase): with patch.object(RESTClientObject, 'request') as mock_request: body = "blah" value_simple = body - mock_request.return_value = self.__response( - self.__json_bytes(value_simple) + mock_request.return_value = self.response( + self.json_bytes(value_simple) ) api_response = self.api.string(body=body) - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/refs/string', - body=self.__json_bytes(value_simple) + body=self.json_bytes(value_simple) ) assert isinstance(api_response.body, str) @@ -281,15 +182,15 @@ class TestFakeApi(unittest.TestCase): with patch.object(RESTClientObject, 'request') as mock_request: value = "placed" body = string_enum.StringEnum(value) - mock_request.return_value = self.__response( - self.__json_bytes(value) + mock_request.return_value = self.response( + self.json_bytes(value) ) api_response = self.api.string_enum(body=body) - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/refs/enum', - body=self.__json_bytes(value) + body=self.json_bytes(value) ) assert isinstance(api_response.body, string_enum.StringEnum) @@ -301,15 +202,15 @@ class TestFakeApi(unittest.TestCase): with patch.object(RESTClientObject, 'request') as mock_request: body = Mammal(className="BasquePig") value_simple = dict(className='BasquePig') - mock_request.return_value = self.__response( - self.__json_bytes(value_simple) + mock_request.return_value = self.response( + self.json_bytes(value_simple) ) api_response = self.api.mammal(body=body) - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/refs/mammal', - body=self.__json_bytes(value_simple) + body=self.json_bytes(value_simple) ) assert isinstance(api_response.body, Mammal) @@ -333,6 +234,36 @@ class TestFakeApi(unittest.TestCase): with self.assertRaises(petstore_api.ApiValueError): self.api.body_with_query_params(body=schemas.unset, query_params=dict(query=schemas.unset)) + def test_body_with_query_params(self): + from petstore_api.model import user + with patch.object(RESTClientObject, 'request') as mock_request: + + value_simple = dict( + id=1, + username='first last', + firstName='first', + lastName='last' + ) + body = user.User(**value_simple) + mock_request.return_value = self.response( + b'' + ) + + api_response = self.api.body_with_query_params( + body=body, + query_params=dict(query='hi there') + ) + self.assert_request_called_with( + mock_request, + 'http://petstore.swagger.io:80/v2/fake/body-with-query-params?query=hi%20there', + method='PUT', + body=self.json_bytes(value_simple), + accept_content_type=None + ) + + assert isinstance(api_response.body, api_client.Unset) + assert api_response.response.status == 200 + def test_upload_download_file_tx_bytes_and_file(self): """Test case for upload_download_file uploads a file and downloads a file using application/octet-stream # noqa: E501 @@ -346,7 +277,7 @@ class TestFakeApi(unittest.TestCase): with open(file_path1, "rb") as some_file: file_bytes = some_file.read() file1 = open(file_path1, "rb") - mock_response = self.__response( + mock_response = self.response( file_bytes, content_type='application/octet-stream' ) @@ -354,7 +285,7 @@ class TestFakeApi(unittest.TestCase): with patch.object(RESTClientObject, 'request') as mock_request: mock_request.return_value = mock_response api_response = self.api.upload_download_file(body=file1) - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/uploadDownloadFile', body=file_bytes, @@ -374,7 +305,7 @@ class TestFakeApi(unittest.TestCase): with patch.object(RESTClientObject, 'request') as mock_request: mock_request.return_value = mock_response api_response = self.api.upload_download_file(body=file_bytes) - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/uploadDownloadFile', body=file_bytes, @@ -411,7 +342,7 @@ class TestFakeApi(unittest.TestCase): streamable_body = StreamableBody(file1) - mock_response = self.__response( + mock_response = self.response( streamable_body, content_type='application/octet-stream', preload_content=False @@ -419,7 +350,7 @@ class TestFakeApi(unittest.TestCase): with patch.object(RESTClientObject, 'request') as mock_request: mock_request.return_value = mock_response api_response = self.api.upload_download_file(body=file_bytes, stream=True) - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/uploadDownloadFile', body=file_bytes, @@ -443,7 +374,7 @@ class TestFakeApi(unittest.TestCase): when streaming is used and the response contains the content disposition header with a filename that filename is used when saving the file locally """ - mock_response = self.__response( + mock_response = self.response( streamable_body, content_type='application/octet-stream', headers={'content-disposition': f'attachment; filename="{saved_file_name}"'}, @@ -452,7 +383,7 @@ class TestFakeApi(unittest.TestCase): with patch.object(RESTClientObject, 'request') as mock_request: mock_request.return_value = mock_response api_response = self.api.upload_download_file(body=file_bytes, stream=True) - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/uploadDownloadFile', body=file_bytes, @@ -489,11 +420,11 @@ class TestFakeApi(unittest.TestCase): } try: with patch.object(RESTClientObject, 'request') as mock_request: - mock_request.return_value = self.__response( - self.__json_bytes(response_json) + mock_request.return_value = self.response( + self.json_bytes(response_json) ) api_response = self.api.upload_file(body={'file': file1}) - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/uploadFile', fields=( @@ -514,11 +445,11 @@ class TestFakeApi(unittest.TestCase): # sending just bytes works also with patch.object(RESTClientObject, 'request') as mock_request: - mock_request.return_value = self.__response( - self.__json_bytes(response_json) + mock_request.return_value = self.response( + self.json_bytes(response_json) ) api_response = self.api.upload_file(body={'file': file_bytes}) - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/uploadFile', fields=( @@ -567,11 +498,11 @@ class TestFakeApi(unittest.TestCase): } try: with patch.object(RESTClientObject, 'request') as mock_request: - mock_request.return_value = self.__response( - self.__json_bytes(response_json) + mock_request.return_value = self.response( + self.json_bytes(response_json) ) api_response = self.api.upload_files(body={'files': [file1, file1]}) - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/uploadFiles', fields=( @@ -598,11 +529,11 @@ class TestFakeApi(unittest.TestCase): # sending just bytes works also with patch.object(RESTClientObject, 'request') as mock_request: - mock_request.return_value = self.__response( - self.__json_bytes(response_json) + mock_request.return_value = self.response( + self.json_bytes(response_json) ) api_response = self.api.upload_files(body={'files': [file_bytes, file_bytes]}) - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/uploadFiles', fields=( @@ -640,11 +571,11 @@ class TestFakeApi(unittest.TestCase): testing composed schemas at inline locations # noqa: E501 """ single_char_str = 'a' - json_bytes = self.__json_bytes(single_char_str) + json_bytes = self.json_bytes(single_char_str) # tx and rx json with composition at root level of schema for request + response body content_type = 'application/json' - mock_request.return_value = self.__response( + mock_request.return_value = self.response( json_bytes ) api_response = self.api.inline_composition( @@ -655,12 +586,11 @@ class TestFakeApi(unittest.TestCase): }, accept_content_types=(content_type,) ) - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, - 'http://petstore.swagger.io:80/v2/fake/inlineComposition/', + 'http://petstore.swagger.io:80/v2/fake/inlineComposition/?compositionAtRoot=a&someProp=a', accept_content_type=content_type, content_type=content_type, - query_params=(('compositionAtRoot', 'a'), ('someProp', 'a')), body=json_bytes ) self.assertEqual(api_response.body, single_char_str) @@ -669,7 +599,7 @@ class TestFakeApi(unittest.TestCase): # tx and rx json with composition at property level of schema for request + response body content_type = 'multipart/form-data' multipart_response = self.__encode_multipart_formdata(fields={'someProp': single_char_str}) - mock_request.return_value = self.__response( + mock_request.return_value = self.response( bytes(multipart_response), content_type=multipart_response.get_content_type() ) @@ -682,12 +612,11 @@ class TestFakeApi(unittest.TestCase): content_type=content_type, accept_content_types=(content_type,) ) - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, - 'http://petstore.swagger.io:80/v2/fake/inlineComposition/', + 'http://petstore.swagger.io:80/v2/fake/inlineComposition/?compositionAtRoot=a&someProp=a', accept_content_type=content_type, content_type=content_type, - query_params=(('compositionAtRoot', 'a'), ('someProp', 'a')), fields=( api_client.RequestField( name='someProp', @@ -707,7 +636,7 @@ class TestFakeApi(unittest.TestCase): values[invalid_index] = invalid_value with self.assertRaises(exceptions.ApiValueError): multipart_response = self.__encode_multipart_formdata(fields={'someProp': values[0]}) - mock_request.return_value = self.__response( + mock_request.return_value = self.response( bytes(multipart_response), content_type=multipart_response.get_content_type() ) @@ -726,16 +655,16 @@ class TestFakeApi(unittest.TestCase): with patch.object(RESTClientObject, 'request') as mock_request: body = None content_type_with_charset = 'application/json; charset=utf-8' - mock_request.return_value = self.__response( - self.__json_bytes(body), + mock_request.return_value = self.response( + self.json_bytes(body), content_type=content_type_with_charset ) api_response = self.api.json_with_charset(body=body) - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/jsonWithCharset', - body=self.__json_bytes(body), + body=self.json_bytes(body), content_type=content_type_with_charset, accept_content_type=content_type_with_charset ) @@ -749,12 +678,12 @@ class TestFakeApi(unittest.TestCase): with patch.object(RESTClientObject, 'request') as mock_request: body = None content_type = 'application/json' - mock_request.return_value = self.__response( - self.__json_bytes(body), + mock_request.return_value = self.response( + self.json_bytes(body), ) api_response = self.api.response_without_schema() - self.__assert_request_called_with( + self.assert_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/responseWithoutSchema', method='GET', @@ -766,7 +695,7 @@ class TestFakeApi(unittest.TestCase): with patch.object(RESTClientObject, 'request') as mock_request: - mock_request.return_value = self.__response( + mock_request.return_value = self.response( 'blah', content_type='text/plain' ) @@ -779,12 +708,12 @@ class TestFakeApi(unittest.TestCase): with patch.object(urllib3.PoolManager, 'request') as mock_request: body = None - mock_request.return_value = self.__response( - self.__json_bytes(body), + mock_request.return_value = self.response( + self.json_bytes(body), ) api_response = self.api.delete_coffee(path_params=dict(id='1')) - self.__assert_pool_manager_request_called_with( + self.assert_pool_manager_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/deleteCoffee/1', method='DELETE', diff --git a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_parameters.py b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_parameters.py index 49940bab90..86cb821787 100644 --- a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_parameters.py +++ b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_parameters.py @@ -11,8 +11,7 @@ import unittest import collections -from petstore_api import api_client -from petstore_api import schemas +from petstore_api import api_client, exceptions, schemas ParamTestCase = collections.namedtuple('ParamTestCase', 'payload expected_serialization explode', defaults=[False]) @@ -25,6 +24,11 @@ class TestParameter(unittest.TestCase): api_client.ParameterInType.HEADER: api_client.HeaderParameter, } + invalid_inputs = ( + True, + False + ) + def test_throws_exception_when_schema_and_content_omitted(self): with self.assertRaises(ValueError): api_client.QueryParameter( @@ -95,68 +99,52 @@ class TestParameter(unittest.TestCase): test_cases = ( ParamTestCase( None, - () + dict(color='') ), ParamTestCase( 1, - (('color', '1'),) + dict(color='?color=1') ), ParamTestCase( 3.14, - (('color', '3.14'),) + dict(color='?color=3.14') ), ParamTestCase( 'blue', - (('color', 'blue'),) + dict(color='?color=blue') ), ParamTestCase( 'hello world', - (('color', 'hello%20world'),) + dict(color='?color=hello%20world') ), ParamTestCase( '', - (('color', ''),) - ), - ParamTestCase( - True, - (('color', 'true'),) - ), - ParamTestCase( - False, - (('color', 'false'),) + dict(color='?color=') ), ParamTestCase( [], - () + dict(color='') ), ParamTestCase( ['blue', 'black', 'brown'], - (('color', 'blue,black,brown'),) + dict(color='?color=blue,black,brown') ), ParamTestCase( ['blue', 'black', 'brown'], - ( - ('color', 'blue'), - ('color', 'black'), - ('color', 'brown'), - ), + dict(color='?color=blue&color=black&color=brown'), explode=True ), ParamTestCase( {}, - () + dict(color='') ), ParamTestCase( dict(R=100, G=200, B=150), - (('color', 'R,100,G,200,B,150'),) + dict(color='?color=R,100,G,200,B,150') ), ParamTestCase( dict(R=100, G=200, B=150), - ( - ('R', '100'), - ('G', '200'), - ('B', '150'), - ), + dict(color='?R=100&G=200&B=150'), explode=True ), ) @@ -170,73 +158,68 @@ class TestParameter(unittest.TestCase): serialization = parameter.serialize(test_case.payload) self.assertEqual(serialization, test_case.expected_serialization) + with self.assertRaises(exceptions.ApiValueError): + for invalid_input in self.invalid_inputs: + for explode in (True, False): + parameter = api_client.QueryParameter( + name=name, + style=api_client.ParameterStyle.FORM, + schema=schemas.AnyTypeSchema, + explode=explode, + ) + parameter.serialize(invalid_input) + def test_cookie_style_form_serialization(self): name = 'color' test_cases = ( ParamTestCase( None, - () + dict(color='') ), ParamTestCase( 1, - (('color', '1'),) + dict(color='color=1') ), ParamTestCase( 3.14, - (('color', '3.14'),) + dict(color='color=3.14') ), ParamTestCase( 'blue', - (('color', 'blue'),) + dict(color='color=blue') ), ParamTestCase( 'hello world', - (('color', 'hello%20world'),) + dict(color='color=hello world') ), ParamTestCase( '', - (('color', ''),) - ), - ParamTestCase( - True, - (('color', 'true'),) - ), - ParamTestCase( - False, - (('color', 'false'),) + dict(color='color=') ), ParamTestCase( [], - () + dict(color='') ), ParamTestCase( ['blue', 'black', 'brown'], - (('color', 'blue,black,brown'),) + dict(color='color=blue,black,brown') ), ParamTestCase( ['blue', 'black', 'brown'], - ( - ('color', 'blue'), - ('color', 'black'), - ('color', 'brown'), - ), + dict(color='color=blue&color=black&color=brown'), explode=True ), ParamTestCase( {}, - () + dict(color='') ), ParamTestCase( dict(R=100, G=200, B=150), - (('color', 'R,100,G,200,B,150'),) + dict(color='color=R,100,G,200,B,150') ), ParamTestCase( dict(R=100, G=200, B=150), - ( - ('R', '100'), - ('G', '200'), - ('B', '150'), - ), + dict(color='R=100&G=200&B=150'), explode=True ), ) @@ -250,6 +233,17 @@ class TestParameter(unittest.TestCase): serialization = parameter.serialize(test_case.payload) self.assertEqual(serialization, test_case.expected_serialization) + with self.assertRaises(exceptions.ApiValueError): + for invalid_input in self.invalid_inputs: + for explode in (True, False): + parameter = api_client.CookieParameter( + name=name, + style=api_client.ParameterStyle.FORM, + schema=schemas.AnyTypeSchema, + explode=explode, + ) + parameter.serialize(invalid_input) + def test_style_simple_in_path_serialization(self): name = 'color' test_cases = ( @@ -277,14 +271,6 @@ class TestParameter(unittest.TestCase): '', dict(color='') ), - ParamTestCase( - True, - dict(color='true') - ), - ParamTestCase( - False, - dict(color='false') - ), ParamTestCase( [], dict(color='') @@ -322,12 +308,23 @@ class TestParameter(unittest.TestCase): serialization = parameter.serialize(test_case.payload) self.assertEqual(serialization, test_case.expected_serialization) + with self.assertRaises(exceptions.ApiValueError): + for invalid_input in self.invalid_inputs: + for explode in (True, False): + parameter = api_client.PathParameter( + name=name, + style=api_client.ParameterStyle.SIMPLE, + schema=schemas.AnyTypeSchema, + explode=explode, + ) + parameter.serialize(invalid_input) + def test_style_simple_in_header_serialization(self): name = 'color' test_cases = ( ParamTestCase( None, - {} + dict(color='') ), ParamTestCase( 1, @@ -343,23 +340,15 @@ class TestParameter(unittest.TestCase): ), ParamTestCase( 'hello world', - dict(color='hello%20world') + dict(color='hello world') ), ParamTestCase( '', dict(color='') ), - ParamTestCase( - True, - dict(color='true') - ), - ParamTestCase( - False, - dict(color='false') - ), ParamTestCase( [], - {} + dict(color='') ), ParamTestCase( ['blue', 'black', 'brown'], @@ -372,7 +361,7 @@ class TestParameter(unittest.TestCase): ), ParamTestCase( {}, - {} + dict(color='') ), ParamTestCase( dict(R=100, G=200, B=150), @@ -385,7 +374,6 @@ class TestParameter(unittest.TestCase): ), ) for test_case in test_cases: - print(test_case.payload) parameter = api_client.HeaderParameter( name=name, style=api_client.ParameterStyle.SIMPLE, @@ -395,6 +383,17 @@ class TestParameter(unittest.TestCase): serialization = parameter.serialize(test_case.payload) self.assertEqual(serialization, test_case.expected_serialization) + with self.assertRaises(exceptions.ApiValueError): + for invalid_input in self.invalid_inputs: + for explode in (True, False): + parameter = api_client.HeaderParameter( + name=name, + style=api_client.ParameterStyle.SIMPLE, + schema=schemas.AnyTypeSchema, + explode=explode, + ) + parameter.serialize(invalid_input) + def test_style_label_in_path_serialization(self): name = 'color' test_cases = ( @@ -422,14 +421,6 @@ class TestParameter(unittest.TestCase): '', dict(color='.') ), - ParamTestCase( - True, - dict(color='.true') - ), - ParamTestCase( - False, - dict(color='.false') - ), ParamTestCase( [], dict(color='') @@ -467,6 +458,17 @@ class TestParameter(unittest.TestCase): serialization = parameter.serialize(test_case.payload) self.assertEqual(serialization, test_case.expected_serialization) + with self.assertRaises(exceptions.ApiValueError): + for invalid_input in self.invalid_inputs: + for explode in (True, False): + parameter = api_client.PathParameter( + name=name, + style=api_client.ParameterStyle.LABEL, + schema=schemas.AnyTypeSchema, + explode=explode, + ) + parameter.serialize(invalid_input) + def test_style_matrix_in_path_serialization(self): name = 'color' test_cases = ( @@ -494,14 +496,6 @@ class TestParameter(unittest.TestCase): '', dict(color=';color') ), - ParamTestCase( - True, - dict(color=';color=true') - ), - ParamTestCase( - False, - dict(color=';color=false') - ), ParamTestCase( [], dict(color='') @@ -539,66 +533,59 @@ class TestParameter(unittest.TestCase): serialization = parameter.serialize(test_case.payload) self.assertEqual(serialization, test_case.expected_serialization) + with self.assertRaises(exceptions.ApiValueError): + for invalid_input in self.invalid_inputs: + for explode in (True, False): + parameter = api_client.PathParameter( + name=name, + style=api_client.ParameterStyle.MATRIX, + schema=schemas.AnyTypeSchema, + explode=explode, + ) + parameter.serialize(invalid_input) + def test_style_space_delimited_serialization(self): name = 'color' test_cases = ( ParamTestCase( None, - () + dict(color='') ), ParamTestCase( 1, - (('color', '1'),) + dict(color='1') ), ParamTestCase( 3.14, - (('color', '3.14'),) + dict(color='3.14') ), ParamTestCase( 'blue', - (('color', 'blue'),) + dict(color='blue') ), ParamTestCase( 'hello world', - (('color', 'hello%20world'),) + dict(color='hello%20world') ), ParamTestCase( '', - (('color', ''),) - ), - ParamTestCase( - True, - (('color', 'true'),) - ), - ParamTestCase( - False, - (('color', 'false'),) + dict(color='') ), ParamTestCase( [], - () + dict(color='') ), ParamTestCase( ['blue', 'black', 'brown'], - (('color', 'blue%20black%20brown'),) - ), - ParamTestCase( - ['blue', 'black', 'brown'], - (('color', 'color=blue%20color=black%20color=brown'),), - explode=True + dict(color='blue%20black%20brown') ), ParamTestCase( {}, - () + dict(color='') ), ParamTestCase( dict(R=100, G=200, B=150), - (('color', 'R%20100%20G%20200%20B%20150'),) - ), - ParamTestCase( - dict(R=100, G=200, B=150), - (('color', 'R=100%20G=200%20B=150'),), - explode=True + dict(color='R%20100%20G%20200%20B%20150') ), ) for test_case in test_cases: @@ -611,66 +598,59 @@ class TestParameter(unittest.TestCase): serialization = parameter.serialize(test_case.payload) self.assertEqual(serialization, test_case.expected_serialization) + with self.assertRaises(exceptions.ApiValueError): + for invalid_input in self.invalid_inputs: + for explode in (True, False): + parameter = api_client.QueryParameter( + name=name, + style=api_client.ParameterStyle.SPACE_DELIMITED, + schema=schemas.AnyTypeSchema, + explode=explode, + ) + parameter.serialize(invalid_input) + def test_style_pipe_delimited_serialization(self): name = 'color' test_cases = ( ParamTestCase( None, - () + dict(color='') ), ParamTestCase( 1, - (('color', '1'),) + dict(color='1') ), ParamTestCase( 3.14, - (('color', '3.14'),) + dict(color='3.14') ), ParamTestCase( 'blue', - (('color', 'blue'),) + dict(color='blue') ), ParamTestCase( 'hello world', - (('color', 'hello%20world'),) + dict(color='hello%20world') ), ParamTestCase( '', - (('color', ''),) - ), - ParamTestCase( - True, - (('color', 'true'),) - ), - ParamTestCase( - False, - (('color', 'false'),) + dict(color='') ), ParamTestCase( [], - () + dict(color='') ), ParamTestCase( ['blue', 'black', 'brown'], - (('color', 'blue|black|brown'),) - ), - ParamTestCase( - ['blue', 'black', 'brown'], - (('color', 'color=blue|color=black|color=brown'),), - explode=True + dict(color='blue|black|brown') ), ParamTestCase( {}, - () + dict(color='') ), ParamTestCase( dict(R=100, G=200, B=150), - (('color', 'R|100|G|200|B|150'),) - ), - ParamTestCase( - dict(R=100, G=200, B=150), - (('color', 'R=100|G=200|B=150'),), - explode=True + dict(color='R|100|G|200|B|150') ), ) for test_case in test_cases: @@ -683,6 +663,17 @@ class TestParameter(unittest.TestCase): serialization = parameter.serialize(test_case.payload) self.assertEqual(serialization, test_case.expected_serialization) + with self.assertRaises(exceptions.ApiValueError): + for invalid_input in self.invalid_inputs: + for explode in (True, False): + parameter = api_client.QueryParameter( + name=name, + style=api_client.ParameterStyle.PIPE_DELIMITED, + schema=schemas.AnyTypeSchema, + explode=explode, + ) + parameter.serialize(invalid_input) + def test_path_params_no_style(self): name = 'color' test_cases = ( @@ -710,14 +701,6 @@ class TestParameter(unittest.TestCase): '', dict(color='') ), - ParamTestCase( - True, - dict(color='true') - ), - ParamTestCase( - False, - dict(color='false') - ), ParamTestCase( [], dict(color='') @@ -743,12 +726,20 @@ class TestParameter(unittest.TestCase): serialization = parameter.serialize(test_case.payload) self.assertEqual(serialization, test_case.expected_serialization) + with self.assertRaises(exceptions.ApiValueError): + for invalid_input in self.invalid_inputs: + parameter = api_client.PathParameter( + name=name, + schema=schemas.AnyTypeSchema, + ) + parameter.serialize(invalid_input) + def test_header_params_no_style(self): name = 'color' test_cases = ( ParamTestCase( None, - {} + dict(color='') ), ParamTestCase( 1, @@ -764,23 +755,15 @@ class TestParameter(unittest.TestCase): ), ParamTestCase( 'hello world', - dict(color='hello%20world') + dict(color='hello world') ), ParamTestCase( '', dict(color='') ), - ParamTestCase( - True, - dict(color='true') - ), - ParamTestCase( - False, - dict(color='false') - ), ParamTestCase( [], - {} + dict(color='') ), ParamTestCase( ['blue', 'black', 'brown'], @@ -788,7 +771,7 @@ class TestParameter(unittest.TestCase): ), ParamTestCase( {}, - {} + dict(color='') ), ParamTestCase( dict(R=100, G=200, B=150), @@ -803,67 +786,136 @@ class TestParameter(unittest.TestCase): serialization = parameter.serialize(test_case.payload) self.assertEqual(serialization, test_case.expected_serialization) - def test_query_or_cookie_params_no_style(self): + with self.assertRaises(exceptions.ApiValueError): + for invalid_input in self.invalid_inputs: + parameter = api_client.HeaderParameter( + name=name, + schema=schemas.AnyTypeSchema, + ) + parameter.serialize(invalid_input) + + def test_query_params_no_style(self): name = 'color' test_cases = ( ParamTestCase( None, - () + dict(color='') ), ParamTestCase( 1, - (('color', '1'),) + dict(color='?color=1') ), ParamTestCase( 3.14, - (('color', '3.14'),) + dict(color='?color=3.14') ), ParamTestCase( 'blue', - (('color', 'blue'),) + dict(color='?color=blue') ), ParamTestCase( 'hello world', - (('color', 'hello%20world'),) + dict(color='?color=hello%20world') ), ParamTestCase( '', - (('color', ''),) - ), - ParamTestCase( - True, - (('color', 'true'),) - ), - ParamTestCase( - False, - (('color', 'false'),) + dict(color='?color=') ), ParamTestCase( [], - () + dict(color='') ), ParamTestCase( ['blue', 'black', 'brown'], - (('color', 'blue,black,brown'),) + dict(color='?color=blue&color=black&color=brown') ), ParamTestCase( {}, - () + dict(color='') ), ParamTestCase( dict(R=100, G=200, B=150), - (('color', 'R,100,G,200,B,150'),) + dict(color='?R=100&G=200&B=150') ), ) - for in_type in {api_client.ParameterInType.QUERY, api_client.ParameterInType.COOKIE}: - for test_case in test_cases: - parameter_cls = self.in_type_to_parameter_cls[in_type] - parameter = parameter_cls( + for test_case in test_cases: + parameter = api_client.QueryParameter( + name=name, + schema=schemas.AnyTypeSchema, + ) + print(parameter.explode) + print(test_case.payload) + serialization = parameter.serialize(test_case.payload) + self.assertEqual(serialization, test_case.expected_serialization) + + with self.assertRaises(exceptions.ApiValueError): + for invalid_input in self.invalid_inputs: + parameter = api_client.QueryParameter( name=name, schema=schemas.AnyTypeSchema, ) - serialization = parameter.serialize(test_case.payload) - self.assertEqual(serialization, test_case.expected_serialization) + parameter.serialize(invalid_input) + + def test_cookie_params_no_style(self): + name = 'color' + test_cases = ( + ParamTestCase( + None, + dict(color='') + ), + ParamTestCase( + 1, + dict(color='color=1') + ), + ParamTestCase( + 3.14, + dict(color='color=3.14') + ), + ParamTestCase( + 'blue', + dict(color='color=blue') + ), + ParamTestCase( + 'hello world', + dict(color='color=hello world') + ), + ParamTestCase( + '', + dict(color='color=') + ), + ParamTestCase( + [], + dict(color='') + ), + ParamTestCase( + ['blue', 'black', 'brown'], + dict(color='color=blue&color=black&color=brown') + ), + ParamTestCase( + {}, + dict(color='') + ), + ParamTestCase( + dict(R=100, G=200, B=150), + dict(color='R=100&G=200&B=150') + ), + ) + for test_case in test_cases: + parameter = api_client.CookieParameter( + name=name, + schema=schemas.AnyTypeSchema, + ) + print(test_case.payload) + serialization = parameter.serialize(test_case.payload) + self.assertEqual(serialization, test_case.expected_serialization) + + with self.assertRaises(exceptions.ApiValueError): + for invalid_input in self.invalid_inputs: + parameter = api_client.CookieParameter( + name=name, + schema=schemas.AnyTypeSchema, + ) + parameter.serialize(invalid_input) def test_checks_content_lengths(self): with self.assertRaises(ValueError): diff --git a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_request_body.py b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_request_body.py index 88e9b67f69..cbfb167754 100644 --- a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_request_body.py +++ b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_request_body.py @@ -123,13 +123,13 @@ class TestParameter(unittest.TestCase): serialization = request_body.serialize(payload, content_type) self.assertEqual( serialization, - {'fields': (('some_str', 'a'), ('some_int', '1'), ('some_float', '3.14'))} + dict(body='?some_str=a&some_int=1&some_float=3.14') ) serialization = request_body.serialize({}, content_type) self.assertEqual( serialization, - {} + dict(body='') ) invalid_payloads = [ diff --git a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_user_api.py b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_user_api.py new file mode 100644 index 0000000000..ce2598fbfc --- /dev/null +++ b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_user_api.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ # noqa: E501 + + The version of the OpenAPI document: 1.0.0 + Generated by: https://openapi-generator.tech +""" +import unittest +from unittest.mock import patch + +import petstore_api +from petstore_api import api_client +from petstore_api.api.user_api import UserApi +from petstore_api.rest import RESTClientObject + +from . import ApiTestMixin + + +class TestUserApi(ApiTestMixin): + """UserApi unit test stubs""" + configuration = petstore_api.Configuration() + api = UserApi(api_client=api_client.ApiClient(configuration=configuration)) + + def test_create_user(self): + """Test case for create_user + + Create user # noqa: E501 + """ + pass + + def test_create_users_with_array_input(self): + """Test case for create_users_with_array_input + + Creates list of users with given input array # noqa: E501 + """ + pass + + def test_create_users_with_list_input(self): + """Test case for create_users_with_list_input + + Creates list of users with given input array # noqa: E501 + """ + pass + + def test_delete_user(self): + """Test case for delete_user + + Delete user # noqa: E501 + """ + pass + + def test_get_user_by_name(self): + from petstore_api.model import user + + # serialization + deserialization works + with patch.object(RESTClientObject, 'request') as mock_request: + value_simple = dict( + id=1, + username='first last', + firstName='first', + lastName='last' + ) + body = user.User(**value_simple) + mock_request.return_value = self.response( + self.json_bytes(value_simple) + ) + + api_response = self.api.get_user_by_name( + path_params=dict(username='first last') + ) + self.assert_request_called_with( + mock_request, + 'http://petstore.swagger.io:80/v2/user/first%20last', + method='GET', + accept_content_type='application/xml, application/json', + content_type=None + ) + + assert isinstance(api_response.body, user.User) + assert api_response.body == body + + def test_login_user(self): + """Test case for login_user + + Logs user into the system # noqa: E501 + """ + pass + + def test_logout_user(self): + """Test case for logout_user + + Logs out current logged in user session # noqa: E501 + """ + pass + + def test_update_user(self): + """Test case for update_user + + Updated user # noqa: E501 + """ + pass + + +if __name__ == '__main__': + unittest.main() From ef583c53dd569ab8299e085982f1b35d352b9dfc Mon Sep 17 00:00:00 2001 From: Arne Beer Date: Mon, 13 Jun 2022 17:03:12 +0200 Subject: [PATCH 075/212] [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 --- .../typescript-fetch/modelGeneric.mustache | 14 +++++++++++ .../typescript-fetch/modelOneOf.mustache | 10 +++++++- .../models/AdditionalPropertiesClass.ts | 9 ++++++++ .../default-v3.0/models/AllOfWithSingleRef.ts | 9 ++++++++ .../builds/default-v3.0/models/Animal.ts | 10 ++++++++ .../models/ArrayOfArrayOfNumberOnly.ts | 9 ++++++++ .../default-v3.0/models/ArrayOfNumberOnly.ts | 9 ++++++++ .../builds/default-v3.0/models/ArrayTest.ts | 9 ++++++++ .../default-v3.0/models/Capitalization.ts | 9 ++++++++ .../builds/default-v3.0/models/Cat.ts | 9 ++++++++ .../builds/default-v3.0/models/CatAllOf.ts | 9 ++++++++ .../builds/default-v3.0/models/Category.ts | 10 ++++++++ .../builds/default-v3.0/models/ClassModel.ts | 9 ++++++++ .../builds/default-v3.0/models/Client.ts | 9 ++++++++ .../default-v3.0/models/DeprecatedObject.ts | 9 ++++++++ .../builds/default-v3.0/models/Dog.ts | 9 ++++++++ .../builds/default-v3.0/models/DogAllOf.ts | 9 ++++++++ .../builds/default-v3.0/models/EnumArrays.ts | 9 ++++++++ .../builds/default-v3.0/models/EnumTest.ts | 10 ++++++++ .../models/FileSchemaTestClass.ts | 9 ++++++++ .../builds/default-v3.0/models/Foo.ts | 9 ++++++++ .../models/FooGetDefaultResponse.ts | 9 ++++++++ .../builds/default-v3.0/models/FormatTest.ts | 13 +++++++++++ .../default-v3.0/models/HasOnlyReadOnly.ts | 9 ++++++++ .../default-v3.0/models/HealthCheckResult.ts | 9 ++++++++ .../builds/default-v3.0/models/List.ts | 9 ++++++++ .../builds/default-v3.0/models/MapTest.ts | 9 ++++++++ ...dPropertiesAndAdditionalPropertiesClass.ts | 9 ++++++++ .../default-v3.0/models/Model200Response.ts | 9 ++++++++ .../default-v3.0/models/ModelApiResponse.ts | 9 ++++++++ .../builds/default-v3.0/models/ModelFile.ts | 9 ++++++++ .../builds/default-v3.0/models/Name.ts | 10 ++++++++ .../default-v3.0/models/NullableClass.ts | 9 ++++++++ .../builds/default-v3.0/models/NumberOnly.ts | 9 ++++++++ .../models/ObjectWithDeprecatedFields.ts | 9 ++++++++ .../builds/default-v3.0/models/Order.ts | 9 ++++++++ .../default-v3.0/models/OuterComposite.ts | 9 ++++++++ .../models/OuterObjectWithEnumProperty.ts | 10 ++++++++ .../builds/default-v3.0/models/Pet.ts | 11 +++++++++ .../default-v3.0/models/ReadOnlyFirst.ts | 9 ++++++++ .../builds/default-v3.0/models/Return.ts | 9 ++++++++ .../default-v3.0/models/SpecialModelName.ts | 9 ++++++++ .../builds/default-v3.0/models/Tag.ts | 9 ++++++++ .../builds/default-v3.0/models/User.ts | 9 ++++++++ .../builds/default/models/Category.ts | 9 ++++++++ .../builds/default/models/ModelApiResponse.ts | 9 ++++++++ .../builds/default/models/Order.ts | 9 ++++++++ .../builds/default/models/Pet.ts | 11 +++++++++ .../builds/default/models/Tag.ts | 9 ++++++++ .../builds/default/models/User.ts | 9 ++++++++ .../builds/enum/models/EnumPatternObject.ts | 9 ++++++++ .../FakeEnumRequestGetInline200Response.ts | 9 ++++++++ .../builds/es6-target/src/models/Category.ts | 9 ++++++++ .../es6-target/src/models/ModelApiResponse.ts | 9 ++++++++ .../builds/es6-target/src/models/Order.ts | 9 ++++++++ .../builds/es6-target/src/models/Pet.ts | 11 +++++++++ .../builds/es6-target/src/models/Tag.ts | 9 ++++++++ .../builds/es6-target/src/models/User.ts | 9 ++++++++ .../multiple-parameters/models/Category.ts | 9 ++++++++ .../models/ModelApiResponse.ts | 9 ++++++++ .../multiple-parameters/models/Order.ts | 9 ++++++++ .../builds/multiple-parameters/models/Pet.ts | 11 +++++++++ .../builds/multiple-parameters/models/Tag.ts | 9 ++++++++ .../builds/multiple-parameters/models/User.ts | 9 ++++++++ .../src/models/Category.ts | 9 ++++++++ .../src/models/ModelApiResponse.ts | 9 ++++++++ .../src/models/Order.ts | 9 ++++++++ .../src/models/Pet.ts | 11 +++++++++ .../src/models/Tag.ts | 9 ++++++++ .../src/models/User.ts | 9 ++++++++ .../sagas-and-records/src/models/Category.ts | 9 ++++++++ .../src/models/DefaultMetaOnlyResponse.ts | 10 ++++++++ .../src/models/FindPetsByStatusResponse.ts | 10 ++++++++ .../src/models/FindPetsByUserResponse.ts | 10 ++++++++ .../models/GetBehaviorPermissionsResponse.ts | 10 ++++++++ .../src/models/GetBehaviorTypeResponse.ts | 10 ++++++++ .../src/models/GetMatchingPartsResponse.ts | 10 ++++++++ .../src/models/GetPetPartTypeResponse.ts | 10 ++++++++ .../sagas-and-records/src/models/ItemId.ts | 11 +++++++++ .../src/models/MatchingParts.ts | 11 +++++++++ .../src/models/ModelApiResponse.ts | 9 ++++++++ .../src/models/ModelError.ts | 10 ++++++++ .../sagas-and-records/src/models/Order.ts | 9 ++++++++ .../sagas-and-records/src/models/Part.ts | 11 +++++++++ .../sagas-and-records/src/models/Pet.ts | 23 +++++++++++++++++++ .../src/models/PetRegionsResponse.ts | 10 ++++++++ .../src/models/ResponseMeta.ts | 10 ++++++++ .../sagas-and-records/src/models/Tag.ts | 9 ++++++++ .../sagas-and-records/src/models/User.ts | 11 +++++++++ .../builds/with-interfaces/models/Category.ts | 9 ++++++++ .../models/ModelApiResponse.ts | 9 ++++++++ .../builds/with-interfaces/models/Order.ts | 9 ++++++++ .../builds/with-interfaces/models/Pet.ts | 11 +++++++++ .../builds/with-interfaces/models/Tag.ts | 9 ++++++++ .../builds/with-interfaces/models/User.ts | 9 ++++++++ .../with-npm-version/src/models/Category.ts | 9 ++++++++ .../src/models/ModelApiResponse.ts | 9 ++++++++ .../with-npm-version/src/models/Order.ts | 9 ++++++++ .../builds/with-npm-version/src/models/Pet.ts | 11 +++++++++ .../builds/with-npm-version/src/models/Tag.ts | 9 ++++++++ .../with-npm-version/src/models/User.ts | 9 ++++++++ .../models/EnumPatternObject.ts | 9 ++++++++ .../FakeEnumRequestGetInline200Response.ts | 9 ++++++++ 103 files changed, 987 insertions(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/resources/typescript-fetch/modelGeneric.mustache b/modules/openapi-generator/src/main/resources/typescript-fetch/modelGeneric.mustache index b37cfdec9d..32f534af01 100644 --- a/modules/openapi-generator/src/main/resources/typescript-fetch/modelGeneric.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-fetch/modelGeneric.mustache @@ -20,6 +20,20 @@ import { {{/discriminator}} {{>modelGenericInterfaces}} +/** + * Check if a given object implements the {{classname}} interface. + */ +export function instanceOf{{classname}}(value: object): boolean { + let isInstance = true; + {{#vars}} + {{#required}} + isInstance = isInstance && "{{name}}" in value; + {{/required}} + {{/vars}} + + return isInstance; +} + export function {{classname}}FromJSON(json: any): {{classname}} { return {{classname}}FromJSONTyped(json, false); } diff --git a/modules/openapi-generator/src/main/resources/typescript-fetch/modelOneOf.mustache b/modules/openapi-generator/src/main/resources/typescript-fetch/modelOneOf.mustache index 7cb97abeba..4f7e9a3c01 100644 --- a/modules/openapi-generator/src/main/resources/typescript-fetch/modelOneOf.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-fetch/modelOneOf.mustache @@ -2,6 +2,7 @@ {{#oneOf}} import { {{{.}}}, + instanceOf{{{.}}}, {{{.}}}FromJSON, {{{.}}}FromJSONTyped, {{{.}}}ToJSON, @@ -51,7 +52,14 @@ export function {{classname}}ToJSON(value?: {{classname}} | null): any { throw new Error(`No variant of {{classname}} exists with '{{discriminator.propertyName}}=${value['{{discriminator.propertyName}}']}'`); } {{/discriminator}} + {{^discriminator}} - return { {{#oneOf}}...{{{.}}}ToJSON(value){{^-last}}, {{/-last}}{{/oneOf}} }; + {{#oneOf}} + if (instanceOf{{{.}}}(value)) { + return {{{.}}}ToJSON(value as {{{.}}}); + } + {{/oneOf}} + + return {}; {{/discriminator}} } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/AdditionalPropertiesClass.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/AdditionalPropertiesClass.ts index 4036c2835b..ae1161178d 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/AdditionalPropertiesClass.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/AdditionalPropertiesClass.ts @@ -33,6 +33,15 @@ export interface AdditionalPropertiesClass { mapOfMapProperty?: { [key: string]: { [key: string]: string; }; }; } +/** + * Check if a given object implements the AdditionalPropertiesClass interface. + */ +export function instanceOfAdditionalPropertiesClass(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function AdditionalPropertiesClassFromJSON(json: any): AdditionalPropertiesClass { return AdditionalPropertiesClassFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/AllOfWithSingleRef.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/AllOfWithSingleRef.ts index e10f10e725..a1a0dec547 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/AllOfWithSingleRef.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/AllOfWithSingleRef.ts @@ -40,6 +40,15 @@ export interface AllOfWithSingleRef { singleRefType?: SingleRefType | null; } +/** + * Check if a given object implements the AllOfWithSingleRef interface. + */ +export function instanceOfAllOfWithSingleRef(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function AllOfWithSingleRefFromJSON(json: any): AllOfWithSingleRef { return AllOfWithSingleRefFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Animal.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Animal.ts index d7615f2bef..7c611d3f08 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Animal.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Animal.ts @@ -38,6 +38,16 @@ export interface Animal { color?: string; } +/** + * Check if a given object implements the Animal interface. + */ +export function instanceOfAnimal(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "className" in value; + + return isInstance; +} + export function AnimalFromJSON(json: any): Animal { return AnimalFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ArrayOfArrayOfNumberOnly.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ArrayOfArrayOfNumberOnly.ts index d550728ba7..7ab1245898 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ArrayOfArrayOfNumberOnly.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ArrayOfArrayOfNumberOnly.ts @@ -27,6 +27,15 @@ export interface ArrayOfArrayOfNumberOnly { arrayArrayNumber?: Array>; } +/** + * Check if a given object implements the ArrayOfArrayOfNumberOnly interface. + */ +export function instanceOfArrayOfArrayOfNumberOnly(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function ArrayOfArrayOfNumberOnlyFromJSON(json: any): ArrayOfArrayOfNumberOnly { return ArrayOfArrayOfNumberOnlyFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ArrayOfNumberOnly.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ArrayOfNumberOnly.ts index 834ed08cee..e0bdb81203 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ArrayOfNumberOnly.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ArrayOfNumberOnly.ts @@ -27,6 +27,15 @@ export interface ArrayOfNumberOnly { arrayNumber?: Array; } +/** + * Check if a given object implements the ArrayOfNumberOnly interface. + */ +export function instanceOfArrayOfNumberOnly(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function ArrayOfNumberOnlyFromJSON(json: any): ArrayOfNumberOnly { return ArrayOfNumberOnlyFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ArrayTest.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ArrayTest.ts index 17144b7828..170096bc49 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ArrayTest.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ArrayTest.ts @@ -46,6 +46,15 @@ export interface ArrayTest { arrayArrayOfModel?: Array>; } +/** + * Check if a given object implements the ArrayTest interface. + */ +export function instanceOfArrayTest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function ArrayTestFromJSON(json: any): ArrayTest { return ArrayTestFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Capitalization.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Capitalization.ts index 8bfd529f1a..6143a3f370 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Capitalization.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Capitalization.ts @@ -57,6 +57,15 @@ export interface Capitalization { aTTNAME?: string; } +/** + * Check if a given object implements the Capitalization interface. + */ +export function instanceOfCapitalization(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function CapitalizationFromJSON(json: any): Capitalization { return CapitalizationFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Cat.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Cat.ts index 7d6db07958..853ca97876 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Cat.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Cat.ts @@ -40,6 +40,15 @@ export interface Cat extends Animal { declawed?: boolean; } +/** + * Check if a given object implements the Cat interface. + */ +export function instanceOfCat(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function CatFromJSON(json: any): Cat { return CatFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/CatAllOf.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/CatAllOf.ts index 1ac10c4516..1256a21fea 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/CatAllOf.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/CatAllOf.ts @@ -27,6 +27,15 @@ export interface CatAllOf { declawed?: boolean; } +/** + * Check if a given object implements the CatAllOf interface. + */ +export function instanceOfCatAllOf(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function CatAllOfFromJSON(json: any): CatAllOf { return CatAllOfFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Category.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Category.ts index ec6ee21ff3..d1e2e3f8ac 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Category.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Category.ts @@ -33,6 +33,16 @@ export interface Category { name: string; } +/** + * Check if a given object implements the Category interface. + */ +export function instanceOfCategory(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "name" in value; + + return isInstance; +} + export function CategoryFromJSON(json: any): Category { return CategoryFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ClassModel.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ClassModel.ts index f149bb6825..0f01d81b15 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ClassModel.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ClassModel.ts @@ -27,6 +27,15 @@ export interface ClassModel { _class?: string; } +/** + * Check if a given object implements the ClassModel interface. + */ +export function instanceOfClassModel(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function ClassModelFromJSON(json: any): ClassModel { return ClassModelFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Client.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Client.ts index 44f2c241f2..a9fd27b4f4 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Client.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Client.ts @@ -27,6 +27,15 @@ export interface Client { client?: string; } +/** + * Check if a given object implements the Client interface. + */ +export function instanceOfClient(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function ClientFromJSON(json: any): Client { return ClientFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/DeprecatedObject.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/DeprecatedObject.ts index 5c3876e439..0cec2d0929 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/DeprecatedObject.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/DeprecatedObject.ts @@ -27,6 +27,15 @@ export interface DeprecatedObject { name?: string; } +/** + * Check if a given object implements the DeprecatedObject interface. + */ +export function instanceOfDeprecatedObject(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function DeprecatedObjectFromJSON(json: any): DeprecatedObject { return DeprecatedObjectFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Dog.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Dog.ts index f68b8e0251..83bb2b1dbf 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Dog.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Dog.ts @@ -40,6 +40,15 @@ export interface Dog extends Animal { breed?: string; } +/** + * Check if a given object implements the Dog interface. + */ +export function instanceOfDog(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function DogFromJSON(json: any): Dog { return DogFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/DogAllOf.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/DogAllOf.ts index 12f6f67feb..35034bbd49 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/DogAllOf.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/DogAllOf.ts @@ -27,6 +27,15 @@ export interface DogAllOf { breed?: string; } +/** + * Check if a given object implements the DogAllOf interface. + */ +export function instanceOfDogAllOf(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function DogAllOfFromJSON(json: any): DogAllOf { return DogAllOfFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/EnumArrays.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/EnumArrays.ts index 2dbe08d721..9603be51cd 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/EnumArrays.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/EnumArrays.ts @@ -53,6 +53,15 @@ export const EnumArraysArrayEnumEnum = { export type EnumArraysArrayEnumEnum = typeof EnumArraysArrayEnumEnum[keyof typeof EnumArraysArrayEnumEnum]; +/** + * Check if a given object implements the EnumArrays interface. + */ +export function instanceOfEnumArrays(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function EnumArraysFromJSON(json: any): EnumArrays { return EnumArraysFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/EnumTest.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/EnumTest.ts index 9791000abb..c3eaad1af1 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/EnumTest.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/EnumTest.ts @@ -134,6 +134,16 @@ export const EnumTestEnumNumberEnum = { export type EnumTestEnumNumberEnum = typeof EnumTestEnumNumberEnum[keyof typeof EnumTestEnumNumberEnum]; +/** + * Check if a given object implements the EnumTest interface. + */ +export function instanceOfEnumTest(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "enumStringRequired" in value; + + return isInstance; +} + export function EnumTestFromJSON(json: any): EnumTest { return EnumTestFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FileSchemaTestClass.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FileSchemaTestClass.ts index 78c4b71733..71f887cf32 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FileSchemaTestClass.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FileSchemaTestClass.ts @@ -33,6 +33,15 @@ export interface FileSchemaTestClass { files?: Array; } +/** + * Check if a given object implements the FileSchemaTestClass interface. + */ +export function instanceOfFileSchemaTestClass(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function FileSchemaTestClassFromJSON(json: any): FileSchemaTestClass { return FileSchemaTestClassFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Foo.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Foo.ts index 90d10f435b..aa5b331c3b 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Foo.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Foo.ts @@ -27,6 +27,15 @@ export interface Foo { bar?: string; } +/** + * Check if a given object implements the Foo interface. + */ +export function instanceOfFoo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function FooFromJSON(json: any): Foo { return FooFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FooGetDefaultResponse.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FooGetDefaultResponse.ts index f6c439c1a0..dc673bcee4 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FooGetDefaultResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FooGetDefaultResponse.ts @@ -34,6 +34,15 @@ export interface FooGetDefaultResponse { string?: Foo; } +/** + * Check if a given object implements the FooGetDefaultResponse interface. + */ +export function instanceOfFooGetDefaultResponse(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function FooGetDefaultResponseFromJSON(json: any): FooGetDefaultResponse { return FooGetDefaultResponseFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FormatTest.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FormatTest.ts index b60fcb5756..b36bb3d402 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FormatTest.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FormatTest.ts @@ -124,6 +124,19 @@ export interface FormatTest { patternWithDigitsAndDelimiter?: string; } +/** + * Check if a given object implements the FormatTest interface. + */ +export function instanceOfFormatTest(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "number" in value; + isInstance = isInstance && "_byte" in value; + isInstance = isInstance && "date" in value; + isInstance = isInstance && "password" in value; + + return isInstance; +} + export function FormatTestFromJSON(json: any): FormatTest { return FormatTestFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/HasOnlyReadOnly.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/HasOnlyReadOnly.ts index e29e66a5b3..d3dc4be676 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/HasOnlyReadOnly.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/HasOnlyReadOnly.ts @@ -33,6 +33,15 @@ export interface HasOnlyReadOnly { readonly foo?: string; } +/** + * Check if a given object implements the HasOnlyReadOnly interface. + */ +export function instanceOfHasOnlyReadOnly(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function HasOnlyReadOnlyFromJSON(json: any): HasOnlyReadOnly { return HasOnlyReadOnlyFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/HealthCheckResult.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/HealthCheckResult.ts index f70dfe1915..d62e1f09b8 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/HealthCheckResult.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/HealthCheckResult.ts @@ -27,6 +27,15 @@ export interface HealthCheckResult { nullableMessage?: string | null; } +/** + * Check if a given object implements the HealthCheckResult interface. + */ +export function instanceOfHealthCheckResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function HealthCheckResultFromJSON(json: any): HealthCheckResult { return HealthCheckResultFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/List.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/List.ts index ef025131e7..1334322e82 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/List.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/List.ts @@ -27,6 +27,15 @@ export interface List { _123list?: string; } +/** + * Check if a given object implements the List interface. + */ +export function instanceOfList(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function ListFromJSON(json: any): List { return ListFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/MapTest.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/MapTest.ts index c54b2a32f5..2ae39dd903 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/MapTest.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/MapTest.ts @@ -56,6 +56,15 @@ export const MapTestMapOfEnumStringEnum = { export type MapTestMapOfEnumStringEnum = typeof MapTestMapOfEnumStringEnum[keyof typeof MapTestMapOfEnumStringEnum]; +/** + * Check if a given object implements the MapTest interface. + */ +export function instanceOfMapTest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function MapTestFromJSON(json: any): MapTest { return MapTestFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/MixedPropertiesAndAdditionalPropertiesClass.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/MixedPropertiesAndAdditionalPropertiesClass.ts index 15e830ea39..5eac69a308 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/MixedPropertiesAndAdditionalPropertiesClass.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/MixedPropertiesAndAdditionalPropertiesClass.ts @@ -46,6 +46,15 @@ export interface MixedPropertiesAndAdditionalPropertiesClass { map?: { [key: string]: Animal; }; } +/** + * Check if a given object implements the MixedPropertiesAndAdditionalPropertiesClass interface. + */ +export function instanceOfMixedPropertiesAndAdditionalPropertiesClass(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function MixedPropertiesAndAdditionalPropertiesClassFromJSON(json: any): MixedPropertiesAndAdditionalPropertiesClass { return MixedPropertiesAndAdditionalPropertiesClassFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Model200Response.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Model200Response.ts index ba25d3451c..8b32d41474 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Model200Response.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Model200Response.ts @@ -33,6 +33,15 @@ export interface Model200Response { _class?: string; } +/** + * Check if a given object implements the Model200Response interface. + */ +export function instanceOfModel200Response(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function Model200ResponseFromJSON(json: any): Model200Response { return Model200ResponseFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ModelApiResponse.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ModelApiResponse.ts index 5ba9e329f4..8001d49c55 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ModelApiResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ModelApiResponse.ts @@ -39,6 +39,15 @@ export interface ModelApiResponse { message?: string; } +/** + * Check if a given object implements the ModelApiResponse interface. + */ +export function instanceOfModelApiResponse(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function ModelApiResponseFromJSON(json: any): ModelApiResponse { return ModelApiResponseFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ModelFile.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ModelFile.ts index 822256afd6..9d269ea77a 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ModelFile.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ModelFile.ts @@ -27,6 +27,15 @@ export interface ModelFile { sourceURI?: string; } +/** + * Check if a given object implements the ModelFile interface. + */ +export function instanceOfModelFile(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function ModelFileFromJSON(json: any): ModelFile { return ModelFileFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Name.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Name.ts index 20737db87c..f58a563b8b 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Name.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Name.ts @@ -45,6 +45,16 @@ export interface Name { readonly _123number?: number; } +/** + * Check if a given object implements the Name interface. + */ +export function instanceOfName(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "name" in value; + + return isInstance; +} + export function NameFromJSON(json: any): Name { return NameFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/NullableClass.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/NullableClass.ts index d154f41a03..f600f254c7 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/NullableClass.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/NullableClass.ts @@ -94,6 +94,15 @@ export interface NullableClass { objectItemsNullable?: { [key: string]: object; }; } +/** + * Check if a given object implements the NullableClass interface. + */ +export function instanceOfNullableClass(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function NullableClassFromJSON(json: any): NullableClass { return NullableClassFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/NumberOnly.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/NumberOnly.ts index 06493cb576..f8d62e3fce 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/NumberOnly.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/NumberOnly.ts @@ -27,6 +27,15 @@ export interface NumberOnly { justNumber?: number; } +/** + * Check if a given object implements the NumberOnly interface. + */ +export function instanceOfNumberOnly(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function NumberOnlyFromJSON(json: any): NumberOnly { return NumberOnlyFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ObjectWithDeprecatedFields.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ObjectWithDeprecatedFields.ts index 1ea8d319f1..d64a47ecd8 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ObjectWithDeprecatedFields.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ObjectWithDeprecatedFields.ts @@ -55,6 +55,15 @@ export interface ObjectWithDeprecatedFields { bars?: Array; } +/** + * Check if a given object implements the ObjectWithDeprecatedFields interface. + */ +export function instanceOfObjectWithDeprecatedFields(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function ObjectWithDeprecatedFieldsFromJSON(json: any): ObjectWithDeprecatedFields { return ObjectWithDeprecatedFieldsFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Order.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Order.ts index a5d97f21a0..cd72c59ea5 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Order.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Order.ts @@ -69,6 +69,15 @@ export const OrderStatusEnum = { export type OrderStatusEnum = typeof OrderStatusEnum[keyof typeof OrderStatusEnum]; +/** + * Check if a given object implements the Order interface. + */ +export function instanceOfOrder(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function OrderFromJSON(json: any): Order { return OrderFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/OuterComposite.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/OuterComposite.ts index ed383644e5..41434f59f3 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/OuterComposite.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/OuterComposite.ts @@ -39,6 +39,15 @@ export interface OuterComposite { myBoolean?: boolean; } +/** + * Check if a given object implements the OuterComposite interface. + */ +export function instanceOfOuterComposite(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function OuterCompositeFromJSON(json: any): OuterComposite { return OuterCompositeFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/OuterObjectWithEnumProperty.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/OuterObjectWithEnumProperty.ts index 878aef40cd..307a79f053 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/OuterObjectWithEnumProperty.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/OuterObjectWithEnumProperty.ts @@ -34,6 +34,16 @@ export interface OuterObjectWithEnumProperty { value: OuterEnumInteger; } +/** + * Check if a given object implements the OuterObjectWithEnumProperty interface. + */ +export function instanceOfOuterObjectWithEnumProperty(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "value" in value; + + return isInstance; +} + export function OuterObjectWithEnumPropertyFromJSON(json: any): OuterObjectWithEnumProperty { return OuterObjectWithEnumPropertyFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Pet.ts index c513a3faa1..2a3b126e70 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Pet.ts @@ -82,6 +82,17 @@ export const PetStatusEnum = { export type PetStatusEnum = typeof PetStatusEnum[keyof typeof PetStatusEnum]; +/** + * Check if a given object implements the Pet interface. + */ +export function instanceOfPet(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "photoUrls" in value; + + return isInstance; +} + export function PetFromJSON(json: any): Pet { return PetFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ReadOnlyFirst.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ReadOnlyFirst.ts index 96028e653a..66d83cff78 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ReadOnlyFirst.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ReadOnlyFirst.ts @@ -33,6 +33,15 @@ export interface ReadOnlyFirst { baz?: string; } +/** + * Check if a given object implements the ReadOnlyFirst interface. + */ +export function instanceOfReadOnlyFirst(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function ReadOnlyFirstFromJSON(json: any): ReadOnlyFirst { return ReadOnlyFirstFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Return.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Return.ts index f24902a02f..64d125505b 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Return.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Return.ts @@ -27,6 +27,15 @@ export interface Return { _return?: number; } +/** + * Check if a given object implements the Return interface. + */ +export function instanceOfReturn(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function ReturnFromJSON(json: any): Return { return ReturnFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/SpecialModelName.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/SpecialModelName.ts index 2c5e337600..aa9065c486 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/SpecialModelName.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/SpecialModelName.ts @@ -27,6 +27,15 @@ export interface SpecialModelName { $specialPropertyName?: number; } +/** + * Check if a given object implements the SpecialModelName interface. + */ +export function instanceOfSpecialModelName(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function SpecialModelNameFromJSON(json: any): SpecialModelName { return SpecialModelNameFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Tag.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Tag.ts index 54254fc47f..b52383c07e 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Tag.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Tag.ts @@ -33,6 +33,15 @@ export interface Tag { name?: string; } +/** + * Check if a given object implements the Tag interface. + */ +export function instanceOfTag(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function TagFromJSON(json: any): Tag { return TagFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/User.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/User.ts index 05c0ec7b63..daa30cd678 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/User.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/User.ts @@ -69,6 +69,15 @@ export interface User { userStatus?: number; } +/** + * Check if a given object implements the User interface. + */ +export function instanceOfUser(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function UserFromJSON(json: any): User { return UserFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default/models/Category.ts b/samples/client/petstore/typescript-fetch/builds/default/models/Category.ts index fe0e21ffb8..8825673872 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/models/Category.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/models/Category.ts @@ -33,6 +33,15 @@ export interface Category { name?: string; } +/** + * Check if a given object implements the Category interface. + */ +export function instanceOfCategory(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function CategoryFromJSON(json: any): Category { return CategoryFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default/models/ModelApiResponse.ts b/samples/client/petstore/typescript-fetch/builds/default/models/ModelApiResponse.ts index 6812901c37..bf50981fc2 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/models/ModelApiResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/models/ModelApiResponse.ts @@ -39,6 +39,15 @@ export interface ModelApiResponse { message?: string; } +/** + * Check if a given object implements the ModelApiResponse interface. + */ +export function instanceOfModelApiResponse(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function ModelApiResponseFromJSON(json: any): ModelApiResponse { return ModelApiResponseFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default/models/Order.ts b/samples/client/petstore/typescript-fetch/builds/default/models/Order.ts index 2e4f44f646..0d69755d48 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/models/Order.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/models/Order.ts @@ -69,6 +69,15 @@ export const OrderStatusEnum = { export type OrderStatusEnum = typeof OrderStatusEnum[keyof typeof OrderStatusEnum]; +/** + * Check if a given object implements the Order interface. + */ +export function instanceOfOrder(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function OrderFromJSON(json: any): Order { return OrderFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/default/models/Pet.ts index 1866bcb149..9d8c7c9d49 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/models/Pet.ts @@ -82,6 +82,17 @@ export const PetStatusEnum = { export type PetStatusEnum = typeof PetStatusEnum[keyof typeof PetStatusEnum]; +/** + * Check if a given object implements the Pet interface. + */ +export function instanceOfPet(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "photoUrls" in value; + + return isInstance; +} + export function PetFromJSON(json: any): Pet { return PetFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default/models/Tag.ts b/samples/client/petstore/typescript-fetch/builds/default/models/Tag.ts index 0c26039df4..e4902aa53c 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/models/Tag.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/models/Tag.ts @@ -33,6 +33,15 @@ export interface Tag { name?: string; } +/** + * Check if a given object implements the Tag interface. + */ +export function instanceOfTag(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function TagFromJSON(json: any): Tag { return TagFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/default/models/User.ts b/samples/client/petstore/typescript-fetch/builds/default/models/User.ts index 89a7de983b..f22da92890 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/models/User.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/models/User.ts @@ -69,6 +69,15 @@ export interface User { userStatus?: number; } +/** + * Check if a given object implements the User interface. + */ +export function instanceOfUser(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function UserFromJSON(json: any): User { return UserFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/enum/models/EnumPatternObject.ts b/samples/client/petstore/typescript-fetch/builds/enum/models/EnumPatternObject.ts index 463eadb6d5..2725f3c2b8 100644 --- a/samples/client/petstore/typescript-fetch/builds/enum/models/EnumPatternObject.ts +++ b/samples/client/petstore/typescript-fetch/builds/enum/models/EnumPatternObject.ts @@ -58,6 +58,15 @@ export interface EnumPatternObject { nullableNumberEnum?: NumberEnum | null; } +/** + * Check if a given object implements the EnumPatternObject interface. + */ +export function instanceOfEnumPatternObject(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function EnumPatternObjectFromJSON(json: any): EnumPatternObject { return EnumPatternObjectFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/enum/models/FakeEnumRequestGetInline200Response.ts b/samples/client/petstore/typescript-fetch/builds/enum/models/FakeEnumRequestGetInline200Response.ts index 34cbe964c2..35bc8a8a8a 100644 --- a/samples/client/petstore/typescript-fetch/builds/enum/models/FakeEnumRequestGetInline200Response.ts +++ b/samples/client/petstore/typescript-fetch/builds/enum/models/FakeEnumRequestGetInline200Response.ts @@ -87,6 +87,15 @@ export const FakeEnumRequestGetInline200ResponseNullableNumberEnumEnum = { export type FakeEnumRequestGetInline200ResponseNullableNumberEnumEnum = typeof FakeEnumRequestGetInline200ResponseNullableNumberEnumEnum[keyof typeof FakeEnumRequestGetInline200ResponseNullableNumberEnumEnum]; +/** + * Check if a given object implements the FakeEnumRequestGetInline200Response interface. + */ +export function instanceOfFakeEnumRequestGetInline200Response(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function FakeEnumRequestGetInline200ResponseFromJSON(json: any): FakeEnumRequestGetInline200Response { return FakeEnumRequestGetInline200ResponseFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Category.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Category.ts index fe0e21ffb8..8825673872 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Category.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Category.ts @@ -33,6 +33,15 @@ export interface Category { name?: string; } +/** + * Check if a given object implements the Category interface. + */ +export function instanceOfCategory(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function CategoryFromJSON(json: any): Category { return CategoryFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/ModelApiResponse.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/ModelApiResponse.ts index 6812901c37..bf50981fc2 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/ModelApiResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/ModelApiResponse.ts @@ -39,6 +39,15 @@ export interface ModelApiResponse { message?: string; } +/** + * Check if a given object implements the ModelApiResponse interface. + */ +export function instanceOfModelApiResponse(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function ModelApiResponseFromJSON(json: any): ModelApiResponse { return ModelApiResponseFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Order.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Order.ts index 2e4f44f646..0d69755d48 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Order.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Order.ts @@ -69,6 +69,15 @@ export const OrderStatusEnum = { export type OrderStatusEnum = typeof OrderStatusEnum[keyof typeof OrderStatusEnum]; +/** + * Check if a given object implements the Order interface. + */ +export function instanceOfOrder(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function OrderFromJSON(json: any): Order { return OrderFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Pet.ts index 1866bcb149..9d8c7c9d49 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Pet.ts @@ -82,6 +82,17 @@ export const PetStatusEnum = { export type PetStatusEnum = typeof PetStatusEnum[keyof typeof PetStatusEnum]; +/** + * Check if a given object implements the Pet interface. + */ +export function instanceOfPet(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "photoUrls" in value; + + return isInstance; +} + export function PetFromJSON(json: any): Pet { return PetFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Tag.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Tag.ts index 0c26039df4..e4902aa53c 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Tag.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Tag.ts @@ -33,6 +33,15 @@ export interface Tag { name?: string; } +/** + * Check if a given object implements the Tag interface. + */ +export function instanceOfTag(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function TagFromJSON(json: any): Tag { return TagFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/User.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/User.ts index 89a7de983b..f22da92890 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/User.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/User.ts @@ -69,6 +69,15 @@ export interface User { userStatus?: number; } +/** + * Check if a given object implements the User interface. + */ +export function instanceOfUser(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function UserFromJSON(json: any): User { return UserFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Category.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Category.ts index fe0e21ffb8..8825673872 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Category.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Category.ts @@ -33,6 +33,15 @@ export interface Category { name?: string; } +/** + * Check if a given object implements the Category interface. + */ +export function instanceOfCategory(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function CategoryFromJSON(json: any): Category { return CategoryFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/ModelApiResponse.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/ModelApiResponse.ts index 6812901c37..bf50981fc2 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/ModelApiResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/ModelApiResponse.ts @@ -39,6 +39,15 @@ export interface ModelApiResponse { message?: string; } +/** + * Check if a given object implements the ModelApiResponse interface. + */ +export function instanceOfModelApiResponse(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function ModelApiResponseFromJSON(json: any): ModelApiResponse { return ModelApiResponseFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Order.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Order.ts index 2e4f44f646..0d69755d48 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Order.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Order.ts @@ -69,6 +69,15 @@ export const OrderStatusEnum = { export type OrderStatusEnum = typeof OrderStatusEnum[keyof typeof OrderStatusEnum]; +/** + * Check if a given object implements the Order interface. + */ +export function instanceOfOrder(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function OrderFromJSON(json: any): Order { return OrderFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Pet.ts index 1866bcb149..9d8c7c9d49 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Pet.ts @@ -82,6 +82,17 @@ export const PetStatusEnum = { export type PetStatusEnum = typeof PetStatusEnum[keyof typeof PetStatusEnum]; +/** + * Check if a given object implements the Pet interface. + */ +export function instanceOfPet(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "photoUrls" in value; + + return isInstance; +} + export function PetFromJSON(json: any): Pet { return PetFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Tag.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Tag.ts index 0c26039df4..e4902aa53c 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Tag.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Tag.ts @@ -33,6 +33,15 @@ export interface Tag { name?: string; } +/** + * Check if a given object implements the Tag interface. + */ +export function instanceOfTag(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function TagFromJSON(json: any): Tag { return TagFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/User.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/User.ts index 89a7de983b..f22da92890 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/User.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/User.ts @@ -69,6 +69,15 @@ export interface User { userStatus?: number; } +/** + * Check if a given object implements the User interface. + */ +export function instanceOfUser(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function UserFromJSON(json: any): User { return UserFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Category.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Category.ts index fe0e21ffb8..8825673872 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Category.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Category.ts @@ -33,6 +33,15 @@ export interface Category { name?: string; } +/** + * Check if a given object implements the Category interface. + */ +export function instanceOfCategory(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function CategoryFromJSON(json: any): Category { return CategoryFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/ModelApiResponse.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/ModelApiResponse.ts index 6812901c37..bf50981fc2 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/ModelApiResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/ModelApiResponse.ts @@ -39,6 +39,15 @@ export interface ModelApiResponse { message?: string; } +/** + * Check if a given object implements the ModelApiResponse interface. + */ +export function instanceOfModelApiResponse(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function ModelApiResponseFromJSON(json: any): ModelApiResponse { return ModelApiResponseFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Order.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Order.ts index 2e4f44f646..0d69755d48 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Order.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Order.ts @@ -69,6 +69,15 @@ export const OrderStatusEnum = { export type OrderStatusEnum = typeof OrderStatusEnum[keyof typeof OrderStatusEnum]; +/** + * Check if a given object implements the Order interface. + */ +export function instanceOfOrder(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function OrderFromJSON(json: any): Order { return OrderFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Pet.ts index 1866bcb149..9d8c7c9d49 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Pet.ts @@ -82,6 +82,17 @@ export const PetStatusEnum = { export type PetStatusEnum = typeof PetStatusEnum[keyof typeof PetStatusEnum]; +/** + * Check if a given object implements the Pet interface. + */ +export function instanceOfPet(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "photoUrls" in value; + + return isInstance; +} + export function PetFromJSON(json: any): Pet { return PetFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Tag.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Tag.ts index 0c26039df4..e4902aa53c 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Tag.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Tag.ts @@ -33,6 +33,15 @@ export interface Tag { name?: string; } +/** + * Check if a given object implements the Tag interface. + */ +export function instanceOfTag(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function TagFromJSON(json: any): Tag { return TagFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/User.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/User.ts index 89a7de983b..f22da92890 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/User.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/User.ts @@ -69,6 +69,15 @@ export interface User { userStatus?: number; } +/** + * Check if a given object implements the User interface. + */ +export function instanceOfUser(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function UserFromJSON(json: any): User { return UserFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Category.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Category.ts index fe0e21ffb8..8825673872 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Category.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Category.ts @@ -33,6 +33,15 @@ export interface Category { name?: string; } +/** + * Check if a given object implements the Category interface. + */ +export function instanceOfCategory(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function CategoryFromJSON(json: any): Category { return CategoryFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/DefaultMetaOnlyResponse.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/DefaultMetaOnlyResponse.ts index 5b4dc83e5f..15dc30c8ab 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/DefaultMetaOnlyResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/DefaultMetaOnlyResponse.ts @@ -34,6 +34,16 @@ export interface DefaultMetaOnlyResponse { meta: ResponseMeta; } +/** + * Check if a given object implements the DefaultMetaOnlyResponse interface. + */ +export function instanceOfDefaultMetaOnlyResponse(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "meta" in value; + + return isInstance; +} + export function DefaultMetaOnlyResponseFromJSON(json: any): DefaultMetaOnlyResponse { return DefaultMetaOnlyResponseFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/FindPetsByStatusResponse.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/FindPetsByStatusResponse.ts index 28dd4020cd..e973c4234a 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/FindPetsByStatusResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/FindPetsByStatusResponse.ts @@ -46,6 +46,16 @@ export interface FindPetsByStatusResponse { data?: Array; } +/** + * Check if a given object implements the FindPetsByStatusResponse interface. + */ +export function instanceOfFindPetsByStatusResponse(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "meta" in value; + + return isInstance; +} + export function FindPetsByStatusResponseFromJSON(json: any): FindPetsByStatusResponse { return FindPetsByStatusResponseFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/FindPetsByUserResponse.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/FindPetsByUserResponse.ts index 4b76746516..c447d2177e 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/FindPetsByUserResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/FindPetsByUserResponse.ts @@ -46,6 +46,16 @@ export interface FindPetsByUserResponse { data?: Array; } +/** + * Check if a given object implements the FindPetsByUserResponse interface. + */ +export function instanceOfFindPetsByUserResponse(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "meta" in value; + + return isInstance; +} + export function FindPetsByUserResponseFromJSON(json: any): FindPetsByUserResponse { return FindPetsByUserResponseFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetBehaviorPermissionsResponse.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetBehaviorPermissionsResponse.ts index a53838a746..a014973f3c 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetBehaviorPermissionsResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetBehaviorPermissionsResponse.ts @@ -40,6 +40,16 @@ export interface GetBehaviorPermissionsResponse { data?: { [key: string]: boolean; }; } +/** + * Check if a given object implements the GetBehaviorPermissionsResponse interface. + */ +export function instanceOfGetBehaviorPermissionsResponse(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "meta" in value; + + return isInstance; +} + export function GetBehaviorPermissionsResponseFromJSON(json: any): GetBehaviorPermissionsResponse { return GetBehaviorPermissionsResponseFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetBehaviorTypeResponse.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetBehaviorTypeResponse.ts index c770b29beb..cc0e16870a 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetBehaviorTypeResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetBehaviorTypeResponse.ts @@ -46,6 +46,16 @@ export interface GetBehaviorTypeResponse { data?: BehaviorType; } +/** + * Check if a given object implements the GetBehaviorTypeResponse interface. + */ +export function instanceOfGetBehaviorTypeResponse(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "meta" in value; + + return isInstance; +} + export function GetBehaviorTypeResponseFromJSON(json: any): GetBehaviorTypeResponse { return GetBehaviorTypeResponseFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetMatchingPartsResponse.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetMatchingPartsResponse.ts index 3690c3954f..366d024067 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetMatchingPartsResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetMatchingPartsResponse.ts @@ -46,6 +46,16 @@ export interface GetMatchingPartsResponse { data?: MatchingParts; } +/** + * Check if a given object implements the GetMatchingPartsResponse interface. + */ +export function instanceOfGetMatchingPartsResponse(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "meta" in value; + + return isInstance; +} + export function GetMatchingPartsResponseFromJSON(json: any): GetMatchingPartsResponse { return GetMatchingPartsResponseFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetPetPartTypeResponse.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetPetPartTypeResponse.ts index 9a70cdc1a6..b6209dfe4a 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetPetPartTypeResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetPetPartTypeResponse.ts @@ -46,6 +46,16 @@ export interface GetPetPartTypeResponse { data?: PetPartType; } +/** + * Check if a given object implements the GetPetPartTypeResponse interface. + */ +export function instanceOfGetPetPartTypeResponse(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "meta" in value; + + return isInstance; +} + export function GetPetPartTypeResponseFromJSON(json: any): GetPetPartTypeResponse { return GetPetPartTypeResponseFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ItemId.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ItemId.ts index 53a7096ca2..d1ab620bef 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ItemId.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ItemId.ts @@ -33,6 +33,17 @@ export interface ItemId { type: string; } +/** + * Check if a given object implements the ItemId interface. + */ +export function instanceOfItemId(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "type" in value; + + return isInstance; +} + export function ItemIdFromJSON(json: any): ItemId { return ItemIdFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/MatchingParts.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/MatchingParts.ts index 70177cf458..1621a55928 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/MatchingParts.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/MatchingParts.ts @@ -40,6 +40,17 @@ export interface MatchingParts { related: Array; } +/** + * Check if a given object implements the MatchingParts interface. + */ +export function instanceOfMatchingParts(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "connected" in value; + isInstance = isInstance && "related" in value; + + return isInstance; +} + export function MatchingPartsFromJSON(json: any): MatchingParts { return MatchingPartsFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ModelApiResponse.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ModelApiResponse.ts index 6812901c37..bf50981fc2 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ModelApiResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ModelApiResponse.ts @@ -39,6 +39,15 @@ export interface ModelApiResponse { message?: string; } +/** + * Check if a given object implements the ModelApiResponse interface. + */ +export function instanceOfModelApiResponse(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function ModelApiResponseFromJSON(json: any): ModelApiResponse { return ModelApiResponseFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ModelError.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ModelError.ts index 7a4c5b62d0..ceaaa3c9a4 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ModelError.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ModelError.ts @@ -52,6 +52,16 @@ export interface ModelError { exception?: string; } +/** + * Check if a given object implements the ModelError interface. + */ +export function instanceOfModelError(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "type" in value; + + return isInstance; +} + export function ModelErrorFromJSON(json: any): ModelError { return ModelErrorFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Order.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Order.ts index 2e4f44f646..0d69755d48 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Order.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Order.ts @@ -69,6 +69,15 @@ export const OrderStatusEnum = { export type OrderStatusEnum = typeof OrderStatusEnum[keyof typeof OrderStatusEnum]; +/** + * Check if a given object implements the Order interface. + */ +export function instanceOfOrder(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function OrderFromJSON(json: any): Order { return OrderFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Part.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Part.ts index 13e324d63c..bf4efc3427 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Part.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Part.ts @@ -33,6 +33,17 @@ export interface Part { name: string; } +/** + * Check if a given object implements the Part interface. + */ +export function instanceOfPart(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + + return isInstance; +} + export function PartFromJSON(json: any): Part { return PartFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Pet.ts index e1631e2599..0a39eeb922 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Pet.ts @@ -184,6 +184,29 @@ export const PetStatusEnum = { export type PetStatusEnum = typeof PetStatusEnum[keyof typeof PetStatusEnum]; +/** + * Check if a given object implements the Pet interface. + */ +export function instanceOfPet(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "otherFriendIds" in value; + isInstance = isInstance && "friendAge" in value; + isInstance = isInstance && "age" in value; + isInstance = isInstance && "isHappy" in value; + isInstance = isInstance && "isTall" in value; + isInstance = isInstance && "category" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "photoUrls" in value; + isInstance = isInstance && "warningStatus" in value; + isInstance = isInstance && "alternateStatus" in value; + isInstance = isInstance && "otherDepStatuses" in value; + isInstance = isInstance && "tags" in value; + isInstance = isInstance && "status" in value; + + return isInstance; +} + export function PetFromJSON(json: any): Pet { return PetFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/PetRegionsResponse.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/PetRegionsResponse.ts index 2a2c7fb6a5..2fde1f07af 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/PetRegionsResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/PetRegionsResponse.ts @@ -40,6 +40,16 @@ export interface PetRegionsResponse { data?: Array>; } +/** + * Check if a given object implements the PetRegionsResponse interface. + */ +export function instanceOfPetRegionsResponse(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "meta" in value; + + return isInstance; +} + export function PetRegionsResponseFromJSON(json: any): PetRegionsResponse { return PetRegionsResponseFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ResponseMeta.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ResponseMeta.ts index 4a32a91148..a2dd4343a4 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ResponseMeta.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ResponseMeta.ts @@ -96,6 +96,16 @@ export const ResponseMetaCodeEnum = { export type ResponseMetaCodeEnum = typeof ResponseMetaCodeEnum[keyof typeof ResponseMetaCodeEnum]; +/** + * Check if a given object implements the ResponseMeta interface. + */ +export function instanceOfResponseMeta(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "code" in value; + + return isInstance; +} + export function ResponseMetaFromJSON(json: any): ResponseMeta { return ResponseMetaFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Tag.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Tag.ts index 0c26039df4..e4902aa53c 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Tag.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Tag.ts @@ -33,6 +33,15 @@ export interface Tag { name?: string; } +/** + * Check if a given object implements the Tag interface. + */ +export function instanceOfTag(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function TagFromJSON(json: any): Tag { return TagFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/User.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/User.ts index 5567e888fe..ceeea25407 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/User.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/User.ts @@ -81,6 +81,17 @@ export interface User { subUser2: User; } +/** + * Check if a given object implements the User interface. + */ +export function instanceOfUser(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "subUser2" in value; + + return isInstance; +} + export function UserFromJSON(json: any): User { return UserFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Category.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Category.ts index fe0e21ffb8..8825673872 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Category.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Category.ts @@ -33,6 +33,15 @@ export interface Category { name?: string; } +/** + * Check if a given object implements the Category interface. + */ +export function instanceOfCategory(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function CategoryFromJSON(json: any): Category { return CategoryFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/ModelApiResponse.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/ModelApiResponse.ts index 6812901c37..bf50981fc2 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/ModelApiResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/ModelApiResponse.ts @@ -39,6 +39,15 @@ export interface ModelApiResponse { message?: string; } +/** + * Check if a given object implements the ModelApiResponse interface. + */ +export function instanceOfModelApiResponse(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function ModelApiResponseFromJSON(json: any): ModelApiResponse { return ModelApiResponseFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Order.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Order.ts index 2e4f44f646..0d69755d48 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Order.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Order.ts @@ -69,6 +69,15 @@ export const OrderStatusEnum = { export type OrderStatusEnum = typeof OrderStatusEnum[keyof typeof OrderStatusEnum]; +/** + * Check if a given object implements the Order interface. + */ +export function instanceOfOrder(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function OrderFromJSON(json: any): Order { return OrderFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Pet.ts index 1866bcb149..9d8c7c9d49 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Pet.ts @@ -82,6 +82,17 @@ export const PetStatusEnum = { export type PetStatusEnum = typeof PetStatusEnum[keyof typeof PetStatusEnum]; +/** + * Check if a given object implements the Pet interface. + */ +export function instanceOfPet(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "photoUrls" in value; + + return isInstance; +} + export function PetFromJSON(json: any): Pet { return PetFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Tag.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Tag.ts index 0c26039df4..e4902aa53c 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Tag.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Tag.ts @@ -33,6 +33,15 @@ export interface Tag { name?: string; } +/** + * Check if a given object implements the Tag interface. + */ +export function instanceOfTag(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function TagFromJSON(json: any): Tag { return TagFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/User.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/User.ts index 89a7de983b..f22da92890 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/User.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/User.ts @@ -69,6 +69,15 @@ export interface User { userStatus?: number; } +/** + * Check if a given object implements the User interface. + */ +export function instanceOfUser(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function UserFromJSON(json: any): User { return UserFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Category.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Category.ts index fe0e21ffb8..8825673872 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Category.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Category.ts @@ -33,6 +33,15 @@ export interface Category { name?: string; } +/** + * Check if a given object implements the Category interface. + */ +export function instanceOfCategory(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function CategoryFromJSON(json: any): Category { return CategoryFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/ModelApiResponse.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/ModelApiResponse.ts index 6812901c37..bf50981fc2 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/ModelApiResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/ModelApiResponse.ts @@ -39,6 +39,15 @@ export interface ModelApiResponse { message?: string; } +/** + * Check if a given object implements the ModelApiResponse interface. + */ +export function instanceOfModelApiResponse(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function ModelApiResponseFromJSON(json: any): ModelApiResponse { return ModelApiResponseFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Order.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Order.ts index 2e4f44f646..0d69755d48 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Order.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Order.ts @@ -69,6 +69,15 @@ export const OrderStatusEnum = { export type OrderStatusEnum = typeof OrderStatusEnum[keyof typeof OrderStatusEnum]; +/** + * Check if a given object implements the Order interface. + */ +export function instanceOfOrder(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function OrderFromJSON(json: any): Order { return OrderFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Pet.ts index 1866bcb149..9d8c7c9d49 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Pet.ts @@ -82,6 +82,17 @@ export const PetStatusEnum = { export type PetStatusEnum = typeof PetStatusEnum[keyof typeof PetStatusEnum]; +/** + * Check if a given object implements the Pet interface. + */ +export function instanceOfPet(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "photoUrls" in value; + + return isInstance; +} + export function PetFromJSON(json: any): Pet { return PetFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Tag.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Tag.ts index 0c26039df4..e4902aa53c 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Tag.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Tag.ts @@ -33,6 +33,15 @@ export interface Tag { name?: string; } +/** + * Check if a given object implements the Tag interface. + */ +export function instanceOfTag(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function TagFromJSON(json: any): Tag { return TagFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/User.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/User.ts index 89a7de983b..f22da92890 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/User.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/User.ts @@ -69,6 +69,15 @@ export interface User { userStatus?: number; } +/** + * Check if a given object implements the User interface. + */ +export function instanceOfUser(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function UserFromJSON(json: any): User { return UserFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/EnumPatternObject.ts b/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/EnumPatternObject.ts index 463eadb6d5..2725f3c2b8 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/EnumPatternObject.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/EnumPatternObject.ts @@ -58,6 +58,15 @@ export interface EnumPatternObject { nullableNumberEnum?: NumberEnum | null; } +/** + * Check if a given object implements the EnumPatternObject interface. + */ +export function instanceOfEnumPatternObject(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function EnumPatternObjectFromJSON(json: any): EnumPatternObject { return EnumPatternObjectFromJSONTyped(json, false); } diff --git a/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/FakeEnumRequestGetInline200Response.ts b/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/FakeEnumRequestGetInline200Response.ts index 7f67ccd698..103f45f57d 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/FakeEnumRequestGetInline200Response.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/FakeEnumRequestGetInline200Response.ts @@ -83,6 +83,15 @@ export enum FakeEnumRequestGetInline200ResponseNullableNumberEnumEnum { } +/** + * Check if a given object implements the FakeEnumRequestGetInline200Response interface. + */ +export function instanceOfFakeEnumRequestGetInline200Response(value: object): boolean { + let isInstance = true; + + return isInstance; +} + export function FakeEnumRequestGetInline200ResponseFromJSON(json: any): FakeEnumRequestGetInline200Response { return FakeEnumRequestGetInline200ResponseFromJSONTyped(json, false); } From 6be94beceead5618bcb8c947452ae0ab0cdf0f3c Mon Sep 17 00:00:00 2001 From: Marley <55280588+marleypowell@users.noreply.github.com> Date: Tue, 14 Jun 2022 12:18:39 +0100 Subject: [PATCH 076/212] [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 --- .../src/main/resources/typescript-angular/api.service.mustache | 1 + .../builds/default/api/default.service.ts | 1 + .../builds/default/api/pet.service.ts | 1 + .../builds/default/api/store.service.ts | 1 + .../builds/default/api/user.service.ts | 1 + .../builds/default/api/pet.service.ts | 1 + .../builds/default/api/store.service.ts | 1 + .../builds/default/api/user.service.ts | 1 + .../builds/with-npm/api/pet.service.ts | 1 + .../builds/with-npm/api/store.service.ts | 1 + .../builds/with-npm/api/user.service.ts | 1 + .../builds/default/api/default.service.ts | 1 + .../builds/default/api/pet.service.ts | 1 + .../builds/default/api/store.service.ts | 1 + .../builds/default/api/user.service.ts | 1 + .../builds/default/api/pet.service.ts | 1 + .../builds/default/api/store.service.ts | 1 + .../builds/default/api/user.service.ts | 1 + .../builds/with-npm/api/pet.service.ts | 1 + .../builds/with-npm/api/store.service.ts | 1 + .../builds/with-npm/api/user.service.ts | 1 + 21 files changed, 21 insertions(+) diff --git a/modules/openapi-generator/src/main/resources/typescript-angular/api.service.mustache b/modules/openapi-generator/src/main/resources/typescript-angular/api.service.mustache index 4a07877991..2ae3e11e0b 100644 --- a/modules/openapi-generator/src/main/resources/typescript-angular/api.service.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-angular/api.service.mustache @@ -95,6 +95,7 @@ export class {{classname}} { } {{/hasSomeFormParams}} + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { {{#isQueryParamObjectFormatJson}} httpParams = this.addToHttpParamsRecursive(httpParams, value, key); diff --git a/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/api/default.service.ts b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/api/default.service.ts index d5ed81e37c..5a2e821d72 100644 --- a/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/api/default.service.ts +++ b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/api/default.service.ts @@ -51,6 +51,7 @@ export class DefaultService { } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); diff --git a/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/pet.service.ts b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/pet.service.ts index bca953c42d..12cd04a284 100644 --- a/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/pet.service.ts @@ -66,6 +66,7 @@ export class PetService { return false; } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); diff --git a/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/store.service.ts b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/store.service.ts index c04b024e3f..8b504109f7 100644 --- a/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/store.service.ts +++ b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/store.service.ts @@ -51,6 +51,7 @@ export class StoreService { } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); diff --git a/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/user.service.ts b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/user.service.ts index 706dcc2685..a8d7621ee3 100644 --- a/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/user.service.ts +++ b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api/user.service.ts @@ -51,6 +51,7 @@ export class UserService { } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); diff --git a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/api/pet.service.ts b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/api/pet.service.ts index 23ec222806..c5dcda6a5f 100644 --- a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/api/pet.service.ts @@ -66,6 +66,7 @@ export class PetService { return false; } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); diff --git a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/api/store.service.ts b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/api/store.service.ts index 511c81f10d..00a9cce5de 100644 --- a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/api/store.service.ts +++ b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/api/store.service.ts @@ -51,6 +51,7 @@ export class StoreService { } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); diff --git a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/api/user.service.ts b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/api/user.service.ts index a7783d4acc..444e25c12e 100644 --- a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/api/user.service.ts +++ b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/api/user.service.ts @@ -51,6 +51,7 @@ export class UserService { } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); diff --git a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/api/pet.service.ts b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/api/pet.service.ts index 23ec222806..c5dcda6a5f 100644 --- a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/api/pet.service.ts @@ -66,6 +66,7 @@ export class PetService { return false; } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); diff --git a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/api/store.service.ts b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/api/store.service.ts index 511c81f10d..00a9cce5de 100644 --- a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/api/store.service.ts +++ b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/api/store.service.ts @@ -51,6 +51,7 @@ export class StoreService { } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); diff --git a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/api/user.service.ts b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/api/user.service.ts index a7783d4acc..444e25c12e 100644 --- a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/api/user.service.ts +++ b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/api/user.service.ts @@ -51,6 +51,7 @@ export class UserService { } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); diff --git a/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/api/default.service.ts b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/api/default.service.ts index d5ed81e37c..5a2e821d72 100644 --- a/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/api/default.service.ts +++ b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/api/default.service.ts @@ -51,6 +51,7 @@ export class DefaultService { } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/pet.service.ts b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/pet.service.ts index bca953c42d..12cd04a284 100644 --- a/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/pet.service.ts @@ -66,6 +66,7 @@ export class PetService { return false; } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/store.service.ts b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/store.service.ts index c04b024e3f..8b504109f7 100644 --- a/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/store.service.ts +++ b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/store.service.ts @@ -51,6 +51,7 @@ export class StoreService { } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/user.service.ts b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/user.service.ts index 706dcc2685..a8d7621ee3 100644 --- a/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/user.service.ts +++ b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/api/user.service.ts @@ -51,6 +51,7 @@ export class UserService { } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/api/pet.service.ts b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/api/pet.service.ts index 8d75c4d935..af8f8e65ca 100644 --- a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/api/pet.service.ts @@ -66,6 +66,7 @@ export class PetService { return false; } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/api/store.service.ts b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/api/store.service.ts index b9257c3ef8..cc32a52fc4 100644 --- a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/api/store.service.ts +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/api/store.service.ts @@ -51,6 +51,7 @@ export class StoreService { } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/api/user.service.ts b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/api/user.service.ts index 9889fe815b..070ed1221d 100644 --- a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/api/user.service.ts +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/api/user.service.ts @@ -51,6 +51,7 @@ export class UserService { } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/api/pet.service.ts b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/api/pet.service.ts index 8d75c4d935..af8f8e65ca 100644 --- a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/api/pet.service.ts @@ -66,6 +66,7 @@ export class PetService { return false; } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/api/store.service.ts b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/api/store.service.ts index b9257c3ef8..cc32a52fc4 100644 --- a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/api/store.service.ts +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/api/store.service.ts @@ -51,6 +51,7 @@ export class StoreService { } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/api/user.service.ts b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/api/user.service.ts index 9889fe815b..070ed1221d 100644 --- a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/api/user.service.ts +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/api/user.service.ts @@ -51,6 +51,7 @@ export class UserService { } + // @ts-ignore private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { if (typeof value === "object" && value instanceof Date === false) { httpParams = this.addToHttpParamsRecursive(httpParams, value); From bd6617b3e78f645a851341399aa5fdd46bc50f1a Mon Sep 17 00:00:00 2001 From: William Cheng Date: Wed, 15 Jun 2022 15:49:30 +0800 Subject: [PATCH 077/212] Better null check for encoding (#12597) * better null check for encoding * add tests * update samples --- .../openapitools/codegen/DefaultCodegen.java | 4 +- .../src/test/resources/3_0/r/petstore.yaml | 18 ++++ .../petstore/R/.openapi-generator/FILES | 2 + samples/client/petstore/R/NAMESPACE | 1 + .../client/petstore/R/R/update_pet_request.R | 95 +++++++++++++++++++ samples/client/petstore/R/README.md | 1 + samples/client/petstore/R/docs/PetApi.md | 4 +- .../petstore/R/docs/UpdatePetRequest.md | 10 ++ .../tests/testthat/test_update_pet_request.R | 20 ++++ 9 files changed, 151 insertions(+), 4 deletions(-) create mode 100644 samples/client/petstore/R/R/update_pet_request.R create mode 100644 samples/client/petstore/R/docs/UpdatePetRequest.md create mode 100644 samples/client/petstore/R/tests/testthat/test_update_pet_request.R diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index e82ee5999c..1ab927a6a2 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -6836,8 +6836,8 @@ public class DefaultCodegen implements CodegenConfig { enc.getContentType(), headers, enc.getStyle().toString(), - enc.getExplode().booleanValue(), - enc.getAllowReserved().booleanValue() + enc.getExplode() == null ? false : enc.getExplode().booleanValue(), + enc.getAllowReserved() == null ? false : enc.getAllowReserved().booleanValue() ); String propName = encodingEntry.getKey(); ceMap.put(propName, ce); diff --git a/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml b/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml index c6bb52c52e..4d36982cab 100644 --- a/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml @@ -618,6 +618,24 @@ components: application/xml: schema: $ref: '#/components/schemas/Pet' + multipart/related: # message with binary body part + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/Pet' + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string description: Pet object that needs to be added to the store required: true securitySchemes: diff --git a/samples/client/petstore/R/.openapi-generator/FILES b/samples/client/petstore/R/.openapi-generator/FILES index 0549314051..80c184e617 100644 --- a/samples/client/petstore/R/.openapi-generator/FILES +++ b/samples/client/petstore/R/.openapi-generator/FILES @@ -24,6 +24,7 @@ R/pet_api.R R/pig.R R/store_api.R R/tag.R +R/update_pet_request.R R/user.R R/user_api.R README.md @@ -45,6 +46,7 @@ docs/PetApi.md docs/Pig.md docs/StoreApi.md docs/Tag.md +docs/UpdatePetRequest.md docs/User.md docs/UserApi.md git_push.sh diff --git a/samples/client/petstore/R/NAMESPACE b/samples/client/petstore/R/NAMESPACE index 77557a9193..4c676e98b4 100644 --- a/samples/client/petstore/R/NAMESPACE +++ b/samples/client/petstore/R/NAMESPACE @@ -27,6 +27,7 @@ export(Order) export(Pet) export(Pig) export(Tag) +export(UpdatePetRequest) export(User) # APIs diff --git a/samples/client/petstore/R/R/update_pet_request.R b/samples/client/petstore/R/R/update_pet_request.R new file mode 100644 index 0000000000..dcd957d238 --- /dev/null +++ b/samples/client/petstore/R/R/update_pet_request.R @@ -0,0 +1,95 @@ +# OpenAPI Petstore +# +# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +# +# The version of the OpenAPI document: 1.0.0 +# Generated by: https://openapi-generator.tech + +#' @docType class +#' @title UpdatePetRequest +#' +#' @description UpdatePetRequest Class +#' +#' @format An \code{R6Class} generator object +#' +#' @field jsonData \link{Pet} [optional] +#' +#' @field binaryDataN2Information data.frame [optional] +#' +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +UpdatePetRequest <- R6::R6Class( + 'UpdatePetRequest', + public = list( + `jsonData` = NULL, + `binaryDataN2Information` = NULL, + initialize = function( + `jsonData`=NULL, `binaryDataN2Information`=NULL, ... + ) { + if (!is.null(`jsonData`)) { + stopifnot(R6::is.R6(`jsonData`)) + self$`jsonData` <- `jsonData` + } + if (!is.null(`binaryDataN2Information`)) { + self$`binaryDataN2Information` <- `binaryDataN2Information` + } + }, + toJSON = function() { + UpdatePetRequestObject <- list() + if (!is.null(self$`jsonData`)) { + UpdatePetRequestObject[['jsonData']] <- + self$`jsonData`$toJSON() + } + if (!is.null(self$`binaryDataN2Information`)) { + UpdatePetRequestObject[['binaryDataN2Information']] <- + self$`binaryDataN2Information` + } + + UpdatePetRequestObject + }, + fromJSON = function(UpdatePetRequestJson) { + UpdatePetRequestObject <- jsonlite::fromJSON(UpdatePetRequestJson) + if (!is.null(UpdatePetRequestObject$`jsonData`)) { + jsonDataObject <- Pet$new() + jsonDataObject$fromJSON(jsonlite::toJSON(UpdatePetRequestObject$jsonData, auto_unbox = TRUE, digits = NA)) + self$`jsonData` <- jsonDataObject + } + if (!is.null(UpdatePetRequestObject$`binaryDataN2Information`)) { + self$`binaryDataN2Information` <- UpdatePetRequestObject$`binaryDataN2Information` + } + self + }, + toJSONString = function() { + jsoncontent <- c( + if (!is.null(self$`jsonData`)) { + sprintf( + '"jsonData": + %s + ', + jsonlite::toJSON(self$`jsonData`$toJSON(), auto_unbox=TRUE, digits = NA) + )}, + if (!is.null(self$`binaryDataN2Information`)) { + sprintf( + '"binaryDataN2Information": + "%s" + ', + self$`binaryDataN2Information` + )} + ) + jsoncontent <- paste(jsoncontent, collapse = ",") + paste('{', jsoncontent, '}', sep = "") + }, + fromJSONString = function(UpdatePetRequestJson) { + UpdatePetRequestObject <- jsonlite::fromJSON(UpdatePetRequestJson) + self$`jsonData` <- Pet$new()$fromJSON(jsonlite::toJSON(UpdatePetRequestObject$jsonData, auto_unbox = TRUE, digits = NA)) + self$`binaryDataN2Information` <- UpdatePetRequestObject$`binaryDataN2Information` + self + }, + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + } + + ) +) + diff --git a/samples/client/petstore/R/README.md b/samples/client/petstore/R/README.md index 538251cf40..d486189e32 100644 --- a/samples/client/petstore/R/README.md +++ b/samples/client/petstore/R/README.md @@ -96,6 +96,7 @@ Class | Method | HTTP request | Description - [Pet](docs/Pet.md) - [Pig](docs/Pig.md) - [Tag](docs/Tag.md) + - [UpdatePetRequest](docs/UpdatePetRequest.md) - [User](docs/User.md) diff --git a/samples/client/petstore/R/docs/PetApi.md b/samples/client/petstore/R/docs/PetApi.md index d67f8fe20a..88dd0b503d 100644 --- a/samples/client/petstore/R/docs/PetApi.md +++ b/samples/client/petstore/R/docs/PetApi.md @@ -64,7 +64,7 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: application/json, application/xml + - **Content-Type**: application/json, application/xml, multipart/related - **Accept**: application/xml, application/json ### HTTP response details @@ -359,7 +359,7 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: application/json, application/xml + - **Content-Type**: application/json, application/xml, multipart/related - **Accept**: application/xml, application/json ### HTTP response details diff --git a/samples/client/petstore/R/docs/UpdatePetRequest.md b/samples/client/petstore/R/docs/UpdatePetRequest.md new file mode 100644 index 0000000000..619f0b2262 --- /dev/null +++ b/samples/client/petstore/R/docs/UpdatePetRequest.md @@ -0,0 +1,10 @@ +# petstore::UpdatePetRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**jsonData** | [**Pet**](Pet.md) | | [optional] +**binaryDataN2Information** | **data.frame** | | [optional] + + diff --git a/samples/client/petstore/R/tests/testthat/test_update_pet_request.R b/samples/client/petstore/R/tests/testthat/test_update_pet_request.R new file mode 100644 index 0000000000..b39b2b4d0d --- /dev/null +++ b/samples/client/petstore/R/tests/testthat/test_update_pet_request.R @@ -0,0 +1,20 @@ +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate + +context("Test UpdatePetRequest") + +model_instance <- UpdatePetRequest$new() + +test_that("jsonData", { + # tests for the property `jsonData` (Pet) + + # uncomment below to test the property + #expect_equal(model.instance$`jsonData`, "EXPECTED_RESULT") +}) + +test_that("binaryDataN2Information", { + # tests for the property `binaryDataN2Information` (data.frame) + + # uncomment below to test the property + #expect_equal(model.instance$`binaryDataN2Information`, "EXPECTED_RESULT") +}) From 3ec15740f589ef8a5ee2d15764e76146cd537ffd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Ledoyen?= Date: Wed, 15 Jun 2022 09:50:07 +0200 Subject: [PATCH 078/212] [JAVA][Feign] Remove camelCase naming for form parameters (#12587) --- .../main/resources/Java/libraries/feign/api.mustache | 8 ++++---- .../codegen/java/JavaClientCodegenTest.java | 4 ++++ .../src/test/resources/3_0/issue_7791.yaml | 12 +++++++++++- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/feign/api.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/feign/api.mustache index ba0121e024..d7789e6fe4 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/feign/api.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/feign/api.mustache @@ -49,7 +49,7 @@ public interface {{classname}} extends ApiClient.Api { "{{baseName}}: {{=<% %>=}}{<%paramName%>}<%={{ }}=%>"{{^-last}}, {{/-last}}{{/headerParams}} }) - {{#returnType}}{{{.}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{nickname}}({{#allParams}}{{^isBodyParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isBodyParam}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}); + {{#returnType}}{{{.}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{nickname}}({{#allParams}}{{^isBodyParam}}{{^isFormParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isFormParam}}{{#isFormParam}}@Param("{{baseName}}") {{/isFormParam}}{{/isBodyParam}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}); /** * {{summary}} @@ -79,7 +79,7 @@ public interface {{classname}} extends ApiClient.Api { "{{baseName}}: {{=<% %>=}}{<%paramName%>}<%={{ }}=%>"{{^-last}}, {{/-last}}{{/headerParams}} }) - ApiResponse<{{#returnType}}{{{.}}}{{/returnType}}{{^returnType}}Void{{/returnType}}> {{nickname}}WithHttpInfo({{#allParams}}{{^isBodyParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isBodyParam}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}); + ApiResponse<{{#returnType}}{{{.}}}{{/returnType}}{{^returnType}}Void{{/returnType}}> {{nickname}}WithHttpInfo({{#allParams}}{{^isBodyParam}}{{^isFormParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isFormParam}}{{#isFormParam}}@Param("{{baseName}}") {{/isFormParam}}{{/isBodyParam}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}); {{#hasQueryParams}} @@ -124,7 +124,7 @@ public interface {{classname}} extends ApiClient.Api { "{{baseName}}: {{=<% %>=}}{<%paramName%>}<%={{ }}=%>"{{^-last}}, {{/-last}}{{/headerParams}} }) - {{#returnType}}{{{.}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{nickname}}({{#allParams}}{{^isQueryParam}}{{^isBodyParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isBodyParam}}{{{dataType}}} {{paramName}}, {{/isQueryParam}}{{/allParams}}@QueryMap(encoded=true) Map queryParams); + {{#returnType}}{{{.}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{nickname}}({{#allParams}}{{^isQueryParam}}{{^isBodyParam}}{{^isFormParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isFormParam}}{{#isFormParam}}@Param("{{baseName}}") {{/isFormParam}}{{/isBodyParam}}{{{dataType}}} {{paramName}}, {{/isQueryParam}}{{/allParams}}@QueryMap(encoded=true) Map queryParams); /** * {{summary}} @@ -164,7 +164,7 @@ public interface {{classname}} extends ApiClient.Api { "{{baseName}}: {{=<% %>=}}{<%paramName%>}<%={{ }}=%>"{{^-last}}, {{/-last}}{{/headerParams}} }) - ApiResponse<{{#returnType}}{{{.}}}{{/returnType}}{{^returnType}}Void{{/returnType}}> {{nickname}}WithHttpInfo({{#allParams}}{{^isQueryParam}}{{^isBodyParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isBodyParam}}{{{dataType}}} {{paramName}}, {{/isQueryParam}}{{/allParams}}@QueryMap(encoded=true) Map queryParams); + ApiResponse<{{#returnType}}{{{.}}}{{/returnType}}{{^returnType}}Void{{/returnType}}> {{nickname}}WithHttpInfo({{#allParams}}{{^isQueryParam}}{{^isBodyParam}}{{^isFormParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isFormParam}}{{#isFormParam}}@Param("{{baseName}}") {{/isFormParam}}{{/isBodyParam}}{{{dataType}}} {{paramName}}, {{/isQueryParam}}{{/allParams}}@QueryMap(encoded=true) Map queryParams); /** diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java index f3c64cfd17..caec1aaf00 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java @@ -1149,6 +1149,10 @@ public class JavaClientCodegenTest { TestUtils.assertFileNotContains(Paths.get(output + "/src/main/java/org/openapitools/client/api/DefaultApi.java"), "event_id"); + // baseName is kept for form parameters + TestUtils.assertFileContains(Paths.get(output + "/src/main/java/org/openapitools/client/api/DefaultApi.java"), + "@Param(\"some_file\") File someFile"); + output.deleteOnExit(); } diff --git a/modules/openapi-generator/src/test/resources/3_0/issue_7791.yaml b/modules/openapi-generator/src/test/resources/3_0/issue_7791.yaml index 3065375ecc..403a581936 100644 --- a/modules/openapi-generator/src/test/resources/3_0/issue_7791.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/issue_7791.yaml @@ -15,6 +15,16 @@ paths: description: Event Id schema: type: number + requestBody: + content: + multipart/form-data: + schema: + properties: + some_file: + description: another file to upload + format: binary + type: string + type: object responses: 200: - description: success \ No newline at end of file + description: success From 01fdff0e06945668a25661815f5daae1c0761003 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Wed, 15 Jun 2022 15:56:40 +0800 Subject: [PATCH 079/212] update java samples --- .../java/org/openapitools/client/api/FakeApi.java | 12 ++++++------ .../java/org/openapitools/client/api/FakeApi.java | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/api/FakeApi.java b/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/api/FakeApi.java index 419674d94e..0132134dc9 100644 --- a/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/api/FakeApi.java +++ b/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/api/FakeApi.java @@ -327,7 +327,7 @@ public interface FakeApi extends ApiClient.Api { "Content-Type: application/x-www-form-urlencoded", "Accept: application/json", }) - void testEndpointParameters(@Param("number") BigDecimal number, @Param("_double") Double _double, @Param("patternWithoutDelimiter") String patternWithoutDelimiter, @Param("_byte") byte[] _byte, @Param("integer") Integer integer, @Param("int32") Integer int32, @Param("int64") Long int64, @Param("_float") Float _float, @Param("string") String string, @Param("binary") File binary, @Param("date") LocalDate date, @Param("dateTime") OffsetDateTime dateTime, @Param("password") String password, @Param("paramCallback") String paramCallback); + void testEndpointParameters(@Param("number") BigDecimal number, @Param("double") Double _double, @Param("pattern_without_delimiter") String patternWithoutDelimiter, @Param("byte") byte[] _byte, @Param("integer") Integer integer, @Param("int32") Integer int32, @Param("int64") Long int64, @Param("float") Float _float, @Param("string") String string, @Param("binary") File binary, @Param("date") LocalDate date, @Param("dateTime") OffsetDateTime dateTime, @Param("password") String password, @Param("callback") String paramCallback); /** * Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 @@ -353,7 +353,7 @@ public interface FakeApi extends ApiClient.Api { "Content-Type: application/x-www-form-urlencoded", "Accept: application/json", }) - ApiResponse testEndpointParametersWithHttpInfo(@Param("number") BigDecimal number, @Param("_double") Double _double, @Param("patternWithoutDelimiter") String patternWithoutDelimiter, @Param("_byte") byte[] _byte, @Param("integer") Integer integer, @Param("int32") Integer int32, @Param("int64") Long int64, @Param("_float") Float _float, @Param("string") String string, @Param("binary") File binary, @Param("date") LocalDate date, @Param("dateTime") OffsetDateTime dateTime, @Param("password") String password, @Param("paramCallback") String paramCallback); + ApiResponse testEndpointParametersWithHttpInfo(@Param("number") BigDecimal number, @Param("double") Double _double, @Param("pattern_without_delimiter") String patternWithoutDelimiter, @Param("byte") byte[] _byte, @Param("integer") Integer integer, @Param("int32") Integer int32, @Param("int64") Long int64, @Param("float") Float _float, @Param("string") String string, @Param("binary") File binary, @Param("date") LocalDate date, @Param("dateTime") OffsetDateTime dateTime, @Param("password") String password, @Param("callback") String paramCallback); @@ -377,7 +377,7 @@ public interface FakeApi extends ApiClient.Api { "enum_header_string: {enumHeaderString}" }) - void testEnumParameters(@Param("enumHeaderStringArray") List enumHeaderStringArray, @Param("enumHeaderString") String enumHeaderString, @Param("enumQueryStringArray") List enumQueryStringArray, @Param("enumQueryString") String enumQueryString, @Param("enumQueryInteger") Integer enumQueryInteger, @Param("enumQueryDouble") Double enumQueryDouble, @Param("enumFormStringArray") List enumFormStringArray, @Param("enumFormString") String enumFormString); + void testEnumParameters(@Param("enumHeaderStringArray") List enumHeaderStringArray, @Param("enumHeaderString") String enumHeaderString, @Param("enumQueryStringArray") List enumQueryStringArray, @Param("enumQueryString") String enumQueryString, @Param("enumQueryInteger") Integer enumQueryInteger, @Param("enumQueryDouble") Double enumQueryDouble, @Param("enum_form_string_array") List enumFormStringArray, @Param("enum_form_string") String enumFormString); /** * To test enum parameters @@ -400,7 +400,7 @@ public interface FakeApi extends ApiClient.Api { "enum_header_string: {enumHeaderString}" }) - ApiResponse testEnumParametersWithHttpInfo(@Param("enumHeaderStringArray") List enumHeaderStringArray, @Param("enumHeaderString") String enumHeaderString, @Param("enumQueryStringArray") List enumQueryStringArray, @Param("enumQueryString") String enumQueryString, @Param("enumQueryInteger") Integer enumQueryInteger, @Param("enumQueryDouble") Double enumQueryDouble, @Param("enumFormStringArray") List enumFormStringArray, @Param("enumFormString") String enumFormString); + ApiResponse testEnumParametersWithHttpInfo(@Param("enumHeaderStringArray") List enumHeaderStringArray, @Param("enumHeaderString") String enumHeaderString, @Param("enumQueryStringArray") List enumQueryStringArray, @Param("enumQueryString") String enumQueryString, @Param("enumQueryInteger") Integer enumQueryInteger, @Param("enumQueryDouble") Double enumQueryDouble, @Param("enum_form_string_array") List enumFormStringArray, @Param("enum_form_string") String enumFormString); /** @@ -432,7 +432,7 @@ public interface FakeApi extends ApiClient.Api { "enum_header_string: {enumHeaderString}" }) - void testEnumParameters(@Param("enumHeaderStringArray") List enumHeaderStringArray, @Param("enumHeaderString") String enumHeaderString, @Param("enumFormStringArray") List enumFormStringArray, @Param("enumFormString") String enumFormString, @QueryMap(encoded=true) Map queryParams); + void testEnumParameters(@Param("enumHeaderStringArray") List enumHeaderStringArray, @Param("enumHeaderString") String enumHeaderString, @Param("enum_form_string_array") List enumFormStringArray, @Param("enum_form_string") String enumFormString, @QueryMap(encoded=true) Map queryParams); /** * To test enum parameters @@ -460,7 +460,7 @@ public interface FakeApi extends ApiClient.Api { "enum_header_string: {enumHeaderString}" }) - ApiResponse testEnumParametersWithHttpInfo(@Param("enumHeaderStringArray") List enumHeaderStringArray, @Param("enumHeaderString") String enumHeaderString, @Param("enumFormStringArray") List enumFormStringArray, @Param("enumFormString") String enumFormString, @QueryMap(encoded=true) Map queryParams); + ApiResponse testEnumParametersWithHttpInfo(@Param("enumHeaderStringArray") List enumHeaderStringArray, @Param("enumHeaderString") String enumHeaderString, @Param("enum_form_string_array") List enumFormStringArray, @Param("enum_form_string") String enumFormString, @QueryMap(encoded=true) Map queryParams); /** diff --git a/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/api/FakeApi.java b/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/api/FakeApi.java index d81e32dd19..389c8e7804 100644 --- a/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/api/FakeApi.java +++ b/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/api/FakeApi.java @@ -473,7 +473,7 @@ public interface FakeApi extends ApiClient.Api { "Content-Type: application/x-www-form-urlencoded", "Accept: application/json", }) - void testEndpointParameters(@Param("number") BigDecimal number, @Param("_double") Double _double, @Param("patternWithoutDelimiter") String patternWithoutDelimiter, @Param("_byte") byte[] _byte, @Param("integer") Integer integer, @Param("int32") Integer int32, @Param("int64") Long int64, @Param("_float") Float _float, @Param("string") String string, @Param("binary") File binary, @Param("date") LocalDate date, @Param("dateTime") OffsetDateTime dateTime, @Param("password") String password, @Param("paramCallback") String paramCallback); + void testEndpointParameters(@Param("number") BigDecimal number, @Param("double") Double _double, @Param("pattern_without_delimiter") String patternWithoutDelimiter, @Param("byte") byte[] _byte, @Param("integer") Integer integer, @Param("int32") Integer int32, @Param("int64") Long int64, @Param("float") Float _float, @Param("string") String string, @Param("binary") File binary, @Param("date") LocalDate date, @Param("dateTime") OffsetDateTime dateTime, @Param("password") String password, @Param("callback") String paramCallback); /** * Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 @@ -499,7 +499,7 @@ public interface FakeApi extends ApiClient.Api { "Content-Type: application/x-www-form-urlencoded", "Accept: application/json", }) - ApiResponse testEndpointParametersWithHttpInfo(@Param("number") BigDecimal number, @Param("_double") Double _double, @Param("patternWithoutDelimiter") String patternWithoutDelimiter, @Param("_byte") byte[] _byte, @Param("integer") Integer integer, @Param("int32") Integer int32, @Param("int64") Long int64, @Param("_float") Float _float, @Param("string") String string, @Param("binary") File binary, @Param("date") LocalDate date, @Param("dateTime") OffsetDateTime dateTime, @Param("password") String password, @Param("paramCallback") String paramCallback); + ApiResponse testEndpointParametersWithHttpInfo(@Param("number") BigDecimal number, @Param("double") Double _double, @Param("pattern_without_delimiter") String patternWithoutDelimiter, @Param("byte") byte[] _byte, @Param("integer") Integer integer, @Param("int32") Integer int32, @Param("int64") Long int64, @Param("float") Float _float, @Param("string") String string, @Param("binary") File binary, @Param("date") LocalDate date, @Param("dateTime") OffsetDateTime dateTime, @Param("password") String password, @Param("callback") String paramCallback); @@ -524,7 +524,7 @@ public interface FakeApi extends ApiClient.Api { "enum_header_string: {enumHeaderString}" }) - void testEnumParameters(@Param("enumHeaderStringArray") List enumHeaderStringArray, @Param("enumHeaderString") String enumHeaderString, @Param("enumQueryStringArray") List enumQueryStringArray, @Param("enumQueryString") String enumQueryString, @Param("enumQueryInteger") Integer enumQueryInteger, @Param("enumQueryDouble") Double enumQueryDouble, @Param("enumQueryModelArray") List enumQueryModelArray, @Param("enumFormStringArray") List enumFormStringArray, @Param("enumFormString") String enumFormString); + void testEnumParameters(@Param("enumHeaderStringArray") List enumHeaderStringArray, @Param("enumHeaderString") String enumHeaderString, @Param("enumQueryStringArray") List enumQueryStringArray, @Param("enumQueryString") String enumQueryString, @Param("enumQueryInteger") Integer enumQueryInteger, @Param("enumQueryDouble") Double enumQueryDouble, @Param("enumQueryModelArray") List enumQueryModelArray, @Param("enum_form_string_array") List enumFormStringArray, @Param("enum_form_string") String enumFormString); /** * To test enum parameters @@ -548,7 +548,7 @@ public interface FakeApi extends ApiClient.Api { "enum_header_string: {enumHeaderString}" }) - ApiResponse testEnumParametersWithHttpInfo(@Param("enumHeaderStringArray") List enumHeaderStringArray, @Param("enumHeaderString") String enumHeaderString, @Param("enumQueryStringArray") List enumQueryStringArray, @Param("enumQueryString") String enumQueryString, @Param("enumQueryInteger") Integer enumQueryInteger, @Param("enumQueryDouble") Double enumQueryDouble, @Param("enumQueryModelArray") List enumQueryModelArray, @Param("enumFormStringArray") List enumFormStringArray, @Param("enumFormString") String enumFormString); + ApiResponse testEnumParametersWithHttpInfo(@Param("enumHeaderStringArray") List enumHeaderStringArray, @Param("enumHeaderString") String enumHeaderString, @Param("enumQueryStringArray") List enumQueryStringArray, @Param("enumQueryString") String enumQueryString, @Param("enumQueryInteger") Integer enumQueryInteger, @Param("enumQueryDouble") Double enumQueryDouble, @Param("enumQueryModelArray") List enumQueryModelArray, @Param("enum_form_string_array") List enumFormStringArray, @Param("enum_form_string") String enumFormString); /** @@ -581,7 +581,7 @@ public interface FakeApi extends ApiClient.Api { "enum_header_string: {enumHeaderString}" }) - void testEnumParameters(@Param("enumHeaderStringArray") List enumHeaderStringArray, @Param("enumHeaderString") String enumHeaderString, @Param("enumFormStringArray") List enumFormStringArray, @Param("enumFormString") String enumFormString, @QueryMap(encoded=true) Map queryParams); + void testEnumParameters(@Param("enumHeaderStringArray") List enumHeaderStringArray, @Param("enumHeaderString") String enumHeaderString, @Param("enum_form_string_array") List enumFormStringArray, @Param("enum_form_string") String enumFormString, @QueryMap(encoded=true) Map queryParams); /** * To test enum parameters @@ -610,7 +610,7 @@ public interface FakeApi extends ApiClient.Api { "enum_header_string: {enumHeaderString}" }) - ApiResponse testEnumParametersWithHttpInfo(@Param("enumHeaderStringArray") List enumHeaderStringArray, @Param("enumHeaderString") String enumHeaderString, @Param("enumFormStringArray") List enumFormStringArray, @Param("enumFormString") String enumFormString, @QueryMap(encoded=true) Map queryParams); + ApiResponse testEnumParametersWithHttpInfo(@Param("enumHeaderStringArray") List enumHeaderStringArray, @Param("enumHeaderString") String enumHeaderString, @Param("enum_form_string_array") List enumFormStringArray, @Param("enum_form_string") String enumFormString, @QueryMap(encoded=true) Map queryParams); /** From 3143390d591a8fda8bc42b1d12ea45ce24f170b5 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Thu, 16 Jun 2022 16:20:32 +0800 Subject: [PATCH 080/212] [java][okhttp-gson] Add streaming support in group parameters (#12601) * add streaming support in group paramters * add tests --- .../Java/libraries/okhttp-gson/api.mustache | 14 ++ .../src/test/resources/3_0/streaming.yaml | 33 +++ .../java/okhttp-gson-streaming/README.md | 12 +- .../okhttp-gson-streaming/api/openapi.yaml | 39 ++++ .../okhttp-gson-streaming/docs/PingApi.md | 68 +++++++ .../org/openapitools/client/api/PingApi.java | 188 ++++++++++++++++++ 6 files changed, 351 insertions(+), 3 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/api.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/api.mustache index 28c94e181c..52002f8c50 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/api.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/api.mustache @@ -472,10 +472,17 @@ public class {{classname}} { {{#isDeprecated}} @Deprecated {{/isDeprecated}} + {{^vendorExtensions.x-streaming}} public {{{returnType}}}{{^returnType}}void{{/returnType}} execute() throws ApiException { {{#returnType}}ApiResponse<{{{.}}}> localVarResp = {{/returnType}}{{operationId}}WithHttpInfo({{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}});{{#returnType}} return localVarResp.getData();{{/returnType}} } + {{/vendorExtensions.x-streaming}} + {{#vendorExtensions.x-streaming}} + public InputStream execute() throws ApiException { + return {{operationId}}WithHttpInfo({{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}}); + } + {{/vendorExtensions.x-streaming}} /** * Execute {{operationId}} request with HTTP info returned @@ -497,9 +504,16 @@ public class {{classname}} { {{#isDeprecated}} @Deprecated {{/isDeprecated}} + {{^vendorExtensions.x-streaming}} public ApiResponse<{{{returnType}}}{{^returnType}}Void{{/returnType}}> executeWithHttpInfo() throws ApiException { return {{operationId}}WithHttpInfo({{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}}); } + {{/vendorExtensions.x-streaming}} + {{#vendorExtensions.x-streaming}} + public InputStream executeWithHttpInfo() throws ApiException { + return {{operationId}}WithHttpInfo({{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}}); + } + {{/vendorExtensions.x-streaming}} /** * Execute {{operationId}} request (asynchronously) diff --git a/modules/openapi-generator/src/test/resources/3_0/streaming.yaml b/modules/openapi-generator/src/test/resources/3_0/streaming.yaml index e22bb54b40..28c7114f1d 100644 --- a/modules/openapi-generator/src/test/resources/3_0/streaming.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/streaming.yaml @@ -23,6 +23,39 @@ paths: 'application/json': schema: $ref: "#/components/schemas/SomeObj" + get: + x-streaming: true + x-group-parameters: true + operationId: getPing + tags: + - ping + parameters: + - name: petId + in: query + description: ID of pet that needs to be updated + required: true + schema: + type: integer + format: int64 + requestBody: + content: + application/x-www-form-urlencoded: + schema: + type: object + properties: + name: + description: Updated name of the pet + type: string + status: + description: Updated status of the pet + type: string + responses: + '200': + description: OK + content: + 'application/json': + schema: + $ref: "#/components/schemas/SomeObj" components: schemas: SomeObj: diff --git a/samples/client/others/java/okhttp-gson-streaming/README.md b/samples/client/others/java/okhttp-gson-streaming/README.md index ef1bda7072..3d7eefeba9 100644 --- a/samples/client/others/java/okhttp-gson-streaming/README.md +++ b/samples/client/others/java/okhttp-gson-streaming/README.md @@ -91,12 +91,17 @@ public class Example { defaultClient.setBasePath("http://localhost:8082"); PingApi apiInstance = new PingApi(defaultClient); - SomeObj someObj = new SomeObj(); // SomeObj | + Long petId = 56L; // Long | ID of pet that needs to be updated + String name = "name_example"; // String | Updated name of the pet + String status = "status_example"; // String | Updated status of the pet try { - SomeObj result = apiInstance.postPing(someObj); + SomeObj result = apiInstance.getPing(petId) + .name(name) + .status(status) + .execute(); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling PingApi#postPing"); + System.err.println("Exception when calling PingApi#getPing"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); @@ -113,6 +118,7 @@ All URIs are relative to *http://localhost:8082* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- +*PingApi* | [**getPing**](docs/PingApi.md#getPing) | **GET** /ping | *PingApi* | [**postPing**](docs/PingApi.md#postPing) | **POST** /ping | diff --git a/samples/client/others/java/okhttp-gson-streaming/api/openapi.yaml b/samples/client/others/java/okhttp-gson-streaming/api/openapi.yaml index 0fd31f4db5..50bf4ce1ec 100644 --- a/samples/client/others/java/okhttp-gson-streaming/api/openapi.yaml +++ b/samples/client/others/java/okhttp-gson-streaming/api/openapi.yaml @@ -6,6 +6,36 @@ servers: - url: http://localhost:8082/ paths: /ping: + get: + operationId: getPing + parameters: + - description: ID of pet that needs to be updated + explode: true + in: query + name: petId + required: true + schema: + format: int64 + type: integer + style: form + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/getPing_request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/SomeObj' + description: OK + tags: + - ping + x-streaming: true + x-group-parameters: true + x-content-type: application/x-www-form-urlencoded + x-accepts: application/json post: operationId: postPing requestBody: @@ -50,4 +80,13 @@ components: type: type: string type: object + getPing_request: + properties: + name: + description: Updated name of the pet + type: string + status: + description: Updated status of the pet + type: string + type: object diff --git a/samples/client/others/java/okhttp-gson-streaming/docs/PingApi.md b/samples/client/others/java/okhttp-gson-streaming/docs/PingApi.md index e775f3b709..2f8025567a 100644 --- a/samples/client/others/java/okhttp-gson-streaming/docs/PingApi.md +++ b/samples/client/others/java/okhttp-gson-streaming/docs/PingApi.md @@ -4,9 +4,77 @@ All URIs are relative to *http://localhost:8082* | Method | HTTP request | Description | |------------- | ------------- | -------------| +| [**getPing**](PingApi.md#getPing) | **GET** /ping | | | [**postPing**](PingApi.md#postPing) | **POST** /ping | | + +# **getPing** +> SomeObj getPing(petId).name(name).status(status).execute(); + + + +### Example +```java +// Import classes: +import org.openapitools.client.ApiClient; +import org.openapitools.client.ApiException; +import org.openapitools.client.Configuration; +import org.openapitools.client.models.*; +import org.openapitools.client.api.PingApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost:8082"); + + PingApi apiInstance = new PingApi(defaultClient); + Long petId = 56L; // Long | ID of pet that needs to be updated + String name = "name_example"; // String | Updated name of the pet + String status = "status_example"; // String | Updated status of the pet + try { + SomeObj result = apiInstance.getPing(petId) + .name(name) + .status(status) + .execute(); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PingApi#getPing"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **petId** | **Long**| ID of pet that needs to be updated | | +| **name** | **String**| Updated name of the pet | [optional] | +| **status** | **String**| Updated status of the pet | [optional] | + +### Return type + +[**SomeObj**](SomeObj.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + # **postPing** > SomeObj postPing(someObj) diff --git a/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/api/PingApi.java b/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/api/PingApi.java index 11a9167356..807f4f240a 100644 --- a/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/api/PingApi.java +++ b/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/api/PingApi.java @@ -74,6 +74,194 @@ public class PingApi { this.localCustomBaseUrl = customBaseUrl; } + private okhttp3.Call getPingCall(Long petId, String name, String status, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/ping"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + if (name != null) { + localVarFormParams.put("name", name); + } + + if (status != null) { + localVarFormParams.put("status", status); + } + + if (petId != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("petId", petId)); + } + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/x-www-form-urlencoded" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call getPingValidateBeforeCall(Long petId, String name, String status, final ApiCallback _callback) throws ApiException { + + // verify the required parameter 'petId' is set + if (petId == null) { + throw new ApiException("Missing the required parameter 'petId' when calling getPing(Async)"); + } + + + okhttp3.Call localVarCall = getPingCall(petId, name, status, _callback); + return localVarCall; + + } + + + private InputStream getPingWithHttpInfo(Long petId, String name, String status) throws ApiException { + okhttp3.Call localVarCall = getPingValidateBeforeCall(petId, name, status, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.executeStream(localVarCall, localVarReturnType); + } + + private okhttp3.Call getPingAsync(Long petId, String name, String status, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getPingValidateBeforeCall(petId, name, status, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + + public class APIgetPingRequest { + private final Long petId; + private String name; + private String status; + + private APIgetPingRequest(Long petId) { + this.petId = petId; + } + + /** + * Set name + * @param name Updated name of the pet (optional) + * @return APIgetPingRequest + */ + public APIgetPingRequest name(String name) { + this.name = name; + return this; + } + + /** + * Set status + * @param status Updated status of the pet (optional) + * @return APIgetPingRequest + */ + public APIgetPingRequest status(String status) { + this.status = status; + return this; + } + + /** + * Build call for getPing + * @param _callback ApiCallback API callback + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + +
Status Code Description Response Headers
200 OK -
+ */ + public okhttp3.Call buildCall(final ApiCallback _callback) throws ApiException { + return getPingCall(petId, name, status, _callback); + } + + /** + * Execute getPing request + * @return SomeObj + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + +
Status Code Description Response Headers
200 OK -
+ */ + public InputStream execute() throws ApiException { + return getPingWithHttpInfo(petId, name, status); + } + + /** + * Execute getPing request with HTTP info returned + * @return ApiResponse<SomeObj> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + +
Status Code Description Response Headers
200 OK -
+ */ + public InputStream executeWithHttpInfo() throws ApiException { + return getPingWithHttpInfo(petId, name, status); + } + + /** + * Execute getPing request (asynchronously) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + +
Status Code Description Response Headers
200 OK -
+ */ + public okhttp3.Call executeAsync(final ApiCallback _callback) throws ApiException { + return getPingAsync(petId, name, status, _callback); + } + } + + /** + * + * + * @param petId ID of pet that needs to be updated (required) + * @return APIgetPingRequest + * @http.response.details + + + +
Status Code Description Response Headers
200 OK -
+ */ + public APIgetPingRequest getPing(Long petId) { + return new APIgetPingRequest(petId); + } /** * Build call for postPing * @param someObj (optional) From 9485e3bf9e6e33da326c066f158d6c9d2a7f9434 Mon Sep 17 00:00:00 2001 From: phoenix Date: Thu, 16 Jun 2022 16:21:12 +0800 Subject: [PATCH 081/212] Update plugins.md (#12611) Updated maven plugin to the latest released version 6.0.0 --- docs/plugins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/plugins.md b/docs/plugins.md index c9fbbe5b54..f4586135cd 100644 --- a/docs/plugins.md +++ b/docs/plugins.md @@ -16,7 +16,7 @@ Add to your `build->plugins` section (default phase is `generate-sources` phase) org.openapitools openapi-generator-maven-plugin - 5.1.0 + 6.0.0 From 8b7736501dc745bd196d3b605ffcc2654e452705 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Rodr=C3=ADguez=20Mart=C3=ADn?= Date: Thu, 16 Jun 2022 11:50:16 +0200 Subject: [PATCH 082/212] 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 --- .../src/main/resources/JavaSpring/cookieParams.mustache | 2 +- .../src/main/java/org/openapitools/api/DefaultApi.java | 2 +- .../src/main/java/org/openapitools/api/DefaultApi.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/cookieParams.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/cookieParams.mustache index 7fc2abc2d0..74a837988f 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/cookieParams.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/cookieParams.mustache @@ -1 +1 @@ -{{#isCookieParam}}{{#useBeanValidation}}{{>beanValidationQueryParams}}{{/useBeanValidation}}{{>paramDoc}} @CookieValue(name="{{baseName}}"{{#defaultValue}}, defaultValue = "{{{.}}}"{{/defaultValue}}){{>dateTimeParam}} {{>optionalDataType}} {{paramName}}{{/isCookieParam}} \ No newline at end of file +{{#isCookieParam}}{{#useBeanValidation}}{{>beanValidationQueryParams}}{{/useBeanValidation}}{{>paramDoc}} @CookieValue(name = "{{baseName}}"{{^required}}, required = false{{/required}}{{#defaultValue}}, defaultValue = "{{{.}}}"{{/defaultValue}}){{>dateTimeParam}} {{>optionalDataType}} {{paramName}}{{/isCookieParam}} \ No newline at end of file diff --git a/samples/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java b/samples/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java index 63558c1bfb..4b5dd08c0f 100644 --- a/samples/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java +++ b/samples/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java @@ -54,7 +54,7 @@ public interface DefaultApi { @ApiParam(value = "A date path parameter", required = true, defaultValue = "1972-01-01") @PathVariable("date") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate date, @NotNull @ApiParam(value = "A date-time query parameter", required = true, defaultValue = "1973-12-19T03:39:57-08:00") @Valid @RequestParam(value = "dateTime", required = true, defaultValue = "1973-12-19T03:39:57-08:00") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) OffsetDateTime dateTime, @ApiParam(value = "A date header parameter", required = true, defaultValue = "1974-01-01") @RequestHeader(value = "X-Order-Date", required = true, defaultValue = "1974-01-01") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate xOrderDate, - @ApiParam(value = "A date cookie parameter", defaultValue = "1975-01-01") @CookieValue(name="loginDate", defaultValue = "1975-01-01") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate loginDate + @ApiParam(value = "A date cookie parameter", defaultValue = "1975-01-01") @CookieValue(name = "loginDate", required = false, defaultValue = "1975-01-01") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate loginDate ); diff --git a/samples/openapi3/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java b/samples/openapi3/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java index c0a651c096..c24320bb97 100644 --- a/samples/openapi3/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java @@ -59,7 +59,7 @@ public interface DefaultApi { @Parameter(name = "date", description = "A date path parameter", required = true) @PathVariable("date") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate date, @NotNull @Parameter(name = "dateTime", description = "A date-time query parameter", required = true) @Valid @RequestParam(value = "dateTime", required = true, defaultValue = "1973-12-19T03:39:57-08:00") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) OffsetDateTime dateTime, @Parameter(name = "X-Order-Date", description = "A date header parameter", required = true) @RequestHeader(value = "X-Order-Date", required = true, defaultValue = "1974-01-01") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate xOrderDate, - @Parameter(name = "loginDate", description = "A date cookie parameter") @CookieValue(name="loginDate", defaultValue = "1975-01-01") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate loginDate + @Parameter(name = "loginDate", description = "A date cookie parameter") @CookieValue(name = "loginDate", required = false, defaultValue = "1975-01-01") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate loginDate ); From bcb5f55a2d8e10f958b10cd384fd9aa946f95ee4 Mon Sep 17 00:00:00 2001 From: Hui Yu Date: Fri, 17 Jun 2022 15:01:33 +0800 Subject: [PATCH 083/212] [C][Client] Set the default value for the null json (#12620) --- .../src/main/resources/C-libcurl/object-body.mustache | 2 +- samples/client/petstore/c/model/object.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/C-libcurl/object-body.mustache b/modules/openapi-generator/src/main/resources/C-libcurl/object-body.mustache index 9606d41d98..ff293bcdac 100644 --- a/modules/openapi-generator/src/main/resources/C-libcurl/object-body.mustache +++ b/modules/openapi-generator/src/main/resources/C-libcurl/object-body.mustache @@ -28,7 +28,7 @@ cJSON *object_convertToJSON(object_t *object) { } if (!object->temporary) { - return cJSON_Parse("{}"); + return cJSON_Parse("null"); } return cJSON_Parse(object->temporary); diff --git a/samples/client/petstore/c/model/object.c b/samples/client/petstore/c/model/object.c index 9606d41d98..ff293bcdac 100644 --- a/samples/client/petstore/c/model/object.c +++ b/samples/client/petstore/c/model/object.c @@ -28,7 +28,7 @@ cJSON *object_convertToJSON(object_t *object) { } if (!object->temporary) { - return cJSON_Parse("{}"); + return cJSON_Parse("null"); } return cJSON_Parse(object->temporary); From a01ed49f732230498c4699c52e02215e37847b93 Mon Sep 17 00:00:00 2001 From: phoenix Date: Fri, 17 Jun 2022 15:02:37 +0800 Subject: [PATCH 084/212] Update installation.md (#12621) Update openapi-generator-cli.jar to the latest 6.0.0 version --- docs/installation.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index f01f9b1934..c3551a78fd 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -103,18 +103,18 @@ docker run --rm \ If you're looking for the latest stable version, you can grab it directly from Maven.org (Java 8 runtime at a minimum): -JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/5.3.0/openapi-generator-cli-5.3.0.jar` +JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.0/openapi-generator-cli-6.0.0.jar` For **Mac/Linux** users: ```bash -wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/5.3.0/openapi-generator-cli-5.3.0.jar -O openapi-generator-cli.jar +wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.0/openapi-generator-cli-6.0.0.jar -O openapi-generator-cli.jar ``` For **Windows** users, you will need to install [wget](http://gnuwin32.sourceforge.net/packages/wget.htm) or you can use Invoke-WebRequest in PowerShell (3.0+), e.g. ```powershell -Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/5.3.0/openapi-generator-cli-5.3.0.jar +Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.0/openapi-generator-cli-6.0.0.jar ``` From 0140f84f80d13eae6b7537d39080c3f79e3d49cf Mon Sep 17 00:00:00 2001 From: Tomasz Janiszewski Date: Fri, 17 Jun 2022 09:14:48 +0200 Subject: [PATCH 085/212] Keep AST small when usign builder (#12610) --- .../Java/libraries/okhttp-gson/JSON.mustache | 44 ++--- .../java/org/openapitools/client/JSON.java | 16 +- .../java/org/openapitools/client/JSON.java | 102 ++++++------ .../java/org/openapitools/client/JSON.java | 26 +-- .../java/org/openapitools/client/JSON.java | 102 ++++++------ .../java/org/openapitools/client/JSON.java | 156 +++++++++--------- 6 files changed, 223 insertions(+), 223 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/JSON.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/JSON.mustache index 7731f02b65..d6883b9823 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/JSON.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/JSON.mustache @@ -110,28 +110,28 @@ public class JSON { } { - gson = createGson() - .registerTypeAdapter(Date.class, dateTypeAdapter) - .registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter) - {{#joda}} - .registerTypeAdapter(DateTime.class, dateTimeTypeAdapter) - .registerTypeAdapter(LocalDate.class, localDateTypeAdapter) - {{/joda}} - {{#jsr310}} - .registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter) - .registerTypeAdapter(LocalDate.class, localDateTypeAdapter) - {{/jsr310}} - .registerTypeAdapter(byte[].class, byteArrayAdapter) - {{#models}} - {{#model}} - {{^isEnum}} - {{^hasChildren}} - .registerTypeAdapterFactory(new {{modelPackage}}.{{{classname}}}.CustomTypeAdapterFactory()) - {{/hasChildren}} - {{/isEnum}} - {{/model}} - {{/models}} - .create(); + GsonBuilder gsonBuilder = createGson(); + gsonBuilder.registerTypeAdapter(Date.class, dateTypeAdapter); + gsonBuilder.registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter); + {{#joda}} + gsonBuilder.registerTypeAdapter(DateTime.class, dateTimeTypeAdapter); + gsonBuilder.registerTypeAdapter(LocalDate.class, localDateTypeAdapter); + {{/joda}} + {{#jsr310}} + gsonBuilder.registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter); + gsonBuilder.registerTypeAdapter(LocalDate.class, localDateTypeAdapter); + {{/jsr310}} + gsonBuilder.registerTypeAdapter(byte[].class, byteArrayAdapter); + {{#models}} + {{#model}} + {{^isEnum}} + {{^hasChildren}} + gsonBuilder.registerTypeAdapterFactory(new {{modelPackage}}.{{{classname}}}.CustomTypeAdapterFactory()); + {{/hasChildren}} + {{/isEnum}} + {{/model}} + {{/models}} + gson = gsonBuilder.create(); } /** diff --git a/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/JSON.java b/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/JSON.java index 2a46b4d2bf..1e547ada43 100644 --- a/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/JSON.java +++ b/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/JSON.java @@ -87,14 +87,14 @@ public class JSON { } { - gson = createGson() - .registerTypeAdapter(Date.class, dateTypeAdapter) - .registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter) - .registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter) - .registerTypeAdapter(LocalDate.class, localDateTypeAdapter) - .registerTypeAdapter(byte[].class, byteArrayAdapter) - .registerTypeAdapterFactory(new org.openapitools.client.model.SomeObj.CustomTypeAdapterFactory()) - .create(); + GsonBuilder gsonBuilder = createGson(); + gsonBuilder.registerTypeAdapter(Date.class, dateTypeAdapter); + gsonBuilder.registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter); + gsonBuilder.registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter); + gsonBuilder.registerTypeAdapter(LocalDate.class, localDateTypeAdapter); + gsonBuilder.registerTypeAdapter(byte[].class, byteArrayAdapter); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.SomeObj.CustomTypeAdapterFactory()); + gson = gsonBuilder.create(); } /** diff --git a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/JSON.java b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/JSON.java index 618aa5564f..c2662b33fb 100644 --- a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/JSON.java +++ b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/JSON.java @@ -127,57 +127,57 @@ public class JSON { } { - gson = createGson() - .registerTypeAdapter(Date.class, dateTypeAdapter) - .registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter) - .registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter) - .registerTypeAdapter(LocalDate.class, localDateTypeAdapter) - .registerTypeAdapter(byte[].class, byteArrayAdapter) - .registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesAnyType.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesArray.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesBoolean.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesClass.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesInteger.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesNumber.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesObject.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesString.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ArrayOfArrayOfNumberOnly.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ArrayOfNumberOnly.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ArrayTest.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.BigCat.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.BigCatAllOf.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Capitalization.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.CatAllOf.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Category.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ClassModel.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Client.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Dog.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.DogAllOf.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.EnumArrays.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.EnumTest.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.FileSchemaTestClass.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.FormatTest.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.HasOnlyReadOnly.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.MapTest.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.MixedPropertiesAndAdditionalPropertiesClass.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Model200Response.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ModelApiResponse.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ModelFile.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ModelList.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ModelReturn.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Name.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.NumberOnly.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Order.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.OuterComposite.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Pet.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ReadOnlyFirst.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.SpecialModelName.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Tag.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.TypeHolderDefault.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.TypeHolderExample.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.User.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.XmlItem.CustomTypeAdapterFactory()) - .create(); + GsonBuilder gsonBuilder = createGson(); + gsonBuilder.registerTypeAdapter(Date.class, dateTypeAdapter); + gsonBuilder.registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter); + gsonBuilder.registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter); + gsonBuilder.registerTypeAdapter(LocalDate.class, localDateTypeAdapter); + gsonBuilder.registerTypeAdapter(byte[].class, byteArrayAdapter); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesAnyType.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesArray.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesBoolean.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesClass.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesInteger.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesNumber.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesObject.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesString.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ArrayOfArrayOfNumberOnly.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ArrayOfNumberOnly.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ArrayTest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.BigCat.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.BigCatAllOf.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Capitalization.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.CatAllOf.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Category.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ClassModel.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Client.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Dog.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.DogAllOf.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.EnumArrays.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.EnumTest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.FileSchemaTestClass.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.FormatTest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.HasOnlyReadOnly.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.MapTest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.MixedPropertiesAndAdditionalPropertiesClass.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Model200Response.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ModelApiResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ModelFile.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ModelList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ModelReturn.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Name.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.NumberOnly.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Order.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OuterComposite.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Pet.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ReadOnlyFirst.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.SpecialModelName.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Tag.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.TypeHolderDefault.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.TypeHolderExample.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.User.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.XmlItem.CustomTypeAdapterFactory()); + gson = gsonBuilder.create(); } /** diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/JSON.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/JSON.java index 82efa28d6d..e069227577 100644 --- a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/JSON.java +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/JSON.java @@ -87,19 +87,19 @@ public class JSON { } { - gson = createGson() - .registerTypeAdapter(Date.class, dateTypeAdapter) - .registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter) - .registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter) - .registerTypeAdapter(LocalDate.class, localDateTypeAdapter) - .registerTypeAdapter(byte[].class, byteArrayAdapter) - .registerTypeAdapterFactory(new org.openapitools.client.model.Category.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ModelApiResponse.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Order.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Pet.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Tag.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.User.CustomTypeAdapterFactory()) - .create(); + GsonBuilder gsonBuilder = createGson(); + gsonBuilder.registerTypeAdapter(Date.class, dateTypeAdapter); + gsonBuilder.registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter); + gsonBuilder.registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter); + gsonBuilder.registerTypeAdapter(LocalDate.class, localDateTypeAdapter); + gsonBuilder.registerTypeAdapter(byte[].class, byteArrayAdapter); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Category.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ModelApiResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Order.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Pet.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Tag.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.User.CustomTypeAdapterFactory()); + gson = gsonBuilder.create(); } /** diff --git a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/JSON.java b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/JSON.java index 618aa5564f..c2662b33fb 100644 --- a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/JSON.java +++ b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/JSON.java @@ -127,57 +127,57 @@ public class JSON { } { - gson = createGson() - .registerTypeAdapter(Date.class, dateTypeAdapter) - .registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter) - .registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter) - .registerTypeAdapter(LocalDate.class, localDateTypeAdapter) - .registerTypeAdapter(byte[].class, byteArrayAdapter) - .registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesAnyType.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesArray.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesBoolean.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesClass.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesInteger.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesNumber.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesObject.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesString.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ArrayOfArrayOfNumberOnly.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ArrayOfNumberOnly.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ArrayTest.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.BigCat.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.BigCatAllOf.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Capitalization.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.CatAllOf.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Category.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ClassModel.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Client.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Dog.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.DogAllOf.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.EnumArrays.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.EnumTest.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.FileSchemaTestClass.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.FormatTest.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.HasOnlyReadOnly.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.MapTest.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.MixedPropertiesAndAdditionalPropertiesClass.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Model200Response.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ModelApiResponse.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ModelFile.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ModelList.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ModelReturn.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Name.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.NumberOnly.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Order.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.OuterComposite.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Pet.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ReadOnlyFirst.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.SpecialModelName.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Tag.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.TypeHolderDefault.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.TypeHolderExample.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.User.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.XmlItem.CustomTypeAdapterFactory()) - .create(); + GsonBuilder gsonBuilder = createGson(); + gsonBuilder.registerTypeAdapter(Date.class, dateTypeAdapter); + gsonBuilder.registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter); + gsonBuilder.registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter); + gsonBuilder.registerTypeAdapter(LocalDate.class, localDateTypeAdapter); + gsonBuilder.registerTypeAdapter(byte[].class, byteArrayAdapter); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesAnyType.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesArray.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesBoolean.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesClass.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesInteger.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesNumber.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesObject.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesString.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ArrayOfArrayOfNumberOnly.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ArrayOfNumberOnly.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ArrayTest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.BigCat.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.BigCatAllOf.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Capitalization.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.CatAllOf.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Category.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ClassModel.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Client.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Dog.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.DogAllOf.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.EnumArrays.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.EnumTest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.FileSchemaTestClass.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.FormatTest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.HasOnlyReadOnly.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.MapTest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.MixedPropertiesAndAdditionalPropertiesClass.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Model200Response.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ModelApiResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ModelFile.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ModelList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ModelReturn.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Name.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.NumberOnly.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Order.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OuterComposite.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Pet.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ReadOnlyFirst.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.SpecialModelName.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Tag.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.TypeHolderDefault.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.TypeHolderExample.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.User.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.XmlItem.CustomTypeAdapterFactory()); + gson = gsonBuilder.create(); } /** diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/JSON.java b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/JSON.java index 92b5eaf189..4bd7697b59 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/JSON.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/JSON.java @@ -214,84 +214,84 @@ public class JSON { } { - gson = createGson() - .registerTypeAdapter(Date.class, dateTypeAdapter) - .registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter) - .registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter) - .registerTypeAdapter(LocalDate.class, localDateTypeAdapter) - .registerTypeAdapter(byte[].class, byteArrayAdapter) - .registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesClass.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Apple.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.AppleReq.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ArrayOfArrayOfNumberOnly.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ArrayOfInlineAllOf.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ArrayOfInlineAllOfArrayAllofDogPropertyInner.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ArrayOfInlineAllOfArrayAllofDogPropertyInnerAllOf.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ArrayOfNumberOnly.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ArrayTest.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Banana.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.BananaReq.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.BasquePig.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Capitalization.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Cat.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.CatAllOf.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Category.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ClassModel.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Client.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ComplexQuadrilateral.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.DanishPig.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.DeprecatedObject.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Dog.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.DogAllOf.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Drawing.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.EnumArrays.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.EnumTest.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.EquilateralTriangle.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.FileSchemaTestClass.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Foo.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.FooGetDefaultResponse.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.FormatTest.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Fruit.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.FruitReq.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.GmFruit.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.HasOnlyReadOnly.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.HealthCheckResult.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.IsoscelesTriangle.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Mammal.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.MapTest.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.MixedPropertiesAndAdditionalPropertiesClass.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Model200Response.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ModelApiResponse.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ModelFile.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ModelList.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ModelReturn.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Name.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.NullableClass.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.NullableShape.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.NumberOnly.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ObjectWithDeprecatedFields.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Order.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.OuterComposite.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ParentPet.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Pet.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.PetWithRequiredTags.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Pig.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Quadrilateral.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.QuadrilateralInterface.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ReadOnlyFirst.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ScaleneTriangle.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Shape.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ShapeInterface.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.ShapeOrNull.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.SimpleQuadrilateral.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.SpecialModelName.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Tag.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Triangle.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.TriangleInterface.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.User.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Whale.CustomTypeAdapterFactory()) - .registerTypeAdapterFactory(new org.openapitools.client.model.Zebra.CustomTypeAdapterFactory()) - .create(); + GsonBuilder gsonBuilder = createGson(); + gsonBuilder.registerTypeAdapter(Date.class, dateTypeAdapter); + gsonBuilder.registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter); + gsonBuilder.registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter); + gsonBuilder.registerTypeAdapter(LocalDate.class, localDateTypeAdapter); + gsonBuilder.registerTypeAdapter(byte[].class, byteArrayAdapter); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.AdditionalPropertiesClass.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Apple.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.AppleReq.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ArrayOfArrayOfNumberOnly.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ArrayOfInlineAllOf.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ArrayOfInlineAllOfArrayAllofDogPropertyInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ArrayOfInlineAllOfArrayAllofDogPropertyInnerAllOf.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ArrayOfNumberOnly.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ArrayTest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Banana.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.BananaReq.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.BasquePig.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Capitalization.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Cat.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.CatAllOf.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Category.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ClassModel.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Client.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ComplexQuadrilateral.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.DanishPig.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.DeprecatedObject.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Dog.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.DogAllOf.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Drawing.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.EnumArrays.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.EnumTest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.EquilateralTriangle.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.FileSchemaTestClass.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Foo.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.FooGetDefaultResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.FormatTest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Fruit.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.FruitReq.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.GmFruit.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.HasOnlyReadOnly.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.HealthCheckResult.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.IsoscelesTriangle.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Mammal.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.MapTest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.MixedPropertiesAndAdditionalPropertiesClass.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Model200Response.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ModelApiResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ModelFile.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ModelList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ModelReturn.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Name.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.NullableClass.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.NullableShape.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.NumberOnly.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ObjectWithDeprecatedFields.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Order.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OuterComposite.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ParentPet.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Pet.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.PetWithRequiredTags.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Pig.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Quadrilateral.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.QuadrilateralInterface.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ReadOnlyFirst.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ScaleneTriangle.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Shape.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ShapeInterface.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ShapeOrNull.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.SimpleQuadrilateral.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.SpecialModelName.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Tag.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Triangle.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.TriangleInterface.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.User.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Whale.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Zebra.CustomTypeAdapterFactory()); + gson = gsonBuilder.create(); } /** From c26ac3f8a30b31a137987ffc58425d726068fdf3 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 19 Jun 2022 23:19:55 +0800 Subject: [PATCH 086/212] add documentations to r oneof, anyof (#12638) --- .gitignore | 2 + .../src/main/resources/r/modelAnyOf.mustache | 38 ++++++++++++- .../src/main/resources/r/modelOneOf.mustache | 41 ++++++++++++-- .../main/resources/r/partial_header.mustache | 15 +++--- .../petstore/R/R/allof_tag_api_response.R | 13 ++--- samples/client/petstore/R/R/animal.R | 13 ++--- samples/client/petstore/R/R/any_of_pig.R | 51 +++++++++++++++--- samples/client/petstore/R/R/api_client.R | 13 ++--- samples/client/petstore/R/R/basque_pig.R | 13 ++--- samples/client/petstore/R/R/cat.R | 13 ++--- samples/client/petstore/R/R/cat_all_of.R | 13 ++--- samples/client/petstore/R/R/category.R | 13 ++--- samples/client/petstore/R/R/danish_pig.R | 13 ++--- samples/client/petstore/R/R/dog.R | 13 ++--- samples/client/petstore/R/R/dog_all_of.R | 13 ++--- samples/client/petstore/R/R/fake_api.R | 13 ++--- .../client/petstore/R/R/model_api_response.R | 13 ++--- samples/client/petstore/R/R/order.R | 13 ++--- samples/client/petstore/R/R/pet.R | 13 ++--- samples/client/petstore/R/R/pet_api.R | 13 ++--- samples/client/petstore/R/R/pig.R | 54 +++++++++++++++---- samples/client/petstore/R/R/store_api.R | 13 ++--- samples/client/petstore/R/R/tag.R | 13 ++--- .../client/petstore/R/R/update_pet_request.R | 13 ++--- samples/client/petstore/R/R/user.R | 13 ++--- samples/client/petstore/R/R/user_api.R | 13 ++--- samples/client/petstore/R/build_and_test.bash | 1 + 27 files changed, 311 insertions(+), 151 deletions(-) diff --git a/.gitignore b/.gitignore index b5cbf6efcd..c31896c826 100644 --- a/.gitignore +++ b/.gitignore @@ -222,6 +222,8 @@ samples/server/petstore/haskell-yesod/stack.yaml.lock .Rproj.user samples/client/petstore/R/**/petstore.Rcheck/ samples/client/petstore/R/**/*.tar.gz +samples/client/petstore/R/R.Rproj +samples/client/petstore/R/man/ # elixir samples/client/petstore/elixir/_build/ diff --git a/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache b/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache index d3b86f23ee..3897d549b9 100644 --- a/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache @@ -11,14 +11,31 @@ {{classname}} <- R6::R6Class( '{{classname}}', public = list( + #' @field actual_instance the object stored in this instance. actual_instance = NULL, + #' @field actual_type the type of the object stored in this instance. actual_type = NULL, + #' @field any_of a list of object types defined in the anyOf schema. any_of = list({{#anyOf}}"{{{.}}}"{{^-last}}, {{/-last}}{{/anyOf}}), + #' Initialize a new {{{classname}}}. + #' + #' @description + #' Initialize a new {{{classname}}}. + #' + #' @export + #' @md initialize = function( - {{#requiredVars}}`{{baseName}}`, {{/requiredVars}}{{#optionalVars}}`{{baseName}}`={{{defaultValue}}}{{^defaultValue}}NULL{{/defaultValue}}, {{/optionalVars}}... ) { - local_optional_var <- list(...) }, + #' Deserialize JSON string into an instance of {{{classname}}}. + #' + #' @description + #' Deserialize JSON string into an instance of {{{classname}}}. + #' + #' @param input The input JSON. + #' @return An instance of {{{classname}}}. + #' @export + #' @md fromJSON = function(input) { error_messages <- list() @@ -41,6 +58,14 @@ # no match stop(paste("No match found when deserializing the payload into {{{classname}}} with anyOf schemas {{#anyOf}}{{{.}}}{{^-last}}, {{/-last}}{{/anyOf}}. Details: ", paste(error_messages, collapse = ', '))) }, + #' Serialize {{{classname}}} to JSON string. + #' + #' @description + #' Serialize {{{classname}}} to JSON string. + #' + #' @return JSON string reprenation of the {{{classname}}}. + #' @export + #' @md toJSON = function() { if (!is.null(self$actual_instance)) { self$actual_instance$toJSONString() @@ -48,6 +73,15 @@ NULL } }, + #' Validate the input JSON with respect to {{{classname}}}. + #' + #' @description + #' Validate the input JSON with respect to {{{classname}}} and + #' throw exception if invalid. + #' + #' @param input The input JSON. + #' @export + #' @md validateJSON = function(input) { # backup current values actual_instance_bak <- self$actual_instance diff --git a/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache b/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache index 1e33da9e7e..4f295c3319 100644 --- a/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache @@ -11,14 +11,30 @@ {{classname}} <- R6::R6Class( '{{classname}}', public = list( + #' @field actual_instance the object stored in this instance. actual_instance = NULL, + #' @field actual_type the type of the object stored in this instance. actual_type = NULL, + #' @field one_of a list of object types defined in the oneOf schema. one_of = list({{#oneOf}}"{{{.}}}"{{^-last}}, {{/-last}}{{/oneOf}}), - initialize = function( - {{#requiredVars}}`{{baseName}}`, {{/requiredVars}}{{#optionalVars}}`{{baseName}}`={{{defaultValue}}}{{^defaultValue}}NULL{{/defaultValue}}, {{/optionalVars}}... - ) { - local_optional_var <- list(...) + #' Initialize a new {{{classname}}}. + #' + #' @description + #' Initialize a new {{{classname}}}. + #' + #' @export + #' @md + initialize = function() { }, + #' Deserialize JSON string into an instance of {{{classname}}}. + #' + #' @description + #' Deserialize JSON string into an instance of {{{classname}}}. + #' + #' @param input The input JSON. + #' @return An instance of {{{classname}}}. + #' @export + #' @md fromJSON = function(input) { matched <- 0 # match counter matched_schemas <- list() #names of matched schemas @@ -56,6 +72,14 @@ self }, + #' Serialize {{{classname}}} to JSON string. + #' + #' @description + #' Serialize {{{classname}}} to JSON string. + #' + #' @return JSON string reprenation of the {{{classname}}}. + #' @export + #' @md toJSON = function() { if (!is.null(self$actual_instance)) { self$actual_instance$toJSONString() @@ -63,6 +87,15 @@ NULL } }, + #' Validate the input JSON with respect to {{{classname}}}. + #' + #' @description + #' Validate the input JSON with respect to {{{classname}}} and + #' throw exception if invalid. + #' + #' @param input The input JSON. + #' @export + #' @md validateJSON = function(input) { # backup current values actual_instance_bak <- self$actual_instance diff --git a/modules/openapi-generator/src/main/resources/r/partial_header.mustache b/modules/openapi-generator/src/main/resources/r/partial_header.mustache index 5c70b65ef0..e3282fc971 100644 --- a/modules/openapi-generator/src/main/resources/r/partial_header.mustache +++ b/modules/openapi-generator/src/main/resources/r/partial_header.mustache @@ -1,15 +1,16 @@ {{#appName}} -# {{{.}}} -# +#' {{{.}}} +#' {{/appName}} {{#appDescription}} -# {{{.}}} -# +#' {{{.}}} +#' {{/appDescription}} {{#version}} -# The version of the OpenAPI document: {{{.}}} +#' The version of the OpenAPI document: {{{.}}} {{/version}} {{#infoEmail}} -# Contact: {{{.}}} +#' Contact: {{{.}}} {{/infoEmail}} -# Generated by: https://openapi-generator.tech +#' Generated by: https://openapi-generator.tech +#' diff --git a/samples/client/petstore/R/R/allof_tag_api_response.R b/samples/client/petstore/R/R/allof_tag_api_response.R index 8b83a920cf..6141dc3741 100644 --- a/samples/client/petstore/R/R/allof_tag_api_response.R +++ b/samples/client/petstore/R/R/allof_tag_api_response.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title AllofTagApiResponse diff --git a/samples/client/petstore/R/R/animal.R b/samples/client/petstore/R/R/animal.R index b330b10a1b..86e043d62f 100644 --- a/samples/client/petstore/R/R/animal.R +++ b/samples/client/petstore/R/R/animal.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title Animal diff --git a/samples/client/petstore/R/R/any_of_pig.R b/samples/client/petstore/R/R/any_of_pig.R index d4e5fffe06..130e27c6ed 100644 --- a/samples/client/petstore/R/R/any_of_pig.R +++ b/samples/client/petstore/R/R/any_of_pig.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title AnyOfPig @@ -18,14 +19,31 @@ AnyOfPig <- R6::R6Class( 'AnyOfPig', public = list( + #' @field actual_instance the object stored in this instance. actual_instance = NULL, + #' @field actual_type the type of the object stored in this instance. actual_type = NULL, + #' @field any_of a list of object types defined in the anyOf schema. any_of = list("BasquePig", "DanishPig"), + #' Initialize a new AnyOfPig. + #' + #' @description + #' Initialize a new AnyOfPig. + #' + #' @export + #' @md initialize = function( - `className`, `color`, `size`, ... ) { - local_optional_var <- list(...) }, + #' Deserialize JSON string into an instance of AnyOfPig. + #' + #' @description + #' Deserialize JSON string into an instance of AnyOfPig. + #' + #' @param input The input JSON. + #' @return An instance of AnyOfPig. + #' @export + #' @md fromJSON = function(input) { error_messages <- list() @@ -60,6 +78,14 @@ AnyOfPig <- R6::R6Class( # no match stop(paste("No match found when deserializing the payload into AnyOfPig with anyOf schemas BasquePig, DanishPig. Details: ", paste(error_messages, collapse = ', '))) }, + #' Serialize AnyOfPig to JSON string. + #' + #' @description + #' Serialize AnyOfPig to JSON string. + #' + #' @return JSON string reprenation of the AnyOfPig. + #' @export + #' @md toJSON = function() { if (!is.null(self$actual_instance)) { self$actual_instance$toJSONString() @@ -67,6 +93,15 @@ AnyOfPig <- R6::R6Class( NULL } }, + #' Validate the input JSON with respect to AnyOfPig. + #' + #' @description + #' Validate the input JSON with respect to AnyOfPig and + #' throw exception if invalid. + #' + #' @param input The input JSON. + #' @export + #' @md validateJSON = function(input) { # backup current values actual_instance_bak <- self$actual_instance diff --git a/samples/client/petstore/R/R/api_client.R b/samples/client/petstore/R/R/api_client.R index 299da07512..f18d3bfc88 100644 --- a/samples/client/petstore/R/R/api_client.R +++ b/samples/client/petstore/R/R/api_client.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' ApiClient Class diff --git a/samples/client/petstore/R/R/basque_pig.R b/samples/client/petstore/R/R/basque_pig.R index 054582a1da..3534bd2cc5 100644 --- a/samples/client/petstore/R/R/basque_pig.R +++ b/samples/client/petstore/R/R/basque_pig.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title BasquePig diff --git a/samples/client/petstore/R/R/cat.R b/samples/client/petstore/R/R/cat.R index 0c265ae99f..97c75ad613 100644 --- a/samples/client/petstore/R/R/cat.R +++ b/samples/client/petstore/R/R/cat.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title Cat diff --git a/samples/client/petstore/R/R/cat_all_of.R b/samples/client/petstore/R/R/cat_all_of.R index 60abcbbbf3..6b5478aba5 100644 --- a/samples/client/petstore/R/R/cat_all_of.R +++ b/samples/client/petstore/R/R/cat_all_of.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title CatAllOf diff --git a/samples/client/petstore/R/R/category.R b/samples/client/petstore/R/R/category.R index 49259ef684..3fbe15d1d2 100644 --- a/samples/client/petstore/R/R/category.R +++ b/samples/client/petstore/R/R/category.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title Category diff --git a/samples/client/petstore/R/R/danish_pig.R b/samples/client/petstore/R/R/danish_pig.R index 64482f7d04..9f6ec81b00 100644 --- a/samples/client/petstore/R/R/danish_pig.R +++ b/samples/client/petstore/R/R/danish_pig.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title DanishPig diff --git a/samples/client/petstore/R/R/dog.R b/samples/client/petstore/R/R/dog.R index e06e313aef..b94645612f 100644 --- a/samples/client/petstore/R/R/dog.R +++ b/samples/client/petstore/R/R/dog.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title Dog diff --git a/samples/client/petstore/R/R/dog_all_of.R b/samples/client/petstore/R/R/dog_all_of.R index 3fbe701923..bb7eabb456 100644 --- a/samples/client/petstore/R/R/dog_all_of.R +++ b/samples/client/petstore/R/R/dog_all_of.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title DogAllOf diff --git a/samples/client/petstore/R/R/fake_api.R b/samples/client/petstore/R/R/fake_api.R index 46e377cb8f..c1cf274f9a 100644 --- a/samples/client/petstore/R/R/fake_api.R +++ b/samples/client/petstore/R/R/fake_api.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title Fake operations diff --git a/samples/client/petstore/R/R/model_api_response.R b/samples/client/petstore/R/R/model_api_response.R index cee53f1529..1d7ce8238c 100644 --- a/samples/client/petstore/R/R/model_api_response.R +++ b/samples/client/petstore/R/R/model_api_response.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title ModelApiResponse diff --git a/samples/client/petstore/R/R/order.R b/samples/client/petstore/R/R/order.R index 966e4e0fa7..958a4836c8 100644 --- a/samples/client/petstore/R/R/order.R +++ b/samples/client/petstore/R/R/order.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title Order diff --git a/samples/client/petstore/R/R/pet.R b/samples/client/petstore/R/R/pet.R index d02690d24a..f26d36da4b 100644 --- a/samples/client/petstore/R/R/pet.R +++ b/samples/client/petstore/R/R/pet.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title Pet diff --git a/samples/client/petstore/R/R/pet_api.R b/samples/client/petstore/R/R/pet_api.R index 3045dd77df..03379a27ab 100644 --- a/samples/client/petstore/R/R/pet_api.R +++ b/samples/client/petstore/R/R/pet_api.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title Pet operations diff --git a/samples/client/petstore/R/R/pig.R b/samples/client/petstore/R/R/pig.R index 5afa7dc894..65c24ce740 100644 --- a/samples/client/petstore/R/R/pig.R +++ b/samples/client/petstore/R/R/pig.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title Pig @@ -18,14 +19,30 @@ Pig <- R6::R6Class( 'Pig', public = list( + #' @field actual_instance the object stored in this instance. actual_instance = NULL, + #' @field actual_type the type of the object stored in this instance. actual_type = NULL, + #' @field one_of a list of object types defined in the oneOf schema. one_of = list("BasquePig", "DanishPig"), - initialize = function( - `className`, `color`, `size`, ... - ) { - local_optional_var <- list(...) + #' Initialize a new Pig. + #' + #' @description + #' Initialize a new Pig. + #' + #' @export + #' @md + initialize = function() { }, + #' Deserialize JSON string into an instance of Pig. + #' + #' @description + #' Deserialize JSON string into an instance of Pig. + #' + #' @param input The input JSON. + #' @return An instance of Pig. + #' @export + #' @md fromJSON = function(input) { matched <- 0 # match counter matched_schemas <- list() #names of matched schemas @@ -76,6 +93,14 @@ Pig <- R6::R6Class( self }, + #' Serialize Pig to JSON string. + #' + #' @description + #' Serialize Pig to JSON string. + #' + #' @return JSON string reprenation of the Pig. + #' @export + #' @md toJSON = function() { if (!is.null(self$actual_instance)) { self$actual_instance$toJSONString() @@ -83,6 +108,15 @@ Pig <- R6::R6Class( NULL } }, + #' Validate the input JSON with respect to Pig. + #' + #' @description + #' Validate the input JSON with respect to Pig and + #' throw exception if invalid. + #' + #' @param input The input JSON. + #' @export + #' @md validateJSON = function(input) { # backup current values actual_instance_bak <- self$actual_instance diff --git a/samples/client/petstore/R/R/store_api.R b/samples/client/petstore/R/R/store_api.R index 64a85f6fdd..be830ad14d 100644 --- a/samples/client/petstore/R/R/store_api.R +++ b/samples/client/petstore/R/R/store_api.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title Store operations diff --git a/samples/client/petstore/R/R/tag.R b/samples/client/petstore/R/R/tag.R index bbddb9ec08..9bbbd8fbf6 100644 --- a/samples/client/petstore/R/R/tag.R +++ b/samples/client/petstore/R/R/tag.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title Tag diff --git a/samples/client/petstore/R/R/update_pet_request.R b/samples/client/petstore/R/R/update_pet_request.R index dcd957d238..b6c5b8886e 100644 --- a/samples/client/petstore/R/R/update_pet_request.R +++ b/samples/client/petstore/R/R/update_pet_request.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title UpdatePetRequest diff --git a/samples/client/petstore/R/R/user.R b/samples/client/petstore/R/R/user.R index ba27b8d849..f5ba491a77 100644 --- a/samples/client/petstore/R/R/user.R +++ b/samples/client/petstore/R/R/user.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title User diff --git a/samples/client/petstore/R/R/user_api.R b/samples/client/petstore/R/R/user_api.R index 8ac0f4d37d..81f492ff4a 100644 --- a/samples/client/petstore/R/R/user_api.R +++ b/samples/client/petstore/R/R/user_api.R @@ -1,9 +1,10 @@ -# OpenAPI Petstore -# -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -# -# The version of the OpenAPI document: 1.0.0 -# Generated by: https://openapi-generator.tech +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' #' @docType class #' @title User operations diff --git a/samples/client/petstore/R/build_and_test.bash b/samples/client/petstore/R/build_and_test.bash index 3482f3d083..2079f75da0 100644 --- a/samples/client/petstore/R/build_and_test.bash +++ b/samples/client/petstore/R/build_and_test.bash @@ -17,6 +17,7 @@ Rscript -e "install.packages('R6', repos='$REPO', lib='$R_LIBS_USER')" Rscript -e "install.packages('base64enc', repos='$REPO', lib='$R_LIBS_USER')" Rscript -e "install.packages('rlang', repos='$REPO', lib='$R_LIBS_USER')" Rscript -e "install.packages('rjson', repos='$REPO', lib='$R_LIBS_USER')" +Rscript -e "install.packages('devtools', repos='$REPO', lib='$R_LIBS_USER')" rm petstore_1.0.0.tar.gz || true From 7b108c2a104fbfca92b17f948fe3866bf253b74f Mon Sep 17 00:00:00 2001 From: Oleh Kurpiak Date: Sun, 19 Jun 2022 08:20:57 -0700 Subject: [PATCH 087/212] handle wildcard sub content-type (#12469) --- .../openapitools/codegen/DefaultCodegen.java | 4 +-- .../java/spring/SpringCodegenTest.java | 29 ++++++++++++++++ .../src/test/resources/bugs/issue_12457.yaml | 33 +++++++++++++++++++ 3 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 modules/openapi-generator/src/test/resources/bugs/issue_12457.yaml diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 1ab927a6a2..b20c113111 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -6194,7 +6194,7 @@ public class DefaultCodegen implements CodegenConfig { // skip as it implies `consumes` in OAS2 is not defined continue; } else { - mediaType.put("mediaType", escapeText(escapeQuotationMark(key))); + mediaType.put("mediaType", escapeQuotationMark(key)); } mediaTypeList.add(mediaType); } @@ -6260,7 +6260,7 @@ public class DefaultCodegen implements CodegenConfig { for (String key : produces) { // escape quotation to avoid code injection, "*/*" is a special case, do nothing - String encodedKey = "*/*".equals(key) ? key : escapeText(escapeQuotationMark(key)); + String encodedKey = "*/*".equals(key) ? key : escapeQuotationMark(key); //Only unique media types should be added to "produces" if (!existingMediaTypes.contains(encodedKey)) { Map mediaType = new HashMap<>(); diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java index 22647ef5dd..59e2054df3 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java @@ -1403,4 +1403,33 @@ public class SpringCodegenTest { .assertMethod("putSomeMapItem") .bodyContainsLines("super.putSomeMapItem(key, someMapItem);"); } + + @Test + public void shouldHandleContentTypeWithSecondWildcardSubtype_issue12457() throws IOException { + File output = Files.createTempDirectory("test").toFile().getCanonicalFile(); + output.deleteOnExit(); + + OpenAPI openAPI = new OpenAPIParser() + .readLocation("src/test/resources/bugs/issue_12457.yaml", null, new ParseOptions()).getOpenAPI(); + SpringCodegen codegen = new SpringCodegen(); + codegen.setLibrary(SPRING_BOOT); + codegen.setOutputDir(output.getAbsolutePath()); + codegen.additionalProperties().put(SpringCodegen.USE_TAGS, "true"); + + ClientOptInput input = new ClientOptInput() + .openAPI(openAPI) + .config(codegen); + + DefaultGenerator generator = new DefaultGenerator(); + Map files = generator.opts(input).generate().stream() + .collect(Collectors.toMap(File::getName, Function.identity())); + + JavaFileAssert.assertThat(files.get("UsersApi.java")) + .assertMethod("wildcardSubTypeForContentType") + .assertMethodAnnotations() + .containsWithNameAndAttributes("RequestMapping", ImmutableMap.of( + "produces", "{ \"application/json\", \"application/*\" }", + "consumes", "{ \"application/octet-stream\", \"application/*\" }" + )); + } } diff --git a/modules/openapi-generator/src/test/resources/bugs/issue_12457.yaml b/modules/openapi-generator/src/test/resources/bugs/issue_12457.yaml new file mode 100644 index 0000000000..84d770898e --- /dev/null +++ b/modules/openapi-generator/src/test/resources/bugs/issue_12457.yaml @@ -0,0 +1,33 @@ +openapi: 3.0.1 +info: + title: OpenAPI Petstore + description: "sample to vet integer handling" + version: 1.0.0 +tags: [] +paths: + /request: + get: + operationId: wildcardSubTypeForContentType + tags: + - users + requestBody: + description: The attachment + content: + application/octet-stream: + schema: + type: string + format: binary + application/*: + schema: + type: string + format: binary + responses: + '200': + description: response + content: + application/json: + schema: + type: string + application/*: + schema: + type: string \ No newline at end of file From decb96b98b4e7c0ceaafde5a54112d9fb5d19cea Mon Sep 17 00:00:00 2001 From: GuyGitzMagen <96382036+GuyGitzMagen@users.noreply.github.com> Date: Mon, 20 Jun 2022 08:47:05 +0300 Subject: [PATCH 088/212] fix typescript node default enum (#12633) * Default enum value and type are seperated by . * classname is added to enum default property --- .../codegen/languages/TypeScriptNodeClientCodegen.java | 6 ++++++ .../src/main/resources/typescript-node/model.mustache | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptNodeClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptNodeClientCodegen.java index a0685ecbe9..cd5cde237a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptNodeClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptNodeClientCodegen.java @@ -345,4 +345,10 @@ public class TypeScriptNodeClientCodegen extends AbstractTypeScriptClientCodegen } return def; } + + @Override + public String toEnumDefaultValue(String value, String datatype) { + return datatype + "." + value; + } + } diff --git a/modules/openapi-generator/src/main/resources/typescript-node/model.mustache b/modules/openapi-generator/src/main/resources/typescript-node/model.mustache index 6c1498b164..5b2d594a99 100644 --- a/modules/openapi-generator/src/main/resources/typescript-node/model.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-node/model.mustache @@ -19,7 +19,7 @@ export class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{ * {{{.}}} */ {{/description}} - '{{name}}'{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{#isNullable}} | null{{/isNullable}}{{/isEnum}}{{#defaultValue}} = {{{.}}}{{/defaultValue}}; + '{{name}}'{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{#isNullable}} | null{{/isNullable}}{{/isEnum}}{{#defaultValue}} = {{#isEnum}}{{classname}}.{{/isEnum}}{{{.}}}{{/defaultValue}}; {{/vars}} {{#discriminator}} From 995f7ced1392031adce826dc642191f2540de526 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Mon, 20 Jun 2022 17:01:19 +0800 Subject: [PATCH 089/212] Fix bugs in camelcase lambda, add tests for pascalcase (#12639) * fix bugs in lambda, add tests for pascalcase * add tests for empty string to confirm no npe --- .../templating/mustache/CamelCaseLambda.java | 2 +- .../mustache/CamelCaseLambdaTest.java | 9 +++ .../mustache/PascalCaseLambdaTest.java | 75 +++++++++++++++++++ 3 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 modules/openapi-generator/src/test/java/org/openapitools/codegen/templating/mustache/PascalCaseLambdaTest.java diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/templating/mustache/CamelCaseLambda.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/templating/mustache/CamelCaseLambda.java index cf2f2571dc..034d0cee76 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/templating/mustache/CamelCaseLambda.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/templating/mustache/CamelCaseLambda.java @@ -62,7 +62,7 @@ public class CamelCaseLambda implements Mustache.Lambda { @Override public void execute(Template.Fragment fragment, Writer writer) throws IOException { - String text = camelize(fragment.execute(), lowercaseFirstLetter); + String text = camelize(fragment.execute().replace(" ", "_"), lowercaseFirstLetter); if (generator != null) { text = generator.sanitizeName(text); if (generator.reservedWords().contains(text)) { diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/templating/mustache/CamelCaseLambdaTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/templating/mustache/CamelCaseLambdaTest.java index f984adcb0f..101b80adb1 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/templating/mustache/CamelCaseLambdaTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/templating/mustache/CamelCaseLambdaTest.java @@ -33,6 +33,15 @@ public class CamelCaseLambdaTest extends LambdaTest { test("inputText", "{{#camelcase}}Input-text{{/camelcase}}", ctx); } + @Test + public void camelCaseSpaceTest() { + // Given + Map ctx = context("camelcase", new CamelCaseLambda()); + + // When & Then + test("inputTextApi", "{{#camelcase}}Input text api{{/camelcase}}", ctx); + } + @Test public void camelCaseReservedWordTest() { // Given diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/templating/mustache/PascalCaseLambdaTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/templating/mustache/PascalCaseLambdaTest.java new file mode 100644 index 0000000000..30a3d0ef4e --- /dev/null +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/templating/mustache/PascalCaseLambdaTest.java @@ -0,0 +1,75 @@ +package org.openapitools.codegen.templating.mustache; + +import static org.mockito.AdditionalAnswers.returnsFirstArg; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.when; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Map; + +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.openapitools.codegen.CodegenConfig; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +public class PascalCaseLambdaTest extends LambdaTest { + + @Mock + CodegenConfig generator; + + @BeforeMethod + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void pascalCaseTest() { + // Given + Map ctx = context("pascalcase", new CamelCaseLambda(false)); + + // When & Then + test("InputText", "{{#pascalcase}}Input-text{{/pascalcase}}", ctx); + test("InputText", "{{#pascalcase}}Input_text{{/pascalcase}}", ctx); + test("", "{{#pascalcase}}{{/pascalcase}}", ctx); + + } + + @Test + public void pascalCaseSpaceTest() { + // Given + Map ctx = context("pascalcase", new CamelCaseLambda(false)); + + // When & Then + test("InputTextApi", "{{#pascalcase}}Input text api{{/pascalcase}}", ctx); + } + + @Test + public void pascalCaseReservedWordTest() { + // Given + Map ctx = context("pascalcase", new CamelCaseLambda(false).generator(generator)); + + when(generator.sanitizeName(anyString())).then(returnsFirstArg()); + when(generator.reservedWords()).thenReturn(new HashSet(Arrays.asList("ReservedWord"))); + when(generator.escapeReservedWord("ReservedWord")).thenReturn("escapedReservedWord"); + + // When & Then + test("escapedReservedWord", "{{#pascalcase}}reserved-word{{/pascalcase}}", ctx); + } + + @Test + public void pascalCaseEscapeParamTest() { + // Given + Map ctx = context("pascalcase", new CamelCaseLambda(false) + .generator(generator).escapeAsParamName(true)); + + when(generator.sanitizeName(anyString())).then(returnsFirstArg()); + when(generator.reservedWords()).thenReturn(new HashSet()); + when(generator.toParamName("InputText")).thenReturn("inputTextAsParam"); + + // When & Then + test("inputTextAsParam", "{{#pascalcase}}Input_text{{/pascalcase}}", ctx); + } + +} From 1440a68974864afdca14d5c35f489b3fe2c89e6c Mon Sep 17 00:00:00 2001 From: Oleh Kurpiak Date: Mon, 20 Jun 2022 02:02:27 -0700 Subject: [PATCH 090/212] [Java][Jersey/Native/okhttp] don't override x-implements (#12410) --- .../org/openapitools/codegen/languages/JavaClientCodegen.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java index 0d239163dc..fbbcc6c3fe 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java @@ -975,8 +975,6 @@ public class JavaClientCodegen extends AbstractJavaCodegen cm.getVendorExtensions().putIfAbsent("x-implements", new ArrayList()); if (JERSEY2.equals(getLibrary()) || JERSEY3.equals(getLibrary()) || NATIVE.equals(getLibrary()) || OKHTTP_GSON.equals(getLibrary())) { - cm.getVendorExtensions().put("x-implements", new ArrayList()); - if (cm.oneOf != null && !cm.oneOf.isEmpty() && cm.oneOf.contains("ModelNull")) { // if oneOf contains "null" type cm.isNullable = true; From f29fdab33d095ae4b838d68562682efd015e7f6b Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 21 Jun 2022 09:25:54 +0800 Subject: [PATCH 091/212] update constructor for r oneof, anyof objects (#12643) --- .../src/main/resources/r/modelAnyOf.mustache | 12 ++++++++++-- .../src/main/resources/r/modelOneOf.mustache | 11 ++++++++++- samples/client/petstore/R/R/any_of_pig.R | 15 +++++++++++++-- samples/client/petstore/R/R/pig.R | 14 +++++++++++++- .../petstore/R/tests/testthat/test_petstore.R | 11 +++++++++++ 5 files changed, 57 insertions(+), 6 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache b/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache index 3897d549b9..62496d246d 100644 --- a/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache @@ -22,10 +22,18 @@ #' @description #' Initialize a new {{{classname}}}. #' + #' @param instance an instance of the object defined in the anyOf schemas: {{#anyOf}}"{{{.}}}"{{^-last}}, {{/-last}}{{/anyOf}} #' @export #' @md - initialize = function( - ) { + initialize = function(instance = NULL) { + if (is.null(instance)) { + # do nothing + } {{#anyOf}}else if (get(class(instance)[[1]], pos = -1)$classname == "{{{.}}}") { + self$actual_instance = instance + self$actual_type = "{{{.}}}" + } {{/anyOf}}else { + stop(paste("Failed to initialize {{{classname}}} with anyOf schemas {{#anyOf}}{{{.}}}{{^-last}}, {{/-last}}{{/anyOf}}. Provided class name: ", get(class(instance)[[1]], pos = -1)$classname)) + } }, #' Deserialize JSON string into an instance of {{{classname}}}. #' diff --git a/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache b/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache index 4f295c3319..2b00fdcc92 100644 --- a/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache @@ -22,9 +22,18 @@ #' @description #' Initialize a new {{{classname}}}. #' + #' @param instance an instance of the object defined in the oneOf schemas: {{#oneOf}}"{{{.}}}"{{^-last}}, {{/-last}}{{/oneOf}} #' @export #' @md - initialize = function() { + initialize = function(instance = NULL) { + if (is.null(instance)) { + # do nothing + } {{#oneOf}}else if (get(class(instance)[[1]], pos = -1)$classname == "{{{.}}}") { + self$actual_instance = instance + self$actual_type = "{{{.}}}" + } {{/oneOf}}else { + stop(paste("Failed to initialize {{{classname}}} with oneOf schemas {{#oneOf}}{{{.}}}{{^-last}}, {{/-last}}{{/oneOf}}. Provided class name: ", get(class(instance)[[1]], pos = -1)$classname)) + } }, #' Deserialize JSON string into an instance of {{{classname}}}. #' diff --git a/samples/client/petstore/R/R/any_of_pig.R b/samples/client/petstore/R/R/any_of_pig.R index 130e27c6ed..1819af2d4d 100644 --- a/samples/client/petstore/R/R/any_of_pig.R +++ b/samples/client/petstore/R/R/any_of_pig.R @@ -30,10 +30,21 @@ AnyOfPig <- R6::R6Class( #' @description #' Initialize a new AnyOfPig. #' + #' @param instance an instance of the object defined in the anyOf schemas: "BasquePig", "DanishPig" #' @export #' @md - initialize = function( - ) { + initialize = function(instance = NULL) { + if (is.null(instance)) { + # do nothing + } else if (get(class(instance)[[1]], pos = -1)$classname == "BasquePig") { + self$actual_instance = instance + self$actual_type = "BasquePig" + } else if (get(class(instance)[[1]], pos = -1)$classname == "DanishPig") { + self$actual_instance = instance + self$actual_type = "DanishPig" + } else { + stop(paste("Failed to initialize AnyOfPig with anyOf schemas BasquePig, DanishPig. Provided class name: ", get(class(instance)[[1]], pos = -1)$classname)) + } }, #' Deserialize JSON string into an instance of AnyOfPig. #' diff --git a/samples/client/petstore/R/R/pig.R b/samples/client/petstore/R/R/pig.R index 65c24ce740..5b84d3d988 100644 --- a/samples/client/petstore/R/R/pig.R +++ b/samples/client/petstore/R/R/pig.R @@ -30,9 +30,21 @@ Pig <- R6::R6Class( #' @description #' Initialize a new Pig. #' + #' @param instance an instance of the object defined in the oneOf schemas: "BasquePig", "DanishPig" #' @export #' @md - initialize = function() { + initialize = function(instance = NULL) { + if (is.null(instance)) { + # do nothing + } else if (get(class(instance)[[1]], pos = -1)$classname == "BasquePig") { + self$actual_instance = instance + self$actual_type = "BasquePig" + } else if (get(class(instance)[[1]], pos = -1)$classname == "DanishPig") { + self$actual_instance = instance + self$actual_type = "DanishPig" + } else { + stop(paste("Failed to initialize Pig with oneOf schemas BasquePig, DanishPig. Provided class name: ", get(class(instance)[[1]], pos = -1)$classname)) + } }, #' Deserialize JSON string into an instance of Pig. #' diff --git a/samples/client/petstore/R/tests/testthat/test_petstore.R b/samples/client/petstore/R/tests/testthat/test_petstore.R index a3481c4805..ef23bd4ef0 100644 --- a/samples/client/petstore/R/tests/testthat/test_petstore.R +++ b/samples/client/petstore/R/tests/testthat/test_petstore.R @@ -181,6 +181,17 @@ test_that("Tests oneOf", { expect_error(pig$fromJSON('{}'), 'No match found when deserializing the payload into Pig with oneOf schemas BasquePig, DanishPig. Details: The JSON input ` \\{\\} ` is invalid for BasquePig: the required field `className` is missing\\., The JSON input ` \\{\\} ` is invalid for DanishPig: the required field `className` is missing\\.') expect_error(pig$validateJSON('{}'), 'No match found when deserializing the payload into Pig with oneOf schemas BasquePig, DanishPig. Details: The JSON input ` \\{\\} ` is invalid for BasquePig: the required field `className` is missing\\., The JSON input ` \\{\\} ` is invalid for DanishPig: the required field `className` is missing\\.') + # class name test + expect_equal(get(class(basque_pig$actual_instance)[[1]], pos = -1)$classname, "BasquePig") + + # test contructors + pig2 <- Pig$new(instance = basque_pig$actual_instance) + expect_equal(pig2$actual_type, "BasquePig") + expect_equal(pig2$actual_instance$color, "red") + expect_equal(pig2$actual_instance$className, "BasquePig") + expect_equal(pig2$toJSON(), original_basque_pig$toJSONString()) + + expect_error(Pig$new(instance = basque_pig), 'Failed to initialize Pig with oneOf schemas BasquePig, DanishPig. Provided class name: Pig') }) test_that("Tests anyOf", { From 1f7a49539fd72a4aadb269a9fa75da6d528c405c Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 21 Jun 2022 09:59:18 +0800 Subject: [PATCH 092/212] update roxygen to newer version (#12652) --- .../openapi-generator/src/main/resources/r/description.mustache | 2 +- samples/client/petstore/R/DESCRIPTION | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/r/description.mustache b/modules/openapi-generator/src/main/resources/r/description.mustache index 2bafa3c15f..1d6f09608d 100644 --- a/modules/openapi-generator/src/main/resources/r/description.mustache +++ b/modules/openapi-generator/src/main/resources/r/description.mustache @@ -12,4 +12,4 @@ License: {{#lambdaLicense}}{{licenseInfo}}{{/lambdaLicense}}{{^licenseInfo}}Unli LazyData: true Suggests: testthat Imports: jsonlite, httr, R6, base64enc{{#useRlangExceptionHandling}}, rlang{{/useRlangExceptionHandling}} -RoxygenNote: 6.0.1.9000 +RoxygenNote: 7.2.0 diff --git a/samples/client/petstore/R/DESCRIPTION b/samples/client/petstore/R/DESCRIPTION index 30778f884d..49307b2145 100644 --- a/samples/client/petstore/R/DESCRIPTION +++ b/samples/client/petstore/R/DESCRIPTION @@ -12,4 +12,4 @@ License: Apache License 2.0 LazyData: true Suggests: testthat Imports: jsonlite, httr, R6, base64enc, rlang -RoxygenNote: 6.0.1.9000 +RoxygenNote: 7.2.0 From 042f717352998149446d4ec3ee1369ee6fd926d6 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 21 Jun 2022 11:42:27 +0800 Subject: [PATCH 093/212] [R] escape item reserved words in model items (#12653) * fix item reserved words * add comment * add log --- .../codegen/languages/RClientCodegen.java | 12 ++ .../main/resources/r/modelGeneric.mustache | 144 +++++++++--------- .../src/test/resources/3_0/r/petstore.yaml | 12 ++ .../petstore/R/.openapi-generator/FILES | 2 + samples/client/petstore/R/NAMESPACE | 1 + samples/client/petstore/R/R/special.R | 117 ++++++++++++++ samples/client/petstore/R/README.md | 1 + samples/client/petstore/R/docs/Special.md | 12 ++ .../petstore/R/tests/testthat/test_special.R | 27 ++++ 9 files changed, 256 insertions(+), 72 deletions(-) create mode 100644 samples/client/petstore/R/R/special.R create mode 100644 samples/client/petstore/R/docs/Special.md create mode 100644 samples/client/petstore/R/tests/testthat/test_special.R diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java index 34de4d3d8b..067920f658 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java @@ -56,6 +56,7 @@ public class RClientCodegen extends DefaultCodegen implements CodegenConfig { protected boolean returnExceptionOnFailure = false; protected String exceptionPackage = "default"; protected Map exceptionPackages = new LinkedHashMap(); + protected Set itemReservedWords = new TreeSet(); public static final String EXCEPTION_PACKAGE = "exceptionPackage"; public static final String USE_DEFAULT_EXCEPTION = "useDefaultExceptionHandling"; @@ -130,6 +131,11 @@ public class RClientCodegen extends DefaultCodegen implements CodegenConfig { ) ); + // these are reserved words in items: https://github.com/r-lib/R6/blob/main/R/r6_class.R#L484 + itemReservedWords.add("self"); + itemReservedWords.add("private"); + itemReservedWords.add("super"); + languageSpecificPrimitives.clear(); languageSpecificPrimitives.add("integer"); languageSpecificPrimitives.add("numeric"); @@ -305,6 +311,12 @@ public class RClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toVarName(String name) { + // escape item reserved words with "item_" prefix + if (itemReservedWords.contains(name)) { + LOGGER.info("The item `{}` has been renamed to `item_{}` as it's a reserved word.", name, name); + return "item_" + name; + } + // don't do anything as we'll put property name inside ` `, e.g. `date-time` return name; } diff --git a/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache b/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache index caf899f504..9f244dc430 100644 --- a/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache @@ -8,7 +8,7 @@ #' @format An \code{R6Class} generator object #' {{#vars}} -#' @field {{baseName}} {{title}} {{#isContainer}}{{#isArray}}list( {{/isArray}}{{#isMap}}named list( {{/isMap}}{{/isContainer}}{{^isPrimitiveType}}\link{{=<% %>=}}{<%/isPrimitiveType%><%={{ }}=%>{{#isContainer}}{{#items}}{{dataType}}{{/items}}{{/isContainer}}{{^isContainer}}{{dataType}}{{/isContainer}}{{=<% %>=}}<%^isPrimitiveType%>}<%={{ }}=%>{{/isPrimitiveType}}{{#isContainer}}{{#isArray}} ){{/isArray}}{{#isMap}} ){{/isMap}}{{/isContainer}} {{^required}}[optional]{{/required}} +#' @field {{name}} {{title}} {{#isContainer}}{{#isArray}}list( {{/isArray}}{{#isMap}}named list( {{/isMap}}{{/isContainer}}{{^isPrimitiveType}}\link{{=<% %>=}}{<%/isPrimitiveType%><%={{ }}=%>{{#isContainer}}{{#items}}{{dataType}}{{/items}}{{/isContainer}}{{^isContainer}}{{dataType}}{{/isContainer}}{{=<% %>=}}<%^isPrimitiveType%>}<%={{ }}=%>{{/isPrimitiveType}}{{#isContainer}}{{#isArray}} ){{/isArray}}{{#isMap}} ){{/isMap}}{{/isContainer}} {{^required}}[optional]{{/required}} #' {{/vars}} #' @importFrom R6 R6Class @@ -25,129 +25,129 @@ {{/parent}} public = list( {{#vars}} - `{{{baseName}}}` = NULL, + `{{{name}}}` = NULL, {{/vars}} initialize = function( - {{#requiredVars}}`{{baseName}}`, {{/requiredVars}}{{#optionalVars}}`{{baseName}}`={{{defaultValue}}}{{^defaultValue}}NULL{{/defaultValue}}, {{/optionalVars}}... + {{#requiredVars}}`{{name}}`, {{/requiredVars}}{{#optionalVars}}`{{name}}`={{{defaultValue}}}{{^defaultValue}}NULL{{/defaultValue}}, {{/optionalVars}}... ) { {{#requiredVars}} - if (!missing(`{{baseName}}`)) { + if (!missing(`{{name}}`)) { {{^isContainer}} {{#isInteger}} - stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) + stopifnot(is.numeric(`{{name}}`), length(`{{name}}`) == 1) {{/isInteger}} {{#isLong}} - stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) + stopifnot(is.numeric(`{{name}}`), length(`{{nme}}`) == 1) {{/isLong}} {{#isFloat}} - stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) + stopifnot(is.numeric(`{{nme}}`), length(`{{nme}}`) == 1) {{/isFloat}} {{#isDouble}} - stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) + stopifnot(is.numeric(`{{name}}`), length(`{{name}}`) == 1) {{/isDouble}} {{#isString}} - stopifnot(is.character(`{{baseName}}`), length(`{{baseName}}`) == 1) + stopifnot(is.character(`{{name}}`), length(`{{name}}`) == 1) {{/isString}} {{#isBoolean}} - stopifnot(is.logical(`{{baseName}}`), length(`{{baseName}}`) == 1) + stopifnot(is.logical(`{{name}}`), length(`{{name}}`) == 1) {{/isBoolean}} {{#isDate}} - stopifnot(is.character(`{{baseName}}`), length(`{{baseName}}`) == 1) + stopifnot(is.character(`{{name}}`), length(`{{name}}`) == 1) {{/isDate}} {{#isDateTime}} - stopifnot(is.character(`{{baseName}}`), length(`{{baseName}}`) == 1) + stopifnot(is.character(`{{name}}`), length(`{{name}}`) == 1) {{/isDateTime}} {{^isPrimitiveType}} - stopifnot(R6::is.R6(`{{baseName}}`)) + stopifnot(R6::is.R6(`{{name}}`)) {{/isPrimitiveType}} {{/isContainer}} {{#isContainer}} {{#isPrimitiveType}} - stopifnot(is.vector(`{{baseName}}`), length(`{{baseName}}`) != 0) - sapply(`{{baseName}}`, function(x) stopifnot(is.character(x))) + stopifnot(is.vector(`{{name}}`), length(`{{name}}`) != 0) + sapply(`{{name}}`, function(x) stopifnot(is.character(x))) {{/isPrimitiveType}} {{^isPrimitiveType}} - stopifnot(is.vector(`{{baseName}}`), length(`{{baseName}}`) != 0) - sapply(`{{baseName}}`, function(x) stopifnot(R6::is.R6(x))) + stopifnot(is.vector(`{{name}}`), length(`{{name}}`) != 0) + sapply(`{{name}}`, function(x) stopifnot(R6::is.R6(x))) {{/isPrimitiveType}} {{/isContainer}} - self$`{{baseName}}` <- `{{baseName}}` + self$`{{name}}` <- `{{name}}` } {{/requiredVars}} {{#optionalVars}} - if (!is.null(`{{baseName}}`)) { + if (!is.null(`{{name}}`)) { {{^isContainer}} {{#isInteger}} - stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) + stopifnot(is.numeric(`{{name}}`), length(`{{name}}`) == 1) {{/isInteger}} {{#isLong}} - stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) + stopifnot(is.numeric(`{{name}}`), length(`{{name}}`) == 1) {{/isLong}} {{#isFloat}} - stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) + stopifnot(is.numeric(`{{name}}`), length(`{{name}}`) == 1) {{/isFloat}} {{#isDouble}} - stopifnot(is.numeric(`{{baseName}}`), length(`{{baseName}}`) == 1) + stopifnot(is.numeric(`{{name}}`), length(`{{name}}`) == 1) {{/isDouble}} {{#isString}} - stopifnot(is.character(`{{baseName}}`), length(`{{baseName}}`) == 1) + stopifnot(is.character(`{{name}}`), length(`{{name}}`) == 1) {{/isString}} {{#isBoolean}} - stopifnot(is.logical(`{{baseName}}`), length(`{{baseName}}`) == 1) + stopifnot(is.logical(`{{name}}`), length(`{{name}}`) == 1) {{/isBoolean}} {{#isDate}} - stopifnot(is.character(`{{baseName}}`), length(`{{baseName}}`) == 1) + stopifnot(is.character(`{{name}}`), length(`{{name}}`) == 1) {{/isDate}} {{#isDateTime}} - stopifnot(is.character(`{{baseName}}`), length(`{{baseName}}`) == 1) + stopifnot(is.character(`{{name}}`), length(`{{name}}`) == 1) {{/isDateTime}} {{^isPrimitiveType}} - stopifnot(R6::is.R6(`{{baseName}}`)) + stopifnot(R6::is.R6(`{{name}}`)) {{/isPrimitiveType}} {{/isContainer}} {{#isContainer}} {{#isPrimitiveType}} - stopifnot(is.vector(`{{baseName}}`), length(`{{baseName}}`) != 0) - sapply(`{{baseName}}`, function(x) stopifnot(is.character(x))) + stopifnot(is.vector(`{{name}}`), length(`{{name}}`) != 0) + sapply(`{{name}}`, function(x) stopifnot(is.character(x))) {{/isPrimitiveType}} {{^isPrimitiveType}} - stopifnot(is.vector(`{{baseName}}`), length(`{{baseName}}`) != 0) - sapply(`{{baseName}}`, function(x) stopifnot(R6::is.R6(x))) + stopifnot(is.vector(`{{name}}`), length(`{{name}}`) != 0) + sapply(`{{name}}`, function(x) stopifnot(R6::is.R6(x))) {{/isPrimitiveType}} {{/isContainer}} - self$`{{baseName}}` <- `{{baseName}}` + self$`{{name}}` <- `{{name}}` } {{/optionalVars}} }, toJSON = function() { {{classname}}Object <- list() {{#vars}} - if (!is.null(self$`{{baseName}}`)) { + if (!is.null(self$`{{name}}`)) { {{classname}}Object[['{{baseName}}']] <- {{#isContainer}} {{#isArray}} {{#isPrimitiveType}} - self$`{{baseName}}` + self$`{{name}}` {{/isPrimitiveType}} {{^isPrimitiveType}} - lapply(self$`{{baseName}}`, function(x) x$toJSON()) + lapply(self$`{{name}}`, function(x) x$toJSON()) {{/isPrimitiveType}} {{/isArray}} {{#isMap}} {{#isPrimitiveType}} - self$`{{baseName}}` + self$`{{name}}` {{/isPrimitiveType}} {{^isPrimitiveType}} - lapply(self$`{{baseName}}`, function(x) x$toJSON()) + lapply(self$`{{name}}`, function(x) x$toJSON()) {{/isPrimitiveType}} {{/isMap}} {{/isContainer}} {{^isContainer}} {{#isPrimitiveType}} - self$`{{baseName}}` + self$`{{name}}` {{/isPrimitiveType}} {{^isPrimitiveType}} - self$`{{baseName}}`$toJSON() + self$`{{name}}`$toJSON() {{/isPrimitiveType}} {{/isContainer}} } @@ -158,18 +158,18 @@ fromJSON = function({{classname}}Json) { {{classname}}Object <- jsonlite::fromJSON({{classname}}Json) {{#vars}} - if (!is.null({{classname}}Object$`{{baseName}}`)) { + if (!is.null({{classname}}Object$`{{name}}`)) { {{#isContainer}} - self$`{{baseName}}` <- ApiClient$new()$deserializeObj({{classname}}Object$`{{baseName}}`, "{{dataType}}", loadNamespace("{{packageName}}")) + self$`{{name}}` <- ApiClient$new()$deserializeObj({{classname}}Object$`{{name}}`, "{{dataType}}", loadNamespace("{{packageName}}")) {{/isContainer}} {{^isContainer}} {{#isPrimitiveType}} - self$`{{baseName}}` <- {{classname}}Object$`{{baseName}}` + self$`{{name}}` <- {{classname}}Object$`{{name}}` {{/isPrimitiveType}} {{^isPrimitiveType}} - {{baseName}}Object <- {{dataType}}$new() - {{baseName}}Object$fromJSON(jsonlite::toJSON({{classname}}Object${{baseName}}, auto_unbox = TRUE, digits = NA)) - self$`{{baseName}}` <- {{baseName}}Object + {{name}}Object <- {{dataType}}$new() + {{name}}Object$fromJSON(jsonlite::toJSON({{classname}}Object${{name}}, auto_unbox = TRUE, digits = NA)) + self$`{{name}}` <- {{name}}Object {{/isPrimitiveType}} {{/isContainer}} } @@ -179,7 +179,7 @@ toJSONString = function() { jsoncontent <- c( {{#vars}} - if (!is.null(self$`{{baseName}}`)) { + if (!is.null(self$`{{name}}`)) { sprintf( '"{{baseName}}": {{#isContainer}} @@ -208,27 +208,27 @@ {{#isContainer}} {{#isArray}} {{#isPrimitiveType}} - paste(unlist(lapply(self$`{{{baseName}}}`, function(x) paste0('"', x, '"'))), collapse=",") + paste(unlist(lapply(self$`{{{name}}}`, function(x) paste0('"', x, '"'))), collapse=",") {{/isPrimitiveType}} {{^isPrimitiveType}} - paste(sapply(self$`{{{baseName}}}`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=TRUE, digits = NA)), collapse=",") + paste(sapply(self$`{{{name}}}`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=TRUE, digits = NA)), collapse=",") {{/isPrimitiveType}} {{/isArray}} {{#isMap}} {{#isPrimitiveType}} - jsonlite::toJSON(lapply(self$`{{{baseName}}}`, function(x){ x }), auto_unbox = TRUE, digits=NA) + jsonlite::toJSON(lapply(self$`{{{name}}}`, function(x){ x }), auto_unbox = TRUE, digits=NA) {{/isPrimitiveType}} {{^isPrimitiveType}} - jsonlite::toJSON(lapply(self$`{{{baseName}}}`, function(x){ x$toJSON() }), auto_unbox = TRUE, digits=NA) + jsonlite::toJSON(lapply(self$`{{{name}}}`, function(x){ x$toJSON() }), auto_unbox = TRUE, digits=NA) {{/isPrimitiveType}} {{/isMap}} {{/isContainer}} {{^isContainer}} {{#isPrimitiveType}} - {{#isBoolean}}tolower({{/isBoolean}}self$`{{baseName}}`{{#isBoolean}}){{/isBoolean}} + {{#isBoolean}}tolower({{/isBoolean}}self$`{{name}}`{{#isBoolean}}){{/isBoolean}} {{/isPrimitiveType}} {{^isPrimitiveType}} - jsonlite::toJSON(self$`{{baseName}}`$toJSON(), auto_unbox=TRUE, digits = NA) + jsonlite::toJSON(self$`{{name}}`$toJSON(), auto_unbox=TRUE, digits = NA) {{/isPrimitiveType}} {{/isContainer}} )}{{^-last}},{{/-last}} @@ -242,14 +242,14 @@ {{#vars}} {{! AAPI - added condition for handling container type of parameters, map and array}} {{#isContainer}} - self$`{{baseName}}` <- ApiClient$new()$deserializeObj({{classname}}Object$`{{baseName}}`, "{{dataType}}", loadNamespace("{{packageName}}")) + self$`{{name}}` <- ApiClient$new()$deserializeObj({{classname}}Object$`{{name}}`, "{{dataType}}", loadNamespace("{{packageName}}")) {{/isContainer}} {{^isContainer}} {{#isPrimitiveType}} - self$`{{baseName}}` <- {{classname}}Object$`{{baseName}}` + self$`{{name}}` <- {{classname}}Object$`{{name}}` {{/isPrimitiveType}} {{^isPrimitiveType}} - self$`{{baseName}}` <- {{dataType}}$new()$fromJSON(jsonlite::toJSON({{classname}}Object${{baseName}}, auto_unbox = TRUE, digits = NA)) + self$`{{name}}` <- {{dataType}}$new()$fromJSON(jsonlite::toJSON({{classname}}Object${{name}}, auto_unbox = TRUE, digits = NA)) {{/isPrimitiveType}} {{/isContainer}} {{/vars}} @@ -258,49 +258,49 @@ validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) {{#requiredVars}} - # check the required field `{{baseName}}` - if (!is.null(input_json$`{{baseName}}`)) { + # check the required field `{{name}}` + if (!is.null(input_json$`{{name}}`)) { {{^isContainer}} {{#isInteger}} - stopifnot(is.numeric(input_json$`{{baseName}}`), length(input_json$`{{baseName}}`) == 1) + stopifnot(is.numeric(input_json$`{{name}}`), length(input_json$`{{name}}`) == 1) {{/isInteger}} {{#isLong}} - stopifnot(is.numeric(input_json$`{{baseName}}`), length(input_json$`{{baseName}}`) == 1) + stopifnot(is.numeric(input_json$`{{name}}`), length(input_json$`{{name}}`) == 1) {{/isLong}} {{#isFloat}} - stopifnot(is.numeric(input_json$`{{baseName}}`), length(input_json$`{{baseName}}`) == 1) + stopifnot(is.numeric(input_json$`{{name}}`), length(input_json$`{{name}}`) == 1) {{/isFloat}} {{#isDouble}} - stopifnot(is.numeric(input_json$`{{baseName}}`), length(input_json$`{{baseName}}`) == 1) + stopifnot(is.numeric(input_json$`{{name}}`), length(input_json$`{{name}}`) == 1) {{/isDouble}} {{#isString}} - stopifnot(is.character(input_json$`{{baseName}}`), length(input_json$`{{baseName}}`) == 1) + stopifnot(is.character(input_json$`{{name}}`), length(input_json$`{{name}}`) == 1) {{/isString}} {{#isBoolean}} - stopifnot(is.logical(input_json$`{{baseName}}`), length(input_json$`{{baseName}}`) == 1) + stopifnot(is.logical(input_json$`{{name}}`), length(input_json$`{{name}}`) == 1) {{/isBoolean}} {{#isDate}} - stopifnot(is.character(input_json$`{{baseName}}`), length(input_json$`{{baseName}}`) == 1) + stopifnot(is.character(input_json$`{{name}}`), length(input_json$`{{name}}`) == 1) {{/isDate}} {{#isDateTime}} - stopifnot(is.character(input_json$`{{baseName}}`), length(input_json$`{{baseName}}`) == 1) + stopifnot(is.character(input_json$`{{name}}`), length(input_json$`{{name}}`) == 1) {{/isDateTime}} {{^isPrimitiveType}} - stopifnot(R6::is.R6(input_json$`{{baseName}}`)) + stopifnot(R6::is.R6(input_json$`{{name}}`)) {{/isPrimitiveType}} {{/isContainer}} {{#isContainer}} {{#isPrimitiveType}} - stopifnot(is.vector(input_json$`{{baseName}}`), length(input_json$`{{baseName}}`) != 0) - tmp <- sapply(input_json$`{{baseName}}`, function(x) stopifnot(is.character(x))) + stopifnot(is.vector(input_json$`{{name}}`), length(input_json$`{{name}}`) != 0) + tmp <- sapply(input_json$`{{name}}`, function(x) stopifnot(is.character(x))) {{/isPrimitiveType}} {{^isPrimitiveType}} - stopifnot(is.vector(input_json$`{{baseName}}`), length(json_input$`{{baseName}}`) != 0) - tmp <- sapply(input_json$`{{baseName}}`, function(x) stopifnot(R6::is.R6(x))) + stopifnot(is.vector(input_json$`{{name}}`), length(json_input$`{{name}}`) != 0) + tmp <- sapply(input_json$`{{name}}`, function(x) stopifnot(R6::is.R6(x))) {{/isPrimitiveType}} {{/isContainer}} } else { - stop(paste("The JSON input `", input, "` is invalid for {{classname}}: the required field `{{baseName}}` is missing.")) + stop(paste("The JSON input `", input, "` is invalid for {{classname}}: the required field `{{name}}` is missing.")) } {{/requiredVars}} } diff --git a/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml b/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml index 4d36982cab..03985dca6e 100644 --- a/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml @@ -784,6 +784,18 @@ components: type: string message: type: string + Special: + title: An uploaded response + description: Describes the result of uploading an image resource + type: object + properties: + self: + type: integer + format: int32 + private: + type: string + super: + type: string Dog: allOf: - $ref: '#/components/schemas/Animal' diff --git a/samples/client/petstore/R/.openapi-generator/FILES b/samples/client/petstore/R/.openapi-generator/FILES index 80c184e617..61126f669d 100644 --- a/samples/client/petstore/R/.openapi-generator/FILES +++ b/samples/client/petstore/R/.openapi-generator/FILES @@ -22,6 +22,7 @@ R/order.R R/pet.R R/pet_api.R R/pig.R +R/special.R R/store_api.R R/tag.R R/update_pet_request.R @@ -44,6 +45,7 @@ docs/Order.md docs/Pet.md docs/PetApi.md docs/Pig.md +docs/Special.md docs/StoreApi.md docs/Tag.md docs/UpdatePetRequest.md diff --git a/samples/client/petstore/R/NAMESPACE b/samples/client/petstore/R/NAMESPACE index 4c676e98b4..2f72275d49 100644 --- a/samples/client/petstore/R/NAMESPACE +++ b/samples/client/petstore/R/NAMESPACE @@ -26,6 +26,7 @@ export(ModelApiResponse) export(Order) export(Pet) export(Pig) +export(Special) export(Tag) export(UpdatePetRequest) export(User) diff --git a/samples/client/petstore/R/R/special.R b/samples/client/petstore/R/R/special.R new file mode 100644 index 0000000000..bcfb665edb --- /dev/null +++ b/samples/client/petstore/R/R/special.R @@ -0,0 +1,117 @@ +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' + +#' @docType class +#' @title Special +#' +#' @description Special Class +#' +#' @format An \code{R6Class} generator object +#' +#' @field item_self integer [optional] +#' +#' @field item_private character [optional] +#' +#' @field item_super character [optional] +#' +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +Special <- R6::R6Class( + 'Special', + public = list( + `item_self` = NULL, + `item_private` = NULL, + `item_super` = NULL, + initialize = function( + `item_self`=NULL, `item_private`=NULL, `item_super`=NULL, ... + ) { + if (!is.null(`item_self`)) { + stopifnot(is.numeric(`item_self`), length(`item_self`) == 1) + self$`item_self` <- `item_self` + } + if (!is.null(`item_private`)) { + stopifnot(is.character(`item_private`), length(`item_private`) == 1) + self$`item_private` <- `item_private` + } + if (!is.null(`item_super`)) { + stopifnot(is.character(`item_super`), length(`item_super`) == 1) + self$`item_super` <- `item_super` + } + }, + toJSON = function() { + SpecialObject <- list() + if (!is.null(self$`item_self`)) { + SpecialObject[['self']] <- + self$`item_self` + } + if (!is.null(self$`item_private`)) { + SpecialObject[['private']] <- + self$`item_private` + } + if (!is.null(self$`item_super`)) { + SpecialObject[['super']] <- + self$`item_super` + } + + SpecialObject + }, + fromJSON = function(SpecialJson) { + SpecialObject <- jsonlite::fromJSON(SpecialJson) + if (!is.null(SpecialObject$`item_self`)) { + self$`item_self` <- SpecialObject$`item_self` + } + if (!is.null(SpecialObject$`item_private`)) { + self$`item_private` <- SpecialObject$`item_private` + } + if (!is.null(SpecialObject$`item_super`)) { + self$`item_super` <- SpecialObject$`item_super` + } + self + }, + toJSONString = function() { + jsoncontent <- c( + if (!is.null(self$`item_self`)) { + sprintf( + '"self": + %d + ', + self$`item_self` + )}, + if (!is.null(self$`item_private`)) { + sprintf( + '"private": + "%s" + ', + self$`item_private` + )}, + if (!is.null(self$`item_super`)) { + sprintf( + '"super": + "%s" + ', + self$`item_super` + )} + ) + jsoncontent <- paste(jsoncontent, collapse = ",") + paste('{', jsoncontent, '}', sep = "") + }, + fromJSONString = function(SpecialJson) { + SpecialObject <- jsonlite::fromJSON(SpecialJson) + self$`item_self` <- SpecialObject$`item_self` + self$`item_private` <- SpecialObject$`item_private` + self$`item_super` <- SpecialObject$`item_super` + self + }, + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + } + + ) +) + diff --git a/samples/client/petstore/R/README.md b/samples/client/petstore/R/README.md index d486189e32..c853c8087e 100644 --- a/samples/client/petstore/R/README.md +++ b/samples/client/petstore/R/README.md @@ -95,6 +95,7 @@ Class | Method | HTTP request | Description - [Order](docs/Order.md) - [Pet](docs/Pet.md) - [Pig](docs/Pig.md) + - [Special](docs/Special.md) - [Tag](docs/Tag.md) - [UpdatePetRequest](docs/UpdatePetRequest.md) - [User](docs/User.md) diff --git a/samples/client/petstore/R/docs/Special.md b/samples/client/petstore/R/docs/Special.md new file mode 100644 index 0000000000..d242562121 --- /dev/null +++ b/samples/client/petstore/R/docs/Special.md @@ -0,0 +1,12 @@ +# petstore::Special + +Describes the result of uploading an image resource + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**item_self** | **integer** | | [optional] +**item_private** | **character** | | [optional] +**item_super** | **character** | | [optional] + + diff --git a/samples/client/petstore/R/tests/testthat/test_special.R b/samples/client/petstore/R/tests/testthat/test_special.R new file mode 100644 index 0000000000..c76671b213 --- /dev/null +++ b/samples/client/petstore/R/tests/testthat/test_special.R @@ -0,0 +1,27 @@ +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate + +context("Test Special") + +model_instance <- Special$new() + +test_that("self", { + # tests for the property `self` (integer) + + # uncomment below to test the property + #expect_equal(model.instance$`self`, "EXPECTED_RESULT") +}) + +test_that("private", { + # tests for the property `private` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`private`, "EXPECTED_RESULT") +}) + +test_that("super", { + # tests for the property `super` (character) + + # uncomment below to test the property + #expect_equal(model.instance$`super`, "EXPECTED_RESULT") +}) From f2cc3b86118fa43574c19bcf16f384e8264a4564 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 21 Jun 2022 16:35:24 +0800 Subject: [PATCH 094/212] fix roxygen warnings in oneof, anyof, api_client (#12654) --- .../src/main/resources/r/api_client.mustache | 81 +++++++++++++++---- .../src/main/resources/r/modelAnyOf.mustache | 4 - .../src/main/resources/r/modelOneOf.mustache | 4 - samples/client/petstore/R/R/any_of_pig.R | 4 - samples/client/petstore/R/R/api_client.R | 81 +++++++++++++++---- samples/client/petstore/R/R/pig.R | 4 - 6 files changed, 134 insertions(+), 44 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/r/api_client.mustache b/modules/openapi-generator/src/main/resources/r/api_client.mustache index 9a2aa57c81..d5f220b9c0 100644 --- a/modules/openapi-generator/src/main/resources/r/api_client.mustache +++ b/modules/openapi-generator/src/main/resources/r/api_client.mustache @@ -1,5 +1,4 @@ {{>partial_header}} - #' ApiClient Class #' #' Generic API client for OpenAPI client library builds. @@ -18,11 +17,11 @@ #' @format An \code{R6Class} generator object #' @field base_path Base url #' @field user_agent Default user agent -#' @field default_headers +#' @field default_headers Default headers #' @field username Username for HTTP basic authentication #' @field password Password for HTTP basic authentication -#' @field api_keys -#' @field access_token +#' @field api_keys API keys +#' @field access_token Access token #' @field timeout Default timeout in seconds #' @field retry_status_codes vector of status codes to retry #' @field max_retry_attempts maximum number of retries for the status codes @@ -54,7 +53,22 @@ ApiClient <- R6::R6Class( retry_status_codes = NULL, # Maximum number of retry attempts for the retry status codes max_retry_attempts = NULL, - # constructor + #' Initialize a new ApiClient. + #' + #' @description + #' Initialize a new ApiClient. + #' + #' @param base_path Base path. + #' @param user_agent User agent. + #' @param default_headers Default headers. + #' @param username User name. + #' @param password Password. + #' @param api_keys API keys. + #' @param access_token Access token. + #' @param timeout Timeout. + #' @param retry_status_codes Status codes for retry. + #' @param max_retry_attempts Maxmium number of retry. + #' @export initialize = function(base_path=NULL, user_agent=NULL, default_headers=NULL, username=NULL, password=NULL, api_keys=NULL, access_token=NULL, timeout=NULL, @@ -101,7 +115,19 @@ ApiClient <- R6::R6Class( self$max_retry_attempts <- max_retry_attempts } }, - + #' Prepare to make an API call with the retry logic. + #' + #' @description + #' Prepare to make an API call with the retry logic. + #' + #' @param url URL. + #' @param method HTTP method. + #' @param query_params The query parameters. + #' @param header_params The header parameters. + #' @param body The HTTP request body. + #' @param ... Other optional arguments. + #' @return HTTP response + #' @export CallApi = function(url, method, query_params, header_params, body, ...) { resp <- self$Execute(url, method, query_params, header_params, body, ...) @@ -126,7 +152,19 @@ ApiClient <- R6::R6Class( resp }, - + #' Make an API call + #' + #' @description + #' Make an API call + #' + #' @param url URL. + #' @param method HTTP method. + #' @param query_params The query parameters. + #' @param header_params The header parameters. + #' @param body The HTTP request body. + #' @param ... Other optional arguments. + #' @return HTTP response + #' @export Execute = function(url, method, query_params, header_params, body, ...) { headers <- httr::add_headers(c(header_params, self$default_headers)) @@ -158,18 +196,33 @@ ApiClient <- R6::R6Class( {{/useRlangExceptionHandling}} } }, - - # Deserialize the content of api response to the given type. + #' Deserialize the content of api response to the given type. + #' + #' @description + #' Deserialize the content of api response to the given type. + #' + #' @param resp Response object. + #' @param return_type R return type. + #' @param pkg_env Package environment. + #' @return Deserialized object. + #' @export deserialize = function(resp, return_type, pkg_env) { resp_obj <- jsonlite::fromJSON(httr::content(resp, "text", encoding = "UTF-8")) self$deserializeObj(resp_obj, return_type, pkg_env) }, - - # Deserialize the response from jsonlite object based on the given type - # by handling complex and nested types by iterating recursively - # Example return_types will be like "array[integer]", "map(Pet)", "array[map(Tag)]", etc., - + #' Deserialize the response from jsonlite object based on the given type + #' + #' @description + #' Deserialize the response from jsonlite object based on the given type + #' by handling complex and nested types by iterating recursively + #' Example return_types will be like "array[integer]", "map(Pet)", "array[map(Tag)]", etc., + #' + #' @param obj Response object. + #' @param return_type R return type. + #' @param pkg_env Package environment. + #' @return Deserialized object. + #' @export deserializeObj = function(obj, return_type, pkg_env) { return_obj <- NULL primitive_types <- c("character", "numeric", "integer", "logical", "complex") diff --git a/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache b/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache index 62496d246d..5b0e047fba 100644 --- a/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache @@ -24,7 +24,6 @@ #' #' @param instance an instance of the object defined in the anyOf schemas: {{#anyOf}}"{{{.}}}"{{^-last}}, {{/-last}}{{/anyOf}} #' @export - #' @md initialize = function(instance = NULL) { if (is.null(instance)) { # do nothing @@ -43,7 +42,6 @@ #' @param input The input JSON. #' @return An instance of {{{classname}}}. #' @export - #' @md fromJSON = function(input) { error_messages <- list() @@ -73,7 +71,6 @@ #' #' @return JSON string reprenation of the {{{classname}}}. #' @export - #' @md toJSON = function() { if (!is.null(self$actual_instance)) { self$actual_instance$toJSONString() @@ -89,7 +86,6 @@ #' #' @param input The input JSON. #' @export - #' @md validateJSON = function(input) { # backup current values actual_instance_bak <- self$actual_instance diff --git a/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache b/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache index 2b00fdcc92..2e67fd5e68 100644 --- a/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache @@ -24,7 +24,6 @@ #' #' @param instance an instance of the object defined in the oneOf schemas: {{#oneOf}}"{{{.}}}"{{^-last}}, {{/-last}}{{/oneOf}} #' @export - #' @md initialize = function(instance = NULL) { if (is.null(instance)) { # do nothing @@ -43,7 +42,6 @@ #' @param input The input JSON. #' @return An instance of {{{classname}}}. #' @export - #' @md fromJSON = function(input) { matched <- 0 # match counter matched_schemas <- list() #names of matched schemas @@ -88,7 +86,6 @@ #' #' @return JSON string reprenation of the {{{classname}}}. #' @export - #' @md toJSON = function() { if (!is.null(self$actual_instance)) { self$actual_instance$toJSONString() @@ -104,7 +101,6 @@ #' #' @param input The input JSON. #' @export - #' @md validateJSON = function(input) { # backup current values actual_instance_bak <- self$actual_instance diff --git a/samples/client/petstore/R/R/any_of_pig.R b/samples/client/petstore/R/R/any_of_pig.R index 1819af2d4d..23c2410238 100644 --- a/samples/client/petstore/R/R/any_of_pig.R +++ b/samples/client/petstore/R/R/any_of_pig.R @@ -32,7 +32,6 @@ AnyOfPig <- R6::R6Class( #' #' @param instance an instance of the object defined in the anyOf schemas: "BasquePig", "DanishPig" #' @export - #' @md initialize = function(instance = NULL) { if (is.null(instance)) { # do nothing @@ -54,7 +53,6 @@ AnyOfPig <- R6::R6Class( #' @param input The input JSON. #' @return An instance of AnyOfPig. #' @export - #' @md fromJSON = function(input) { error_messages <- list() @@ -96,7 +94,6 @@ AnyOfPig <- R6::R6Class( #' #' @return JSON string reprenation of the AnyOfPig. #' @export - #' @md toJSON = function() { if (!is.null(self$actual_instance)) { self$actual_instance$toJSONString() @@ -112,7 +109,6 @@ AnyOfPig <- R6::R6Class( #' #' @param input The input JSON. #' @export - #' @md validateJSON = function(input) { # backup current values actual_instance_bak <- self$actual_instance diff --git a/samples/client/petstore/R/R/api_client.R b/samples/client/petstore/R/R/api_client.R index f18d3bfc88..70912dd4de 100644 --- a/samples/client/petstore/R/R/api_client.R +++ b/samples/client/petstore/R/R/api_client.R @@ -6,7 +6,6 @@ #' Generated by: https://openapi-generator.tech #' - #' ApiClient Class #' #' Generic API client for OpenAPI client library builds. @@ -25,11 +24,11 @@ #' @format An \code{R6Class} generator object #' @field base_path Base url #' @field user_agent Default user agent -#' @field default_headers +#' @field default_headers Default headers #' @field username Username for HTTP basic authentication #' @field password Password for HTTP basic authentication -#' @field api_keys -#' @field access_token +#' @field api_keys API keys +#' @field access_token Access token #' @field timeout Default timeout in seconds #' @field retry_status_codes vector of status codes to retry #' @field max_retry_attempts maximum number of retries for the status codes @@ -59,7 +58,22 @@ ApiClient <- R6::R6Class( retry_status_codes = NULL, # Maximum number of retry attempts for the retry status codes max_retry_attempts = NULL, - # constructor + #' Initialize a new ApiClient. + #' + #' @description + #' Initialize a new ApiClient. + #' + #' @param base_path Base path. + #' @param user_agent User agent. + #' @param default_headers Default headers. + #' @param username User name. + #' @param password Password. + #' @param api_keys API keys. + #' @param access_token Access token. + #' @param timeout Timeout. + #' @param retry_status_codes Status codes for retry. + #' @param max_retry_attempts Maxmium number of retry. + #' @export initialize = function(base_path=NULL, user_agent=NULL, default_headers=NULL, username=NULL, password=NULL, api_keys=NULL, access_token=NULL, timeout=NULL, @@ -106,7 +120,19 @@ ApiClient <- R6::R6Class( self$max_retry_attempts <- max_retry_attempts } }, - + #' Prepare to make an API call with the retry logic. + #' + #' @description + #' Prepare to make an API call with the retry logic. + #' + #' @param url URL. + #' @param method HTTP method. + #' @param query_params The query parameters. + #' @param header_params The header parameters. + #' @param body The HTTP request body. + #' @param ... Other optional arguments. + #' @return HTTP response + #' @export CallApi = function(url, method, query_params, header_params, body, ...) { resp <- self$Execute(url, method, query_params, header_params, body, ...) @@ -131,7 +157,19 @@ ApiClient <- R6::R6Class( resp }, - + #' Make an API call + #' + #' @description + #' Make an API call + #' + #' @param url URL. + #' @param method HTTP method. + #' @param query_params The query parameters. + #' @param header_params The header parameters. + #' @param body The HTTP request body. + #' @param ... Other optional arguments. + #' @return HTTP response + #' @export Execute = function(url, method, query_params, header_params, body, ...) { headers <- httr::add_headers(c(header_params, self$default_headers)) @@ -157,18 +195,33 @@ ApiClient <- R6::R6Class( rlang::abort(message = err_msg, .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = err_msg)) } }, - - # Deserialize the content of api response to the given type. + #' Deserialize the content of api response to the given type. + #' + #' @description + #' Deserialize the content of api response to the given type. + #' + #' @param resp Response object. + #' @param return_type R return type. + #' @param pkg_env Package environment. + #' @return Deserialized object. + #' @export deserialize = function(resp, return_type, pkg_env) { resp_obj <- jsonlite::fromJSON(httr::content(resp, "text", encoding = "UTF-8")) self$deserializeObj(resp_obj, return_type, pkg_env) }, - - # Deserialize the response from jsonlite object based on the given type - # by handling complex and nested types by iterating recursively - # Example return_types will be like "array[integer]", "map(Pet)", "array[map(Tag)]", etc., - + #' Deserialize the response from jsonlite object based on the given type + #' + #' @description + #' Deserialize the response from jsonlite object based on the given type + #' by handling complex and nested types by iterating recursively + #' Example return_types will be like "array[integer]", "map(Pet)", "array[map(Tag)]", etc., + #' + #' @param obj Response object. + #' @param return_type R return type. + #' @param pkg_env Package environment. + #' @return Deserialized object. + #' @export deserializeObj = function(obj, return_type, pkg_env) { return_obj <- NULL primitive_types <- c("character", "numeric", "integer", "logical", "complex") diff --git a/samples/client/petstore/R/R/pig.R b/samples/client/petstore/R/R/pig.R index 5b84d3d988..4887ec3d26 100644 --- a/samples/client/petstore/R/R/pig.R +++ b/samples/client/petstore/R/R/pig.R @@ -32,7 +32,6 @@ Pig <- R6::R6Class( #' #' @param instance an instance of the object defined in the oneOf schemas: "BasquePig", "DanishPig" #' @export - #' @md initialize = function(instance = NULL) { if (is.null(instance)) { # do nothing @@ -54,7 +53,6 @@ Pig <- R6::R6Class( #' @param input The input JSON. #' @return An instance of Pig. #' @export - #' @md fromJSON = function(input) { matched <- 0 # match counter matched_schemas <- list() #names of matched schemas @@ -112,7 +110,6 @@ Pig <- R6::R6Class( #' #' @return JSON string reprenation of the Pig. #' @export - #' @md toJSON = function() { if (!is.null(self$actual_instance)) { self$actual_instance$toJSONString() @@ -128,7 +125,6 @@ Pig <- R6::R6Class( #' #' @param input The input JSON. #' @export - #' @md validateJSON = function(input) { # backup current values actual_instance_bak <- self$actual_instance From a599ae927f2182b4c5c83b617cbb848cfa443f61 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Wed, 22 Jun 2022 15:06:56 +0800 Subject: [PATCH 095/212] fix deserialization for r model with special item name (#12658) --- .../main/resources/r/modelGeneric.mustache | 8 ++--- samples/client/petstore/R/R/special.R | 12 +++---- .../petstore/R/tests/testthat/test_petstore.R | 31 ++++++++++++++++--- 3 files changed, 37 insertions(+), 14 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache b/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache index 9f244dc430..4927eb5269 100644 --- a/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache @@ -158,17 +158,17 @@ fromJSON = function({{classname}}Json) { {{classname}}Object <- jsonlite::fromJSON({{classname}}Json) {{#vars}} - if (!is.null({{classname}}Object$`{{name}}`)) { + if (!is.null({{classname}}Object$`{{baseName}}`)) { {{#isContainer}} - self$`{{name}}` <- ApiClient$new()$deserializeObj({{classname}}Object$`{{name}}`, "{{dataType}}", loadNamespace("{{packageName}}")) + self$`{{name}}` <- ApiClient$new()$deserializeObj({{classname}}Object$`{{baseName}}`, "{{dataType}}", loadNamespace("{{packageName}}")) {{/isContainer}} {{^isContainer}} {{#isPrimitiveType}} - self$`{{name}}` <- {{classname}}Object$`{{name}}` + self$`{{name}}` <- {{classname}}Object$`{{baseName}}` {{/isPrimitiveType}} {{^isPrimitiveType}} {{name}}Object <- {{dataType}}$new() - {{name}}Object$fromJSON(jsonlite::toJSON({{classname}}Object${{name}}, auto_unbox = TRUE, digits = NA)) + {{name}}Object$fromJSON(jsonlite::toJSON({{classname}}Object${{baseName}}, auto_unbox = TRUE, digits = NA)) self$`{{name}}` <- {{name}}Object {{/isPrimitiveType}} {{/isContainer}} diff --git a/samples/client/petstore/R/R/special.R b/samples/client/petstore/R/R/special.R index bcfb665edb..9efeaac05a 100644 --- a/samples/client/petstore/R/R/special.R +++ b/samples/client/petstore/R/R/special.R @@ -63,14 +63,14 @@ Special <- R6::R6Class( }, fromJSON = function(SpecialJson) { SpecialObject <- jsonlite::fromJSON(SpecialJson) - if (!is.null(SpecialObject$`item_self`)) { - self$`item_self` <- SpecialObject$`item_self` + if (!is.null(SpecialObject$`self`)) { + self$`item_self` <- SpecialObject$`self` } - if (!is.null(SpecialObject$`item_private`)) { - self$`item_private` <- SpecialObject$`item_private` + if (!is.null(SpecialObject$`private`)) { + self$`item_private` <- SpecialObject$`private` } - if (!is.null(SpecialObject$`item_super`)) { - self$`item_super` <- SpecialObject$`item_super` + if (!is.null(SpecialObject$`super`)) { + self$`item_super` <- SpecialObject$`super` } self }, diff --git a/samples/client/petstore/R/tests/testthat/test_petstore.R b/samples/client/petstore/R/tests/testthat/test_petstore.R index ef23bd4ef0..3387f02f72 100644 --- a/samples/client/petstore/R/tests/testthat/test_petstore.R +++ b/samples/client/petstore/R/tests/testthat/test_petstore.R @@ -139,6 +139,29 @@ test_that("Tests validateJSON", { }) +# test object with special item names: self, private, super +test_that("Tests oneOf", { + special_json <- + '{"self": 123, "private": "red", "super": "something"}' + + # test fromJSON + special <- Special$new()$fromJSON(special_json) + expect_equal(special$item_self, 123) + expect_equal(special$item_private, "red") + expect_equal(special$item_super, "something") + + # test toJSONString + expect_true(grepl('"private"', special$toJSONString())) + expect_true(grepl('"self"', special$toJSONString())) + expect_true(grepl('"super"', special$toJSONString())) + + # round trip test + s1 <- Special$new()$fromJSONString(special_json) + s2 <- Special$new()$fromJSONString(s1$toJSONString()) + expect_equal(s1, s2) + +}) + test_that("Tests oneOf", { basque_pig_json <- '{"className": "BasquePig", "color": "red"}' @@ -153,8 +176,8 @@ test_that("Tests oneOf", { {"Name" : "Ada", "Occupation" : "Engineer"} ]' - original_danish_pig = DanishPig$new()$fromJSON(danish_pig_json) - original_basque_pig = BasquePig$new()$fromJSON(basque_pig_json) + original_danish_pig <- DanishPig$new()$fromJSON(danish_pig_json) + original_basque_pig <- BasquePig$new()$fromJSON(basque_pig_json) # test fromJSON, actual_tpye, actual_instance pig <- Pig$new() @@ -208,8 +231,8 @@ test_that("Tests anyOf", { {"Name" : "Ada", "Occupation" : "Engineer"} ]' - original_danish_pig = DanishPig$new()$fromJSON(danish_pig_json) - original_basque_pig = BasquePig$new()$fromJSON(basque_pig_json) + original_danish_pig <- DanishPig$new()$fromJSON(danish_pig_json) + original_basque_pig <- BasquePig$new()$fromJSON(basque_pig_json) # test fromJSON, actual_tpye, actual_instance pig <- AnyOfPig$new() From 012f90895f8b48207d7c6a8e669473ac7f1035d0 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Wed, 22 Jun 2022 16:47:27 +0800 Subject: [PATCH 096/212] add doc to api exception, response object in R client (#12659) --- .../src/main/resources/r/ApiResponse.mustache | 11 ++++++- .../main/resources/r/api_exception.mustache | 24 +++++++++++--- samples/client/petstore/R/R/api_exception.R | 31 ++++++++++++++++--- samples/client/petstore/R/R/api_response.R | 18 ++++++++++- 4 files changed, 72 insertions(+), 12 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/r/ApiResponse.mustache b/modules/openapi-generator/src/main/resources/r/ApiResponse.mustache index d037b95f2a..49499873c1 100644 --- a/modules/openapi-generator/src/main/resources/r/ApiResponse.mustache +++ b/modules/openapi-generator/src/main/resources/r/ApiResponse.mustache @@ -1,3 +1,4 @@ +{{>partial_header}} #' @docType class #' @title ApiResponse #' @description ApiResponse Class @@ -5,11 +6,19 @@ #' @field content The deserialized response body. #' @field response The raw response from the endpoint. #' @export -ApiResponse <- R6::R6Class( +ApiResponse <- R6::R6Class( "ApiResponse", public = list( content = NULL, response = NULL, + #' Initialize a new ApiResponse class. + #' + #' @description + #' Initialize a new ApiResponse class. + #' + #' @param content The deserialized response body. + #' @param response The raw response from the endpoint. + #' @export initialize = function(content, response) { self$content <- content self$response <- response diff --git a/modules/openapi-generator/src/main/resources/r/api_exception.mustache b/modules/openapi-generator/src/main/resources/r/api_exception.mustache index f8e1fa61af..ba11cd3105 100644 --- a/modules/openapi-generator/src/main/resources/r/api_exception.mustache +++ b/modules/openapi-generator/src/main/resources/r/api_exception.mustache @@ -1,3 +1,4 @@ +{{>partial_header}} {{! ApiException class for returning the ApiException object on encountering errors}} #' @docType class #' @title ApiException @@ -15,13 +16,21 @@ ApiException <- R6::R6Class( reason = NULL, body = NULL, headers = NULL, - + #' Initialize a new ApiException class. + #' + #' @description + #' Initialize a new ApiExceptino class. + #' + #' @param status HTTP status. + #' @param reason Reason of the ApiException. + #' @param http_response HTTP response object. + #' @export initialize = function(status = NULL, reason = NULL, http_response = NULL) { if (!is.null(http_response)) { self$status <- http_response$status_code errorMsg <- toString(content(http_response)) if(errorMsg == ""){ - errorMsg <- "Api exception encountered." + errorMsg <- "Api exception encountered. No details given." } self$body <- errorMsg self$headers <- http_response$headers @@ -33,8 +42,13 @@ ApiException <- R6::R6Class( self$headers <- NULL } }, - - # returns the string format of ApiException + #' Returns the string format of ApiException. + #' + #' @description + #' Returns the string format of ApiException. + #' + #' @return the string format of ApiException. + #' @export toString = function() { errorMsg <- "" errorMsg <- paste("status : ", self$status, "\n", sep = "") @@ -52,4 +66,4 @@ ApiException <- R6::R6Class( errorMsg } ) -) \ No newline at end of file +) diff --git a/samples/client/petstore/R/R/api_exception.R b/samples/client/petstore/R/R/api_exception.R index fccd709014..c5d40b0f1d 100644 --- a/samples/client/petstore/R/R/api_exception.R +++ b/samples/client/petstore/R/R/api_exception.R @@ -1,3 +1,11 @@ +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' + #' @docType class #' @title ApiException #' @description ApiException Class @@ -14,13 +22,21 @@ ApiException <- R6::R6Class( reason = NULL, body = NULL, headers = NULL, - + #' Initialize a new ApiException class. + #' + #' @description + #' Initialize a new ApiExceptino class. + #' + #' @param status HTTP status. + #' @param reason Reason of the ApiException. + #' @param http_response HTTP response object. + #' @export initialize = function(status = NULL, reason = NULL, http_response = NULL) { if (!is.null(http_response)) { self$status <- http_response$status_code errorMsg <- toString(content(http_response)) if(errorMsg == ""){ - errorMsg <- "Api exception encountered." + errorMsg <- "Api exception encountered. No details given." } self$body <- errorMsg self$headers <- http_response$headers @@ -32,8 +48,13 @@ ApiException <- R6::R6Class( self$headers <- NULL } }, - - # returns the string format of ApiException + #' Returns the string format of ApiException. + #' + #' @description + #' Returns the string format of ApiException. + #' + #' @return the string format of ApiException. + #' @export toString = function() { errorMsg <- "" errorMsg <- paste("status : ", self$status, "\n", sep = "") @@ -51,4 +72,4 @@ ApiException <- R6::R6Class( errorMsg } ) -) \ No newline at end of file +) diff --git a/samples/client/petstore/R/R/api_response.R b/samples/client/petstore/R/R/api_response.R index d037b95f2a..2362fd4e46 100644 --- a/samples/client/petstore/R/R/api_response.R +++ b/samples/client/petstore/R/R/api_response.R @@ -1,3 +1,11 @@ +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' + #' @docType class #' @title ApiResponse #' @description ApiResponse Class @@ -5,11 +13,19 @@ #' @field content The deserialized response body. #' @field response The raw response from the endpoint. #' @export -ApiResponse <- R6::R6Class( +ApiResponse <- R6::R6Class( "ApiResponse", public = list( content = NULL, response = NULL, + #' Initialize a new ApiResponse class. + #' + #' @description + #' Initialize a new ApiResponse class. + #' + #' @param content The deserialized response body. + #' @param response The raw response from the endpoint. + #' @export initialize = function(content, response) { self$content <- content self$response <- response From b1ea0f3af377eb371b43dc0dd97f6887c6200af1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danni=20Stjerneg=C3=A5rd?= Date: Wed, 22 Jun 2022 18:22:14 +0200 Subject: [PATCH 097/212] [swift5] Make it possible to opt out of JSONEncodable conformance (#12664) * Make it possible to opt out of JSONEncodable conformance JSONEncodable is not a native type and does not exist if only models are generated. * Match file indentation level --- docs/generators/swift5.md | 1 + .../codegen/languages/Swift5ClientCodegen.java | 17 ++++++++++++++++- .../main/resources/swift5/modelObject.mustache | 4 ++-- .../codegen/options/Swift5OptionsProvider.java | 2 ++ 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/docs/generators/swift5.md b/docs/generators/swift5.md index be06da4bf0..92d3265b1b 100644 --- a/docs/generators/swift5.md +++ b/docs/generators/swift5.md @@ -53,6 +53,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl |swiftUseApiNamespace|Flag to make all the API classes inner-class of {{projectName}}API| |null| |useBacktickEscapes|Escape reserved words using backticks (default: false)| |false| |useClasses|Use final classes for models instead of structs (default: false)| |false| +|useJsonEncodable|Make models conform to JSONEncodable protocol (default: true)| |true| |useSPMFileStructure|Use SPM file structure and set the source path to Sources/{{projectName}} (default: false).| |null| ## IMPORT MAPPING diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift5ClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift5ClientCodegen.java index 08afea2fa6..4c0b8326a4 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift5ClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift5ClientCodegen.java @@ -70,6 +70,7 @@ public class Swift5ClientCodegen extends DefaultCodegen implements CodegenConfig public static final String USE_BACKTICK_ESCAPES = "useBacktickEscapes"; public static final String GENERATE_MODEL_ADDITIONAL_PROPERTIES = "generateModelAdditionalProperties"; public static final String HASHABLE_MODELS = "hashableModels"; + public static final String USE_JSON_ENCODABLE = "useJsonEncodable"; public static final String MAP_FILE_BINARY_TO_DATA = "mapFileBinaryToData"; protected static final String LIBRARY_ALAMOFIRE = "alamofire"; protected static final String LIBRARY_URLSESSION = "urlsession"; @@ -93,6 +94,7 @@ public class Swift5ClientCodegen extends DefaultCodegen implements CodegenConfig protected boolean useBacktickEscapes = false; protected boolean generateModelAdditionalProperties = true; protected boolean hashableModels = true; + protected boolean useJsonEncodable = true; protected boolean mapFileBinaryToData = false; protected String[] responseAs = new String[0]; protected String sourceFolder = swiftPackagePath; @@ -299,6 +301,10 @@ public class Swift5ClientCodegen extends DefaultCodegen implements CodegenConfig "Make hashable models (default: true)") .defaultValue(Boolean.TRUE.toString())); + cliOptions.add(new CliOption(USE_JSON_ENCODABLE, + "Make models conform to JSONEncodable protocol (default: true)") + .defaultValue(Boolean.TRUE.toString())); + cliOptions.add(new CliOption(MAP_FILE_BINARY_TO_DATA, "[WARNING] This option will be removed and enabled by default in the future once we've enhanced the code to work with `Data` in all the different situations. Map File and Binary to Data (default: false)") .defaultValue(Boolean.FALSE.toString())); @@ -497,6 +503,11 @@ public class Swift5ClientCodegen extends DefaultCodegen implements CodegenConfig } additionalProperties.put(HASHABLE_MODELS, hashableModels); + if (additionalProperties.containsKey(USE_JSON_ENCODABLE)) { + setUseJsonEncodable(convertPropertyToBooleanAndWriteBack(USE_JSON_ENCODABLE)); + } + additionalProperties.put(USE_JSON_ENCODABLE, useJsonEncodable); + if (additionalProperties.containsKey(MAP_FILE_BINARY_TO_DATA)) { setMapFileBinaryToData(convertPropertyToBooleanAndWriteBack(MAP_FILE_BINARY_TO_DATA)); } @@ -953,6 +964,10 @@ public class Swift5ClientCodegen extends DefaultCodegen implements CodegenConfig this.hashableModels = hashableModels; } + public void setUseJsonEncodable(boolean useJsonEncodable) { + this.useJsonEncodable = useJsonEncodable; + } + @Override public String toEnumValue(String value, String datatype) { // for string, array of string @@ -995,7 +1010,7 @@ public class Swift5ClientCodegen extends DefaultCodegen implements CodegenConfig if (getSymbolName(name) != null) { return camelize(WordUtils.capitalizeFully(getSymbolName(name).toUpperCase(Locale.ROOT)), true); } - + // Camelize only when we have a structure defined below Boolean camelized = false; if (name.matches("[A-Z][a-z0-9]+[a-zA-Z0-9]*")) { diff --git a/modules/openapi-generator/src/main/resources/swift5/modelObject.mustache b/modules/openapi-generator/src/main/resources/swift5/modelObject.mustache index a82cc1e895..b1c23e19b9 100644 --- a/modules/openapi-generator/src/main/resources/swift5/modelObject.mustache +++ b/modules/openapi-generator/src/main/resources/swift5/modelObject.mustache @@ -1,5 +1,5 @@ -{{^objcCompatible}}{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} {{#useClasses}}final class{{/useClasses}}{{^useClasses}}struct{{/useClasses}} {{{classname}}}: {{#useVapor}}Content{{/useVapor}}{{^useVapor}}Codable, JSONEncodable{{/useVapor}}{{#vendorExtensions.x-swift-hashable}}, Hashable{{/vendorExtensions.x-swift-hashable}} { -{{/objcCompatible}}{{#objcCompatible}}@objc {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} class {{classname}}: NSObject, Codable, JSONEncodable { +{{^objcCompatible}}{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} {{#useClasses}}final class{{/useClasses}}{{^useClasses}}struct{{/useClasses}} {{{classname}}}: {{#useVapor}}Content{{/useVapor}}{{^useVapor}}Codable{{#useJsonEncodable}}, JSONEncodable{{/useJsonEncodable}}{{/useVapor}}{{#vendorExtensions.x-swift-hashable}}, Hashable{{/vendorExtensions.x-swift-hashable}} { +{{/objcCompatible}}{{#objcCompatible}}@objc {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} class {{classname}}: NSObject, Codable{{#useJsonEncodable}}, JSONEncodable{{/useJsonEncodable}} { {{/objcCompatible}} {{#allVars}} diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/Swift5OptionsProvider.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/Swift5OptionsProvider.java index 003e5b4b5b..b41f76f9a9 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/Swift5OptionsProvider.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/Swift5OptionsProvider.java @@ -50,6 +50,7 @@ public class Swift5OptionsProvider implements OptionsProvider { public static final String USE_BACKTICKS_ESCAPES_VALUE = "false"; public static final String GENERATE_MODEL_ADDITIONAL_PROPERTIES_VALUE = "true"; public static final String HASHABLE_MODELS_VALUE = "true"; + public static final String USE_JSON_ENCODABLE_VALUE = "true"; public static final String ALLOW_UNICODE_IDENTIFIERS_VALUE = "false"; public static final String PREPEND_FORM_OR_BODY_PARAMETERS_VALUE = "true"; public static final String LIBRARY_VALUE = "alamofire"; @@ -98,6 +99,7 @@ public class Swift5OptionsProvider implements OptionsProvider { .put(Swift5ClientCodegen.SWIFT_PACKAGE_PATH, SWIFT_PACKAGE_PATH_VALUE) .put(Swift5ClientCodegen.GENERATE_MODEL_ADDITIONAL_PROPERTIES, GENERATE_MODEL_ADDITIONAL_PROPERTIES_VALUE) .put(Swift5ClientCodegen.HASHABLE_MODELS, HASHABLE_MODELS_VALUE) + .put(Swift5ClientCodegen.USE_JSON_ENCODABLE, USE_JSON_ENCODABLE_VALUE) .put(Swift5ClientCodegen.MAP_FILE_BINARY_TO_DATA, "false") .put(Swift5ClientCodegen.USE_CLASSES, "false") .put(CodegenConstants.ENUM_UNKNOWN_DEFAULT_CASE, ENUM_UNKNOWN_DEFAULT_CASE_VALUE) From 75b883c5a50834c561ca51dd399cfcb7b60ba471 Mon Sep 17 00:00:00 2001 From: Yartsev Date: Wed, 22 Jun 2022 23:29:12 +0300 Subject: [PATCH 098/212] OkHttpClient - fix enum properties in requests (#12661) * OkHttpClient - fix enum properties in requests * Has been committed the generated code Co-authored-by: Mikhail Yartsev --- .../kotlin-client/libraries/jvm-okhttp/api.mustache | 2 +- .../kotlin/org/openapitools/client/apis/DefaultApi.kt | 2 +- .../kotlin/org/openapitools/client/apis/DefaultApi.kt | 2 +- .../main/kotlin/org/openapitools/client/apis/PetApi.kt | 8 ++++---- .../main/kotlin/org/openapitools/client/apis/StoreApi.kt | 4 ++-- .../main/kotlin/org/openapitools/client/apis/UserApi.kt | 6 +++--- .../main/kotlin/org/openapitools/client/apis/PetApi.kt | 8 ++++---- .../main/kotlin/org/openapitools/client/apis/StoreApi.kt | 4 ++-- .../main/kotlin/org/openapitools/client/apis/UserApi.kt | 6 +++--- .../main/kotlin/org/openapitools/client/apis/PetApi.kt | 8 ++++---- .../main/kotlin/org/openapitools/client/apis/StoreApi.kt | 4 ++-- .../main/kotlin/org/openapitools/client/apis/UserApi.kt | 6 +++--- .../main/kotlin/org/openapitools/client/apis/PetApi.kt | 8 ++++---- .../main/kotlin/org/openapitools/client/apis/StoreApi.kt | 4 ++-- .../main/kotlin/org/openapitools/client/apis/UserApi.kt | 6 +++--- .../main/kotlin/org/openapitools/client/apis/PetApi.kt | 8 ++++---- .../main/kotlin/org/openapitools/client/apis/StoreApi.kt | 4 ++-- .../main/kotlin/org/openapitools/client/apis/UserApi.kt | 6 +++--- .../main/kotlin/org/openapitools/client/apis/PetApi.kt | 8 ++++---- .../main/kotlin/org/openapitools/client/apis/StoreApi.kt | 4 ++-- .../main/kotlin/org/openapitools/client/apis/UserApi.kt | 6 +++--- .../main/kotlin/org/openapitools/client/apis/PetApi.kt | 8 ++++---- .../main/kotlin/org/openapitools/client/apis/StoreApi.kt | 4 ++-- .../main/kotlin/org/openapitools/client/apis/UserApi.kt | 6 +++--- .../main/kotlin/org/openapitools/client/apis/PetApi.kt | 8 ++++---- .../main/kotlin/org/openapitools/client/apis/StoreApi.kt | 4 ++-- .../main/kotlin/org/openapitools/client/apis/UserApi.kt | 6 +++--- .../main/kotlin/org/openapitools/client/apis/PetApi.kt | 8 ++++---- .../main/kotlin/org/openapitools/client/apis/StoreApi.kt | 4 ++-- .../main/kotlin/org/openapitools/client/apis/UserApi.kt | 6 +++--- .../main/kotlin/org/openapitools/client/apis/PetApi.kt | 8 ++++---- .../main/kotlin/org/openapitools/client/apis/StoreApi.kt | 4 ++-- .../main/kotlin/org/openapitools/client/apis/UserApi.kt | 6 +++--- .../main/kotlin/org/openapitools/client/apis/PetApi.kt | 8 ++++---- .../main/kotlin/org/openapitools/client/apis/StoreApi.kt | 4 ++-- .../main/kotlin/org/openapitools/client/apis/UserApi.kt | 6 +++--- .../main/kotlin/org/openapitools/client/apis/PetApi.kt | 8 ++++---- .../main/kotlin/org/openapitools/client/apis/StoreApi.kt | 4 ++-- .../main/kotlin/org/openapitools/client/apis/UserApi.kt | 6 +++--- 39 files changed, 111 insertions(+), 111 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/api.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/api.mustache index 9646bc778b..4631295540 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/api.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/api.mustache @@ -224,7 +224,7 @@ import {{packageName}}.infrastructure.toMultiValue return RequestConfig( method = RequestMethod.{{httpMethod}}, - path = "{{path}}"{{#pathParams}}.replace("{"+"{{baseName}}"+"}", {{#isContainer}}{{paramName}}.joinToString(","){{/isContainer}}{{^isContainer}}"${{{paramName}}}"{{/isContainer}}){{/pathParams}}, + path = "{{path}}"{{#pathParams}}.replace("{"+"{{baseName}}"+"}", {{#isContainer}}{{paramName}}.joinToString(","){{/isContainer}}{{^isContainer}}{{{paramName}}}{{#isEnum}}.value{{/isEnum}}.toString(){{/isContainer}}){{/pathParams}}, query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-default-values-jvm-okhttp3/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt b/samples/client/petstore/kotlin-default-values-jvm-okhttp3/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt index 522b5c21ab..3e00596068 100644 --- a/samples/client/petstore/kotlin-default-values-jvm-okhttp3/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt +++ b/samples/client/petstore/kotlin-default-values-jvm-okhttp3/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt @@ -223,7 +223,7 @@ class DefaultApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient return RequestConfig( method = RequestMethod.POST, - path = "/test".replace("{"+"pi0"+"}", "$pi0").replace("{"+"pi1"+"}", "$pi1").replace("{"+"pn0"+"}", "$pn0").replace("{"+"pn1"+"}", "$pn1"), + path = "/test".replace("{"+"pi0"+"}", pi0.toString()).replace("{"+"pi1"+"}", pi1.toString()).replace("{"+"pn0"+"}", pn0.toString()).replace("{"+"pn1"+"}", pn1.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt index 522b5c21ab..3e00596068 100644 --- a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt +++ b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt @@ -223,7 +223,7 @@ class DefaultApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient return RequestConfig( method = RequestMethod.POST, - path = "/test".replace("{"+"pi0"+"}", "$pi0").replace("{"+"pi1"+"}", "$pi1").replace("{"+"pn0"+"}", "$pn0").replace("{"+"pn1"+"}", "$pn1"), + path = "/test".replace("{"+"pi0"+"}", pi0.toString()).replace("{"+"pi1"+"}", pi1.toString()).replace("{"+"pn0"+"}", pn0.toString()).replace("{"+"pn1"+"}", pn1.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index a98d99cb10..63bbe32b4f 100644 --- a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -182,7 +182,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.DELETE, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -412,7 +412,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.GET, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -555,7 +555,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -633,7 +633,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 716d4bafd9..f9fc75b285 100644 --- a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -109,7 +109,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -246,7 +246,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index d73f68f0c9..df52c3c9b3 100644 --- a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -310,7 +310,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -380,7 +380,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -591,7 +591,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.PUT, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index ef9127ad87..fd8229183a 100644 --- a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -182,7 +182,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.DELETE, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -412,7 +412,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.GET, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -555,7 +555,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -633,7 +633,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 5b0422375b..404bb6024c 100644 --- a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -109,7 +109,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -246,7 +246,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index 29c926cde0..2d24c96c09 100644 --- a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -310,7 +310,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -380,7 +380,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -591,7 +591,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.PUT, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index 2494f48086..4ae59dbd26 100644 --- a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -182,7 +182,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.DELETE, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -405,7 +405,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.GET, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -548,7 +548,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -626,7 +626,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 1ec69c56ef..d192191c85 100644 --- a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -109,7 +109,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -246,7 +246,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index 521b3e3d33..327a69c8e7 100644 --- a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -310,7 +310,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -380,7 +380,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -591,7 +591,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.PUT, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index a1f9adaf69..81fdbed46a 100644 --- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -184,7 +184,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.DELETE, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -414,7 +414,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.GET, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -557,7 +557,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -635,7 +635,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index d9337b01c8..51255cd2a5 100644 --- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -111,7 +111,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -248,7 +248,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index 62cd408343..834bbe6f81 100644 --- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -312,7 +312,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -382,7 +382,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -593,7 +593,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.PUT, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index 8090fb0697..bc6cf14b7e 100644 --- a/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -182,7 +182,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.DELETE, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -412,7 +412,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.GET, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -555,7 +555,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -633,7 +633,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 98fb42a178..2fc4f74b3d 100644 --- a/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -109,7 +109,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -246,7 +246,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index 1cba8a4241..c75da6a2b4 100644 --- a/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -310,7 +310,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -380,7 +380,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -591,7 +591,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.PUT, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index deffa29d50..e0d26a4ae3 100644 --- a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -182,7 +182,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.DELETE, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -412,7 +412,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.GET, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -555,7 +555,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -633,7 +633,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 1ec69c56ef..d192191c85 100644 --- a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -109,7 +109,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -246,7 +246,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index 521b3e3d33..327a69c8e7 100644 --- a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -310,7 +310,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -380,7 +380,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -591,7 +591,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.PUT, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index 5c32b11603..ca615c5e8e 100644 --- a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -182,7 +182,7 @@ internal class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpC return RequestConfig( method = RequestMethod.DELETE, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -412,7 +412,7 @@ internal class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpC return RequestConfig( method = RequestMethod.GET, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -555,7 +555,7 @@ internal class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpC return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -633,7 +633,7 @@ internal class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpC return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 99bc291bed..fef010230c 100644 --- a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -109,7 +109,7 @@ internal class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHtt return RequestConfig( method = RequestMethod.DELETE, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -246,7 +246,7 @@ internal class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHtt return RequestConfig( method = RequestMethod.GET, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index 84cde3e20e..03ef7baa87 100644 --- a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -310,7 +310,7 @@ internal class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttp return RequestConfig( method = RequestMethod.DELETE, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -380,7 +380,7 @@ internal class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttp return RequestConfig( method = RequestMethod.GET, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -591,7 +591,7 @@ internal class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttp return RequestConfig( method = RequestMethod.PUT, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index c0cf6b8f47..aeb395cf87 100644 --- a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -182,7 +182,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.DELETE, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -412,7 +412,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.GET, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -555,7 +555,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -633,7 +633,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index e984ba8cdc..cf9f7f99e4 100644 --- a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -109,7 +109,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -246,7 +246,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index 6025f68eb3..2c46e94f7f 100644 --- a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -310,7 +310,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -380,7 +380,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -591,7 +591,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.PUT, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index 1591c5ede4..3e28ded0d9 100644 --- a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -182,7 +182,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.DELETE, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -412,7 +412,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.GET, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -555,7 +555,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -633,7 +633,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 1ec69c56ef..d192191c85 100644 --- a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -109,7 +109,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -246,7 +246,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index 521b3e3d33..327a69c8e7 100644 --- a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -310,7 +310,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -380,7 +380,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -591,7 +591,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.PUT, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index 785cf09a3f..bf195c9af2 100644 --- a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -182,7 +182,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.DELETE, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -412,7 +412,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.GET, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -555,7 +555,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -633,7 +633,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 1ec69c56ef..d192191c85 100644 --- a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -109,7 +109,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -246,7 +246,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index 521b3e3d33..327a69c8e7 100644 --- a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -310,7 +310,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -380,7 +380,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -591,7 +591,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.PUT, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index deffa29d50..e0d26a4ae3 100644 --- a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -182,7 +182,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.DELETE, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -412,7 +412,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.GET, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -555,7 +555,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -633,7 +633,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 1ec69c56ef..d192191c85 100644 --- a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -109,7 +109,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -246,7 +246,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index 521b3e3d33..327a69c8e7 100644 --- a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -310,7 +310,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -380,7 +380,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -591,7 +591,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.PUT, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index deffa29d50..e0d26a4ae3 100644 --- a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -182,7 +182,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.DELETE, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -412,7 +412,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.GET, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -555,7 +555,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -633,7 +633,7 @@ class PetApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = A return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"), + path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", petId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 1ec69c56ef..d192191c85 100644 --- a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -109,7 +109,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -246,7 +246,7 @@ class StoreApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"), + path = "/store/order/{orderId}".replace("{"+"orderId"+"}", orderId.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody diff --git a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index 521b3e3d33..327a69c8e7 100644 --- a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -310,7 +310,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.DELETE, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -380,7 +380,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody @@ -591,7 +591,7 @@ class UserApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.PUT, - path = "/user/{username}".replace("{"+"username"+"}", "$username"), + path = "/user/{username}".replace("{"+"username"+"}", username.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody From c38d825a895e5cf5b2c967b22c975fbbe7f85ef7 Mon Sep 17 00:00:00 2001 From: Eric Durand-Tremblay Date: Wed, 22 Jun 2022 16:31:16 -0400 Subject: [PATCH 099/212] [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 --- bin/configs/kotlin-allOff-discriminator.yaml | 9 + .../languages/AbstractKotlinCodegen.java | 27 ++ .../kotlin/AbstractKotlinCodegenTest.java | 40 +++ .../src/test/resources/3_0/issue_10792.yaml | 57 +++++ .../.openapi-generator-ignore | 23 ++ .../.openapi-generator/FILES | 33 +++ .../.openapi-generator/VERSION | 1 + .../kotlin-allOff-discriminator/README.md | 52 ++++ .../kotlin-allOff-discriminator/build.gradle | 37 +++ .../docs/Animal.md | 10 + .../kotlin-allOff-discriminator/docs/Bird.md | 10 + .../docs/BirdAllOf.md | 10 + .../docs/BirdApi.md | 54 ++++ .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + .../kotlin-allOff-discriminator/gradlew | 185 +++++++++++++ .../kotlin-allOff-discriminator/gradlew.bat | 89 +++++++ .../settings.gradle | 2 + .../org/openapitools/client/apis/BirdApi.kt | 122 +++++++++ .../client/infrastructure/ApiAbstractions.kt | 23 ++ .../client/infrastructure/ApiClient.kt | 242 ++++++++++++++++++ .../client/infrastructure/ApiResponse.kt | 43 ++++ .../infrastructure/BigDecimalAdapter.kt | 17 ++ .../infrastructure/BigIntegerAdapter.kt | 17 ++ .../client/infrastructure/ByteArrayAdapter.kt | 12 + .../client/infrastructure/Errors.kt | 18 ++ .../client/infrastructure/LocalDateAdapter.kt | 19 ++ .../infrastructure/LocalDateTimeAdapter.kt | 19 ++ .../infrastructure/OffsetDateTimeAdapter.kt | 19 ++ .../client/infrastructure/PartConfig.kt | 11 + .../client/infrastructure/RequestConfig.kt | 17 ++ .../client/infrastructure/RequestMethod.kt | 8 + .../infrastructure/ResponseExtensions.kt | 24 ++ .../client/infrastructure/Serializer.kt | 25 ++ .../client/infrastructure/SerializerHelper.kt | 10 + .../client/infrastructure/URIAdapter.kt | 13 + .../client/infrastructure/UUIDAdapter.kt | 13 + .../org/openapitools/client/models/Animal.kt | 37 +++ .../org/openapitools/client/models/Bird.kt | 44 ++++ .../openapitools/client/models/BirdAllOf.kt | 38 +++ 40 files changed, 1435 insertions(+) create mode 100644 bin/configs/kotlin-allOff-discriminator.yaml create mode 100644 modules/openapi-generator/src/test/resources/3_0/issue_10792.yaml create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/.openapi-generator-ignore create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/.openapi-generator/FILES create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/.openapi-generator/VERSION create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/README.md create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/build.gradle create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/docs/Animal.md create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/docs/Bird.md create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/docs/BirdAllOf.md create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/docs/BirdApi.md create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/gradle/wrapper/gradle-wrapper.jar create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/gradle/wrapper/gradle-wrapper.properties create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/gradlew create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/gradlew.bat create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/settings.gradle create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/apis/BirdApi.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ApiAbstractions.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ApiResponse.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/BigDecimalAdapter.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/BigIntegerAdapter.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ByteArrayAdapter.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/Errors.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/LocalDateAdapter.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/PartConfig.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/RequestMethod.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ResponseExtensions.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/SerializerHelper.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/URIAdapter.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/UUIDAdapter.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/models/Animal.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/models/Bird.kt create mode 100644 samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/models/BirdAllOf.kt diff --git a/bin/configs/kotlin-allOff-discriminator.yaml b/bin/configs/kotlin-allOff-discriminator.yaml new file mode 100644 index 0000000000..0de0dd1e42 --- /dev/null +++ b/bin/configs/kotlin-allOff-discriminator.yaml @@ -0,0 +1,9 @@ +generatorName: kotlin +outputDir: samples/client/petstore/kotlin-allOff-discriminator +inputSpec: modules/openapi-generator/src/test/resources/3_0/issue_10792.yaml +templateDir: modules/openapi-generator/src/main/resources/kotlin-client +additionalProperties: + artifactId: kotlin-allOff-discriminator + serializableModel: "false" + dateLibrary: java8 + enumUnknownDefaultCase: true diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java index f66de36b3e..0c00eca3ef 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java @@ -19,6 +19,7 @@ package org.openapitools.codegen.languages; import com.fasterxml.jackson.databind.node.ArrayNode; import io.swagger.v3.oas.models.media.ArraySchema; +import io.swagger.v3.oas.models.media.ComposedSchema; import io.swagger.v3.oas.models.media.Schema; import io.swagger.v3.oas.models.media.StringSchema; import org.apache.commons.io.FilenameUtils; @@ -1045,4 +1046,30 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co public GeneratorLanguage generatorLanguage() { return GeneratorLanguage.KOTLIN; } + + @Override + protected void updateModelForObject(CodegenModel m, Schema schema) { + /** + * we have a custom version of this function so we only set isMap to true if + * ModelUtils.isMapSchema + * In other generators, isMap is true for all type object schemas + */ + if (schema.getProperties() != null || schema.getRequired() != null && !(schema instanceof ComposedSchema)) { + // passing null to allProperties and allRequired as there's no parent + addVars(m, unaliasPropertySchema(schema.getProperties()), schema.getRequired(), null, null); + } + if (ModelUtils.isMapSchema(schema)) { + // an object or anyType composed schema that has additionalProperties set + addAdditionPropertiesToCodeGenModel(m, schema); + } else { + m.setIsMap(false); + if (ModelUtils.isFreeFormObject(openAPI, schema)) { + // non-composed object type with no properties + additionalProperties + // additionalProperties must be null, ObjectSchema, or empty Schema + addAdditionPropertiesToCodeGenModel(m, schema); + } + } + // process 'additionalProperties' + setAddProps(schema, m); + } } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/AbstractKotlinCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/AbstractKotlinCodegenTest.java index d72e170b00..d3698e7ab5 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/AbstractKotlinCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/AbstractKotlinCodegenTest.java @@ -272,4 +272,44 @@ public class AbstractKotlinCodegenTest { Assert.assertEquals(cp1.getEnumName(), "PropertyName"); Assert.assertEquals(cp1.getDefaultValue(), "PropertyName.vALUE"); } + + @Test(description = "Issue #10792") + public void handleInheritanceWithObjectTypeShouldNotBeAMap() { + Schema parent = new ObjectSchema() + .addProperties("a", new StringSchema()) + .addProperties("b", new StringSchema()) + .addRequiredItem("a") + .name("Parent"); + Schema child = new ComposedSchema() + .addAllOfItem(new Schema().$ref("Parent")) + .addAllOfItem(new ObjectSchema() + .addProperties("c", new StringSchema()) + .addProperties("d", new StringSchema()) + .addRequiredItem("c")) + .name("Child") + .type("object"); // Without the object type it is not wrongly recognized as map + Schema mapSchema = new ObjectSchema() + .addProperties("a", new StringSchema()) + .additionalProperties(Boolean.TRUE) + .name("MapSchema") + .type("object"); + + OpenAPI openAPI = TestUtils.createOpenAPI(); + openAPI.getComponents().addSchemas(parent.getName(), parent); + openAPI.getComponents().addSchemas(child.getName(), child); + openAPI.getComponents().addSchemas(mapSchema.getName(), mapSchema); + + final DefaultCodegen codegen = new P_AbstractKotlinCodegen(); + codegen.setOpenAPI(openAPI); + + final CodegenModel pm = codegen + .fromModel("Child", child); + + Assert.assertFalse(pm.isMap); + + // Make sure a real map is still flagged as map + final CodegenModel mapSchemaModel = codegen + .fromModel("MapSchema", mapSchema); + Assert.assertTrue(mapSchemaModel.isMap); + } } diff --git a/modules/openapi-generator/src/test/resources/3_0/issue_10792.yaml b/modules/openapi-generator/src/test/resources/3_0/issue_10792.yaml new file mode 100644 index 0000000000..7ea9844f48 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/issue_10792.yaml @@ -0,0 +1,57 @@ +openapi: 3.0.1 +info: + title: Example + description: An example + version: '0.1' + contact: + email: contact@example.org + url: 'https://example.org' +servers: + - url: http://example.org +tags: + - name: bird +paths: + '/v1/bird/{id}': + get: + tags: + - bird + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bird' + operationId: get-bird + parameters: + - schema: + type: string + format: uuid + name: id + in: path + required: true +components: + schemas: + animal: + title: An animal + type: object + properties: + id: + type: string + format: uuid + required: + - id + discriminator: + propertyName: type + mapping: + BIRD: '#/components/schemas/bird' + bird: + title: A bird + type: object + allOf: + - $ref: '#/components/schemas/animal' + - properties: + featherType: + type: string + required: + - featherType diff --git a/samples/client/petstore/kotlin-allOff-discriminator/.openapi-generator-ignore b/samples/client/petstore/kotlin-allOff-discriminator/.openapi-generator-ignore new file mode 100644 index 0000000000..7484ee590a --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/samples/client/petstore/kotlin-allOff-discriminator/.openapi-generator/FILES b/samples/client/petstore/kotlin-allOff-discriminator/.openapi-generator/FILES new file mode 100644 index 0000000000..c9e511d382 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/.openapi-generator/FILES @@ -0,0 +1,33 @@ +README.md +build.gradle +docs/Animal.md +docs/Bird.md +docs/BirdAllOf.md +docs/BirdApi.md +gradle/wrapper/gradle-wrapper.jar +gradle/wrapper/gradle-wrapper.properties +gradlew +gradlew.bat +settings.gradle +src/main/kotlin/org/openapitools/client/apis/BirdApi.kt +src/main/kotlin/org/openapitools/client/infrastructure/ApiAbstractions.kt +src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +src/main/kotlin/org/openapitools/client/infrastructure/ApiResponse.kt +src/main/kotlin/org/openapitools/client/infrastructure/BigDecimalAdapter.kt +src/main/kotlin/org/openapitools/client/infrastructure/BigIntegerAdapter.kt +src/main/kotlin/org/openapitools/client/infrastructure/ByteArrayAdapter.kt +src/main/kotlin/org/openapitools/client/infrastructure/Errors.kt +src/main/kotlin/org/openapitools/client/infrastructure/LocalDateAdapter.kt +src/main/kotlin/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt +src/main/kotlin/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt +src/main/kotlin/org/openapitools/client/infrastructure/PartConfig.kt +src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +src/main/kotlin/org/openapitools/client/infrastructure/RequestMethod.kt +src/main/kotlin/org/openapitools/client/infrastructure/ResponseExtensions.kt +src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt +src/main/kotlin/org/openapitools/client/infrastructure/SerializerHelper.kt +src/main/kotlin/org/openapitools/client/infrastructure/URIAdapter.kt +src/main/kotlin/org/openapitools/client/infrastructure/UUIDAdapter.kt +src/main/kotlin/org/openapitools/client/models/Animal.kt +src/main/kotlin/org/openapitools/client/models/Bird.kt +src/main/kotlin/org/openapitools/client/models/BirdAllOf.kt diff --git a/samples/client/petstore/kotlin-allOff-discriminator/.openapi-generator/VERSION b/samples/client/petstore/kotlin-allOff-discriminator/.openapi-generator/VERSION new file mode 100644 index 0000000000..89648de331 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/.openapi-generator/VERSION @@ -0,0 +1 @@ +6.0.1-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/kotlin-allOff-discriminator/README.md b/samples/client/petstore/kotlin-allOff-discriminator/README.md new file mode 100644 index 0000000000..a0dbb4c5fe --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/README.md @@ -0,0 +1,52 @@ +# org.openapitools.client - Kotlin client library for Example + +## Requires + +* Kotlin 1.4.30 +* Gradle 6.8.3 + +## Build + +First, create the gradle wrapper script: + +``` +gradle wrapper +``` + +Then, run: + +``` +./gradlew check assemble +``` + +This runs all tests and packages the library. + +## Features/Implementation Notes + +* Supports JSON inputs/outputs, File inputs, and Form inputs. +* Supports collection formats for query parameters: csv, tsv, ssv, pipes. +* Some Kotlin and Java types are fully qualified to avoid conflicts with types defined in OpenAPI definitions. +* Implementation of ApiClient is intended to reduce method counts, specifically to benefit Android targets. + + +## Documentation for API Endpoints + +All URIs are relative to *http://example.org* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*BirdApi* | [**getBird**](docs/BirdApi.md#getbird) | **GET** /v1/bird/{id} | + + + +## Documentation for Models + + - [org.openapitools.client.models.Animal](docs/Animal.md) + - [org.openapitools.client.models.Bird](docs/Bird.md) + - [org.openapitools.client.models.BirdAllOf](docs/BirdAllOf.md) + + + +## Documentation for Authorization + +All endpoints do not require authorization. diff --git a/samples/client/petstore/kotlin-allOff-discriminator/build.gradle b/samples/client/petstore/kotlin-allOff-discriminator/build.gradle new file mode 100644 index 0000000000..3de8b45b13 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/build.gradle @@ -0,0 +1,37 @@ +group 'org.openapitools' +version '1.0.0' + +wrapper { + gradleVersion = '6.8.3' + distributionUrl = "https://services.gradle.org/distributions/gradle-$gradleVersion-all.zip" +} + +buildscript { + ext.kotlin_version = '1.5.10' + + repositories { + maven { url "https://repo1.maven.org/maven2" } + } + dependencies { + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } +} + +apply plugin: 'kotlin' + +repositories { + maven { url "https://repo1.maven.org/maven2" } +} + +test { + useJUnitPlatform() +} + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" + implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" + implementation "com.squareup.moshi:moshi-kotlin:1.12.0" + implementation "com.squareup.moshi:moshi-adapters:1.12.0" + implementation "com.squareup.okhttp3:okhttp:4.9.1" + testImplementation "io.kotlintest:kotlintest-runner-junit5:3.4.2" +} diff --git a/samples/client/petstore/kotlin-allOff-discriminator/docs/Animal.md b/samples/client/petstore/kotlin-allOff-discriminator/docs/Animal.md new file mode 100644 index 0000000000..44b79cb929 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/docs/Animal.md @@ -0,0 +1,10 @@ + +# Animal + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | [**java.util.UUID**](java.util.UUID.md) | | + + + diff --git a/samples/client/petstore/kotlin-allOff-discriminator/docs/Bird.md b/samples/client/petstore/kotlin-allOff-discriminator/docs/Bird.md new file mode 100644 index 0000000000..850f9342bb --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/docs/Bird.md @@ -0,0 +1,10 @@ + +# Bird + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**featherType** | **kotlin.String** | | + + + diff --git a/samples/client/petstore/kotlin-allOff-discriminator/docs/BirdAllOf.md b/samples/client/petstore/kotlin-allOff-discriminator/docs/BirdAllOf.md new file mode 100644 index 0000000000..cccb4c058d --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/docs/BirdAllOf.md @@ -0,0 +1,10 @@ + +# BirdAllOf + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**featherType** | **kotlin.String** | | + + + diff --git a/samples/client/petstore/kotlin-allOff-discriminator/docs/BirdApi.md b/samples/client/petstore/kotlin-allOff-discriminator/docs/BirdApi.md new file mode 100644 index 0000000000..53b9bec328 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/docs/BirdApi.md @@ -0,0 +1,54 @@ +# BirdApi + +All URIs are relative to *http://example.org* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**getBird**](BirdApi.md#getBird) | **GET** /v1/bird/{id} | + + + +# **getBird** +> Bird getBird(id) + + + +### Example +```kotlin +// Import classes: +//import org.openapitools.client.infrastructure.* +//import org.openapitools.client.models.* + +val apiInstance = BirdApi() +val id : java.util.UUID = 38400000-8cf0-11bd-b23e-10b96e4ef00d // java.util.UUID | +try { + val result : Bird = apiInstance.getBird(id) + println(result) +} catch (e: ClientException) { + println("4xx response calling BirdApi#getBird") + e.printStackTrace() +} catch (e: ServerException) { + println("5xx response calling BirdApi#getBird") + e.printStackTrace() +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **java.util.UUID**| | + +### Return type + +[**Bird**](Bird.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + diff --git a/samples/client/petstore/kotlin-allOff-discriminator/gradle/wrapper/gradle-wrapper.jar b/samples/client/petstore/kotlin-allOff-discriminator/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f GIT binary patch literal 59203 zcma&O1CT9Y(k9%tZQHhO+qUh#ZQHhO+qmuS+qP|E@9xZO?0h@l{(r>DQ>P;GjjD{w zH}lENr;dU&FbEU?00aa80D$0M0RRB{U*7-#kbjS|qAG&4l5%47zyJ#WrfA#1$1Ctx zf&Z_d{GW=lf^w2#qRJ|CvSJUi(^E3iv~=^Z(zH}F)3Z%V3`@+rNB7gTVU{Bb~90p|f+0(v;nz01EG7yDMX9@S~__vVgv%rS$+?IH+oZ03D5zYrv|^ zC1J)SruYHmCki$jLBlTaE5&dFG9-kq3!^i>^UQL`%gn6)jz54$WDmeYdsBE9;PqZ_ zoGd=P4+|(-u4U1dbAVQrFWoNgNd;0nrghPFbQrJctO>nwDdI`Q^i0XJDUYm|T|RWc zZ3^Qgo_Qk$%Fvjj-G}1NB#ZJqIkh;kX%V{THPqOyiq)d)0+(r9o(qKlSp*hmK#iIY zA^)Vr$-Hz<#SF=0@tL@;dCQsm`V9s1vYNq}K1B)!XSK?=I1)tX+bUV52$YQu*0%fnWEukW>mxkz+%3-S!oguE8u#MGzST8_Dy^#U?fA@S#K$S@9msUiX!gd_ow>08w5)nX{-KxqMOo7d?k2&?Vf z&diGDtZr(0cwPe9z9FAUSD9KC)7(n^lMWuayCfxzy8EZsns%OEblHFSzP=cL6}?J| z0U$H!4S_TVjj<`6dy^2j`V`)mC;cB%* z8{>_%E1^FH!*{>4a7*C1v>~1*@TMcLK{7nEQ!_igZC}ikJ$*<$yHy>7)oy79A~#xE zWavoJOIOC$5b6*q*F_qN1>2#MY)AXVyr$6x4b=$x^*aqF*L?vmj>Mgv+|ITnw_BoW zO?jwHvNy^prH{9$rrik1#fhyU^MpFqF2fYEt(;4`Q&XWOGDH8k6M=%@fics4ajI;st# zCU^r1CK&|jzUhRMv;+W~6N;u<;#DI6cCw-otsc@IsN3MoSD^O`eNflIoR~l4*&-%RBYk@gb^|-JXs&~KuSEmMxB}xSb z@K76cXD=Y|=I&SNC2E+>Zg?R6E%DGCH5J1nU!A|@eX9oS(WPaMm==k2s_ueCqdZw| z&hqHp)47`c{BgwgvY2{xz%OIkY1xDwkw!<0veB#yF4ZKJyabhyyVS`gZepcFIk%e2 zTcrmt2@-8`7i-@5Nz>oQWFuMC_KlroCl(PLSodswHqJ3fn<;gxg9=}~3x_L3P`9Sn zChIf}8vCHvTriz~T2~FamRi?rh?>3bX1j}%bLH+uFX+p&+^aXbOK7clZxdU~6Uxgy z8R=obwO4dL%pmVo*Ktf=lH6hnlz_5k3cG;m8lgaPp~?eD!Yn2kf)tU6PF{kLyn|oI@eQ`F z3IF7~Blqg8-uwUuWZScRKn%c2_}dXB6Dx_&xR*n9M9LXasJhtZdr$vBY!rP{c@=)& z#!?L$2UrkvClwQO>U*fSMs67oSj2mxiJ$t;E|>q%Kh_GzzWWO&3;ufU%2z%ucBU8H z3WIwr$n)cfCXR&>tyB7BcSInK>=ByZA%;cVEJhcg<#6N{aZC4>K41XF>ZgjG`z_u& zGY?;Ad?-sgiOnI`oppF1o1Gurqbi*;#x2>+SSV6|1^G@ooVy@fg?wyf@0Y!UZ4!}nGuLeC^l)6pwkh|oRY`s1Pm$>zZ3u-83T|9 zGaKJIV3_x+u1>cRibsaJpJqhcm%?0-L;2 zitBrdRxNmb0OO2J%Y&Ym(6*`_P3&&5Bw157{o7LFguvxC$4&zTy#U=W*l&(Q2MNO} zfaUwYm{XtILD$3864IA_nn34oVa_g^FRuHL5wdUd)+W-p-iWCKe8m_cMHk+=? zeKX)M?Dt(|{r5t7IenkAXo%&EXIb-i^w+0CX0D=xApC=|Xy(`xy+QG^UyFe z+#J6h_&T5i#sV)hj3D4WN%z;2+jJcZxcI3*CHXGmOF3^)JD5j&wfX)e?-|V0GPuA+ zQFot%aEqGNJJHn$!_}#PaAvQ^{3-Ye7b}rWwrUmX53(|~i0v{}G_sI9uDch_brX&6 zWl5Ndj-AYg(W9CGfQf<6!YmY>Ey)+uYd_JNXH=>|`OH-CDCmcH(0%iD_aLlNHKH z7bcW-^5+QV$jK?R*)wZ>r9t}loM@XN&M-Pw=F#xn(;u3!(3SXXY^@=aoj70;_=QE9 zGghsG3ekq#N||u{4We_25U=y#T*S{4I{++Ku)> zQ!DZW;pVcn>b;&g2;YE#+V`v*Bl&Y-i@X6D*OpNA{G@JAXho&aOk(_j^weW{#3X5Y z%$q_wpb07EYPdmyH(1^09i$ca{O<}7) zRWncXdSPgBE%BM#by!E>tdnc$8RwUJg1*x($6$}ae$e9Knj8gvVZe#bLi!<+&BkFj zg@nOpDneyc+hU9P-;jmOSMN|*H#>^Ez#?;%C3hg_65leSUm;iz)UkW)jX#p)e&S&M z1|a?wDzV5NVnlhRBCd_;F87wp>6c<&nkgvC+!@KGiIqWY4l}=&1w7|r6{oBN8xyzh zG$b#2=RJp_iq6)#t5%yLkKx(0@D=C3w+oiXtSuaQ%I1WIb-eiE$d~!)b@|4XLy!CZ z9p=t=%3ad@Ep+<9003D2KZ5VyP~_n$=;~r&YUg5UZ0KVD&tR1DHy9x)qWtKJp#Kq# zP*8p#W(8JJ_*h_3W}FlvRam?<4Z+-H77^$Lvi+#vmhL9J zJ<1SV45xi;SrO2f=-OB(7#iNA5)x1uNC-yNxUw|!00vcW2PufRm>e~toH;M0Q85MQLWd?3O{i8H+5VkR@l9Dg-ma ze2fZ%>G(u5(k9EHj2L6!;(KZ8%8|*-1V|B#EagbF(rc+5iL_5;Eu)L4Z-V;0HfK4d z*{utLse_rvHZeQ>V5H=f78M3Ntg1BPxFCVD{HbNA6?9*^YIq;B-DJd{Ca2L#)qWP? zvX^NhFmX?CTWw&Ns}lgs;r3i+Bq@y}Ul+U%pzOS0Fcv9~aB(0!>GT0)NO?p=25LjN z2bh>6RhgqD7bQj#k-KOm@JLgMa6>%-ok1WpOe)FS^XOU{c?d5shG(lIn3GiVBxmg`u%-j=)^v&pX1JecJics3&jvPI)mDut52? z3jEA)DM%}BYbxxKrizVYwq?(P&19EXlwD9^-6J+4!}9{ywR9Gk42jjAURAF&EO|~N z)?s>$Da@ikI4|^z0e{r`J8zIs>SpM~Vn^{3fArRu;?+43>lD+^XtUcY1HidJwnR6+ z!;oG2=B6Z_=M%*{z-RaHc(n|1RTKQdNjjV!Pn9lFt^4w|AeN06*j}ZyhqZ^!-=cyGP_ShV1rGxkx8t zB;8`h!S{LD%ot``700d0@Grql(DTt4Awgmi+Yr0@#jbe=2#UkK%rv=OLqF)9D7D1j z!~McAwMYkeaL$~kI~90)5vBhBzWYc3Cj1WI0RS`z000R8-@ET0dA~*r(gSiCJmQMN&4%1D zyVNf0?}sBH8zNbBLn>~(W{d3%@kL_eQ6jEcR{l>C|JK z(R-fA!z|TTRG40|zv}7E@PqCAXP3n`;%|SCQ|ZS%ym$I{`}t3KPL&^l5`3>yah4*6 zifO#{VNz3)?ZL$be;NEaAk9b#{tV?V7 zP|wf5YA*1;s<)9A4~l3BHzG&HH`1xNr#%){4xZ!jq%o=7nN*wMuXlFV{HaiQLJ`5G zBhDi#D(m`Q1pLh@Tq+L;OwuC52RdW7b8}~60WCOK5iYMUad9}7aWBuILb({5=z~YF zt?*Jr5NG+WadM{mDL>GyiByCuR)hd zA=HM?J6l1Xv0Dl+LW@w$OTcEoOda^nFCw*Sy^I@$sSuneMl{4ys)|RY#9&NxW4S)9 zq|%83IpslTLoz~&vTo!Ga@?rj_kw{|k{nv+w&Ku?fyk4Ki4I?);M|5Axm)t+BaE)D zm(`AQ#k^DWrjbuXoJf2{Aj^KT zFb1zMSqxq|vceV+Mf-)$oPflsO$@*A0n0Z!R{&(xh8s}=;t(lIy zv$S8x>m;vQNHuRzoaOo?eiWFe{0;$s`Bc+Osz~}Van${u;g(su`3lJ^TEfo~nERfP z)?aFzpDgnLYiERsKPu|0tq4l2wT)Atr6Qb%m-AUn6HnCue*yWICp7TjW$@sO zm5rm4aTcPQ(rfi7a`xP7cKCFrJD}*&_~xgLyr^-bmsL}y;A5P|al8J3WUoBSjqu%v zxC;mK!g(7r6RRJ852Z~feoC&sD3(6}^5-uLK8o)9{8L_%%rItZK9C){UxB|;G>JbP zsRRtS4-3B*5c+K2kvmgZK8472%l>3cntWUOVHxB|{Ay~aOg5RN;{PJgeVD*H%ac+y!h#wi%o2bF2Ca8IyMyH{>4#{E_8u^@+l-+n=V}Sq?$O z{091@v%Bd*3pk0^2UtiF9Z+(a@wy6 zUdw8J*ze$K#=$48IBi1U%;hmhO>lu!uU;+RS}p&6@rQila7WftH->*A4=5W|Fmtze z)7E}jh@cbmr9iup^i%*(uF%LG&!+Fyl@LFA-}Ca#bxRfDJAiR2dt6644TaYw1Ma79 zt8&DYj31j^5WPNf5P&{)J?WlCe@<3u^78wnd(Ja4^a>{^Tw}W>|Cjt^If|7l^l)^Q zbz|7~CF(k_9~n|h;ysZ+jHzkXf(*O*@5m zLzUmbHp=x!Q|!9NVXyipZ3)^GuIG$k;D)EK!a5=8MFLI_lpf`HPKl=-Ww%z8H_0$j ztJ||IfFG1lE9nmQ0+jPQy zCBdKkjArH@K7jVcMNz);Q(Q^R{d5G?-kk;Uu_IXSyWB)~KGIizZL(^&qF;|1PI7!E zTP`%l)gpX|OFn&)M%txpQ2F!hdA~hX1Cm5)IrdljqzRg!f{mN%G~H1&oqe`5eJCIF zHdD7O;AX-{XEV(a`gBFJ9ews#CVS2y!&>Cm_dm3C8*n3MA*e67(WC?uP@8TXuMroq z{#w$%z@CBIkRM7?}Xib+>hRjy?%G!fiw8! z8(gB+8J~KOU}yO7UGm&1g_MDJ$IXS!`+*b*QW2x)9>K~Y*E&bYMnjl6h!{17_8d!%&9D`a7r&LKZjC<&XOvTRaKJ1 zUY@hl5^R&kZl3lU3njk`3dPzxj$2foOL26r(9zsVF3n_F#v)s5vv3@dgs|lP#eylq62{<-vczqP!RpVBTgI>@O6&sU>W|do17+#OzQ7o5A$ICH z?GqwqnK^n2%LR;$^oZM;)+>$X3s2n}2jZ7CdWIW0lnGK-b#EG01)P@aU`pg}th&J-TrU`tIpb5t((0eu|!u zQz+3ZiOQ^?RxxK4;zs=l8q!-n7X{@jSwK(iqNFiRColuEOg}!7cyZi`iBX4g1pNBj zAPzL?P^Ljhn;1$r8?bc=#n|Ed7wB&oHcw()&*k#SS#h}jO?ZB246EGItsz*;^&tzp zu^YJ0=lwsi`eP_pU8}6JA7MS;9pfD;DsSsLo~ogzMNP70@@;Fm8f0^;>$Z>~}GWRw!W5J3tNX*^2+1f3hz{~rIzJo z6W%J(H!g-eI_J1>0juX$X4Cl6i+3wbc~k146UIX&G22}WE>0ga#WLsn9tY(&29zBvH1$`iWtTe zG2jYl@P!P)eb<5DsR72BdI7-zP&cZNI{7q3e@?N8IKc4DE#UVr->|-ryuJXk^u^>4 z$3wE~=q390;XuOQP~TNoDR?#|NSPJ%sTMInA6*rJ%go|=YjGe!B>z6u$IhgQSwoV* zjy3F2#I>uK{42{&IqP59)Y(1*Z>>#W8rCf4_eVsH)`v!P#^;BgzKDR`ARGEZzkNX+ zJUQu=*-ol=Xqqt5=`=pA@BIn@6a9G8C{c&`i^(i+BxQO9?YZ3iu%$$da&Kb?2kCCo zo7t$UpSFWqmydXf@l3bVJ=%K?SSw)|?srhJ-1ZdFu*5QhL$~-IQS!K1s@XzAtv6*Y zl8@(5BlWYLt1yAWy?rMD&bwze8bC3-GfNH=p zynNFCdxyX?K&G(ZZ)afguQ2|r;XoV^=^(;Cku#qYn4Lus`UeKt6rAlFo_rU`|Rq z&G?~iWMBio<78of-2X(ZYHx~=U0Vz4btyXkctMKdc9UM!vYr~B-(>)(Hc|D zMzkN4!PBg%tZoh+=Gba!0++d193gbMk2&krfDgcbx0jI92cq?FFESVg0D$>F+bil} zY~$)|>1HZsX=5sAZ2WgPB5P=8X#TI+NQ(M~GqyVB53c6IdX=k>Wu@A0Svf5#?uHaF zsYn|koIi3$(%GZ2+G+7Fv^lHTb#5b8sAHSTnL^qWZLM<(1|9|QFw9pnRU{svj}_Al zL)b9>fN{QiA($8peNEJyy`(a{&uh-T4_kdZFIVsKKVM(?05}76EEz?#W za^fiZOAd14IJ4zLX-n7Lq0qlQ^lW8Cvz4UKkV9~P}>sq0?xD3vg+$4vLm~C(+ zM{-3Z#qnZ09bJ>}j?6ry^h+@PfaD7*jZxBEY4)UG&daWb??6)TP+|3#Z&?GL?1i+280CFsE|vIXQbm| zM}Pk!U`U5NsNbyKzkrul-DzwB{X?n3E6?TUHr{M&+R*2%yOiXdW-_2Yd6?38M9Vy^ z*lE%gA{wwoSR~vN0=no}tP2Ul5Gk5M(Xq`$nw#ndFk`tcpd5A=Idue`XZ!FS>Q zG^0w#>P4pPG+*NC9gLP4x2m=cKP}YuS!l^?sHSFftZy{4CoQrb_ z^20(NnG`wAhMI=eq)SsIE~&Gp9Ne0nD4%Xiu|0Fj1UFk?6avDqjdXz{O1nKao*46y zT8~iA%Exu=G#{x=KD;_C&M+Zx4+n`sHT>^>=-1YM;H<72k>$py1?F3#T1*ef9mLZw z5naLQr?n7K;2l+{_uIw*_1nsTn~I|kkCgrn;|G~##hM;9l7Jy$yJfmk+&}W@JeKcF zx@@Woiz8qdi|D%aH3XTx5*wDlbs?dC1_nrFpm^QbG@wM=i2?Zg;$VK!c^Dp8<}BTI zyRhAq@#%2pGV49*Y5_mV4+OICP|%I(dQ7x=6Ob}>EjnB_-_18*xrY?b%-yEDT(wrO z9RY2QT0`_OpGfMObKHV;QLVnrK%mc?$WAdIT`kJQT^n%GuzE7|9@k3ci5fYOh(287 zuIbg!GB3xLg$YN=n)^pHGB0jH+_iIiC=nUcD;G6LuJsjn2VI1cyZx=a?ShCsF==QK z;q~*m&}L<-cb+mDDXzvvrRsybcgQ;Vg21P(uLv5I+eGc7o7tc6`;OA9{soHFOz zT~2?>Ts}gprIX$wRBb4yE>ot<8+*Bv`qbSDv*VtRi|cyWS>)Fjs>fkNOH-+PX&4(~ z&)T8Zam2L6puQl?;5zg9h<}k4#|yH9czHw;1jw-pwBM*O2hUR6yvHATrI%^mvs9q_ z&ccT0>f#eDG<^WG^q@oVqlJrhxH)dcq2cty@l3~|5#UDdExyXUmLQ}f4#;6fI{f^t zDCsgIJ~0`af%YR%Ma5VQq-p21k`vaBu6WE?66+5=XUd%Ay%D$irN>5LhluRWt7 zov-=f>QbMk*G##&DTQyou$s7UqjjW@k6=!I@!k+S{pP8R(2=e@io;N8E`EOB;OGoI zw6Q+{X1_I{OO0HPpBz!X!@`5YQ2)t{+!?M_iH25X(d~-Zx~cXnS9z>u?+If|iNJbx zyFU2d1!ITX64D|lE0Z{dLRqL1Ajj=CCMfC4lD3&mYR_R_VZ>_7_~|<^o*%_&jevU+ zQ4|qzci=0}Jydw|LXLCrOl1_P6Xf@c0$ieK2^7@A9UbF{@V_0p%lqW|L?5k>bVM8|p5v&2g;~r>B8uo<4N+`B zH{J)h;SYiIVx@#jI&p-v3dwL5QNV1oxPr8J%ooezTnLW>i*3Isb49%5i!&ac_dEXv zvXmVUck^QHmyrF8>CGXijC_R-y(Qr{3Zt~EmW)-nC!tiH`wlw5D*W7Pip;T?&j%kX z6DkZX4&}iw>hE(boLyjOoupf6JpvBG8}jIh!!VhnD0>}KSMMo{1#uU6kiFcA04~|7 zVO8eI&x1`g4CZ<2cYUI(n#wz2MtVFHx47yE5eL~8bot~>EHbevSt}LLMQX?odD{Ux zJMnam{d)W4da{l7&y-JrgiU~qY3$~}_F#G7|MxT)e;G{U`In&?`j<5D->}cb{}{T(4DF0BOk-=1195KB-E*o@c?`>y#4=dMtYtSY=&L{!TAjFVcq0y@AH`vH! z$41+u!Ld&}F^COPgL(EE{0X7LY&%D7-(?!kjFF7=qw<;`V{nwWBq<)1QiGJgUc^Vz ztMUlq1bZqKn17|6x6iAHbWc~l1HcmAxr%$Puv!znW)!JiukwIrqQ00|H$Z)OmGG@= zv%A8*4cq}(?qn4rN6o`$Y))(MyXr8R<2S^J+v(wmFmtac!%VOfN?&(8Nr!T@kV`N; z*Q33V3t`^rN&aBiHet)18wy{*wi1=W!B%B-Q6}SCrUl$~Hl{@!95ydml@FK8P=u4s z4e*7gV2s=YxEvskw2Ju!2%{8h01rx-3`NCPc(O zH&J0VH5etNB2KY6k4R@2Wvl^Ck$MoR3=)|SEclT2ccJ!RI9Nuter7u9@;sWf-%um;GfI!=eEIQ2l2p_YWUd{|6EG ze{yO6;lMc>;2tPrsNdi@&1K6(1;|$xe8vLgiouj%QD%gYk`4p{Ktv9|j+!OF-P?@p z;}SV|oIK)iwlBs+`ROXkhd&NK zzo__r!B>tOXpBJMDcv!Mq54P+n4(@dijL^EpO1wdg~q+!DT3lB<>9AANSe!T1XgC=J^)IP0XEZ()_vpu!!3HQyJhwh?r`Ae%Yr~b% zO*NY9t9#qWa@GCPYOF9aron7thfWT`eujS4`t2uG6)~JRTI;f(ZuoRQwjZjp5Pg34 z)rp$)Kr?R+KdJ;IO;pM{$6|2y=k_siqvp%)2||cHTe|b5Ht8&A{wazGNca zX$Ol?H)E_R@SDi~4{d-|8nGFhZPW;Cts1;08TwUvLLv&_2$O6Vt=M)X;g%HUr$&06 zISZb(6)Q3%?;3r~*3~USIg=HcJhFtHhIV(siOwV&QkQe#J%H9&E21!C*d@ln3E@J* zVqRO^<)V^ky-R|%{(9`l-(JXq9J)1r$`uQ8a}$vr9E^nNiI*thK8=&UZ0dsFN_eSl z(q~lnD?EymWLsNa3|1{CRPW60>DSkY9YQ;$4o3W7Ms&@&lv9eH!tk~N&dhqX&>K@} zi1g~GqglxkZ5pEFkllJ)Ta1I^c&Bt6#r(QLQ02yHTaJB~- zCcE=5tmi`UA>@P=1LBfBiqk)HB4t8D?02;9eXj~kVPwv?m{5&!&TFYhu>3=_ zsGmYZ^mo*-j69-42y&Jj0cBLLEulNRZ9vXE)8~mt9C#;tZs;=#M=1*hebkS;7(aGf zcs7zH(I8Eui9UU4L--))yy`&d&$In&VA2?DAEss4LAPCLd>-$i?lpXvn!gu^JJ$(DoUlc6wE98VLZ*z`QGQov5l4Fm_h?V-;mHLYDVOwKz7>e4+%AzeO>P6v}ndPW| zM>m#6Tnp7K?0mbK=>gV}=@k*0Mr_PVAgGMu$j+pWxzq4MAa&jpCDU&-5eH27Iz>m^ zax1?*HhG%pJ((tkR(V(O(L%7v7L%!_X->IjS3H5kuXQT2!ow(;%FDE>16&3r){!ex zhf==oJ!}YU89C9@mfDq!P3S4yx$aGB?rbtVH?sHpg?J5C->!_FHM%Hl3#D4eplxzQ zRA+<@LD%LKSkTk2NyWCg7u=$%F#;SIL44~S_OGR}JqX}X+=bc@swpiClB`Zbz|f!4 z7Ysah7OkR8liXfI`}IIwtEoL}(URrGe;IM8%{>b1SsqXh)~w}P>yiFRaE>}rEnNkT z!HXZUtxUp1NmFm)Dm@-{FI^aRQqpSkz}ZSyKR%Y}YHNzBk)ZIp} zMtS=aMvkgWKm9&oTcU0?S|L~CDqA+sHpOxwnswF-fEG)cXCzUR?ps@tZa$=O)=L+5 zf%m58cq8g_o}3?Bhh+c!w4(7AjxwQ3>WnVi<{{38g7yFboo>q|+7qs<$8CPXUFAN< zG&}BHbbyQ5n|qqSr?U~GY{@GJ{(Jny{bMaOG{|IkUj7tj^9pa9|FB_<+KHLxSxR;@ zHpS$4V)PP+tx}22fWx(Ku9y+}Ap;VZqD0AZW4gCDTPCG=zgJmF{|x;(rvdM|2|9a}cex6xrMkERnkE;}jvU-kmzd%_J50$M`lIPCKf+^*zL=@LW`1SaEc%=m zQ+lT06Gw+wVwvQ9fZ~#qd430v2HndFsBa9WjD0P}K(rZYdAt^5WQIvb%D^Q|pkVE^ zte$&#~zmULFACGfS#g=2OLOnIf2Of-k!(BIHjs77nr!5Q1*I9 z1%?=~#Oss!rV~?-6Gm~BWJiA4mJ5TY&iPm_$)H1_rTltuU1F3I(qTQ^U$S>%$l z)Wx1}R?ij0idp@8w-p!Oz{&*W;v*IA;JFHA9%nUvVDy7Q8woheC#|8QuDZb-L_5@R zOqHwrh|mVL9b=+$nJxM`3eE{O$sCt$UK^2@L$R(r^-_+z?lOo+me-VW=Zw z-Bn>$4ovfWd%SPY`ab-u9{INc*k2h+yH%toDHIyqQ zO68=u`N}RIIs7lsn1D){)~%>ByF<>i@qFb<-axvu(Z+6t7v<^z&gm9McRB~BIaDn$ z#xSGT!rzgad8o>~kyj#h1?7g96tOcCJniQ+*#=b7wPio>|6a1Z?_(TS{)KrPe}(8j z!#&A=k(&Pj^F;r)CI=Z{LVu>uj!_W1q4b`N1}E(i%;BWjbEcnD=mv$FL$l?zS6bW!{$7j1GR5ocn94P2u{ z70tAAcpqtQo<@cXw~@i-@6B23;317|l~S>CB?hR5qJ%J3EFgyBdJd^fHZu7AzHF(BQ!tyAz^L0`X z23S4Fe{2X$W0$zu9gm%rg~A>ijaE#GlYlrF9$ds^QtaszE#4M(OLVP2O-;XdT(XIC zatwzF*)1c+t~c{L=fMG8Z=k5lv>U0;C{caN1NItnuSMp)6G3mbahu>E#sj&oy94KC zpH}8oEw{G@N3pvHhp{^-YaZeH;K+T_1AUv;IKD<=mv^&Ueegrb!yf`4VlRl$M?wsl zZyFol(2|_QM`e_2lYSABpKR{{NlxlDSYQNkS;J66aT#MSiTx~;tUmvs-b*CrR4w=f z8+0;*th6kfZ3|5!Icx3RV11sp=?`0Jy3Fs0N4GZQMN=8HmT6%x9@{Dza)k}UwL6JT zHRDh;%!XwXr6yuuy`4;Xsn0zlR$k%r%9abS1;_v?`HX_hI|+EibVnlyE@3aL5vhQq zlIG?tN^w@0(v9M*&L+{_+RQZw=o|&BRPGB>e5=ys7H`nc8nx)|-g;s7mRc7hg{GJC zAe^vCIJhajmm7C6g! zL&!WAQ~5d_5)00?w_*|*H>3$loHrvFbitw#WvLB!JASO?#5Ig5$Ys10n>e4|3d;tS zELJ0|R4n3Az(Fl3-r^QiV_C;)lQ1_CW{5bKS15U|E9?ZgLec@%kXr84>5jV2a5v=w z?pB1GPdxD$IQL4)G||B_lI+A=08MUFFR4MxfGOu07vfIm+j=z9tp~5i_6jb`tR>qV z$#`=BQ*jpCjm$F0+F)L%xRlnS%#&gro6PiRfu^l!EVan|r3y}AHJQOORGx4~ z&<)3=K-tx518DZyp%|!EqpU!+X3Et7n2AaC5(AtrkW>_57i}$eqs$rupubg0a1+WO zGHZKLN2L0D;ab%{_S1Plm|hx8R?O14*w*f&2&bB050n!R2by zw!@XOQx$SqZ5I<(Qu$V6g>o#A!JVwErWv#(Pjx=KeS0@hxr4?13zj#oWwPS(7Ro|v z>Mp@Kmxo79q|}!5qtX2-O@U&&@6s~!I&)1WQIl?lTnh6UdKT_1R640S4~f=_xoN3- zI+O)$R@RjV$F=>Ti7BlnG1-cFKCC(t|Qjm{SalS~V-tX#+2ekRhwmN zZr`8{QF6y~Z!D|{=1*2D-JUa<(1Z=;!Ei!KiRNH?o{p5o3crFF=_pX9O-YyJchr$~ zRC`+G+8kx~fD2k*ZIiiIGR<8r&M@3H?%JVOfE>)})7ScOd&?OjgAGT@WVNSCZ8N(p zuQG~76GE3%(%h1*vUXg$vH{ua0b`sQ4f0*y=u~lgyb^!#CcPJa2mkSEHGLsnO^kb$ zru5_l#nu=Y{rSMWiYx?nO{8I!gH+?wEj~UM?IrG}E|bRIBUM>UlY<`T1EHpRr36vv zBi&dG8oxS|J$!zoaq{+JpJy+O^W(nt*|#g32bd&K^w-t>!Vu9N!k9eA8r!Xc{utY> zg9aZ(D2E0gL#W0MdjwES-7~Wa8iubPrd?8-$C4BP?*wok&O8+ykOx{P=Izx+G~hM8 z*9?BYz!T8~dzcZr#ux8kS7u7r@A#DogBH8km8Ry4slyie^n|GrTbO|cLhpqgMdsjX zJ_LdmM#I&4LqqsOUIXK8gW;V0B(7^$y#h3h>J0k^WJfAMeYek%Y-Dcb_+0zPJez!GM zAmJ1u;*rK=FNM0Nf}Y!!P9c4)HIkMnq^b;JFd!S3?_Qi2G#LIQ)TF|iHl~WKK6JmK zbv7rPE6VkYr_%_BT}CK8h=?%pk@3cz(UrZ{@h40%XgThP*-Oeo`T0eq9 zA8BnWZKzCy5e&&_GEsU4*;_k}(8l_&al5K-V*BFM=O~;MgRkYsOs%9eOY6s6AtE*<7GQAR2ulC3RAJrG_P1iQK5Z~&B z&f8X<>yJV6)oDGIlS$Y*D^Rj(cszTy5c81a5IwBr`BtnC6_e`ArI8CaTX_%rx7;cn zR-0?J_LFg*?(#n~G8cXut(1nVF0Oka$A$1FGcERU<^ggx;p@CZc?3UB41RY+wLS`LWFNSs~YP zuw1@DNN3lTd|jDL7gjBsd9}wIw}4xT2+8dBQzI00m<@?c2L%>}QLfK5%r!a-iII`p zX@`VEUH)uj^$;7jVUYdADQ2k*!1O3WdfgF?OMtUXNpQ1}QINamBTKDuv19^{$`8A1 zeq%q*O0mi@(%sZU>Xdb0Ru96CFqk9-L3pzLVsMQ`Xpa~N6CR{9Rm2)A|CI21L(%GW zh&)Y$BNHa=FD+=mBw3{qTgw)j0b!Eahs!rZnpu)z!!E$*eXE~##yaXz`KE5(nQM`s zD!$vW9XH)iMxu9R>r$VlLk9oIR%HxpUiW=BK@4U)|1WNQ=mz9a z^!KkO=>GaJ!GBXm{KJj^;kh-MkUlEQ%lza`-G&}C5y1>La1sR6hT=d*NeCnuK%_LV zOXt$}iP6(YJKc9j-Fxq~*ItVUqljQ8?oaysB-EYtFQp9oxZ|5m0^Hq(qV!S+hq#g( z?|i*H2MIr^Kxgz+3vIljQ*Feejy6S4v~jKEPTF~Qhq!(ms5>NGtRgO5vfPPc4Z^AM zTj!`5xEreIN)vaNxa|q6qWdg>+T`Ol0Uz)ckXBXEGvPNEL3R8hB3=C5`@=SYgAju1 z!)UBr{2~=~xa{b8>x2@C7weRAEuatC)3pkRhT#pMPTpSbA|tan%U7NGMvzmF?c!V8 z=pEWxbdXbTAGtWTyI?Fml%lEr-^AE}w#l(<7OIw;ctw}imYax&vR4UYNJZK6P7ZOd zP87XfhnUHxCUHhM@b*NbTi#(-8|wcv%3BGNs#zRCVV(W?1Qj6^PPQa<{yaBwZ`+<`w|;rqUY_C z&AeyKwwf*q#OW-F()lir=T^<^wjK65Lif$puuU5+tk$;e_EJ;Lu+pH>=-8=PDhkBg z8cWt%@$Sc#C6F$Vd+0507;{OOyT7Hs%nKS88q-W!$f~9*WGBpHGgNp}=C*7!RiZ5s zn1L_DbKF@B8kwhDiLKRB@lsXVVLK|ph=w%_`#owlf@s@V(pa`GY$8h%;-#h@TsO|Y8V=n@*!Rog7<7Cid%apR|x zOjhHCyfbIt%+*PCveTEcuiDi%Wx;O;+K=W?OFUV%)%~6;gl?<0%)?snDDqIvkHF{ zyI02)+lI9ov42^hL>ZRrh*HhjF9B$A@=H94iaBESBF=eC_KT$8A@uB^6$~o?3Wm5t1OIaqF^~><2?4e3c&)@wKn9bD? zoeCs;H>b8DL^F&>Xw-xjZEUFFTv>JD^O#1E#)CMBaG4DX9bD(Wtc8Rzq}9soQ8`jf zeSnHOL}<+WVSKp4kkq&?SbETjq6yr@4%SAqOG=9E(3YeLG9dtV+8vmzq+6PFPk{L; z(&d++iu=^F%b+ea$i2UeTC{R*0Isk;vFK!no<;L+(`y`3&H-~VTdKROkdyowo1iqR zbVW(3`+(PQ2>TKY>N!jGmGo7oeoB8O|P_!Ic@ zZ^;3dnuXo;WJ?S+)%P>{Hcg!Jz#2SI(s&dY4QAy_vRlmOh)QHvs_7c&zkJCmJGVvV zX;Mtb>QE+xp`KyciG$Cn*0?AK%-a|=o!+7x&&yzHQOS>8=B*R=niSnta^Pxp1`=md z#;$pS$4WCT?mbiCYU?FcHGZ#)kHVJTTBt^%XE(Q};aaO=Zik0UgLcc0I(tUpt(>|& zcxB_|fxCF7>&~5eJ=Dpn&5Aj{A^cV^^}(7w#p;HG&Q)EaN~~EqrE1qKrMAc&WXIE;>@<&)5;gD2?={Xf@Mvn@OJKw=8Mgn z!JUFMwD+s==JpjhroT&d{$kQAy%+d`a*XxDEVxy3`NHzmITrE`o!;5ClXNPb4t*8P zzAivdr{j_v!=9!^?T3y?gzmqDWX6mkzhIzJ-3S{T5bcCFMr&RPDryMcdwbBuZbsgN zGrp@^i?rcfN7v0NKGzDPGE#4yszxu=I_`MI%Z|10nFjU-UjQXXA?k8Pk|OE<(?ae) zE%vG#eZAlj*E7_3dx#Zz4kMLj>H^;}33UAankJiDy5ZvEhrjr`!9eMD8COp}U*hP+ zF}KIYx@pkccIgyxFm#LNw~G&`;o&5)2`5aogs`1~7cMZQ7zj!%L4E`2yzlQN6REX20&O<9 zKV6fyr)TScJPPzNTC2gL+0x#=u>(({{D7j)c-%tvqls3#Y?Z1m zV5WUE)zdJ{$p>yX;^P!UcXP?UD~YM;IRa#Rs5~l+*$&nO(;Ers`G=0D!twR(0GF@c zHl9E5DQI}Oz74n zfKP>&$q0($T4y$6w(p=ERAFh+>n%iaeRA%!T%<^+pg?M)@ucY<&59$x9M#n+V&>}=nO9wCV{O~lg&v#+jcUj(tQ z`0u1YH)-`U$15a{pBkGyPL0THv1P|4e@pf@3IBZS4dVJPo#H>pWq%Lr0YS-SeWash z8R7=jb28KPMI|_lo#GEO|5B?N_e``H*23{~a!AmUJ+fb4HX-%QI@lSEUxKlGV7z7Q zSKw@-TR>@1RL%w{x}dW#k1NgW+q4yt2Xf1J62Bx*O^WG8OJ|FqI4&@d3_o8Id@*)4 zYrk=>@!wv~mh7YWv*bZhxqSmFh2Xq)o=m;%n$I?GSz49l1$xRpPu_^N(vZ>*>Z<04 z2+rP70oM=NDysd!@fQdM2OcyT?3T^Eb@lIC-UG=Bw{BjQ&P`KCv$AcJ;?`vdZ4){d z&gkoUK{$!$$K`3*O-jyM1~p-7T*qb)Ys>Myt^;#1&a%O@x8A+E>! zY8=eD`ZG)LVagDLBeHg>=atOG?Kr%h4B%E6m@J^C+U|y)XX@f z8oyJDW|9g=<#f<{JRr{y#~euMnv)`7j=%cHWLc}ngjq~7k**6%4u>Px&W%4D94(r* z+akunK}O0DC2A%Xo9jyF;DobX?!1I(7%}@7F>i%&nk*LMO)bMGg2N+1iqtg+r(70q zF5{Msgsm5GS7DT`kBsjMvOrkx&|EU!{{~gL4d2MWrAT=KBQ-^zQCUq{5PD1orxlIL zq;CvlWx#f1NWvh`hg011I%?T_s!e38l*lWVt|~z-PO4~~1g)SrJ|>*tXh=QfXT)%( z+ex+inPvD&O4Ur;JGz>$sUOnWdpSLcm1X%aQDw4{dB!cnj`^muI$CJ2%p&-kULVCE z>$eMR36kN$wCPR+OFDM3-U(VOrp9k3)lI&YVFqd;Kpz~K)@Fa&FRw}L(SoD z9B4a+hQzZT-BnVltst&=kq6Y(f^S4hIGNKYBgMxGJ^;2yrO}P3;r)(-I-CZ)26Y6? z&rzHI_1GCvGkgy-t1E;r^3Le30|%$ebDRu2+gdLG)r=A~Qz`}~&L@aGJ{}vVs_GE* zVUjFnzHiXfKQbpv&bR&}l2bzIjAooB)=-XNcYmrGmBh(&iu@o!^hn0^#}m2yZZUK8 zufVm7Gq0y`Mj;9b>`c?&PZkU0j4>IL=UL&-Lp3j&47B5pAW4JceG{!XCA)kT<%2nqCxj<)uy6XR_uws~>_MEKPOpAQ!H zkn>FKh)<9DwwS*|Y(q?$^N!6(51O0 z^JM~Ax{AI1Oj$fs-S5d4T7Z_i1?{%0SsIuQ&r8#(JA=2iLcTN+?>wOL532%&dMYkT z*T5xepC+V6zxhS@vNbMoi|i)=rpli@R9~P!39tWbSSb904ekv7D#quKbgFEMTb48P zuq(VJ+&L8aWU(_FCD$3^uD!YM%O^K(dvy~Wm2hUuh6bD|#(I39Xt>N1Y{ZqXL`Fg6 zKQ?T2htHN!(Bx;tV2bfTtIj7e)liN-29s1kew>v(D^@)#v;}C4-G=7x#;-dM4yRWm zyY`cS21ulzMK{PoaQ6xChEZ}o_#}X-o}<&0)$1#3we?+QeLt;aVCjeA)hn!}UaKt< zat1fHEx13y-rXNMvpUUmCVzocPmN~-Y4(YJvQ#db)4|%B!rBsgAe+*yor~}FrNH08 z3V!97S}D7d$zbSD{$z;@IYMxM6aHdypIuS*pr_U6;#Y!_?0i|&yU*@16l z*dcMqDQgfNBf}?quiu4e>H)yTVfsp#f+Du0@=Kc41QockXkCkvu>FBd6Q+@FL!(Yx z2`YuX#eMEiLEDhp+9uFqME_E^faV&~9qjBHJkIp~%$x^bN=N)K@kvSVEMdDuzA0sn z88CBG?`RX1@#hQNd`o^V{37)!w|nA)QfiYBE^m=yQKv-fQF+UCMcuEe1d4BH7$?>b zJl-r9@0^Ie=)guO1vOd=i$_4sz>y3x^R7n4ED!5oXL3@5**h(xr%Hv)_gILarO46q+MaDOF%ChaymKoI6JU5Pg;7#2n9-18|S1;AK+ zgsn6;k6-%!QD>D?cFy}8F;r@z8H9xN1jsOBw2vQONVqBVEbkiNUqgw~*!^##ht>w0 zUOykwH=$LwX2j&nLy=@{hr)2O&-wm-NyjW7n~Zs9UlH;P7iP3 zI}S(r0YFVYacnKH(+{*)Tbw)@;6>%=&Th=+Z6NHo_tR|JCI8TJiXv2N7ei7M^Q+RM z?9o`meH$5Yi;@9XaNR#jIK^&{N|DYNNbtdb)XW1Lv2k{E>;?F`#Pq|&_;gm~&~Zc9 zf+6ZE%{x4|{YdtE?a^gKyzr}dA>OxQv+pq|@IXL%WS0CiX!V zm$fCePA%lU{%pTKD7|5NJHeXg=I0jL@$tOF@K*MI$)f?om)D63K*M|r`gb9edD1~Y zc|w7N)Y%do7=0{RC|AziW7#am$)9jciRJ?IWl9PE{G3U+$%FcyKs_0Cgq`=K3@ttV z9g;M!3z~f_?P%y3-ph%vBMeS@p7P&Ea8M@97+%XEj*(1E6vHj==d zjsoviB>j^$_^OI_DEPvFkVo(BGRo%cJeD){6Uckei=~1}>sp299|IRjhXe)%?uP0I zF5+>?0#Ye}T^Y$u_rc4=lPcq4K^D(TZG-w30-YiEM=dcK+4#o*>lJ8&JLi+3UcpZk z!^?95S^C0ja^jwP`|{<+3cBVog$(mRdQmadS+Vh~z zS@|P}=|z3P6uS+&@QsMp0no9Od&27O&14zHXGAOEy zh~OKpymK5C%;LLb467@KgIiVwYbYd6wFxI{0-~MOGfTq$nBTB!{SrWmL9Hs}C&l&l#m?s*{tA?BHS4mVKHAVMqm63H<|c5n0~k)-kbg zXidai&9ZUy0~WFYYKT;oe~rytRk?)r8bptITsWj(@HLI;@=v5|XUnSls7$uaxFRL+ zRVMGuL3w}NbV1`^=Pw*0?>bm8+xfeY(1PikW*PB>>Tq(FR`91N0c2&>lL2sZo5=VD zQY{>7dh_TX98L2)n{2OV=T10~*YzX27i2Q7W86M4$?gZIXZaBq#sA*{PH8){|GUi;oM>e?ua7eF4WFuFYZSG| zze?srg|5Ti8Og{O zeFxuw9!U+zhyk?@w zjsA6(oKD=Ka;A>Ca)oPORxK+kxH#O@zhC!!XS4@=swnuMk>t+JmLmFiE^1aX3f<)D@`%K0FGK^gg1a1j>zi z2KhV>sjU7AX3F$SEqrXSC}fRx64GDoc%!u2Yag68Lw@w9v;xOONf@o)Lc|Uh3<21ctTYu-mFZuHk*+R{GjXHIGq3p)tFtQp%TYqD=j1&y)>@zxoxUJ!G@ zgI0XKmP6MNzw>nRxK$-Gbzs}dyfFzt>#5;f6oR27ql!%+{tr+(`(>%51|k`ML} zY4eE)Lxq|JMas(;JibNQds1bUB&r}ydMQXBY4x(^&fY_&LlQC)3hylc$~8&~|06-D z#T+%66rYbHX%^KuqJED_wuGB+=h`nWA!>1n0)3wZrBG3%`b^Ozv6__dNa@%V14|!D zQ?o$z5u0^8`giv%qE!BzZ!3j;BlDlJDk)h@9{nSQeEk!z9RGW) z${RSF3phEM*ce*>Xdp}585vj$|40=&S{S-GTiE?Op*vY&Lvr9}BO$XWy80IF+6@%n z5*2ueT_g@ofP#u5pxb7n*fv^Xtt7&?SRc{*2Ka-*!BuOpf}neHGCiHy$@Ka1^Dint z;DkmIL$-e)rj4o2WQV%Gy;Xg(_Bh#qeOsTM2f@KEe~4kJ8kNLQ+;(!j^bgJMcNhvklP5Z6I+9Fq@c&D~8Fb-4rmDT!MB5QC{Dsb;BharP*O;SF4& zc$wj-7Oep7#$WZN!1nznc@Vb<_Dn%ga-O#J(l=OGB`dy=Sy&$(5-n3zzu%d7E#^8`T@}V+5B;PP8J14#4cCPw-SQTdGa2gWL0*zKM z#DfSXs_iWOMt)0*+Y>Lkd=LlyoHjublNLefhKBv@JoC>P7N1_#> zv=mLWe96%EY;!ZGSQDbZWb#;tzqAGgx~uk+-$+2_8U`!ypbwXl z^2E-FkM1?lY@yt8=J3%QK+xaZ6ok=-y%=KXCD^0r!5vUneW>95PzCkOPO*t}p$;-> ze5j-BLT_;)cZQzR2CEsm@rU7GZfFtdp*a|g4wDr%8?2QkIGasRfDWT-Dvy*U{?IHT z*}wGnzdlSptl#ZF^sf)KT|BJs&kLG91^A6ls{CzFprZ6-Y!V0Xysh%9p%iMd7HLsS zN+^Un$tDV)T@i!v?3o0Fsx2qI(AX_$dDkBzQ@fRM%n zRXk6hb9Py#JXUs+7)w@eo;g%QQ95Yq!K_d=z{0dGS+pToEI6=Bo8+{k$7&Z zo4>PH(`ce8E-Ps&uv`NQ;U$%t;w~|@E3WVOCi~R4oj5wP?%<*1C%}Jq%a^q~T7u>K zML5AKfQDv6>PuT`{SrKHRAF+^&edg6+5R_#H?Lz3iGoWo#PCEd0DS;)2U({{X#zU^ zw_xv{4x7|t!S)>44J;KfA|DC?;uQ($l+5Vp7oeqf7{GBF9356nx|&B~gs+@N^gSdd zvb*>&W)|u#F{Z_b`f#GVtQ`pYv3#||N{xj1NgB<#=Odt6{eB%#9RLt5v zIi|0u70`#ai}9fJjKv7dE!9ZrOIX!3{$z_K5FBd-Kp-&e4(J$LD-)NMTp^_pB`RT; zftVVlK2g@+1Ahv2$D){@Y#cL#dUj9*&%#6 zd2m9{1NYp>)6=oAvqdCn5#cx{AJ%S8skUgMglu2*IAtd+z1>B&`MuEAS(D(<6X#Lj z?f4CFx$)M&$=7*>9v1ER4b6!SIz-m0e{o0BfkySREchp?WdVPpQCh!q$t>?rL!&Jg zd#heM;&~A}VEm8Dvy&P|J*eAV&w!&Nx6HFV&B8jJFVTmgLaswn!cx$&%JbTsloz!3 zMEz1d`k==`Ueub_JAy_&`!ogbwx27^ZXgFNAbx=g_I~5nO^r)}&myw~+yY*cJl4$I znNJ32M&K=0(2Dj_>@39`3=FX!v3nZHno_@q^!y}%(yw0PqOo=);6Y@&ylVe>nMOZ~ zd>j#QQSBn3oaWd;qy$&5(5H$Ayi)0haAYO6TH>FR?rhqHmNOO+(})NB zLI@B@v0)eq!ug`>G<@htRlp3n!EpU|n+G+AvXFrWSUsLMBfL*ZB`CRsIVHNTR&b?K zxBgsN0BjfB>UVcJ|x%=-zb%OV7lmZc& zxiupadZVF7)6QuhoY;;FK2b*qL0J-Rn-8!X4ZY$-ZSUXV5DFd7`T41c(#lAeLMoeT z4%g655v@7AqT!i@)Edt5JMbN(=Q-6{=L4iG8RA%}w;&pKmtWvI4?G9pVRp|RTw`g0 zD5c12B&A2&P6Ng~8WM2eIW=wxd?r7A*N+&!Be7PX3s|7~z=APxm=A?5 zt>xB4WG|*Td@VX{Rs)PV0|yK`oI3^xn(4c_j&vgxk_Y3o(-`_5o`V zRTghg6%l@(qodXN;dB#+OKJEEvhfcnc#BeO2|E(5df-!fKDZ!%9!^BJ_4)9P+9Dq5 zK1=(v?KmIp34r?z{NEWnLB3Px{XYwy-akun4F7xTRr2^zeYW{gcK9)>aJDdU5;w5@ zak=<+-PLH-|04pelTb%ULpuuuJC7DgyT@D|p{!V!0v3KpDnRjANN12q6SUR3mb9<- z>2r~IApQGhstZ!3*?5V z8#)hJ0TdZg0M-BK#nGFP>$i=qk82DO z7h;Ft!D5E15OgW)&%lej*?^1~2=*Z5$2VX>V{x8SC+{i10BbtUk9@I#Vi&hX)q
Q!LwySI{Bnv%Sm)yh{^sSVJ8&h_D-BJ_YZe5eCaAWU9b$O2c z$T|{vWVRtOL!xC0DTc(Qbe`ItNtt5hr<)VijD0{U;T#bUEp381_y`%ZIav?kuYG{iyYdEBPW=*xNSc;Rlt6~F4M`5G+VtOjc z*0qGzCb@gME5udTjJA-9O<&TWd~}ysBd(eVT1-H82-doyH9RST)|+Pb{o*;$j9Tjs zhU!IlsPsj8=(x3bAKJTopW3^6AKROHR^7wZ185wJGVhA~hEc|LP;k7NEz-@4p5o}F z`AD6naG3(n=NF9HTH81=F+Q|JOz$7wm9I<+#BSmB@o_cLt2GkW9|?7mM;r!JZp89l zbo!Hp8=n!XH1{GwaDU+k)pGp`C|cXkCU5%vcH)+v@0eK>%7gWxmuMu9YLlChA|_D@ zi#5zovN_!a-0?~pUV-Rj*1P)KwdU-LguR>YM&*Nen+ln8Q$?WFCJg%DY%K}2!!1FE zDv-A%Cbwo^p(lzac&_TZ-l#9kq`mhLcY3h9ZTUVCM(Ad&=EriQY5{jJv<5K&g|*Lk zgV%ILnf1%8V2B0E&;Sp4sYbYOvvMebLwYwzkRQ#F8GpTQq#uv=J`uaSJ34OWITeSGo6+-8Xw znCk*n{kdDEi)Hi&u^)~cs@iyCkFWB2SWZU|Uc%^43ZIZQ-vWNExCCtDWjqHs;;tWf$v{}0{p0Rvxkq``)*>+Akq%|Na zA`@~-Vfe|+(AIlqru+7Ceh4nsVmO9p9jc8}HX^W&ViBDXT+uXbT#R#idPn&L>+#b6 zflC-4C5-X;kUnR~L>PSLh*gvL68}RBsu#2l`s_9KjUWRhiqF`j)`y`2`YU(>3bdBj z?>iyjEhe-~$^I5!nn%B6Wh+I`FvLNvauve~eX<+Ipl&04 zT}};W&1a3%W?dJ2=N#0t?e+aK+%t}5q%jSLvp3jZ%?&F}nOOWr>+{GFIa%wO_2`et z=JzoRR~}iKuuR+azPI8;Gf9)z3kyA4EIOSl!sRR$DlW}0>&?GbgPojmjmnln;cTqCt=ADbE zZ8GAnoM+S1(5$i8^O4t`ue;vO4i}z0wz-QEIVe5_u03;}-!G1NyY8;h^}y;tzY}i5 zqQr#Ur3Fy8sSa$Q0ys+f`!`+>9WbvU_I`Sj;$4{S>O3?#inLHCrtLy~!s#WXV=oVP zeE93*Nc`PBi4q@%Ao$x4lw9vLHM!6mn3-b_cebF|n-2vt-zYVF_&sDE--J-P;2WHo z+@n2areE0o$LjvjlV2X7ZU@j+`{*8zq`JR3gKF#EW|#+{nMyo-a>nFFTg&vhyT=b} zDa8+v0(Dgx0yRL@ZXOYIlVSZ0|MFizy0VPW8;AfA5|pe!#j zX}Py^8fl5SyS4g1WSKKtnyP+_PoOwMMwu`(i@Z)diJp~U54*-miOchy7Z35eL>^M z4p<-aIxH4VUZgS783@H%M7P9hX>t{|RU7$n4T(brCG#h9e9p! z+o`i;EGGq3&pF;~5V~eBD}lC)>if$w%Vf}AFxGqO88|ApfHf&Bvu+xdG)@vuF}Yvk z)o;~k-%+0K0g+L`Wala!$=ZV|z$e%>f0%XoLib%)!R^RoS+{!#X?h-6uu zF&&KxORdZU&EwQFITIRLo(7TA3W}y6X{?Y%y2j0It!ekU#<)$qghZtpcS>L3uh`Uj z7GY;6f$9qKynP#oS3$$a{p^{D+0oJQ71`1?OAn_m8)UGZmj3l*ZI)`V-a>MKGGFG< z&^jg#Ok%(hhm>hSrZ5;Qga4u(?^i>GiW_j9%_7M>j(^|Om$#{k+^*ULnEgzW_1gCICtAD^WpC`A z{9&DXkG#01Xo)U$OC(L5Y$DQ|Q4C6CjUKk1UkPj$nXH##J{c8e#K|&{mA*;b$r0E4 zUNo0jthwA(c&N1l=PEe8Rw_8cEl|-eya9z&H3#n`B$t#+aJ03RFMzrV@gowbe8v(c zIFM60^0&lCFO10NU4w@|61xiZ4CVXeaKjd;d?sv52XM*lS8XiVjgWpRB;&U_C0g+`6B5V&w|O6B*_q zsATxL!M}+$He)1eOWECce#eS@2n^xhlB4<_Nn?yCVEQWDs(r`|@2GqLe<#(|&P0U? z$7V5IgpWf09uIf_RazRwC?qEqRaHyL?iiS05UiGesJy%^>-C{{ypTBI&B0-iUYhk> zIk<5xpsuV@g|z(AZD+C-;A!fTG=df1=<%nxy(a(IS+U{ME4ZbDEBtcD_3V=icT6*_ z)>|J?>&6%nvHhZERBtjK+s4xnut*@>GAmA5m*OTp$!^CHTr}vM4n(X1Q*;{e-Rd2BCF-u@1ZGm z!S8hJ6L=Gl4T_SDa7Xx|-{4mxveJg=ctf`BJ*fy!yF6Dz&?w(Q_6B}WQVtNI!BVBC zKfX<>7vd6C96}XAQmF-Jd?1Q4eTfRB3q7hCh0f!(JkdWT5<{iAE#dKy*Jxq&3a1@~ z8C||Dn2mFNyrUV|<-)C^_y7@8c2Fz+2jrae9deBDu;U}tJ{^xAdxCD248(k;dCJ%o z`y3sADe>U%suxwwv~8A1+R$VB=Q?%U?4joI$um;aH+eCrBqpn- z%79D_7rb;R-;-9RTrwi9dPlg8&@tfWhhZ(Vx&1PQ+6(huX`;M9x~LrW~~#3{j0Bh2kDU$}@!fFQej4VGkJv?M4rU^x!RU zEwhu$!CA_iDjFjrJa`aocySDX16?~;+wgav;}Zut6Mg%C4>}8FL?8)Kgwc(Qlj{@#2Pt0?G`$h7P#M+qoXtlV@d}%c&OzO+QYKK`kyXaK{U(O^2DyIXCZlNQjt0^8~8JzNGrIxhj}}M z&~QZlbx%t;MJ(Vux;2tgNKGlAqphLq%pd}JG9uoVHUo?|hN{pLQ6Em%r*+7t^<);X zm~6=qChlNAVXNN*Sow->*4;}T;l;D1I-5T{Bif@4_}=>l`tK;qqDdt5zvisCKhMAH z#r}`)7VW?LZqfdmXQ%zo5bJ00{Xb9^YKrk0Nf|oIW*K@(=`o2Vndz}ZDyk{!u}PVx zzd--+_WC*U{~DH3{?GI64IB+@On&@9X>EUAo&L+G{L^dozaI4C3G#2wr~hseW@K&g zKWs{uHu-9Je!3;4pE>eBltKUXb^*hG8I&413)$J&{D4N%7PcloU6bn%jPxJyQL?g* z9g+YFFEDiE`8rW^laCNzQmi7CTnPfwyg3VDHRAl>h=In6jeaVOP@!-CP60j3+#vpL zEYmh_oP0{-gTe7Or`L6x)6w?77QVi~jD8lWN@3RHcm80iV%M1A!+Y6iHM)05iC64tb$X2lV_%Txk@0l^hZqi^%Z?#- zE;LE0uFx)R08_S-#(wC=dS&}vj6P4>5ZWjhthP=*Hht&TdLtKDR;rXEX4*z0h74FA zMCINqrh3Vq;s%3MC1YL`{WjIAPkVL#3rj^9Pj9Ss7>7duy!9H0vYF%>1jh)EPqvlr6h%R%CxDsk| z!BACz7E%j?bm=pH6Eaw{+suniuY7C9Ut~1cWfOX9KW9=H><&kQlinPV3h9R>3nJvK z4L9(DRM=x;R&d#a@oFY7mB|m8h4692U5eYfcw|QKwqRsshN(q^v$4$)HgPpAJDJ`I zkqjq(8Cd!K!+wCd=d@w%~e$=gdUgD&wj$LQ1r>-E=O@c ze+Z$x{>6(JA-fNVr)X;*)40Eym1TtUZI1Pwwx1hUi+G1Jlk~vCYeXMNYtr)1?qwyg zsX_e*$h?380O00ou?0R@7-Fc59o$UvyVs4cUbujHUA>sH!}L54>`e` zHUx#Q+Hn&Og#YVOuo*niy*GU3rH;%f``nk#NN5-xrZ34NeH$l`4@t);4(+0|Z#I>Y z)~Kzs#exIAaf--65L0UHT_SvV8O2WYeD>Mq^Y6L!Xu8%vnpofG@w!}R7M28?i1*T&zp3X4^OMCY6(Dg<-! zXmcGQrRgHXGYre7GfTJ)rhl|rs%abKT_Nt24_Q``XH{88NVPW+`x4ZdrMuO0iZ0g` z%p}y};~T5gbb9SeL8BSc`SO#ixC$@QhXxZ=B}L`tP}&k?1oSPS=4%{UOHe0<_XWln zwbl5cn(j-qK`)vGHY5B5C|QZd5)W7c@{bNVXqJ!!n$^ufc?N9C-BF2QK1(kv++h!>$QbAjq)_b$$PcJdV+F7hz0Hu@ zqj+}m0qn{t^tD3DfBb~0B36|Q`bs*xs|$i^G4uNUEBl4g;op-;Wl~iThgga?+dL7s zUP(8lMO?g{GcYpDS{NM!UA8Hco?#}eNEioRBHy4`mq!Pd-9@-97|k$hpEX>xoX+dY zDr$wfm^P&}Wu{!%?)U_(%Mn79$(ywvu*kJ9r4u|MyYLI_67U7%6Gd_vb##Nerf@>& z8W11z$$~xEZt$dPG}+*IZky+os5Ju2eRi;1=rUEeIn>t-AzC_IGM-IXWK3^6QNU+2pe=MBn4I*R@A%-iLDCOHTE-O^wo$sL_h{dcPl=^muAQb`_BRm};=cy{qSkui;`WSsj9%c^+bIDQ z0`_?KX0<-=o!t{u(Ln)v>%VGL z0pC=GB7*AQ?N7N{ut*a%MH-tdtNmNC+Yf$|KS)BW(gQJ*z$d{+{j?(e&hgTy^2|AR9vx1Xre2fagGv0YXWqtNkg*v%40v?BJBt|f9wX5 z{QTlCM}b-0{mV?IG>TW_BdviUKhtosrBqdfq&Frdz>cF~yK{P@(w{Vr7z2qKFwLhc zQuogKO@~YwyS9%+d-zD7mJG~@?EFJLSn!a&mhE5$_4xBl&6QHMzL?CdzEnC~C3$X@ zvY!{_GR06ep5;<#cKCSJ%srxX=+pn?ywDwtJ2{TV;0DKBO2t++B(tIO4)Wh`rD13P z4fE$#%zkd=UzOB74gi=-*CuID&Z3zI^-`4U^S?dHxK8fP*;fE|a(KYMgMUo`THIS1f!*6dOI2 zFjC3O=-AL`6=9pp;`CYPTdVX z8(*?V&%QoipuH0>WKlL8A*zTKckD!paN@~hh zmXzm~qZhMGVdQGd=AG8&20HW0RGV8X{$9LldFZYm zE?}`Q3i?xJRz43S?VFMmqRyvWaS#(~Lempg9nTM$EFDP(Gzx#$r)W&lpFKqcAoJh-AxEw$-bjW>`_+gEi z2w`99#UbFZGiQjS8kj~@PGqpsPX`T{YOj`CaEqTFag;$jY z8_{Wzz>HXx&G*Dx<5skhpETxIdhKH?DtY@b9l8$l?UkM#J-Snmts7bd7xayKTFJ(u zyAT&@6cAYcs{PBfpqZa%sxhJ5nSZBPji?Zlf&}#L?t)vC4X5VLp%~fz2Sx<*oN<7` z?ge=k<=X7r<~F7Tvp9#HB{!mA!QWBOf%EiSJ6KIF8QZNjg&x~-%e*tflL(ji_S^sO ztmib1rp09uon}RcsFi#k)oLs@$?vs(i>5k3YN%$T(5Or(TZ5JW9mA6mIMD08=749$ z!d+l*iu{Il7^Yu}H;lgw=En1sJpCKPSqTCHy4(f&NPelr31^*l%KHq^QE>z>Ks_bH zjbD?({~8Din7IvZeJ>8Ey=e;I?thpzD=zE5UHeO|neioJwG;IyLk?xOz(yO&0DTU~ z^#)xcs|s>Flgmp;SmYJ4g(|HMu3v7#;c*Aa8iF#UZo7CvDq4>8#qLJ|YdZ!AsH%^_7N1IQjCro

K7UpUK$>l@ zw`1S}(D?mUXu_C{wupRS-jiX~w=Uqqhf|Vb3Cm9L=T+w91Cu^ z*&Ty%sN?x*h~mJc4g~k{xD4ZmF%FXZNC;oVDwLZ_WvrnzY|{v8hc1nmx4^}Z;yriXsAf+Lp+OFLbR!&Ox?xABwl zu8w&|5pCxmu#$?Cv2_-Vghl2LZ6m7}VLEfR5o2Ou$x02uA-%QB2$c(c1rH3R9hesc zfpn#oqpbKuVsdfV#cv@5pV4^f_!WS+F>SV6N0JQ9E!T90EX((_{bSSFv9ld%I0&}9 zH&Jd4MEX1e0iqDtq~h?DBrxQX1iI0lIs<|kB$Yrh&cpeK0-^K%=FBsCBT46@h#yi!AyDq1V(#V}^;{{V*@T4WJ&U-NTq43w=|K>z8%pr_nC>%C(Wa_l78Ufib$r8Od)IIN=u>417 z`Hl{9A$mI5A(;+-Q&$F&h-@;NR>Z<2U;Y21>>Z;s@0V@SbkMQQj%_;~+qTuQ?c|AV zcWm3XZQHhP&R%QWarS%mJ!9R^&!_)*s(v+VR@I#QrAT}`17Y+l<`b-nvmDNW`De%y zrwTZ9EJrj1AFA>B`1jYDow}~*dfPs}IZMO3=a{Fy#IOILc8F0;JS4x(k-NSpbN@qM z`@aE_e}5{!$v3+qVs7u?sOV(y@1Os*Fgu`fCW9=G@F_#VQ%xf$hj0~wnnP0$hFI+@ zkQj~v#V>xn)u??YutKsX>pxKCl^p!C-o?+9;!Nug^ z{rP!|+KsP5%uF;ZCa5F;O^9TGac=M|=V z_H(PfkV1rz4jl?gJ(ArXMyWT4y(86d3`$iI4^l9`vLdZkzpznSd5Ikfrs8qcSy&>z zTIZgWZGXw0n9ibQxYWE@gI0(3#KA-dAdPcsL_|hg2@~C!VZDM}5;v_Nykfq!*@*Zf zE_wVgx82GMDryKO{U{D>vSzSc%B~|cjDQrt5BN=Ugpsf8H8f1lR4SGo#hCuXPL;QQ z#~b?C4MoepT3X`qdW2dNn& zo8)K}%Lpu>0tQei+{>*VGErz|qjbK#9 zvtd8rcHplw%YyQCKR{kyo6fgg!)6tHUYT(L>B7er5)41iG`j$qe*kSh$fY!PehLcD zWeKZHn<492B34*JUQh=CY1R~jT9Jt=k=jCU2=SL&&y5QI2uAG2?L8qd2U(^AW#{(x zThSy=C#>k+QMo^7caQcpU?Qn}j-`s?1vXuzG#j8(A+RUAY})F@=r&F(8nI&HspAy4 z4>(M>hI9c7?DCW8rw6|23?qQMSq?*Vx?v30U%luBo)B-k2mkL)Ljk5xUha3pK>EEj z@(;tH|M@xkuN?gsz;*bygizwYR!6=(Xgcg^>WlGtRYCozY<rFX2E>kaZo)O<^J7a`MX8Pf`gBd4vrtD|qKn&B)C&wp0O-x*@-|m*0egT=-t@%dD zgP2D+#WPptnc;_ugD6%zN}Z+X4=c61XNLb7L1gWd8;NHrBXwJ7s0ce#lWnnFUMTR& z1_R9Fin4!d17d4jpKcfh?MKRxxQk$@)*hradH2$3)nyXep5Z;B z?yX+-Bd=TqO2!11?MDtG0n(*T^!CIiF@ZQymqq1wPM_X$Iu9-P=^}v7npvvPBu!d$ z7K?@CsA8H38+zjA@{;{kG)#AHME>Ix<711_iQ@WWMObXyVO)a&^qE1GqpP47Q|_AG zP`(AD&r!V^MXQ^e+*n5~Lp9!B+#y3#f8J^5!iC@3Y@P`;FoUH{G*pj*q7MVV)29+j z>BC`a|1@U_v%%o9VH_HsSnM`jZ-&CDvbiqDg)tQEnV>b%Ptm)T|1?TrpIl)Y$LnG_ zzKi5j2Fx^K^PG1=*?GhK;$(UCF-tM~^=Z*+Wp{FSuy7iHt9#4n(sUuHK??@v+6*|10Csdnyg9hAsC5_OrSL;jVkLlf zHXIPukLqbhs~-*oa^gqgvtpgTk_7GypwH><53riYYL*M=Q@F-yEPLqQ&1Sc zZB%w}T~RO|#jFjMWcKMZccxm-SL)s_ig?OC?y_~gLFj{n8D$J_Kw%{r0oB8?@dWzn zB528d-wUBQzrrSSLq?fR!K%59Zv9J4yCQhhDGwhptpA5O5U?Hjqt>8nOD zi{)0CI|&Gu%zunGI*XFZh(ix)q${jT8wnnzbBMPYVJc4HX*9d^mz|21$=R$J$(y7V zo0dxdbX3N#=F$zjstTf*t8vL)2*{XH!+<2IJ1VVFa67|{?LP&P41h$2i2;?N~RA30LV`BsUcj zfO9#Pg1$t}7zpv#&)8`mis3~o+P(DxOMgz-V*(?wWaxi?R=NhtW}<#^Z?(BhSwyar zG|A#Q7wh4OfK<|DAcl9THc-W4*>J4nTevsD%dkj`U~wSUCh15?_N@uMdF^Kw+{agk zJ`im^wDqj`Ev)W3k3stasP`88-M0ZBs7;B6{-tSm3>I@_e-QfT?7|n0D~0RRqDb^G zyHb=is;IwuQ&ITzL4KsP@Z`b$d%B0Wuhioo1CWttW8yhsER1ZUZzA{F*K=wmi-sb#Ju+j z-l@In^IKnb{bQG}Ps>+Vu_W#grNKNGto+yjA)?>0?~X`4I3T@5G1)RqGUZuP^NJCq&^HykuYtMDD8qq+l8RcZNJsvN(10{ zQ1$XcGt}QH-U^WU!-wRR1d--{B$%vY{JLWIV%P4-KQuxxDeJaF#{eu&&r!3Qu{w}0f--8^H|KwE>)ORrcR+2Qf zb})DRcH>k0zWK8@{RX}NYvTF;E~phK{+F;MkIP$)T$93Ba2R2TvKc>`D??#mv9wg$ zd~|-`Qx5LwwsZ2hb*Rt4S9dsF%Cny5<1fscy~)d;0m2r$f=83<->c~!GNyb!U)PA; zq^!`@@)UaG)Ew(9V?5ZBq#c%dCWZrplmuM`o~TyHjAIMh0*#1{B>K4po-dx$Tk-Cq z=WZDkP5x2W&Os`N8KiYHRH#UY*n|nvd(U>yO=MFI-2BEp?x@=N<~CbLJBf6P)}vLS?xJXYJ2^<3KJUdrwKnJnTp{ zjIi|R=L7rn9b*D#Xxr4*R<3T5AuOS+#U8hNlfo&^9JO{VbH!v9^JbK=TCGR-5EWR@ zN8T-_I|&@A}(hKeL4_*eb!1G8p~&_Im8|wc>Cdir+gg90n1dw?QaXcx6Op_W1r=axRw>4;rM*UOpT#Eb9xU1IiWo@h?|5uP zka>-XW0Ikp@dIe;MN8B01a7+5V@h3WN{J=HJ*pe0uwQ3S&MyWFni47X32Q7SyCTNQ z+sR!_9IZa5!>f&V$`q!%H8ci!a|RMx5}5MA_kr+bhtQy{-^)(hCVa@I!^TV4RBi zAFa!Nsi3y37I5EK;0cqu|9MRj<^r&h1lF}u0KpKQD^5Y+LvFEwM zLU@@v4_Na#Axy6tn3P%sD^5P#<7F;sd$f4a7LBMk zGU^RZHBcxSA%kCx*eH&wgA?Qwazm8>9SCSz_!;MqY-QX<1@p$*T8lc?@`ikEqJ>#w zcG``^CoFMAhdEXT9qt47g0IZkaU)4R7wkGs^Ax}usqJ5HfDYAV$!=6?>J6+Ha1I<5 z|6=9soU4>E))tW$<#>F ziZ$6>KJf0bPfbx_)7-}tMINlc=}|H+$uX)mhC6-Hz+XZxsKd^b?RFB6et}O#+>Wmw9Ec9) z{q}XFWp{3@qmyK*Jvzpyqv57LIR;hPXKsrh{G?&dRjF%Zt5&m20Ll?OyfUYC3WRn{cgQ?^V~UAv+5 z&_m#&nIwffgX1*Z2#5^Kl4DbE#NrD&Hi4|7SPqZ}(>_+JMz=s|k77aEL}<=0Zfb)a z%F(*L3zCA<=xO)2U3B|pcTqDbBoFp>QyAEU(jMu8(jLA61-H!ucI804+B!$E^cQQa z)_ERrW3g!B9iLb3nn3dlkvD7KsY?sRvls3QC0qPi>o<)GHx%4Xb$5a3GBTJ(k@`e@ z$RUa^%S15^1oLEmA=sayrP5;9qtf!Z1*?e$ORVPsXpL{jL<6E)0sj&swP3}NPmR%FM?O>SQgN5XfHE< zo(4#Cv11(%Nnw_{_Ro}r6=gKd{k?NebJ~<~Kv0r(r0qe4n3LFx$5%x(BKvrz$m?LG zjLIc;hbj0FMdb9aH9Lpsof#yG$(0sG2%RL;d(n>;#jb!R_+dad+K;Ccw!|RY?uS(a zj~?=&M!4C(5LnlH6k%aYvz@7?xRa^2gml%vn&eKl$R_lJ+e|xsNfXzr#xuh(>`}9g zLHSyiFwK^-p!;p$yt7$F|3*IfO3Mlu9e>Dpx8O`37?fA`cj`C0B-m9uRhJjs^mRp# zWB;Aj6|G^1V6`jg7#7V9UFvnB4((nIwG?k%c7h`?0tS8J3Bn0t#pb#SA}N-|45$-j z$R>%7cc2ebAClXc(&0UtHX<>pd)akR3Kx_cK+n<}FhzmTx!8e9^u2e4%x{>T6pQ`6 zO182bh$-W5A3^wos0SV_TgPmF4WUP-+D25KjbC{y_6W_9I2_vNKwU(^qSdn&>^=*t z&uvp*@c8#2*paD!ZMCi3;K{Na;I4Q35zw$YrW5U@Kk~)&rw;G?d7Q&c9|x<Hg|CNMsxovmfth*|E*GHezPTWa^Hd^F4!B3sF;)? z(NaPyAhocu1jUe(!5Cy|dh|W2=!@fNmuNOzxi^tE_jAtzNJ0JR-avc_H|ve#KO}#S z#a(8secu|^Tx553d4r@3#6^MHbH)vmiBpn0X^29xEv!Vuh1n(Sr5I0V&`jA2;WS|Y zbf0e}X|)wA-Pf5gBZ>r4YX3Mav1kKY(ulAJ0Q*jB)YhviHK)w!TJsi3^dMa$L@^{` z_De`fF4;M87vM3Ph9SzCoCi$#Fsd38u!^0#*sPful^p5oI(xGU?yeYjn;Hq1!wzFk zG&2w}W3`AX4bxoVm03y>ts{KaDf!}b&7$(P4KAMP=vK5?1In^-YYNtx1f#}+2QK@h zeSeAI@E6Z8a?)>sZ`fbq9_snl6LCu6g>o)rO;ijp3|$vig+4t} zylEo7$SEW<_U+qgVcaVhk+4k+C9THI5V10qV*dOV6pPtAI$)QN{!JRBKh-D zk2^{j@bZ}yqW?<#VVuI_27*cI-V~sJiqQv&m07+10XF+#ZnIJdr8t`9s_EE;T2V;B z4UnQUH9EdX%zwh-5&wflY#ve!IWt0UE-My3?L#^Bh%kcgP1q{&26eXLn zTkjJ*w+(|_>Pq0v8{%nX$QZbf)tbJaLY$03;MO=Ic-uqYUmUCuXD>J>o6BCRF=xa% z3R4SK9#t1!K4I_d>tZgE>&+kZ?Q}1qo4&h%U$GfY058s%*=!kac{0Z+4Hwm!)pFLR zJ+5*OpgWUrm0FPI2ib4NPJ+Sk07j(`diti^i#kh&f}i>P4~|d?RFb#!JN)~D@)beox}bw?4VCf^y*`2{4`-@%SFTry2h z>9VBc9#JxEs1+0i2^LR@B1J`B9Ac=#FW=(?2;5;#U$0E0UNag_!jY$&2diQk_n)bT zl5Me_SUvqUjwCqmVcyb`igygB_4YUB*m$h5oeKv3uIF0sk}~es!{D>4r%PC*F~FN3owq5e0|YeUTSG#Vq%&Gk7uwW z0lDo#_wvflqHeRm*}l?}o;EILszBt|EW*zNPmq#?4A+&i0xx^?9obLyY4xx=Y9&^G;xYXYPxG)DOpPg!i_Ccl#3L}6xAAZzNhPK1XaC_~ z!A|mlo?Be*8Nn=a+FhgpOj@G7yYs(Qk(8&|h@_>w8Y^r&5nCqe0V60rRz?b5%J;GYeBqSAjo|K692GxD4` zRZyM2FdI+-jK2}WAZTZ()w_)V{n5tEb@>+JYluDozCb$fA4H)$bzg(Ux{*hXurjO^ zwAxc+UXu=&JV*E59}h3kzQPG4M)X8E*}#_&}w*KEgtX)cU{vm9b$atHa;s>| z+L6&cn8xUL*OSjx4YGjf6{Eq+Q3{!ZyhrL&^6Vz@jGbI%cAM9GkmFlamTbcQGvOlL zmJ?(FI)c86=JEs|*;?h~o)88>12nXlpMR4@yh%qdwFNpct;vMlc=;{FSo*apJ;p}! zAX~t;3tb~VuP|ZW;z$=IHf->F@Ml)&-&Bnb{iQyE#;GZ@C$PzEf6~q}4D>9jic@mTO5x76ulDz@+XAcm35!VSu zT*Gs>;f0b2TNpjU_BjHZ&S6Sqk6V1370+!eppV2H+FY!q*n=GHQ!9Rn6MjY!Jc77A zG7Y!lFp8?TIHN!LXO?gCnsYM-gQxsm=Ek**VmZu7vnuufD7K~GIxfxbsQ@qv2T zPa`tvHB$fFCyZl>3oYg?_wW)C>^_iDOc^B7klnTOoytQH18WkOk)L2BSD0r%xgRSW zQS9elF^?O=_@|58zKLK;(f77l-Zzu}4{fXed2saq!5k#UZAoDBqYQS{sn@j@Vtp|$ zG%gnZ$U|9@u#w1@11Sjl8ze^Co=)7yS(}=;68a3~g;NDe_X^}yJj;~s8xq9ahQ5_r zxAlTMnep*)w1e(TG%tWsjo3RR;yVGPEO4V{Zp?=a_0R#=V^ioQu4YL=BO4r0$$XTX zZfnw#_$V}sDAIDrezGQ+h?q24St0QNug_?{s-pI(^jg`#JRxM1YBV;a@@JQvH8*>> zIJvku74E0NlXkYe_624>znU0J@L<-c=G#F3k4A_)*;ky!C(^uZfj%WB3-*{*B$?9+ zDm$WFp=0(xnt6`vDQV3Jl5f&R(Mp};;q8d3I%Kn>Kx=^;uSVCw0L=gw53%Bp==8Sw zxtx=cs!^-_+i{2OK`Q;913+AXc_&Z5$@z3<)So0CU3;JAv=H?@Zpi~riQ{z-zLtVL z!oF<}@IgJp)Iyz1zVJ42!SPHSkjYNS4%ulVVIXdRuiZ@5Mx8LJS}J#qD^Zi_xQ@>DKDr-_e#>5h3dtje*NcwH_h;i{Sx7}dkdpuW z(yUCjckQsagv*QGMSi9u1`Z|V^}Wjf7B@q%j2DQXyd0nOyqg%m{CK_lAoKlJ7#8M} z%IvR?Vh$6aDWK2W!=i?*<77q&B8O&3?zP(Cs@kapc)&p7En?J;t-TX9abGT#H?TW? ztO5(lPKRuC7fs}zwcUKbRh=7E8wzTsa#Z{a`WR}?UZ%!HohN}d&xJ=JQhpO1PI#>X zHkb>pW04pU%Bj_mf~U}1F1=wxdBZu1790>3Dm44bQ#F=T4V3&HlOLsGH)+AK$cHk6 zia$=$kog?)07HCL*PI6}DRhpM^*%I*kHM<#1Se+AQ!!xyhcy6j7`iDX7Z-2i73_n# zas*?7LkxS-XSqv;YBa zW_n*32D(HTYQ0$feV_Fru1ZxW0g&iwqixPX3=9t4o)o|kOo79V$?$uh?#8Q8e>4e)V6;_(x&ViUVxma+i25qea;d-oK7ouuDsB^ab{ zu1qjQ%`n56VtxBE#0qAzb7lph`Eb-}TYpXB!H-}3Ykqyp`otprp7{VEuW*^IR2n$Fb99*nAtqT&oOFIf z@w*6>YvOGw@Ja?Pp1=whZqydzx@9X4n^2!n83C5{C?G@|E?&$?p*g68)kNvUTJ)I6 z1Q|(#UuP6pj78GUxq11m-GSszc+)X{C2eo-?8ud9sB=3(D47v?`JAa{V(IF zPZQ_0AY*9M97>Jf<o%#O_%Wq}8>YM=q0|tGY+hlXcpE=Z4Od z`NT7Hu2hnvRoqOw@g1f=bv`+nba{GwA$Ak0INlqI1k<9!x_!sL()h?hEWoWrdU3w` zZ%%)VR+Bc@_v!C#koM1p-3v_^L6)_Ktj4HE>aUh%2XZE@JFMOn)J~c`_7VWNb9c-N z2b|SZMR4Z@E7j&q&9(6H3yjEu6HV7{2!1t0lgizD;mZ9$r(r7W5G$ky@w(T_dFnOD z*p#+z$@pKE+>o@%eT(2-p_C}wbQ5s(%Sn_{$HDN@MB+Ev?t@3dPy`%TZ!z}AThZSu zN<1i$siJhXFdjV zP*y|V<`V8t=h#XTRUR~5`c`Z9^-`*BZf?WAehGdg)E2Je)hqFa!k{V(u+(hTf^Yq& zoruUh2(^3pe)2{bvt4&4Y9CY3js)PUHtd4rVG57}uFJL)D(JfSIo^{P=7liFXG zq5yqgof0V8paQcP!gy+;^pp-DA5pj=gbMN0eW=-eY+N8~y+G>t+x}oa!5r>tW$xhI zPQSv=pi;~653Gvf6~*JcQ%t1xOrH2l3Zy@8AoJ+wz@daW@m7?%LXkr!bw9GY@ns3e zSfuWF_gkWnesv?s3I`@}NgE2xwgs&rj?kH-FEy82=O8`+szN ziHch`vvS`zNfap14!&#i9H@wF7}yIPm=UB%(o(}F{wsZ(wA0nJ2aD^@B41>>o-_U6 zUqD~vdo48S8~FTb^+%#zcbQiiYoDKYcj&$#^;Smmb+Ljp(L=1Kt_J!;0s%1|JK}Wi z;={~oL!foo5n8=}rs6MmUW~R&;SIJO3TL4Ky?kh+b2rT9B1Jl4>#Uh-Bec z`Hsp<==#UEW6pGPhNk8H!!DUQR~#F9jEMI6T*OWfN^Ze&X(4nV$wa8QUJ>oTkruH# zm~O<`J7Wxseo@FqaZMl#Y(mrFW9AHM9Kb|XBMqaZ2a)DvJgYipkDD_VUF_PKd~dT7 z#02}bBfPn9a!X!O#83=lbJSK#E}K&yx-HI#T6ua)6o0{|={*HFusCkHzs|Fn&|C3H zBck1cmfcWVUN&i>X$YU^Sn6k2H;r3zuXbJFz)r5~3$d$tUj(l1?o={MM){kjgqXRO zc5R*#{;V7AQh|G|)jLM@wGAK&rm2~@{Pewv#06pHbKn#wL0P6F1!^qw9g&cW3Z=9} zj)POhOlwsh@eF=>z?#sIs*C-Nl(yU!#DaiaxhEs#iJqQ8w%(?+6lU02MYSeDkr!B- zPjMv+on6OLXgGnAtl(ao>|X2Y8*Hb}GRW5}-IzXnoo-d0!m4Vy$GS!XOLy>3_+UGs z2D|YcQx@M#M|}TDOetGi{9lGo9m-=0-^+nKE^*?$^uHkxZh}I{#UTQd;X!L+W@jm( zDg@N4+lUqI92o_rNk{3P>1gxAL=&O;x)ZT=q1mk0kLlE$WeWuY_$0`0jY-Kkt zP*|m3AF}Ubd=`<>(Xg0har*_@x2YH}bn0Wk*OZz3*e5;Zc;2uBdnl8?&XjupbkOeNZsNh6pvsq_ydmJI+*z**{I{0K)-;p1~k8cpJXL$^t!-`E}=*4G^-E8>H!LjTPxSx zcF+cS`ommfKMhNSbas^@YbTpH1*RFrBuATUR zt{oFWSk^$xU&kbFQ;MCX22RAN5F6eq9UfR$ut`Jw--p2YX)A*J69m^!oYfj2y7NYcH6&r+0~_sH^c^nzeN1AU4Ga7=FlR{S|Mm~MpzY0$Z+p2W(a={b-pR9EO1Rs zB%KY|@wLcAA@)KXi!d2_BxrkhDn`DT1=Dec}V!okd{$+wK z4E{n8R*xKyci1(CnNdhf$Dp2(Jpof0-0%-38X=Dd9PQgT+w%Lshx9+loPS~MOm%ZT zt%2B2iL_KU_ita%N>xjB!#71_3=3c}o zgeW~^U_ZTJQ2!PqXulQd=3b=XOQhwATK$y(9$#1jOQ4}4?~l#&nek)H(04f(Sr=s| zWv7Lu1=%WGk4FSw^;;!8&YPM)pQDCY9DhU`hMty1@sq1=Tj7bFsOOBZOFlpR`W>-J$-(kezWJj;`?x-v>ev{*8V z8p|KXJPV$HyQr1A(9LVrM47u-XpcrIyO`yWvx1pVYc&?154aneRpLqgx)EMvRaa#|9?Wwqs2+W8n5~79G z(}iCiLk;?enn}ew`HzhG+tu+Ru@T+K5juvZN)wY;x6HjvqD!&!)$$;1VAh~7fg0K| zEha#aN=Yv|3^~YFH}cc38ovVb%L|g@9W6fo(JtT6$fa?zf@Ct88e}m?i)b*Jgc{fl zExfdvw-BYDmH6>(4QMt#p0;FUIQqkhD}aH?a7)_%JtA~soqj{ppP_82yi9kaxuK>~ ze_)Zt>1?q=ZH*kF{1iq9sr*tVuy=u>Zev}!gEZx@O6-fjyu9X00gpIl-fS_pzjpqJ z1yqBmf9NF!jaF<+YxgH6oXBdK)sH(>VZ)1siyA$P<#KDt;8NT*l_0{xit~5j1P)FN zI8hhYKhQ)i z37^aP13B~u65?sg+_@2Kr^iWHN=U;EDSZ@2W2!5ALhGNWXnFBY%7W?1 z=HI9JzQ-pLKZDYTv<0-lt|6c-RwhxZ)mU2Os{bsX_i^@*fKUj8*aDO5pks=qn3Dv6 zwggpKLuyRCTVPwmw1r}B#AS}?X7b837UlXwp~E2|PJw2SGVueL7){Y&z!jL!XN=0i zU^Eig`S2`{+gU$68aRdWx?BZ{sU_f=8sn~>s~M?GU~`fH5kCc; z8ICp+INM3(3{#k32RZdv6b9MQYdZXNuk7ed8;G?S2nT+NZBG=Tar^KFl2SvhW$bGW#kdWL-I)s_IqVnCDDM9fm8g;P;8 z7t4yZn3^*NQfx7SwmkzP$=fwdC}bafQSEF@pd&P8@H#`swGy_rz;Z?Ty5mkS%>m#% zp_!m9e<()sfKiY(nF<1zBz&&`ZlJf6QLvLhl`_``%RW&{+O>Xhp;lwSsyRqGf=RWd zpftiR`={2(siiPAS|p}@q=NhVc0ELprt%=fMXO3B)4ryC2LT(o=sLM7hJC!}T1@)E zA3^J$3&1*M6Xq>03FX`R&w*NkrZE?FwU+Muut;>qNhj@bX17ZJxnOlPSZ=Zeiz~T_ zOu#yc3t6ONHB;?|r4w+pI)~KGN;HOGC)txxiUN8#mexj+W(cz%9a4sx|IRG=}ia zuEBuba3AHsV2feqw-3MvuL`I+2|`Ud4~7ZkN=JZ;L20|Oxna5vx1qbIh#k2O4$RQF zo`tL()zxaqibg^GbB+BS5#U{@K;WWQj~GcB1zb}zJkPwH|5hZ9iH2308!>_;%msji zJHSL~s)YHBR=Koa1mLEOHos*`gp=s8KA-C zu0aE+W!#iJ*0xqKm3A`fUGy#O+X+5W36myS>Uh2!R*s$aCU^`K&KKLCCDkejX2p=5 z%o7-fl03x`gaSNyr?3_JLv?2RLS3F*8ub>Jd@^Cc17)v8vYEK4aqo?OS@W9mt%ITJ z9=S2%R8M){CugT@k~~0x`}Vl!svYqX=E)c_oU6o}#Hb^%G1l3BudxA{F*tbjG;W_>=xV73pKY53v%>I)@D36I_@&p$h|Aw zonQS`07z_F#@T-%@-Tb|)7;;anoD_WH>9ewFy(ZcEOM$#Y)8>qi7rCnsH9GO-_7zF zu*C87{Df1P4TEOsnzZ@H%&lvV(3V@;Q!%+OYRp`g05PjY^gL$^$-t0Y>H*CDDs?FZly*oZ&dxvsxaUWF!{em4{A>n@vpXg$dwvt@_rgmHF z-MER`ABa8R-t_H*kv>}CzOpz;!>p^^9ztHMsHL|SRnS<-y5Z*r(_}c4=fXF`l^-i}>e7v!qs_jv zqvWhX^F=2sDNWA9c@P0?lUlr6ecrTKM%pNQ^?*Lq?p-0~?_j50xV%^(+H>sMul#Tw zeciF*1=?a7cI(}352%>LO96pD+?9!fNyl^9v3^v&Y4L)mNGK0FN43&Xf8jUlxW1Bw zyiu2;qW-aGNhs=zbuoxnxiwZ3{PFZM#Kw)9H@(hgX23h(`Wm~m4&TvoZoYp{plb^> z_#?vXcxd>r7K+1HKJvhed>gtK`TAbJUazUWQY6T~t2af%#<+Veyr%7-#*A#@&*;@g58{i|E%6yC_InGXCOd{L0;$)z#?n7M`re zh!kO{6=>7I?*}czyF7_frt#)s1CFJ_XE&VrDA?Dp3XbvF{qsEJgb&OLSNz_5g?HpK z9)8rsr4JN!Af3G9!#Qn(6zaUDqLN(g2g8*M)Djap?WMK9NKlkC)E2|-g|#-rp%!Gz zAHd%`iq|81efi93m3yTBw3g0j#;Yb2X{mhRAI?&KDmbGqou(2xiRNb^sV}%%Wu0?< z?($L>(#BO*)^)rSgyNRni$i`R4v;GhlCZ8$@e^ROX(p=2_v6Y!%^As zu022)fHdv_-~Yu_H6WVPLpHQx!W%^6j)cBhS`O3QBW#x(eX54d&I22op(N59b*&$v zFiSRY6rOc^(dgSV1>a7-5C;(5S5MvKcM2Jm-LD9TGqDpP097%52V+0>Xqq!! zq4e3vj53SE6i8J`XcQB|MZPP8j;PAOnpGnllH6#Ku~vS42xP*Nz@~y%db7Xi8s09P z1)e%8ys6&M8D=Dt6&t`iKG_4X=!kgRQoh%Z`dc&mlOUqXk-k`jKv9@(a^2-Upw>?< zt5*^DV~6Zedbec4NVl($2T{&b)zA@b#dUyd>`2JC0=xa_fIm8{5um zr-!ApXZhC8@=vC2WyxO|!@0Km)h8ep*`^he92$@YwP>VcdoS5OC^s38e#7RPsg4j+ zbVGG}WRSET&ZfrcR(x~k8n1rTP%CnfUNKUonD$P?FtNFF#cn!wEIab-;jU=B1dHK@ z(;(yAQJ`O$sMn>h;pf^8{JISW%d+@v6@CnXh9n5TXGC}?FI9i-D0OMaIg&mAg=0Kn zNJ7oz5*ReJukD55fUsMuaP+H4tDN&V9zfqF@ zr=#ecUk9wu{0;!+gl;3Bw=Vn^)z$ahVhhw)io!na&9}LmWurLb0zubxK=UEnU*{5P z+SP}&*(iBKSO4{alBHaY^)5Q=mZ+2OwIooJ7*Q5XJ+2|q`9#f?6myq!&oz?klihLq z4C)$XP!BNS0G_Z1&TM>?Jk{S~{F3n83ioli=IO6f%wkvCl(RFFw~j0tb{GvXTx>*sB0McY0s&SNvj4+^h`9nJ_wM>F!Uc>X}9PifQekn0sKI2SAJP!a4h z5cyGTuCj3ZBM^&{dRelIlT^9zcfaAuL5Y~bl!ppSf`wZbK$z#6U~rdclk``e+!qhe z6Qspo*%<)eu6?C;Bp<^VuW6JI|Ncvyn+LlSl;Mp22Bl7ARQ0Xc24%29(ZrdsIPw&-=yHQ7_Vle|5h>AST0 zUGX2Zk34vp?U~IHT|;$U86T+UUHl_NE4m|}>E~6q``7hccCaT^#y+?wD##Q%HwPd8 zV3x4L4|qqu`B$4(LXqDJngNy-{&@aFBvVsywt@X^}iH7P%>bR?ciC$I^U-4Foa`YKI^qDyGK7k%E%c_P=yzAi`YnxGA%DeNd++j3*h^ z=rn>oBd0|~lZ<6YvmkKY*ZJlJ;Im0tqgWu&E92eqt;+NYdxx`eS(4Hw_Jb5|yVvBg z*tbdY^!AN;luEyN4VRhS@-_DC{({ziH{&Z}iGElSV~qvT>L-8G%+yEL zX#MFOhj{InyKG=mvW-<1B@c-}x$vA(nU?>S>0*eN#!SLzQ)Ex7fvQ)S4D<8|I#N$3 zT5Ei`Z?cxBODHX8(Xp73v`IsAYC@9b;t}z0wxVuQSY1J^GRwDPN@qbM-ZF48T$GZ< z8WU+;Pqo?{ghI-KZ-i*ydXu`Ep0Xw^McH_KE9J0S7G;x8Fe`DVG?j3Pv=0YzJ}yZR z%2=oqHiUjvuk0~Ca>Kol4CFi0_xQT~;_F?=u+!kIDl-9g`#ZNZ9HCy17Ga1v^Jv9# z{T4Kb1-AzUxq*MutfOWWZgD*HnFfyYg0&e9f(5tZ>krPF6{VikNeHoc{linPPt#Si z&*g>(c54V8rT_AX!J&bNm-!umPvOR}vDai#`CX___J#=zeB*{4<&2WpaDncZsOkp* zsg<%@@rbrMkR_ux9?LsQxzoBa1s%$BBn6vk#{&&zUwcfzeCBJUwFYSF$08qDsB;gWQN*g!p8pxjofWbqNSZOEKOaTx@+* zwdt5*Q47@EOZ~EZL9s?1o?A%9TJT=Ob_13yyugvPg*e&ZU(r6^k4=2+D-@n=Hv5vu zSXG|hM(>h9^zn=eQ=$6`JO&70&2|%V5Lsx>)(%#;pcOfu>*nk_3HB_BNaH$`jM<^S zcSftDU1?nL;jy)+sfonQN}(}gUW?d_ikr*3=^{G)=tjBtEPe>TO|0ddVB zTklrSHiW+!#26frPXQQ(YN8DG$PZo?(po(QUCCf_OJC`pw*uey00%gmH!`WJkrKXj2!#6?`T25mTu9OJp2L8z3! z=arrL$ZqxuE{%yV)14Kd>k}j7pxZ6#$Dz8$@WV5p8kTqN<-7W)Q7Gt2{KoOPK_tZ| zf2WG~O5@{qPI+W<4f_;reuFVdO^5`ADC1!JQE|N`s3cq@(0WB!n0uh@*c{=LAd;~} zyGK@hbF-Oo+!nN)@i*O(`@FA#u?o=~e{`4O#5}z&=UkU*50fOrzi11D^&FOqe>wii z?*k+2|EcUs;Gx{!@KBT~>PAwLrIDT7Th=Utu?~?np@t^gFs?zgX=D${RwOY^WGh-+ z+#4$066ISh8eYW#FXWp~S`<*%O^ZuItL1Tyqt8#tZ zY120E;^VG`!lZn&3sPd$RkdHpU#|w+bYV)pJC|SH9g%|5IkxVTQcBA4CL0}$&}ef@ zW^Vtj%M;;_1xxP9x#ex17&4N*{ksO*_4O}xYu(p*JkL#yr}@7b)t5X?%CY<+s5_MJ zuiqt+N_;A(_)%lumoyRFixWa-M7qK_9s6<1X?JDa9fP!+_6u~~M$5L=ipB=7(j#f< zZ34J%=bs549%~_mA(|={uZNs_0?o7;-LBP(ZRnkd{-^|2|=4vUTmtByHL8 zEph`(LSEzQj68a+`d$V<45J7cyv^#|^|%fD#si1Nx!4NW*`l*{->HEWNh6-|g>-=r zXmQ|-i}Ku$ndUeHQ^&ieT!Lf}vf6GaqW9$DJ2NWrqwPY%%4nip$@vK$nRp*_C-v<| zuKz~ZyN&<%!NS26&x?jhy+@awJipMQ-8(X4#Ae5??U<1QMt1l9R=w9fAnEF}NYu$2 z>6}Vkc zIb*A?G*z8^IvibmBKn_u^5&T_1oey0gZS2~obf(#xk=erZGTEdQnt3DMGM+0oPwss zj5zXD;(oWhB_T@~Ig#9@v)AKtXu3>Inmgf@A|-lD-1U>cNyl3h?ADD9)GG4}zUGPk zZzaXe!~Kf?<~@$G?Uql3t8jy9{2!doq4=J}j9ktTxss{p6!9UdjyDERlA*xZ!=Q)KDs5O)phz>Vq3BNGoM(H|=1*Q4$^2fTZw z(%nq1P|5Rt81}SYJpEEzMPl5VJsV5&4e)ZWKDyoZ>1EwpkHx-AQVQc8%JMz;{H~p{=FXV>jIxvm4X*qv52e?Y-f%DJ zxEA165GikEASQ^fH6K#d!Tpu2HP{sFs%E=e$gYd$aj$+xue6N+Wc(rAz~wUsk2`(b z8Kvmyz%bKQxpP}~baG-rwYcYCvkHOi zlkR<=>ZBTU*8RF_d#Bl@zZsRIhx<%~Z@Z=ik z>adw3!DK(8R|q$vy{FTxw%#xliD~6qXmY^7_9kthVPTF~Xy1CfBqbU~?1QmxmU=+k z(ggxvEuA;0e&+ci-zQR{-f7aO{O(Pz_OsEjLh_K>MbvoZ4nxtk5u{g@nPv)cgW_R} z9}EA4K4@z0?7ue}Z(o~R(X&FjejUI2g~08PH1E4w>9o{)S(?1>Z0XMvTb|;&EuyOE zGvWNpYX)Nv<8|a^;1>bh#&znEcl-r!T#pn= z4$?Yudha6F%4b>*8@=BdtXXY4N+`U4Dmx$}>HeVJk-QdTG@t!tVT#0(LeV0gvqyyw z2sEp^9eY0N`u10Tm4n8No&A=)IeEC|gnmEXoNSzu!1<4R<%-9kY_8~5Ej?zRegMn78wuMs#;i&eUA0Zk_RXQ3b&TT} z;SCI=7-FUB@*&;8|n>(_g^HGf3@QODE3LpmX~ELnymQm{Sx9xrKS zK29p~?v@R$0=v6Dr5aW>-!{+h@?Q58|Kz8{{W`%J+lDAdb&M5VHrX_mDY;1-JLnf)ezmPau$)1;=`-FU=-r-83tX=C`S#}GZufju zQ>sXNT0Ny=k@nc%cFnvA_i4SC)?_ORXHq8B4D%el1uPX`c~uG#S1M7C+*MMqLw78E zhY2dI8@+N^qrMI1+;TUda(vGqGSRyU{Fnm`aqrr7bz42c5xsOO-~oZpkzorD1g}Y<6rk&3>PsSGy}W?MtqFky@A(X# zIuNZK0cK?^=;PUAu>j0#HtjbHCV*6?jzA&OoE$*Jlga*}LF`SF?WLhv1O|zqC<>*> zYB;#lsYKx0&kH@BFpW8n*yDcc6?;_zaJs<-jPSkCsSX-!aV=P5kUgF@Nu<{a%#K*F z134Q{9|YX7X(v$62_cY3^G%t~rD>Q0z@)1|zs)vjJ6Jq9;7#Ki`w+eS**En?7;n&7 zu==V3T&eFboN3ZiMx3D8qYc;VjFUk_H-WWCau(VFXSQf~viH0L$gwD$UfFHqNcgN`x}M+YQ6RnN<+@t>JUp#)9YOkqst-Ga?{FsDpEeX0(5v{0J~SEbWiL zXC2}M4?UH@u&|;%0y`eb33ldo4~z-x8zY!oVmV=c+f$m?RfDC35mdQ2E>Pze7KWP- z>!Bh<&57I+O_^s}9Tg^k)h7{xx@0a0IA~GAOt2yy!X%Q$1rt~LbTB6@Du!_0%HV>N zlf)QI1&gvERKwso23mJ!Ou6ZS#zCS5W`gxE5T>C#E|{i<1D35C222I33?Njaz`On7 zi<+VWFP6D{e-{yiN#M|Jgk<44u1TiMI78S5W`Sdb5f+{zu34s{CfWN7a3Cf^@L%!& zN$?|!!9j2c)j$~+R6n#891w-z8(!oBpL2K=+%a$r2|~8-(vQj5_XT`<0Ksf;oP+tz z9CObS!0m)Tgg`K#xBM8B(|Z)Wb&DYL{WTYv`;A=q6~Nnx2+!lTIXtj8J7dZE!P_{z z#f8w6F}^!?^KE#+ZDv+xd5O&3EmomZzsv?>E-~ygGum45fk!SBN&|eo1rKw^?aZJ4 E2O(~oYXATM literal 0 HcmV?d00001 diff --git a/samples/client/petstore/kotlin-allOff-discriminator/gradle/wrapper/gradle-wrapper.properties b/samples/client/petstore/kotlin-allOff-discriminator/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000000..8cf6eb5ad2 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-all.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/samples/client/petstore/kotlin-allOff-discriminator/gradlew b/samples/client/petstore/kotlin-allOff-discriminator/gradlew new file mode 100644 index 0000000000..4f906e0c81 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/samples/client/petstore/kotlin-allOff-discriminator/gradlew.bat b/samples/client/petstore/kotlin-allOff-discriminator/gradlew.bat new file mode 100644 index 0000000000..107acd32c4 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/samples/client/petstore/kotlin-allOff-discriminator/settings.gradle b/samples/client/petstore/kotlin-allOff-discriminator/settings.gradle new file mode 100644 index 0000000000..aecbc31b10 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/settings.gradle @@ -0,0 +1,2 @@ + +rootProject.name = 'kotlin-allOff-discriminator' \ No newline at end of file diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/apis/BirdApi.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/apis/BirdApi.kt new file mode 100644 index 0000000000..1d62d0bc27 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/apis/BirdApi.kt @@ -0,0 +1,122 @@ +/** + * Example + * + * An example + * + * The version of the OpenAPI document: 0.1 + * Contact: contact@example.org + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package org.openapitools.client.apis + +import java.io.IOException +import okhttp3.OkHttpClient + +import org.openapitools.client.models.Bird + +import com.squareup.moshi.Json + +import org.openapitools.client.infrastructure.ApiClient +import org.openapitools.client.infrastructure.ApiResponse +import org.openapitools.client.infrastructure.ClientException +import org.openapitools.client.infrastructure.ClientError +import org.openapitools.client.infrastructure.ServerException +import org.openapitools.client.infrastructure.ServerError +import org.openapitools.client.infrastructure.MultiValueMap +import org.openapitools.client.infrastructure.PartConfig +import org.openapitools.client.infrastructure.RequestConfig +import org.openapitools.client.infrastructure.RequestMethod +import org.openapitools.client.infrastructure.ResponseType +import org.openapitools.client.infrastructure.Success +import org.openapitools.client.infrastructure.toMultiValue + +class BirdApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = ApiClient.defaultClient) : ApiClient(basePath, client) { + companion object { + @JvmStatic + val defaultBasePath: String by lazy { + System.getProperties().getProperty(ApiClient.baseUrlKey, "http://example.org") + } + } + + /** + * + * + * @param id + * @return Bird + * @throws IllegalStateException If the request is not correctly configured + * @throws IOException Rethrows the OkHttp execute method exception + * @throws UnsupportedOperationException If the API returns an informational or redirection response + * @throws ClientException If the API returns a client error response + * @throws ServerException If the API returns a server error response + */ + @Suppress("UNCHECKED_CAST") + @Throws(IllegalStateException::class, IOException::class, UnsupportedOperationException::class, ClientException::class, ServerException::class) + fun getBird(id: java.util.UUID) : Bird { + val localVarResponse = getBirdWithHttpInfo(id = id) + + return when (localVarResponse.responseType) { + ResponseType.Success -> (localVarResponse as Success<*>).data as Bird + ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.") + ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.") + ResponseType.ClientError -> { + val localVarError = localVarResponse as ClientError<*> + throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse) + } + ResponseType.ServerError -> { + val localVarError = localVarResponse as ServerError<*> + throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse) + } + } + } + + /** + * + * + * @param id + * @return ApiResponse + * @throws IllegalStateException If the request is not correctly configured + * @throws IOException Rethrows the OkHttp execute method exception + */ + @Suppress("UNCHECKED_CAST") + @Throws(IllegalStateException::class, IOException::class) + fun getBirdWithHttpInfo(id: java.util.UUID) : ApiResponse { + val localVariableConfig = getBirdRequestConfig(id = id) + + return request( + localVariableConfig + ) + } + + /** + * To obtain the request config of the operation getBird + * + * @param id + * @return RequestConfig + */ + fun getBirdRequestConfig(id: java.util.UUID) : RequestConfig { + val localVariableBody = null + val localVariableQuery: MultiValueMap = mutableMapOf() + val localVariableHeaders: MutableMap = mutableMapOf() + localVariableHeaders["Accept"] = "application/json" + + return RequestConfig( + method = RequestMethod.GET, + path = "/v1/bird/{id}".replace("{"+"id"+"}", "$id"), + query = localVariableQuery, + headers = localVariableHeaders, + body = localVariableBody + ) + } + +} diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ApiAbstractions.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ApiAbstractions.kt new file mode 100644 index 0000000000..ef7a8f1e1a --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ApiAbstractions.kt @@ -0,0 +1,23 @@ +package org.openapitools.client.infrastructure + +typealias MultiValueMap = MutableMap> + +fun collectionDelimiter(collectionFormat: String) = when(collectionFormat) { + "csv" -> "," + "tsv" -> "\t" + "pipe" -> "|" + "space" -> " " + else -> "" +} + +val defaultMultiValueConverter: (item: Any?) -> String = { item -> "$item" } + +fun toMultiValue(items: Array, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter) + = toMultiValue(items.asIterable(), collectionFormat, map) + +fun toMultiValue(items: Iterable, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter): List { + return when(collectionFormat) { + "multi" -> items.map(map) + else -> listOf(items.joinToString(separator = collectionDelimiter(collectionFormat), transform = map)) + } +} \ No newline at end of file diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt new file mode 100644 index 0000000000..bfd00ac6a2 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -0,0 +1,242 @@ +package org.openapitools.client.infrastructure + +import okhttp3.OkHttpClient +import okhttp3.RequestBody +import okhttp3.RequestBody.Companion.asRequestBody +import okhttp3.RequestBody.Companion.toRequestBody +import okhttp3.FormBody +import okhttp3.HttpUrl.Companion.toHttpUrlOrNull +import okhttp3.ResponseBody +import okhttp3.MediaType.Companion.toMediaTypeOrNull +import okhttp3.Request +import okhttp3.Headers +import okhttp3.Headers.Companion.toHeaders +import okhttp3.MultipartBody +import okhttp3.Call +import okhttp3.Callback +import okhttp3.Response +import okhttp3.internal.EMPTY_REQUEST +import java.io.BufferedWriter +import java.io.File +import java.io.FileWriter +import java.io.IOException +import java.net.URLConnection +import java.time.LocalDate +import java.time.LocalDateTime +import java.time.LocalTime +import java.time.OffsetDateTime +import java.time.OffsetTime +import java.util.Locale +import com.squareup.moshi.adapter + +open class ApiClient(val baseUrl: String, val client: OkHttpClient = defaultClient) { + companion object { + protected const val ContentType = "Content-Type" + protected const val Accept = "Accept" + protected const val Authorization = "Authorization" + protected const val JsonMediaType = "application/json" + protected const val FormDataMediaType = "multipart/form-data" + protected const val FormUrlEncMediaType = "application/x-www-form-urlencoded" + protected const val XmlMediaType = "application/xml" + + val apiKey: MutableMap = mutableMapOf() + val apiKeyPrefix: MutableMap = mutableMapOf() + var username: String? = null + var password: String? = null + var accessToken: String? = null + const val baseUrlKey = "org.openapitools.client.baseUrl" + + @JvmStatic + val defaultClient: OkHttpClient by lazy { + builder.build() + } + + @JvmStatic + val builder: OkHttpClient.Builder = OkHttpClient.Builder() + } + + /** + * Guess Content-Type header from the given file (defaults to "application/octet-stream"). + * + * @param file The given file + * @return The guessed Content-Type + */ + protected fun guessContentTypeFromFile(file: File): String { + val contentType = URLConnection.guessContentTypeFromName(file.name) + return contentType ?: "application/octet-stream" + } + + protected inline fun requestBody(content: T, mediaType: String?): RequestBody = + when { + mediaType == FormDataMediaType -> + MultipartBody.Builder() + .setType(MultipartBody.FORM) + .apply { + // content's type *must* be Map> + @Suppress("UNCHECKED_CAST") + (content as Map>).forEach { (name, part) -> + val contentType = part.headers.remove("Content-Type") + val bodies = if (part.body is Iterable<*>) part.body else listOf(part.body) + bodies.forEach { body -> + val headers = part.headers.toMutableMap() + + ("Content-Disposition" to "form-data; name=\"$name\"" + if (body is File) "; filename=\"${body.name}\"" else "") + addPart(headers.toHeaders(), + requestSingleBody(body, contentType)) + } + } + }.build() + else -> requestSingleBody(content, mediaType) + } + + protected inline fun requestSingleBody(content: T, mediaType: String?): RequestBody = + when { + content is File -> content.asRequestBody((mediaType ?: guessContentTypeFromFile(content)).toMediaTypeOrNull()) + mediaType == FormUrlEncMediaType -> { + FormBody.Builder().apply { + // content's type *must* be Map> + @Suppress("UNCHECKED_CAST") + (content as Map>).forEach { (name, part) -> + add(name, parameterToString(part.body)) + } + }.build() + } + mediaType == null || mediaType.startsWith("application/") && mediaType.endsWith("json") -> + if (content == null) { + EMPTY_REQUEST + } else { + Serializer.moshi.adapter(T::class.java).toJson(content) + .toRequestBody((mediaType ?: JsonMediaType).toMediaTypeOrNull()) + } + mediaType == XmlMediaType -> throw UnsupportedOperationException("xml not currently supported.") + // TODO: this should be extended with other serializers + else -> throw UnsupportedOperationException("requestBody currently only supports JSON body and File body.") + } + + @OptIn(ExperimentalStdlibApi::class) + protected inline fun responseBody(body: ResponseBody?, mediaType: String? = JsonMediaType): T? { + if(body == null) { + return null + } + if (T::class.java == File::class.java) { + // return tempFile + // Attention: if you are developing an android app that supports API Level 25 and bellow, please check flag supportAndroidApiLevel25AndBelow in https://openapi-generator.tech/docs/generators/kotlin#config-options + val tempFile = java.nio.file.Files.createTempFile("tmp.org.openapitools.client", null).toFile() + tempFile.deleteOnExit() + body.byteStream().use { inputStream -> + tempFile.outputStream().use { tempFileOutputStream -> + inputStream.copyTo(tempFileOutputStream) + } + } + return tempFile as T + } + val bodyContent = body.string() + if (bodyContent.isEmpty()) { + return null + } + return when { + mediaType==null || (mediaType.startsWith("application/") && mediaType.endsWith("json")) -> + Serializer.moshi.adapter().fromJson(bodyContent) + else -> throw UnsupportedOperationException("responseBody currently only supports JSON body.") + } + } + + + protected inline fun request(requestConfig: RequestConfig): ApiResponse { + val httpUrl = baseUrl.toHttpUrlOrNull() ?: throw IllegalStateException("baseUrl is invalid.") + + val url = httpUrl.newBuilder() + .addPathSegments(requestConfig.path.trimStart('/')) + .apply { + requestConfig.query.forEach { query -> + query.value.forEach { queryValue -> + addQueryParameter(query.key, queryValue) + } + } + }.build() + + // take content-type/accept from spec or set to default (application/json) if not defined + if (requestConfig.headers[ContentType].isNullOrEmpty()) { + requestConfig.headers[ContentType] = JsonMediaType + } + if (requestConfig.headers[Accept].isNullOrEmpty()) { + requestConfig.headers[Accept] = JsonMediaType + } + val headers = requestConfig.headers + + if(headers[ContentType].isNullOrEmpty()) { + throw kotlin.IllegalStateException("Missing Content-Type header. This is required.") + } + + if(headers[Accept].isNullOrEmpty()) { + throw kotlin.IllegalStateException("Missing Accept header. This is required.") + } + + // TODO: support multiple contentType options here. + val contentType = (headers[ContentType] as String).substringBefore(";").lowercase(Locale.getDefault()) + + val request = when (requestConfig.method) { + RequestMethod.DELETE -> Request.Builder().url(url).delete(requestBody(requestConfig.body, contentType)) + RequestMethod.GET -> Request.Builder().url(url) + RequestMethod.HEAD -> Request.Builder().url(url).head() + RequestMethod.PATCH -> Request.Builder().url(url).patch(requestBody(requestConfig.body, contentType)) + RequestMethod.PUT -> Request.Builder().url(url).put(requestBody(requestConfig.body, contentType)) + RequestMethod.POST -> Request.Builder().url(url).post(requestBody(requestConfig.body, contentType)) + RequestMethod.OPTIONS -> Request.Builder().url(url).method("OPTIONS", null) + }.apply { + headers.forEach { header -> addHeader(header.key, header.value) } + }.build() + + val response = client.newCall(request).execute() + + val accept = response.header(ContentType)?.substringBefore(";")?.lowercase(Locale.getDefault()) + + // TODO: handle specific mapping types. e.g. Map> + return when { + response.isRedirect -> Redirection( + response.code, + response.headers.toMultimap() + ) + response.isInformational -> Informational( + response.message, + response.code, + response.headers.toMultimap() + ) + response.isSuccessful -> Success( + responseBody(response.body, accept), + response.code, + response.headers.toMultimap() + ) + response.isClientError -> ClientError( + response.message, + response.body?.string(), + response.code, + response.headers.toMultimap() + ) + else -> ServerError( + response.message, + response.body?.string(), + response.code, + response.headers.toMultimap() + ) + } + } + + protected fun parameterToString(value: Any?): String = when (value) { + null -> "" + is Array<*> -> toMultiValue(value, "csv").toString() + is Iterable<*> -> toMultiValue(value, "csv").toString() + is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime -> + parseDateToQueryString(value) + else -> value.toString() + } + + protected inline fun parseDateToQueryString(value : T): String { + /* + .replace("\"", "") converts the json object string to an actual string for the query parameter. + The moshi or gson adapter allows a more generic solution instead of trying to use a native + formatter. It also easily allows to provide a simple way to define a custom date format pattern + inside a gson/moshi adapter. + */ + return Serializer.moshi.adapter(T::class.java).toJson(value).replace("\"", "") + } +} diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ApiResponse.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ApiResponse.kt new file mode 100644 index 0000000000..cf2cfaa95d --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ApiResponse.kt @@ -0,0 +1,43 @@ +package org.openapitools.client.infrastructure + +enum class ResponseType { + Success, Informational, Redirection, ClientError, ServerError +} + +interface Response + +abstract class ApiResponse(val responseType: ResponseType): Response { + abstract val statusCode: Int + abstract val headers: Map> +} + +class Success( + val data: T, + override val statusCode: Int = -1, + override val headers: Map> = mapOf() +): ApiResponse(ResponseType.Success) + +class Informational( + val statusText: String, + override val statusCode: Int = -1, + override val headers: Map> = mapOf() +) : ApiResponse(ResponseType.Informational) + +class Redirection( + override val statusCode: Int = -1, + override val headers: Map> = mapOf() +) : ApiResponse(ResponseType.Redirection) + +class ClientError( + val message: String? = null, + val body: Any? = null, + override val statusCode: Int = -1, + override val headers: Map> = mapOf() +) : ApiResponse(ResponseType.ClientError) + +class ServerError( + val message: String? = null, + val body: Any? = null, + override val statusCode: Int = -1, + override val headers: Map> +): ApiResponse(ResponseType.ServerError) diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/BigDecimalAdapter.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/BigDecimalAdapter.kt new file mode 100644 index 0000000000..fb2c972cf8 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/BigDecimalAdapter.kt @@ -0,0 +1,17 @@ +package org.openapitools.client.infrastructure + +import com.squareup.moshi.FromJson +import com.squareup.moshi.ToJson +import java.math.BigDecimal + +class BigDecimalAdapter { + @ToJson + fun toJson(value: BigDecimal): String { + return value.toPlainString() + } + + @FromJson + fun fromJson(value: String): BigDecimal { + return BigDecimal(value) + } +} \ No newline at end of file diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/BigIntegerAdapter.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/BigIntegerAdapter.kt new file mode 100644 index 0000000000..4b6963110c --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/BigIntegerAdapter.kt @@ -0,0 +1,17 @@ +package org.openapitools.client.infrastructure + +import com.squareup.moshi.FromJson +import com.squareup.moshi.ToJson +import java.math.BigInteger + +class BigIntegerAdapter { + @ToJson + fun toJson(value: BigInteger): String { + return value.toString() + } + + @FromJson + fun fromJson(value: String): BigInteger { + return BigInteger(value) + } +} \ No newline at end of file diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ByteArrayAdapter.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ByteArrayAdapter.kt new file mode 100644 index 0000000000..ff5e2a81ee --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ByteArrayAdapter.kt @@ -0,0 +1,12 @@ +package org.openapitools.client.infrastructure + +import com.squareup.moshi.FromJson +import com.squareup.moshi.ToJson + +class ByteArrayAdapter { + @ToJson + fun toJson(data: ByteArray): String = String(data) + + @FromJson + fun fromJson(data: String): ByteArray = data.toByteArray() +} diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/Errors.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/Errors.kt new file mode 100644 index 0000000000..b5310e71f1 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/Errors.kt @@ -0,0 +1,18 @@ +@file:Suppress("unused") +package org.openapitools.client.infrastructure + +import java.lang.RuntimeException + +open class ClientException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) { + + companion object { + private const val serialVersionUID: Long = 123L + } +} + +open class ServerException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) { + + companion object { + private const val serialVersionUID: Long = 456L + } +} \ No newline at end of file diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/LocalDateAdapter.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/LocalDateAdapter.kt new file mode 100644 index 0000000000..b2e1654479 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/LocalDateAdapter.kt @@ -0,0 +1,19 @@ +package org.openapitools.client.infrastructure + +import com.squareup.moshi.FromJson +import com.squareup.moshi.ToJson +import java.time.LocalDate +import java.time.format.DateTimeFormatter + +class LocalDateAdapter { + @ToJson + fun toJson(value: LocalDate): String { + return DateTimeFormatter.ISO_LOCAL_DATE.format(value) + } + + @FromJson + fun fromJson(value: String): LocalDate { + return LocalDate.parse(value, DateTimeFormatter.ISO_LOCAL_DATE) + } + +} diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt new file mode 100644 index 0000000000..e082db9481 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt @@ -0,0 +1,19 @@ +package org.openapitools.client.infrastructure + +import com.squareup.moshi.FromJson +import com.squareup.moshi.ToJson +import java.time.LocalDateTime +import java.time.format.DateTimeFormatter + +class LocalDateTimeAdapter { + @ToJson + fun toJson(value: LocalDateTime): String { + return DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(value) + } + + @FromJson + fun fromJson(value: String): LocalDateTime { + return LocalDateTime.parse(value, DateTimeFormatter.ISO_LOCAL_DATE_TIME) + } + +} diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt new file mode 100644 index 0000000000..87437871a3 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt @@ -0,0 +1,19 @@ +package org.openapitools.client.infrastructure + +import com.squareup.moshi.FromJson +import com.squareup.moshi.ToJson +import java.time.OffsetDateTime +import java.time.format.DateTimeFormatter + +class OffsetDateTimeAdapter { + @ToJson + fun toJson(value: OffsetDateTime): String { + return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value) + } + + @FromJson + fun fromJson(value: String): OffsetDateTime { + return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME) + } + +} diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/PartConfig.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/PartConfig.kt new file mode 100644 index 0000000000..be00e38fba --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/PartConfig.kt @@ -0,0 +1,11 @@ +package org.openapitools.client.infrastructure + +/** + * Defines a config object for a given part of a multi-part request. + * NOTE: Headers is a Map because rfc2616 defines + * multi-valued headers as csv-only. + */ +data class PartConfig( + val headers: MutableMap = mutableMapOf(), + val body: T? = null +) diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt new file mode 100644 index 0000000000..7e948e1dd0 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -0,0 +1,17 @@ +package org.openapitools.client.infrastructure + +/** + * Defines a config object for a given request. + * NOTE: This object doesn't include 'body' because it + * allows for caching of the constructed object + * for many request definitions. + * NOTE: Headers is a Map because rfc2616 defines + * multi-valued headers as csv-only. + */ +data class RequestConfig( + val method: RequestMethod, + val path: String, + val headers: MutableMap = mutableMapOf(), + val query: MutableMap> = mutableMapOf(), + val body: T? = null +) \ No newline at end of file diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/RequestMethod.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/RequestMethod.kt new file mode 100644 index 0000000000..931b12b8bd --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/RequestMethod.kt @@ -0,0 +1,8 @@ +package org.openapitools.client.infrastructure + +/** + * Provides enumerated HTTP verbs + */ +enum class RequestMethod { + GET, DELETE, HEAD, OPTIONS, PATCH, POST, PUT +} \ No newline at end of file diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ResponseExtensions.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ResponseExtensions.kt new file mode 100644 index 0000000000..9bd2790dc1 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/ResponseExtensions.kt @@ -0,0 +1,24 @@ +package org.openapitools.client.infrastructure + +import okhttp3.Response + +/** + * Provides an extension to evaluation whether the response is a 1xx code + */ +val Response.isInformational : Boolean get() = this.code in 100..199 + +/** + * Provides an extension to evaluation whether the response is a 3xx code + */ +@Suppress("EXTENSION_SHADOWED_BY_MEMBER") +val Response.isRedirect : Boolean get() = this.code in 300..399 + +/** + * Provides an extension to evaluation whether the response is a 4xx code + */ +val Response.isClientError : Boolean get() = this.code in 400..499 + +/** + * Provides an extension to evaluation whether the response is a 5xx (Standard) through 999 (non-standard) code + */ +val Response.isServerError : Boolean get() = this.code in 500..999 diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt new file mode 100644 index 0000000000..755f8240ed --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt @@ -0,0 +1,25 @@ +package org.openapitools.client.infrastructure + +import com.squareup.moshi.Moshi +import com.squareup.moshi.adapters.EnumJsonAdapter +import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory + +object Serializer { + @JvmStatic + val moshiBuilder: Moshi.Builder = Moshi.Builder() + .add(OffsetDateTimeAdapter()) + .add(LocalDateTimeAdapter()) + .add(LocalDateAdapter()) + .add(UUIDAdapter()) + .add(ByteArrayAdapter()) + .add(URIAdapter()) + .add(KotlinJsonAdapterFactory()) + .add(BigDecimalAdapter()) + .add(BigIntegerAdapter()) + + @JvmStatic + val moshi: Moshi by lazy { + SerializerHelper.addEnumUnknownDefaultCase(moshiBuilder) + moshiBuilder.build() + } +} diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/SerializerHelper.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/SerializerHelper.kt new file mode 100644 index 0000000000..a655ad834c --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/SerializerHelper.kt @@ -0,0 +1,10 @@ +package org.openapitools.client.infrastructure + +import com.squareup.moshi.Moshi +import com.squareup.moshi.adapters.EnumJsonAdapter + +object SerializerHelper { + fun addEnumUnknownDefaultCase(moshiBuilder: Moshi.Builder): Moshi.Builder { + return moshiBuilder + } +} diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/URIAdapter.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/URIAdapter.kt new file mode 100644 index 0000000000..927522757d --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/URIAdapter.kt @@ -0,0 +1,13 @@ +package org.openapitools.client.infrastructure + +import com.squareup.moshi.FromJson +import com.squareup.moshi.ToJson +import java.net.URI + +class URIAdapter { + @ToJson + fun toJson(uri: URI) = uri.toString() + + @FromJson + fun fromJson(s: String): URI = URI.create(s) +} diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/UUIDAdapter.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/UUIDAdapter.kt new file mode 100644 index 0000000000..7ccf7dc25d --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/UUIDAdapter.kt @@ -0,0 +1,13 @@ +package org.openapitools.client.infrastructure + +import com.squareup.moshi.FromJson +import com.squareup.moshi.ToJson +import java.util.UUID + +class UUIDAdapter { + @ToJson + fun toJson(uuid: UUID) = uuid.toString() + + @FromJson + fun fromJson(s: String): UUID = UUID.fromString(s) +} diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/models/Animal.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/models/Animal.kt new file mode 100644 index 0000000000..5a78f2d42d --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/models/Animal.kt @@ -0,0 +1,37 @@ +/** + * Example + * + * An example + * + * The version of the OpenAPI document: 0.1 + * Contact: contact@example.org + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package org.openapitools.client.models + + +import com.squareup.moshi.Json + +/** + * + * + * @param id + */ + +interface Animal { + + @Json(name = "id") + val id: java.util.UUID +} + diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/models/Bird.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/models/Bird.kt new file mode 100644 index 0000000000..26285e6aa3 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/models/Bird.kt @@ -0,0 +1,44 @@ +/** + * Example + * + * An example + * + * The version of the OpenAPI document: 0.1 + * Contact: contact@example.org + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package org.openapitools.client.models + +import org.openapitools.client.models.Animal +import org.openapitools.client.models.BirdAllOf + +import com.squareup.moshi.Json + +/** + * + * + * @param id + * @param featherType + */ + +data class Bird ( + + @Json(name = "id") + override val id: java.util.UUID, + + @Json(name = "featherType") + val featherType: kotlin.String + +) : Animal + diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/models/BirdAllOf.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/models/BirdAllOf.kt new file mode 100644 index 0000000000..d40a792707 --- /dev/null +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/models/BirdAllOf.kt @@ -0,0 +1,38 @@ +/** + * Example + * + * An example + * + * The version of the OpenAPI document: 0.1 + * Contact: contact@example.org + * + * Please note: + * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit this file manually. + */ + +@file:Suppress( + "ArrayInDataClass", + "EnumEntryName", + "RemoveRedundantQualifierName", + "UnusedImport" +) + +package org.openapitools.client.models + + +import com.squareup.moshi.Json + +/** + * + * + * @param featherType + */ + +data class BirdAllOf ( + + @Json(name = "featherType") + val featherType: kotlin.String + +) + From 45baa5e621e4c7f8b7b18af0b23b43b77eb2a076 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Thu, 23 Jun 2022 11:19:06 +0800 Subject: [PATCH 100/212] update kotlin samples --- .../src/main/kotlin/org/openapitools/client/apis/BirdApi.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/apis/BirdApi.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/apis/BirdApi.kt index 1d62d0bc27..eaed334ee1 100644 --- a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/apis/BirdApi.kt +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/apis/BirdApi.kt @@ -112,7 +112,7 @@ class BirdApi(basePath: kotlin.String = defaultBasePath, client: OkHttpClient = return RequestConfig( method = RequestMethod.GET, - path = "/v1/bird/{id}".replace("{"+"id"+"}", "$id"), + path = "/v1/bird/{id}".replace("{"+"id"+"}", id.toString()), query = localVariableQuery, headers = localVariableHeaders, body = localVariableBody From 7d768f25359c5d4cb1f37c25488df053247a9227 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Thu, 23 Jun 2022 13:45:05 +0800 Subject: [PATCH 101/212] [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 --- bin/configs/r-client.yaml | 1 + docs/generators/r.md | 1 + .../codegen/CodegenConstants.java | 3 + .../codegen/languages/RClientCodegen.java | 12 ++ .../main/resources/r/api_exception.mustache | 18 +++ samples/client/petstore/R/R/api_exception.R | 8 ++ samples/client/petstore/R/test_petstore.R | 135 +++++++++--------- .../petstore/R/tests/testthat/test_petstore.R | 13 ++ 8 files changed, 126 insertions(+), 65 deletions(-) diff --git a/bin/configs/r-client.yaml b/bin/configs/r-client.yaml index ca3d74c45d..e6d0fca8d6 100644 --- a/bin/configs/r-client.yaml +++ b/bin/configs/r-client.yaml @@ -8,3 +8,4 @@ additionalProperties: exceptionPackage: rlang useRlangExceptionHandling: true returnExceptionOnFailure: true + errorObjectType: "ModelApiResponse" diff --git a/docs/generators/r.md b/docs/generators/r.md index dbd0b88595..a25d0d4468 100644 --- a/docs/generators/r.md +++ b/docs/generators/r.md @@ -18,6 +18,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | Option | Description | Values | Default | | ------ | ----------- | ------ | ------- | +|errorObjectType|Error object type.| |null| |exceptionPackage|Specify the exception handling package|

**default**
Use stop() for raising exceptions.
**rlang**
Use rlang package for exceptions.
|default| |hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true| |packageName|R package name (convention: lowercase).| |openapi| diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConstants.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConstants.java index 2c0fe6b1b2..1efd6b2502 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConstants.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConstants.java @@ -398,4 +398,7 @@ public class CodegenConstants { public static final String USE_ONEOF_DISCRIMINATOR_LOOKUP_DESC = "Use the discriminator's mapping in oneOf to speed up the model lookup. IMPORTANT: Validation (e.g. one and only one match in oneOf's schemas) will be skipped."; public static final String INIT_REQUIRED_VARS = "initRequiredVars"; public static final String INIT_REQUIRED_VARS_DESC = "If set to true then the required variables are included as positional arguments in __init__ and _from_openapi_data methods. Note: this can break some composition use cases. To learn more read PR #8802."; + + public static final String ERROR_OBJECT_TYPE = "errorObjectType"; + } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java index 067920f658..087681bbe8 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java @@ -66,6 +66,7 @@ public class RClientCodegen extends DefaultCodegen implements CodegenConfig { protected boolean useDefaultExceptionHandling = false; protected boolean useRlangExceptionHandling = false; + protected String errorObjectType; public CodegenType getTag() { return CodegenType.CLIENT; @@ -181,6 +182,8 @@ public class RClientCodegen extends DefaultCodegen implements CodegenConfig { exceptionPackage.setEnum(exceptionPackages); exceptionPackage.setDefault(DEFAULT); cliOptions.add(exceptionPackage); + + cliOptions.add(CliOption.newString(CodegenConstants.ERROR_OBJECT_TYPE, "Error object type.")); } @Override @@ -213,6 +216,11 @@ public class RClientCodegen extends DefaultCodegen implements CodegenConfig { setExceptionPackageToUse(DEFAULT); } + if (additionalProperties.containsKey(CodegenConstants.ERROR_OBJECT_TYPE)) { + this.setErrorObjectType(additionalProperties.get(CodegenConstants.ERROR_OBJECT_TYPE).toString()); + } + additionalProperties.put(CodegenConstants.ERROR_OBJECT_TYPE, errorObjectType); + additionalProperties.put(CodegenConstants.PACKAGE_NAME, packageName); additionalProperties.put(CodegenConstants.PACKAGE_VERSION, packageVersion); additionalProperties.put(CodegenConstants.EXCEPTION_ON_FAILURE, returnExceptionOnFailure); @@ -500,6 +508,10 @@ public class RClientCodegen extends DefaultCodegen implements CodegenConfig { } } + public void setErrorObjectType(final String errorObjectType) { + this.errorObjectType = errorObjectType; + } + @Override public String escapeQuotationMark(String input) { // remove " to avoid code injection diff --git a/modules/openapi-generator/src/main/resources/r/api_exception.mustache b/modules/openapi-generator/src/main/resources/r/api_exception.mustache index ba11cd3105..8d21bf3a36 100644 --- a/modules/openapi-generator/src/main/resources/r/api_exception.mustache +++ b/modules/openapi-generator/src/main/resources/r/api_exception.mustache @@ -8,6 +8,9 @@ #' @field reason Reason of the ApiException #' @field body Body of the http response #' @field headers Headers of the http response +{{#errorObjectType}} +#' @field errorObject error object type +{{/errorObjectType}} #' @export ApiException <- R6::R6Class( "ApiException", @@ -16,6 +19,9 @@ ApiException <- R6::R6Class( reason = NULL, body = NULL, headers = NULL, + {{#errorObjectType}} + errorObject = NULL, + {{/errorObjectType}} #' Initialize a new ApiException class. #' #' @description @@ -35,11 +41,17 @@ ApiException <- R6::R6Class( self$body <- errorMsg self$headers <- http_response$headers self$reason <- httr::http_status(http_response)$reason + {{#errorObjectType}} + self$errorObject <- {{errorObjectType}}$new()$fromJSONString(content(http_response, "text")) + {{/errorObjectType}} } else { self$status <- status self$reason <- reason self$body <- NULL self$headers <- NULL + {{#errorObjectType}} + self$errorObject <- NULL + {{/errorObjectType}} } }, #' Returns the string format of ApiException. @@ -63,6 +75,12 @@ ApiException <- R6::R6Class( errorMsg <- paste(errorMsg, "Body : ", "\n", sep = "") errorMsg <- paste(errorMsg, self$body,"\n") } + {{#errorObjectType}} + if (!is.null(self$errorObject)) { + errorMsg <- paste(errorMsg, "Error object : ", "\n", sep = "") + errorMsg <- paste(errorMsg, self$errorObject$toJSONString(),"\n") + } + {{/errorObjectType}} errorMsg } ) diff --git a/samples/client/petstore/R/R/api_exception.R b/samples/client/petstore/R/R/api_exception.R index c5d40b0f1d..474bf8c665 100644 --- a/samples/client/petstore/R/R/api_exception.R +++ b/samples/client/petstore/R/R/api_exception.R @@ -14,6 +14,7 @@ #' @field reason Reason of the ApiException #' @field body Body of the http response #' @field headers Headers of the http response +#' @field errorObject error object type #' @export ApiException <- R6::R6Class( "ApiException", @@ -22,6 +23,7 @@ ApiException <- R6::R6Class( reason = NULL, body = NULL, headers = NULL, + errorObject = NULL, #' Initialize a new ApiException class. #' #' @description @@ -41,11 +43,13 @@ ApiException <- R6::R6Class( self$body <- errorMsg self$headers <- http_response$headers self$reason <- httr::http_status(http_response)$reason + self$errorObject <- ModelApiResponse$new()$fromJSONString(content(http_response, "text")) } else { self$status <- status self$reason <- reason self$body <- NULL self$headers <- NULL + self$errorObject <- NULL } }, #' Returns the string format of ApiException. @@ -69,6 +73,10 @@ ApiException <- R6::R6Class( errorMsg <- paste(errorMsg, "Body : ", "\n", sep = "") errorMsg <- paste(errorMsg, self$body,"\n") } + if (!is.null(self$errorObject)) { + errorMsg <- paste(errorMsg, "Error object : ", "\n", sep = "") + errorMsg <- paste(errorMsg, self$errorObject$toJSONString(),"\n") + } errorMsg } ) diff --git a/samples/client/petstore/R/test_petstore.R b/samples/client/petstore/R/test_petstore.R index c7aa86d746..0e01485669 100644 --- a/samples/client/petstore/R/test_petstore.R +++ b/samples/client/petstore/R/test_petstore.R @@ -2,71 +2,76 @@ install.packages("petstore_1.0.0.tar.gz",repos=NULL, type="source") library(petstore) -var_pet_id <- 56 # integer | ID of pet to return +errorMsg <- "{\"code\":1,\"type\":\"error\",\"message\":\"Pet not found\"}" +#errorMsg <- '{"code": 404, "message": "Not found"}' +a <- ModelApiResponse$new()$fromJSONString(errorMsg) +dput(a) + +var_pet_id <- 1231256 # integer | ID of pet to return #Find pet by ID -#api_instance <- PetApi$new() -## Configure API key authorization: api_key -#api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; -#result <- tryCatch( -# api_instance$GetPetById(var_pet_id), -# ApiException = function(ex) ex -# ) -## In case of error, print the error object -#if(!is.null(result$ApiException)) { -# cat(result$ApiException$toString()) -#} else { -# # deserialized response object -# response.object <- result$content -# # response headers -# response.headers <- result$response$headers -# # response status code -# response.status.code <- result$response$status_code -#} - -json2 <- -'{"name": "pet", "photoUrls" : ["http://a.com", "http://b.com"]}' - -json <- -'[ - {"Name" : "Mario", "Age" : 32, "Occupation" : "Plumber"}, - {"Name" : "Peach", "Age" : 21, "Occupation" : "Princess"}, - {}, - {"Name" : "Bowser", "Occupation" : "Koopa"} -]' - - -#Pet$public_methods -#Pet$public_methods$fromJSON(json) -#Pet$public_methods$toJson() -#Pet$public_methods$validateJSON(json2) -#Pet$public_methods$validateJson(json) -#Pet$my_static_method <- function(x) { x + 2} -#Pet$public_methods$my_static_method(1) - - basque_pig_json <- - '{"className2": "BasquePig", "color": "red"}' - - danish_pig_json <- - '{"className2": "DanishPig", "size": 7}' - - wrong_json <- - '[ - {"Name" : "Tom", "Age" : 32, "Occupation" : "Consultant"}, - {}, - {"Name" : "Ada", "Occupation" : "Engineer"} - ]' - - print("==========") - pig <- Pig$new() - basque_pig <- pig$fromJSON(basque_pig_json) - #print(basque_pig$actual_instance$color) - #expect_equal(basque_pig$actual_type, "BasquePig") - pig$fromJSON(danish_pig_json) - #pig$fromJSON(wrong_json) - pig$toJSON() - - #d <- DanishPig$new() - #dp <- d$validateJSON(danish_pig_json) - +api_instance <- PetApi$new() +# Configure API key authorization: api_key +api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; +result <- tryCatch( + api_instance$GetPetById(var_pet_id), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if(!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # deserialized response object + response.object <- result$content + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} +#json2 <- +#'{"name": "pet", "photoUrls" : ["http://a.com", "http://b.com"]}' +# +#json <- +#'[ +# {"Name" : "Mario", "Age" : 32, "Occupation" : "Plumber"}, +# {"Name" : "Peach", "Age" : 21, "Occupation" : "Princess"}, +# {}, +# {"Name" : "Bowser", "Occupation" : "Koopa"} +#]' +# +# +##Pet$public_methods +##Pet$public_methods$fromJSON(json) +##Pet$public_methods$toJson() +##Pet$public_methods$validateJSON(json2) +##Pet$public_methods$validateJson(json) +##Pet$my_static_method <- function(x) { x + 2} +##Pet$public_methods$my_static_method(1) +# +# basque_pig_json <- +# '{"className2": "BasquePig", "color": "red"}' +# +# danish_pig_json <- +# '{"className2": "DanishPig", "size": 7}' +# +# wrong_json <- +# '[ +# {"Name" : "Tom", "Age" : 32, "Occupation" : "Consultant"}, +# {}, +# {"Name" : "Ada", "Occupation" : "Engineer"} +# ]' +# +# print("==========") +# pig <- Pig$new() +# basque_pig <- pig$fromJSON(basque_pig_json) +# #print(basque_pig$actual_instance$color) +# #expect_equal(basque_pig$actual_type, "BasquePig") +# pig$fromJSON(danish_pig_json) +# #pig$fromJSON(wrong_json) +# pig$toJSON() +# +# #d <- DanishPig$new() +# #dp <- d$validateJSON(danish_pig_json) +# +# diff --git a/samples/client/petstore/R/tests/testthat/test_petstore.R b/samples/client/petstore/R/tests/testthat/test_petstore.R index 3387f02f72..58525b9f26 100644 --- a/samples/client/petstore/R/tests/testthat/test_petstore.R +++ b/samples/client/petstore/R/tests/testthat/test_petstore.R @@ -92,6 +92,19 @@ test_that("GetPetById", { ) }) +#test_that("test GetPetById exception", { +# # test exception +# result <- tryCatch(petApi$GetPetById(98765), # petId not exist +# error = function(ex) ex +# ) +# +# expect_true(!is.null(result)) +# #expect_equal(result$toString(),"") +# expect_equal(result, "1") +# #expect_equal(result$ApiException$errorObject$code, 1) +# #expect_equal(response$name, "name_test") +#}) + test_that("GetPetById with data_file", { # test to ensure json is saved to the file `get_pet_by_id.json` pet_response <- pet_api$GetPetById(pet_id, data_file = "get_pet_by_id.json") From c3970d73483d002e05e0896938332d18bc2d1766 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Thu, 23 Jun 2022 20:47:12 +0800 Subject: [PATCH 102/212] update r model doc (#12676) --- .../main/resources/r/modelGeneric.mustache | 54 ++++++++++++++-- .../petstore/R/R/allof_tag_api_response.R | 57 ++++++++++++++--- samples/client/petstore/R/R/animal.R | 51 +++++++++++++-- samples/client/petstore/R/R/basque_pig.R | 51 +++++++++++++-- samples/client/petstore/R/R/cat.R | 53 ++++++++++++++-- samples/client/petstore/R/R/cat_all_of.R | 49 +++++++++++++-- samples/client/petstore/R/R/category.R | 51 +++++++++++++-- samples/client/petstore/R/R/danish_pig.R | 51 +++++++++++++-- samples/client/petstore/R/R/dog.R | 53 ++++++++++++++-- samples/client/petstore/R/R/dog_all_of.R | 49 +++++++++++++-- .../client/petstore/R/R/model_api_response.R | 53 ++++++++++++++-- samples/client/petstore/R/R/order.R | 59 ++++++++++++++--- samples/client/petstore/R/R/pet.R | 59 ++++++++++++++--- samples/client/petstore/R/R/special.R | 53 ++++++++++++++-- samples/client/petstore/R/R/tag.R | 51 +++++++++++++-- .../client/petstore/R/R/update_pet_request.R | 51 +++++++++++++-- samples/client/petstore/R/R/user.R | 63 +++++++++++++++---- 17 files changed, 805 insertions(+), 103 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache b/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache index 4927eb5269..638dbccd83 100644 --- a/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache @@ -2,14 +2,10 @@ {{#model}} #' @docType class #' @title {{classname}} -#' #' @description {{classname}} Class -#' #' @format An \code{R6Class} generator object -#' {{#vars}} #' @field {{name}} {{title}} {{#isContainer}}{{#isArray}}list( {{/isArray}}{{#isMap}}named list( {{/isMap}}{{/isContainer}}{{^isPrimitiveType}}\link{{=<% %>=}}{<%/isPrimitiveType%><%={{ }}=%>{{#isContainer}}{{#items}}{{dataType}}{{/items}}{{/isContainer}}{{^isContainer}}{{dataType}}{{/isContainer}}{{=<% %>=}}<%^isPrimitiveType%>}<%={{ }}=%>{{/isPrimitiveType}}{{#isContainer}}{{#isArray}} ){{/isArray}}{{#isMap}} ){{/isMap}}{{/isContainer}} {{^required}}[optional]{{/required}} -#' {{/vars}} #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON @@ -27,6 +23,19 @@ {{#vars}} `{{{name}}}` = NULL, {{/vars}} + #' Initialize a new {{{classname}}} class. + #' + #' @description + #' Initialize a new {{{classname}}} class. + #' + {{#requiredVars}} + #' @param {{name}} {{{description}}}{{^description}}{{{name}}}{{/description}} + {{/requiredVars}} + {{#optionalVars}} + #' @param {{name}} {{{description}}}{{^description}}{{{name}}}{{/description}}{{#defaultValue}}. Default to {{{.}}}.{{/defaultValue}} + {{/optionalVars}} + #' @param ... Other optional arguments. + #' @export initialize = function( {{#requiredVars}}`{{name}}`, {{/requiredVars}}{{#optionalVars}}`{{name}}`={{{defaultValue}}}{{^defaultValue}}NULL{{/defaultValue}}, {{/optionalVars}}... ) { @@ -119,6 +128,13 @@ } {{/optionalVars}} }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return {{{classname}}} in JSON format + #' @export toJSON = function() { {{classname}}Object <- list() {{#vars}} @@ -155,6 +171,14 @@ {{classname}}Object }, + #' Deserialize JSON string into an instance of {{{classname}}} + #' + #' @description + #' Deserialize JSON string into an instance of {{{classname}}} + #' + #' @param {{classname}}Json the JSON input + #' @return the instance of {{{classname}}} + #' @export fromJSON = function({{classname}}Json) { {{classname}}Object <- jsonlite::fromJSON({{classname}}Json) {{#vars}} @@ -176,6 +200,13 @@ {{/vars}} self }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return {{{classname}}} in JSON format + #' @export toJSONString = function() { jsoncontent <- c( {{#vars}} @@ -237,6 +268,14 @@ jsoncontent <- paste(jsoncontent, collapse = ",") paste('{', jsoncontent, '}', sep = "") }, + #' Deserialize JSON string into an instance of {{{classname}}} + #' + #' @description + #' Deserialize JSON string into an instance of {{{classname}}} + #' + #' @param {{classname}}Json the JSON input + #' @return the instance of {{{classname}}} + #' @export fromJSONString = function({{classname}}Json) { {{classname}}Object <- jsonlite::fromJSON({{classname}}Json) {{#vars}} @@ -255,6 +294,13 @@ {{/vars}} self }, + #' Validate JSON input with respect to {{classname}} + #' + #' @description + #' Validate JSON input with respect to {{classname}} and throw an exception if invalid + #' + #' @param input the JSON input + #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) {{#requiredVars}} diff --git a/samples/client/petstore/R/R/allof_tag_api_response.R b/samples/client/petstore/R/R/allof_tag_api_response.R index 6141dc3741..66fe3f812f 100644 --- a/samples/client/petstore/R/R/allof_tag_api_response.R +++ b/samples/client/petstore/R/R/allof_tag_api_response.R @@ -8,21 +8,13 @@ #' @docType class #' @title AllofTagApiResponse -#' #' @description AllofTagApiResponse Class -#' #' @format An \code{R6Class} generator object -#' #' @field id integer [optional] -#' #' @field name character [optional] -#' #' @field code integer [optional] -#' #' @field type character [optional] -#' #' @field message character [optional] -#' #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -34,6 +26,18 @@ AllofTagApiResponse <- R6::R6Class( `code` = NULL, `type` = NULL, `message` = NULL, + #' Initialize a new AllofTagApiResponse class. + #' + #' @description + #' Initialize a new AllofTagApiResponse class. + #' + #' @param id id + #' @param name name + #' @param code code + #' @param type type + #' @param message message + #' @param ... Other optional arguments. + #' @export initialize = function( `id`=NULL, `name`=NULL, `code`=NULL, `type`=NULL, `message`=NULL, ... ) { @@ -58,6 +62,13 @@ AllofTagApiResponse <- R6::R6Class( self$`message` <- `message` } }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return AllofTagApiResponse in JSON format + #' @export toJSON = function() { AllofTagApiResponseObject <- list() if (!is.null(self$`id`)) { @@ -83,6 +94,14 @@ AllofTagApiResponse <- R6::R6Class( AllofTagApiResponseObject }, + #' Deserialize JSON string into an instance of AllofTagApiResponse + #' + #' @description + #' Deserialize JSON string into an instance of AllofTagApiResponse + #' + #' @param AllofTagApiResponseJson the JSON input + #' @return the instance of AllofTagApiResponse + #' @export fromJSON = function(AllofTagApiResponseJson) { AllofTagApiResponseObject <- jsonlite::fromJSON(AllofTagApiResponseJson) if (!is.null(AllofTagApiResponseObject$`id`)) { @@ -102,6 +121,13 @@ AllofTagApiResponse <- R6::R6Class( } self }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return AllofTagApiResponse in JSON format + #' @export toJSONString = function() { jsoncontent <- c( if (!is.null(self$`id`)) { @@ -143,6 +169,14 @@ AllofTagApiResponse <- R6::R6Class( jsoncontent <- paste(jsoncontent, collapse = ",") paste('{', jsoncontent, '}', sep = "") }, + #' Deserialize JSON string into an instance of AllofTagApiResponse + #' + #' @description + #' Deserialize JSON string into an instance of AllofTagApiResponse + #' + #' @param AllofTagApiResponseJson the JSON input + #' @return the instance of AllofTagApiResponse + #' @export fromJSONString = function(AllofTagApiResponseJson) { AllofTagApiResponseObject <- jsonlite::fromJSON(AllofTagApiResponseJson) self$`id` <- AllofTagApiResponseObject$`id` @@ -152,6 +186,13 @@ AllofTagApiResponse <- R6::R6Class( self$`message` <- AllofTagApiResponseObject$`message` self }, + #' Validate JSON input with respect to AllofTagApiResponse + #' + #' @description + #' Validate JSON input with respect to AllofTagApiResponse and throw an exception if invalid + #' + #' @param input the JSON input + #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) } diff --git a/samples/client/petstore/R/R/animal.R b/samples/client/petstore/R/R/animal.R index 86e043d62f..fae32d068a 100644 --- a/samples/client/petstore/R/R/animal.R +++ b/samples/client/petstore/R/R/animal.R @@ -8,15 +8,10 @@ #' @docType class #' @title Animal -#' #' @description Animal Class -#' #' @format An \code{R6Class} generator object -#' #' @field className character -#' #' @field color character [optional] -#' #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -25,6 +20,15 @@ Animal <- R6::R6Class( public = list( `className` = NULL, `color` = NULL, + #' Initialize a new Animal class. + #' + #' @description + #' Initialize a new Animal class. + #' + #' @param className className + #' @param color color. Default to 'red'. + #' @param ... Other optional arguments. + #' @export initialize = function( `className`, `color`='red', ... ) { @@ -37,6 +41,13 @@ Animal <- R6::R6Class( self$`color` <- `color` } }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return Animal in JSON format + #' @export toJSON = function() { AnimalObject <- list() if (!is.null(self$`className`)) { @@ -50,6 +61,14 @@ Animal <- R6::R6Class( AnimalObject }, + #' Deserialize JSON string into an instance of Animal + #' + #' @description + #' Deserialize JSON string into an instance of Animal + #' + #' @param AnimalJson the JSON input + #' @return the instance of Animal + #' @export fromJSON = function(AnimalJson) { AnimalObject <- jsonlite::fromJSON(AnimalJson) if (!is.null(AnimalObject$`className`)) { @@ -60,6 +79,13 @@ Animal <- R6::R6Class( } self }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return Animal in JSON format + #' @export toJSONString = function() { jsoncontent <- c( if (!is.null(self$`className`)) { @@ -80,12 +106,27 @@ Animal <- R6::R6Class( jsoncontent <- paste(jsoncontent, collapse = ",") paste('{', jsoncontent, '}', sep = "") }, + #' Deserialize JSON string into an instance of Animal + #' + #' @description + #' Deserialize JSON string into an instance of Animal + #' + #' @param AnimalJson the JSON input + #' @return the instance of Animal + #' @export fromJSONString = function(AnimalJson) { AnimalObject <- jsonlite::fromJSON(AnimalJson) self$`className` <- AnimalObject$`className` self$`color` <- AnimalObject$`color` self }, + #' Validate JSON input with respect to Animal + #' + #' @description + #' Validate JSON input with respect to Animal and throw an exception if invalid + #' + #' @param input the JSON input + #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) # check the required field `className` diff --git a/samples/client/petstore/R/R/basque_pig.R b/samples/client/petstore/R/R/basque_pig.R index 3534bd2cc5..ab045fd66a 100644 --- a/samples/client/petstore/R/R/basque_pig.R +++ b/samples/client/petstore/R/R/basque_pig.R @@ -8,15 +8,10 @@ #' @docType class #' @title BasquePig -#' #' @description BasquePig Class -#' #' @format An \code{R6Class} generator object -#' #' @field className character -#' #' @field color character -#' #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -25,6 +20,15 @@ BasquePig <- R6::R6Class( public = list( `className` = NULL, `color` = NULL, + #' Initialize a new BasquePig class. + #' + #' @description + #' Initialize a new BasquePig class. + #' + #' @param className className + #' @param color color + #' @param ... Other optional arguments. + #' @export initialize = function( `className`, `color`, ... ) { @@ -37,6 +41,13 @@ BasquePig <- R6::R6Class( self$`color` <- `color` } }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return BasquePig in JSON format + #' @export toJSON = function() { BasquePigObject <- list() if (!is.null(self$`className`)) { @@ -50,6 +61,14 @@ BasquePig <- R6::R6Class( BasquePigObject }, + #' Deserialize JSON string into an instance of BasquePig + #' + #' @description + #' Deserialize JSON string into an instance of BasquePig + #' + #' @param BasquePigJson the JSON input + #' @return the instance of BasquePig + #' @export fromJSON = function(BasquePigJson) { BasquePigObject <- jsonlite::fromJSON(BasquePigJson) if (!is.null(BasquePigObject$`className`)) { @@ -60,6 +79,13 @@ BasquePig <- R6::R6Class( } self }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return BasquePig in JSON format + #' @export toJSONString = function() { jsoncontent <- c( if (!is.null(self$`className`)) { @@ -80,12 +106,27 @@ BasquePig <- R6::R6Class( jsoncontent <- paste(jsoncontent, collapse = ",") paste('{', jsoncontent, '}', sep = "") }, + #' Deserialize JSON string into an instance of BasquePig + #' + #' @description + #' Deserialize JSON string into an instance of BasquePig + #' + #' @param BasquePigJson the JSON input + #' @return the instance of BasquePig + #' @export fromJSONString = function(BasquePigJson) { BasquePigObject <- jsonlite::fromJSON(BasquePigJson) self$`className` <- BasquePigObject$`className` self$`color` <- BasquePigObject$`color` self }, + #' Validate JSON input with respect to BasquePig + #' + #' @description + #' Validate JSON input with respect to BasquePig and throw an exception if invalid + #' + #' @param input the JSON input + #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) # check the required field `className` diff --git a/samples/client/petstore/R/R/cat.R b/samples/client/petstore/R/R/cat.R index 97c75ad613..7154e09ea7 100644 --- a/samples/client/petstore/R/R/cat.R +++ b/samples/client/petstore/R/R/cat.R @@ -8,17 +8,11 @@ #' @docType class #' @title Cat -#' #' @description Cat Class -#' #' @format An \code{R6Class} generator object -#' #' @field className character -#' #' @field color character [optional] -#' #' @field declawed character [optional] -#' #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -29,6 +23,16 @@ Cat <- R6::R6Class( `className` = NULL, `color` = NULL, `declawed` = NULL, + #' Initialize a new Cat class. + #' + #' @description + #' Initialize a new Cat class. + #' + #' @param className className + #' @param color color. Default to 'red'. + #' @param declawed declawed + #' @param ... Other optional arguments. + #' @export initialize = function( `className`, `color`='red', `declawed`=NULL, ... ) { @@ -45,6 +49,13 @@ Cat <- R6::R6Class( self$`declawed` <- `declawed` } }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return Cat in JSON format + #' @export toJSON = function() { CatObject <- list() if (!is.null(self$`className`)) { @@ -62,6 +73,14 @@ Cat <- R6::R6Class( CatObject }, + #' Deserialize JSON string into an instance of Cat + #' + #' @description + #' Deserialize JSON string into an instance of Cat + #' + #' @param CatJson the JSON input + #' @return the instance of Cat + #' @export fromJSON = function(CatJson) { CatObject <- jsonlite::fromJSON(CatJson) if (!is.null(CatObject$`className`)) { @@ -75,6 +94,13 @@ Cat <- R6::R6Class( } self }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return Cat in JSON format + #' @export toJSONString = function() { jsoncontent <- c( if (!is.null(self$`className`)) { @@ -102,6 +128,14 @@ Cat <- R6::R6Class( jsoncontent <- paste(jsoncontent, collapse = ",") paste('{', jsoncontent, '}', sep = "") }, + #' Deserialize JSON string into an instance of Cat + #' + #' @description + #' Deserialize JSON string into an instance of Cat + #' + #' @param CatJson the JSON input + #' @return the instance of Cat + #' @export fromJSONString = function(CatJson) { CatObject <- jsonlite::fromJSON(CatJson) self$`className` <- CatObject$`className` @@ -109,6 +143,13 @@ Cat <- R6::R6Class( self$`declawed` <- CatObject$`declawed` self }, + #' Validate JSON input with respect to Cat + #' + #' @description + #' Validate JSON input with respect to Cat and throw an exception if invalid + #' + #' @param input the JSON input + #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) # check the required field `className` diff --git a/samples/client/petstore/R/R/cat_all_of.R b/samples/client/petstore/R/R/cat_all_of.R index 6b5478aba5..a018a3d868 100644 --- a/samples/client/petstore/R/R/cat_all_of.R +++ b/samples/client/petstore/R/R/cat_all_of.R @@ -8,13 +8,9 @@ #' @docType class #' @title CatAllOf -#' #' @description CatAllOf Class -#' #' @format An \code{R6Class} generator object -#' #' @field declawed character [optional] -#' #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -22,6 +18,14 @@ CatAllOf <- R6::R6Class( 'CatAllOf', public = list( `declawed` = NULL, + #' Initialize a new CatAllOf class. + #' + #' @description + #' Initialize a new CatAllOf class. + #' + #' @param declawed declawed + #' @param ... Other optional arguments. + #' @export initialize = function( `declawed`=NULL, ... ) { @@ -30,6 +34,13 @@ CatAllOf <- R6::R6Class( self$`declawed` <- `declawed` } }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return CatAllOf in JSON format + #' @export toJSON = function() { CatAllOfObject <- list() if (!is.null(self$`declawed`)) { @@ -39,6 +50,14 @@ CatAllOf <- R6::R6Class( CatAllOfObject }, + #' Deserialize JSON string into an instance of CatAllOf + #' + #' @description + #' Deserialize JSON string into an instance of CatAllOf + #' + #' @param CatAllOfJson the JSON input + #' @return the instance of CatAllOf + #' @export fromJSON = function(CatAllOfJson) { CatAllOfObject <- jsonlite::fromJSON(CatAllOfJson) if (!is.null(CatAllOfObject$`declawed`)) { @@ -46,6 +65,13 @@ CatAllOf <- R6::R6Class( } self }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return CatAllOf in JSON format + #' @export toJSONString = function() { jsoncontent <- c( if (!is.null(self$`declawed`)) { @@ -59,11 +85,26 @@ CatAllOf <- R6::R6Class( jsoncontent <- paste(jsoncontent, collapse = ",") paste('{', jsoncontent, '}', sep = "") }, + #' Deserialize JSON string into an instance of CatAllOf + #' + #' @description + #' Deserialize JSON string into an instance of CatAllOf + #' + #' @param CatAllOfJson the JSON input + #' @return the instance of CatAllOf + #' @export fromJSONString = function(CatAllOfJson) { CatAllOfObject <- jsonlite::fromJSON(CatAllOfJson) self$`declawed` <- CatAllOfObject$`declawed` self }, + #' Validate JSON input with respect to CatAllOf + #' + #' @description + #' Validate JSON input with respect to CatAllOf and throw an exception if invalid + #' + #' @param input the JSON input + #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) } diff --git a/samples/client/petstore/R/R/category.R b/samples/client/petstore/R/R/category.R index 3fbe15d1d2..402ff0d5a1 100644 --- a/samples/client/petstore/R/R/category.R +++ b/samples/client/petstore/R/R/category.R @@ -8,15 +8,10 @@ #' @docType class #' @title Category -#' #' @description Category Class -#' #' @format An \code{R6Class} generator object -#' #' @field id integer [optional] -#' #' @field name character [optional] -#' #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -25,6 +20,15 @@ Category <- R6::R6Class( public = list( `id` = NULL, `name` = NULL, + #' Initialize a new Category class. + #' + #' @description + #' Initialize a new Category class. + #' + #' @param id id + #' @param name name + #' @param ... Other optional arguments. + #' @export initialize = function( `id`=NULL, `name`=NULL, ... ) { @@ -37,6 +41,13 @@ Category <- R6::R6Class( self$`name` <- `name` } }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return Category in JSON format + #' @export toJSON = function() { CategoryObject <- list() if (!is.null(self$`id`)) { @@ -50,6 +61,14 @@ Category <- R6::R6Class( CategoryObject }, + #' Deserialize JSON string into an instance of Category + #' + #' @description + #' Deserialize JSON string into an instance of Category + #' + #' @param CategoryJson the JSON input + #' @return the instance of Category + #' @export fromJSON = function(CategoryJson) { CategoryObject <- jsonlite::fromJSON(CategoryJson) if (!is.null(CategoryObject$`id`)) { @@ -60,6 +79,13 @@ Category <- R6::R6Class( } self }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return Category in JSON format + #' @export toJSONString = function() { jsoncontent <- c( if (!is.null(self$`id`)) { @@ -80,12 +106,27 @@ Category <- R6::R6Class( jsoncontent <- paste(jsoncontent, collapse = ",") paste('{', jsoncontent, '}', sep = "") }, + #' Deserialize JSON string into an instance of Category + #' + #' @description + #' Deserialize JSON string into an instance of Category + #' + #' @param CategoryJson the JSON input + #' @return the instance of Category + #' @export fromJSONString = function(CategoryJson) { CategoryObject <- jsonlite::fromJSON(CategoryJson) self$`id` <- CategoryObject$`id` self$`name` <- CategoryObject$`name` self }, + #' Validate JSON input with respect to Category + #' + #' @description + #' Validate JSON input with respect to Category and throw an exception if invalid + #' + #' @param input the JSON input + #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) } diff --git a/samples/client/petstore/R/R/danish_pig.R b/samples/client/petstore/R/R/danish_pig.R index 9f6ec81b00..6307ef28fd 100644 --- a/samples/client/petstore/R/R/danish_pig.R +++ b/samples/client/petstore/R/R/danish_pig.R @@ -8,15 +8,10 @@ #' @docType class #' @title DanishPig -#' #' @description DanishPig Class -#' #' @format An \code{R6Class} generator object -#' #' @field className character -#' #' @field size integer -#' #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -25,6 +20,15 @@ DanishPig <- R6::R6Class( public = list( `className` = NULL, `size` = NULL, + #' Initialize a new DanishPig class. + #' + #' @description + #' Initialize a new DanishPig class. + #' + #' @param className className + #' @param size size + #' @param ... Other optional arguments. + #' @export initialize = function( `className`, `size`, ... ) { @@ -37,6 +41,13 @@ DanishPig <- R6::R6Class( self$`size` <- `size` } }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return DanishPig in JSON format + #' @export toJSON = function() { DanishPigObject <- list() if (!is.null(self$`className`)) { @@ -50,6 +61,14 @@ DanishPig <- R6::R6Class( DanishPigObject }, + #' Deserialize JSON string into an instance of DanishPig + #' + #' @description + #' Deserialize JSON string into an instance of DanishPig + #' + #' @param DanishPigJson the JSON input + #' @return the instance of DanishPig + #' @export fromJSON = function(DanishPigJson) { DanishPigObject <- jsonlite::fromJSON(DanishPigJson) if (!is.null(DanishPigObject$`className`)) { @@ -60,6 +79,13 @@ DanishPig <- R6::R6Class( } self }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return DanishPig in JSON format + #' @export toJSONString = function() { jsoncontent <- c( if (!is.null(self$`className`)) { @@ -80,12 +106,27 @@ DanishPig <- R6::R6Class( jsoncontent <- paste(jsoncontent, collapse = ",") paste('{', jsoncontent, '}', sep = "") }, + #' Deserialize JSON string into an instance of DanishPig + #' + #' @description + #' Deserialize JSON string into an instance of DanishPig + #' + #' @param DanishPigJson the JSON input + #' @return the instance of DanishPig + #' @export fromJSONString = function(DanishPigJson) { DanishPigObject <- jsonlite::fromJSON(DanishPigJson) self$`className` <- DanishPigObject$`className` self$`size` <- DanishPigObject$`size` self }, + #' Validate JSON input with respect to DanishPig + #' + #' @description + #' Validate JSON input with respect to DanishPig and throw an exception if invalid + #' + #' @param input the JSON input + #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) # check the required field `className` diff --git a/samples/client/petstore/R/R/dog.R b/samples/client/petstore/R/R/dog.R index b94645612f..35843d6901 100644 --- a/samples/client/petstore/R/R/dog.R +++ b/samples/client/petstore/R/R/dog.R @@ -8,17 +8,11 @@ #' @docType class #' @title Dog -#' #' @description Dog Class -#' #' @format An \code{R6Class} generator object -#' #' @field className character -#' #' @field color character [optional] -#' #' @field breed character [optional] -#' #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -29,6 +23,16 @@ Dog <- R6::R6Class( `className` = NULL, `color` = NULL, `breed` = NULL, + #' Initialize a new Dog class. + #' + #' @description + #' Initialize a new Dog class. + #' + #' @param className className + #' @param color color. Default to 'red'. + #' @param breed breed + #' @param ... Other optional arguments. + #' @export initialize = function( `className`, `color`='red', `breed`=NULL, ... ) { @@ -45,6 +49,13 @@ Dog <- R6::R6Class( self$`breed` <- `breed` } }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return Dog in JSON format + #' @export toJSON = function() { DogObject <- list() if (!is.null(self$`className`)) { @@ -62,6 +73,14 @@ Dog <- R6::R6Class( DogObject }, + #' Deserialize JSON string into an instance of Dog + #' + #' @description + #' Deserialize JSON string into an instance of Dog + #' + #' @param DogJson the JSON input + #' @return the instance of Dog + #' @export fromJSON = function(DogJson) { DogObject <- jsonlite::fromJSON(DogJson) if (!is.null(DogObject$`className`)) { @@ -75,6 +94,13 @@ Dog <- R6::R6Class( } self }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return Dog in JSON format + #' @export toJSONString = function() { jsoncontent <- c( if (!is.null(self$`className`)) { @@ -102,6 +128,14 @@ Dog <- R6::R6Class( jsoncontent <- paste(jsoncontent, collapse = ",") paste('{', jsoncontent, '}', sep = "") }, + #' Deserialize JSON string into an instance of Dog + #' + #' @description + #' Deserialize JSON string into an instance of Dog + #' + #' @param DogJson the JSON input + #' @return the instance of Dog + #' @export fromJSONString = function(DogJson) { DogObject <- jsonlite::fromJSON(DogJson) self$`className` <- DogObject$`className` @@ -109,6 +143,13 @@ Dog <- R6::R6Class( self$`breed` <- DogObject$`breed` self }, + #' Validate JSON input with respect to Dog + #' + #' @description + #' Validate JSON input with respect to Dog and throw an exception if invalid + #' + #' @param input the JSON input + #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) # check the required field `className` diff --git a/samples/client/petstore/R/R/dog_all_of.R b/samples/client/petstore/R/R/dog_all_of.R index bb7eabb456..624bf12ce6 100644 --- a/samples/client/petstore/R/R/dog_all_of.R +++ b/samples/client/petstore/R/R/dog_all_of.R @@ -8,13 +8,9 @@ #' @docType class #' @title DogAllOf -#' #' @description DogAllOf Class -#' #' @format An \code{R6Class} generator object -#' #' @field breed character [optional] -#' #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -22,6 +18,14 @@ DogAllOf <- R6::R6Class( 'DogAllOf', public = list( `breed` = NULL, + #' Initialize a new DogAllOf class. + #' + #' @description + #' Initialize a new DogAllOf class. + #' + #' @param breed breed + #' @param ... Other optional arguments. + #' @export initialize = function( `breed`=NULL, ... ) { @@ -30,6 +34,13 @@ DogAllOf <- R6::R6Class( self$`breed` <- `breed` } }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return DogAllOf in JSON format + #' @export toJSON = function() { DogAllOfObject <- list() if (!is.null(self$`breed`)) { @@ -39,6 +50,14 @@ DogAllOf <- R6::R6Class( DogAllOfObject }, + #' Deserialize JSON string into an instance of DogAllOf + #' + #' @description + #' Deserialize JSON string into an instance of DogAllOf + #' + #' @param DogAllOfJson the JSON input + #' @return the instance of DogAllOf + #' @export fromJSON = function(DogAllOfJson) { DogAllOfObject <- jsonlite::fromJSON(DogAllOfJson) if (!is.null(DogAllOfObject$`breed`)) { @@ -46,6 +65,13 @@ DogAllOf <- R6::R6Class( } self }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return DogAllOf in JSON format + #' @export toJSONString = function() { jsoncontent <- c( if (!is.null(self$`breed`)) { @@ -59,11 +85,26 @@ DogAllOf <- R6::R6Class( jsoncontent <- paste(jsoncontent, collapse = ",") paste('{', jsoncontent, '}', sep = "") }, + #' Deserialize JSON string into an instance of DogAllOf + #' + #' @description + #' Deserialize JSON string into an instance of DogAllOf + #' + #' @param DogAllOfJson the JSON input + #' @return the instance of DogAllOf + #' @export fromJSONString = function(DogAllOfJson) { DogAllOfObject <- jsonlite::fromJSON(DogAllOfJson) self$`breed` <- DogAllOfObject$`breed` self }, + #' Validate JSON input with respect to DogAllOf + #' + #' @description + #' Validate JSON input with respect to DogAllOf and throw an exception if invalid + #' + #' @param input the JSON input + #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) } diff --git a/samples/client/petstore/R/R/model_api_response.R b/samples/client/petstore/R/R/model_api_response.R index 1d7ce8238c..eadb8f5e44 100644 --- a/samples/client/petstore/R/R/model_api_response.R +++ b/samples/client/petstore/R/R/model_api_response.R @@ -8,17 +8,11 @@ #' @docType class #' @title ModelApiResponse -#' #' @description ModelApiResponse Class -#' #' @format An \code{R6Class} generator object -#' #' @field code integer [optional] -#' #' @field type character [optional] -#' #' @field message character [optional] -#' #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -28,6 +22,16 @@ ModelApiResponse <- R6::R6Class( `code` = NULL, `type` = NULL, `message` = NULL, + #' Initialize a new ModelApiResponse class. + #' + #' @description + #' Initialize a new ModelApiResponse class. + #' + #' @param code code + #' @param type type + #' @param message message + #' @param ... Other optional arguments. + #' @export initialize = function( `code`=NULL, `type`=NULL, `message`=NULL, ... ) { @@ -44,6 +48,13 @@ ModelApiResponse <- R6::R6Class( self$`message` <- `message` } }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return ModelApiResponse in JSON format + #' @export toJSON = function() { ModelApiResponseObject <- list() if (!is.null(self$`code`)) { @@ -61,6 +72,14 @@ ModelApiResponse <- R6::R6Class( ModelApiResponseObject }, + #' Deserialize JSON string into an instance of ModelApiResponse + #' + #' @description + #' Deserialize JSON string into an instance of ModelApiResponse + #' + #' @param ModelApiResponseJson the JSON input + #' @return the instance of ModelApiResponse + #' @export fromJSON = function(ModelApiResponseJson) { ModelApiResponseObject <- jsonlite::fromJSON(ModelApiResponseJson) if (!is.null(ModelApiResponseObject$`code`)) { @@ -74,6 +93,13 @@ ModelApiResponse <- R6::R6Class( } self }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return ModelApiResponse in JSON format + #' @export toJSONString = function() { jsoncontent <- c( if (!is.null(self$`code`)) { @@ -101,6 +127,14 @@ ModelApiResponse <- R6::R6Class( jsoncontent <- paste(jsoncontent, collapse = ",") paste('{', jsoncontent, '}', sep = "") }, + #' Deserialize JSON string into an instance of ModelApiResponse + #' + #' @description + #' Deserialize JSON string into an instance of ModelApiResponse + #' + #' @param ModelApiResponseJson the JSON input + #' @return the instance of ModelApiResponse + #' @export fromJSONString = function(ModelApiResponseJson) { ModelApiResponseObject <- jsonlite::fromJSON(ModelApiResponseJson) self$`code` <- ModelApiResponseObject$`code` @@ -108,6 +142,13 @@ ModelApiResponse <- R6::R6Class( self$`message` <- ModelApiResponseObject$`message` self }, + #' Validate JSON input with respect to ModelApiResponse + #' + #' @description + #' Validate JSON input with respect to ModelApiResponse and throw an exception if invalid + #' + #' @param input the JSON input + #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) } diff --git a/samples/client/petstore/R/R/order.R b/samples/client/petstore/R/R/order.R index 958a4836c8..ef5ef2bcd2 100644 --- a/samples/client/petstore/R/R/order.R +++ b/samples/client/petstore/R/R/order.R @@ -8,23 +8,14 @@ #' @docType class #' @title Order -#' #' @description Order Class -#' #' @format An \code{R6Class} generator object -#' #' @field id integer [optional] -#' #' @field petId integer [optional] -#' #' @field quantity integer [optional] -#' #' @field shipDate character [optional] -#' #' @field status character [optional] -#' #' @field complete character [optional] -#' #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -37,6 +28,19 @@ Order <- R6::R6Class( `shipDate` = NULL, `status` = NULL, `complete` = NULL, + #' Initialize a new Order class. + #' + #' @description + #' Initialize a new Order class. + #' + #' @param id id + #' @param petId petId + #' @param quantity quantity + #' @param shipDate shipDate + #' @param status Order Status + #' @param complete complete. Default to FALSE. + #' @param ... Other optional arguments. + #' @export initialize = function( `id`=NULL, `petId`=NULL, `quantity`=NULL, `shipDate`=NULL, `status`=NULL, `complete`=FALSE, ... ) { @@ -65,6 +69,13 @@ Order <- R6::R6Class( self$`complete` <- `complete` } }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return Order in JSON format + #' @export toJSON = function() { OrderObject <- list() if (!is.null(self$`id`)) { @@ -94,6 +105,14 @@ Order <- R6::R6Class( OrderObject }, + #' Deserialize JSON string into an instance of Order + #' + #' @description + #' Deserialize JSON string into an instance of Order + #' + #' @param OrderJson the JSON input + #' @return the instance of Order + #' @export fromJSON = function(OrderJson) { OrderObject <- jsonlite::fromJSON(OrderJson) if (!is.null(OrderObject$`id`)) { @@ -116,6 +135,13 @@ Order <- R6::R6Class( } self }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return Order in JSON format + #' @export toJSONString = function() { jsoncontent <- c( if (!is.null(self$`id`)) { @@ -164,6 +190,14 @@ Order <- R6::R6Class( jsoncontent <- paste(jsoncontent, collapse = ",") paste('{', jsoncontent, '}', sep = "") }, + #' Deserialize JSON string into an instance of Order + #' + #' @description + #' Deserialize JSON string into an instance of Order + #' + #' @param OrderJson the JSON input + #' @return the instance of Order + #' @export fromJSONString = function(OrderJson) { OrderObject <- jsonlite::fromJSON(OrderJson) self$`id` <- OrderObject$`id` @@ -174,6 +208,13 @@ Order <- R6::R6Class( self$`complete` <- OrderObject$`complete` self }, + #' Validate JSON input with respect to Order + #' + #' @description + #' Validate JSON input with respect to Order and throw an exception if invalid + #' + #' @param input the JSON input + #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) } diff --git a/samples/client/petstore/R/R/pet.R b/samples/client/petstore/R/R/pet.R index f26d36da4b..c6d63fb5bc 100644 --- a/samples/client/petstore/R/R/pet.R +++ b/samples/client/petstore/R/R/pet.R @@ -8,23 +8,14 @@ #' @docType class #' @title Pet -#' #' @description Pet Class -#' #' @format An \code{R6Class} generator object -#' #' @field id integer [optional] -#' #' @field category \link{Category} [optional] -#' #' @field name character -#' #' @field photoUrls list( character ) -#' #' @field tags list( \link{Tag} ) [optional] -#' #' @field status character [optional] -#' #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -37,6 +28,19 @@ Pet <- R6::R6Class( `photoUrls` = NULL, `tags` = NULL, `status` = NULL, + #' Initialize a new Pet class. + #' + #' @description + #' Initialize a new Pet class. + #' + #' @param name name + #' @param photoUrls photoUrls + #' @param id id + #' @param category category + #' @param tags tags + #' @param status pet status in the store + #' @param ... Other optional arguments. + #' @export initialize = function( `name`, `photoUrls`, `id`=NULL, `category`=NULL, `tags`=NULL, `status`=NULL, ... ) { @@ -67,6 +71,13 @@ Pet <- R6::R6Class( self$`status` <- `status` } }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return Pet in JSON format + #' @export toJSON = function() { PetObject <- list() if (!is.null(self$`id`)) { @@ -96,6 +107,14 @@ Pet <- R6::R6Class( PetObject }, + #' Deserialize JSON string into an instance of Pet + #' + #' @description + #' Deserialize JSON string into an instance of Pet + #' + #' @param PetJson the JSON input + #' @return the instance of Pet + #' @export fromJSON = function(PetJson) { PetObject <- jsonlite::fromJSON(PetJson) if (!is.null(PetObject$`id`)) { @@ -120,6 +139,13 @@ Pet <- R6::R6Class( } self }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return Pet in JSON format + #' @export toJSONString = function() { jsoncontent <- c( if (!is.null(self$`id`)) { @@ -168,6 +194,14 @@ Pet <- R6::R6Class( jsoncontent <- paste(jsoncontent, collapse = ",") paste('{', jsoncontent, '}', sep = "") }, + #' Deserialize JSON string into an instance of Pet + #' + #' @description + #' Deserialize JSON string into an instance of Pet + #' + #' @param PetJson the JSON input + #' @return the instance of Pet + #' @export fromJSONString = function(PetJson) { PetObject <- jsonlite::fromJSON(PetJson) self$`id` <- PetObject$`id` @@ -178,6 +212,13 @@ Pet <- R6::R6Class( self$`status` <- PetObject$`status` self }, + #' Validate JSON input with respect to Pet + #' + #' @description + #' Validate JSON input with respect to Pet and throw an exception if invalid + #' + #' @param input the JSON input + #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) # check the required field `name` diff --git a/samples/client/petstore/R/R/special.R b/samples/client/petstore/R/R/special.R index 9efeaac05a..42a518939e 100644 --- a/samples/client/petstore/R/R/special.R +++ b/samples/client/petstore/R/R/special.R @@ -8,17 +8,11 @@ #' @docType class #' @title Special -#' #' @description Special Class -#' #' @format An \code{R6Class} generator object -#' #' @field item_self integer [optional] -#' #' @field item_private character [optional] -#' #' @field item_super character [optional] -#' #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -28,6 +22,16 @@ Special <- R6::R6Class( `item_self` = NULL, `item_private` = NULL, `item_super` = NULL, + #' Initialize a new Special class. + #' + #' @description + #' Initialize a new Special class. + #' + #' @param item_self item_self + #' @param item_private item_private + #' @param item_super item_super + #' @param ... Other optional arguments. + #' @export initialize = function( `item_self`=NULL, `item_private`=NULL, `item_super`=NULL, ... ) { @@ -44,6 +48,13 @@ Special <- R6::R6Class( self$`item_super` <- `item_super` } }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return Special in JSON format + #' @export toJSON = function() { SpecialObject <- list() if (!is.null(self$`item_self`)) { @@ -61,6 +72,14 @@ Special <- R6::R6Class( SpecialObject }, + #' Deserialize JSON string into an instance of Special + #' + #' @description + #' Deserialize JSON string into an instance of Special + #' + #' @param SpecialJson the JSON input + #' @return the instance of Special + #' @export fromJSON = function(SpecialJson) { SpecialObject <- jsonlite::fromJSON(SpecialJson) if (!is.null(SpecialObject$`self`)) { @@ -74,6 +93,13 @@ Special <- R6::R6Class( } self }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return Special in JSON format + #' @export toJSONString = function() { jsoncontent <- c( if (!is.null(self$`item_self`)) { @@ -101,6 +127,14 @@ Special <- R6::R6Class( jsoncontent <- paste(jsoncontent, collapse = ",") paste('{', jsoncontent, '}', sep = "") }, + #' Deserialize JSON string into an instance of Special + #' + #' @description + #' Deserialize JSON string into an instance of Special + #' + #' @param SpecialJson the JSON input + #' @return the instance of Special + #' @export fromJSONString = function(SpecialJson) { SpecialObject <- jsonlite::fromJSON(SpecialJson) self$`item_self` <- SpecialObject$`item_self` @@ -108,6 +142,13 @@ Special <- R6::R6Class( self$`item_super` <- SpecialObject$`item_super` self }, + #' Validate JSON input with respect to Special + #' + #' @description + #' Validate JSON input with respect to Special and throw an exception if invalid + #' + #' @param input the JSON input + #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) } diff --git a/samples/client/petstore/R/R/tag.R b/samples/client/petstore/R/R/tag.R index 9bbbd8fbf6..2eb257fb04 100644 --- a/samples/client/petstore/R/R/tag.R +++ b/samples/client/petstore/R/R/tag.R @@ -8,15 +8,10 @@ #' @docType class #' @title Tag -#' #' @description Tag Class -#' #' @format An \code{R6Class} generator object -#' #' @field id integer [optional] -#' #' @field name character [optional] -#' #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -25,6 +20,15 @@ Tag <- R6::R6Class( public = list( `id` = NULL, `name` = NULL, + #' Initialize a new Tag class. + #' + #' @description + #' Initialize a new Tag class. + #' + #' @param id id + #' @param name name + #' @param ... Other optional arguments. + #' @export initialize = function( `id`=NULL, `name`=NULL, ... ) { @@ -37,6 +41,13 @@ Tag <- R6::R6Class( self$`name` <- `name` } }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return Tag in JSON format + #' @export toJSON = function() { TagObject <- list() if (!is.null(self$`id`)) { @@ -50,6 +61,14 @@ Tag <- R6::R6Class( TagObject }, + #' Deserialize JSON string into an instance of Tag + #' + #' @description + #' Deserialize JSON string into an instance of Tag + #' + #' @param TagJson the JSON input + #' @return the instance of Tag + #' @export fromJSON = function(TagJson) { TagObject <- jsonlite::fromJSON(TagJson) if (!is.null(TagObject$`id`)) { @@ -60,6 +79,13 @@ Tag <- R6::R6Class( } self }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return Tag in JSON format + #' @export toJSONString = function() { jsoncontent <- c( if (!is.null(self$`id`)) { @@ -80,12 +106,27 @@ Tag <- R6::R6Class( jsoncontent <- paste(jsoncontent, collapse = ",") paste('{', jsoncontent, '}', sep = "") }, + #' Deserialize JSON string into an instance of Tag + #' + #' @description + #' Deserialize JSON string into an instance of Tag + #' + #' @param TagJson the JSON input + #' @return the instance of Tag + #' @export fromJSONString = function(TagJson) { TagObject <- jsonlite::fromJSON(TagJson) self$`id` <- TagObject$`id` self$`name` <- TagObject$`name` self }, + #' Validate JSON input with respect to Tag + #' + #' @description + #' Validate JSON input with respect to Tag and throw an exception if invalid + #' + #' @param input the JSON input + #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) } diff --git a/samples/client/petstore/R/R/update_pet_request.R b/samples/client/petstore/R/R/update_pet_request.R index b6c5b8886e..89e9f16251 100644 --- a/samples/client/petstore/R/R/update_pet_request.R +++ b/samples/client/petstore/R/R/update_pet_request.R @@ -8,15 +8,10 @@ #' @docType class #' @title UpdatePetRequest -#' #' @description UpdatePetRequest Class -#' #' @format An \code{R6Class} generator object -#' #' @field jsonData \link{Pet} [optional] -#' #' @field binaryDataN2Information data.frame [optional] -#' #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -25,6 +20,15 @@ UpdatePetRequest <- R6::R6Class( public = list( `jsonData` = NULL, `binaryDataN2Information` = NULL, + #' Initialize a new UpdatePetRequest class. + #' + #' @description + #' Initialize a new UpdatePetRequest class. + #' + #' @param jsonData jsonData + #' @param binaryDataN2Information binaryDataN2Information + #' @param ... Other optional arguments. + #' @export initialize = function( `jsonData`=NULL, `binaryDataN2Information`=NULL, ... ) { @@ -36,6 +40,13 @@ UpdatePetRequest <- R6::R6Class( self$`binaryDataN2Information` <- `binaryDataN2Information` } }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return UpdatePetRequest in JSON format + #' @export toJSON = function() { UpdatePetRequestObject <- list() if (!is.null(self$`jsonData`)) { @@ -49,6 +60,14 @@ UpdatePetRequest <- R6::R6Class( UpdatePetRequestObject }, + #' Deserialize JSON string into an instance of UpdatePetRequest + #' + #' @description + #' Deserialize JSON string into an instance of UpdatePetRequest + #' + #' @param UpdatePetRequestJson the JSON input + #' @return the instance of UpdatePetRequest + #' @export fromJSON = function(UpdatePetRequestJson) { UpdatePetRequestObject <- jsonlite::fromJSON(UpdatePetRequestJson) if (!is.null(UpdatePetRequestObject$`jsonData`)) { @@ -61,6 +80,13 @@ UpdatePetRequest <- R6::R6Class( } self }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return UpdatePetRequest in JSON format + #' @export toJSONString = function() { jsoncontent <- c( if (!is.null(self$`jsonData`)) { @@ -81,12 +107,27 @@ UpdatePetRequest <- R6::R6Class( jsoncontent <- paste(jsoncontent, collapse = ",") paste('{', jsoncontent, '}', sep = "") }, + #' Deserialize JSON string into an instance of UpdatePetRequest + #' + #' @description + #' Deserialize JSON string into an instance of UpdatePetRequest + #' + #' @param UpdatePetRequestJson the JSON input + #' @return the instance of UpdatePetRequest + #' @export fromJSONString = function(UpdatePetRequestJson) { UpdatePetRequestObject <- jsonlite::fromJSON(UpdatePetRequestJson) self$`jsonData` <- Pet$new()$fromJSON(jsonlite::toJSON(UpdatePetRequestObject$jsonData, auto_unbox = TRUE, digits = NA)) self$`binaryDataN2Information` <- UpdatePetRequestObject$`binaryDataN2Information` self }, + #' Validate JSON input with respect to UpdatePetRequest + #' + #' @description + #' Validate JSON input with respect to UpdatePetRequest and throw an exception if invalid + #' + #' @param input the JSON input + #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) } diff --git a/samples/client/petstore/R/R/user.R b/samples/client/petstore/R/R/user.R index f5ba491a77..94c4a0574c 100644 --- a/samples/client/petstore/R/R/user.R +++ b/samples/client/petstore/R/R/user.R @@ -8,27 +8,16 @@ #' @docType class #' @title User -#' #' @description User Class -#' #' @format An \code{R6Class} generator object -#' #' @field id integer [optional] -#' #' @field username character [optional] -#' #' @field firstName character [optional] -#' #' @field lastName character [optional] -#' #' @field email character [optional] -#' #' @field password character [optional] -#' #' @field phone character [optional] -#' #' @field userStatus integer [optional] -#' #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -43,6 +32,21 @@ User <- R6::R6Class( `password` = NULL, `phone` = NULL, `userStatus` = NULL, + #' Initialize a new User class. + #' + #' @description + #' Initialize a new User class. + #' + #' @param id id + #' @param username username + #' @param firstName firstName + #' @param lastName lastName + #' @param email email + #' @param password password + #' @param phone phone + #' @param userStatus User Status + #' @param ... Other optional arguments. + #' @export initialize = function( `id`=NULL, `username`=NULL, `firstName`=NULL, `lastName`=NULL, `email`=NULL, `password`=NULL, `phone`=NULL, `userStatus`=NULL, ... ) { @@ -79,6 +83,13 @@ User <- R6::R6Class( self$`userStatus` <- `userStatus` } }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return User in JSON format + #' @export toJSON = function() { UserObject <- list() if (!is.null(self$`id`)) { @@ -116,6 +127,14 @@ User <- R6::R6Class( UserObject }, + #' Deserialize JSON string into an instance of User + #' + #' @description + #' Deserialize JSON string into an instance of User + #' + #' @param UserJson the JSON input + #' @return the instance of User + #' @export fromJSON = function(UserJson) { UserObject <- jsonlite::fromJSON(UserJson) if (!is.null(UserObject$`id`)) { @@ -144,6 +163,13 @@ User <- R6::R6Class( } self }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return User in JSON format + #' @export toJSONString = function() { jsoncontent <- c( if (!is.null(self$`id`)) { @@ -206,6 +232,14 @@ User <- R6::R6Class( jsoncontent <- paste(jsoncontent, collapse = ",") paste('{', jsoncontent, '}', sep = "") }, + #' Deserialize JSON string into an instance of User + #' + #' @description + #' Deserialize JSON string into an instance of User + #' + #' @param UserJson the JSON input + #' @return the instance of User + #' @export fromJSONString = function(UserJson) { UserObject <- jsonlite::fromJSON(UserJson) self$`id` <- UserObject$`id` @@ -218,6 +252,13 @@ User <- R6::R6Class( self$`userStatus` <- UserObject$`userStatus` self }, + #' Validate JSON input with respect to User + #' + #' @description + #' Validate JSON input with respect to User and throw an exception if invalid + #' + #' @param input the JSON input + #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) } From f5e701c45939525316a80074c9ce1dca97765cf5 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Fri, 24 Jun 2022 10:39:48 +0800 Subject: [PATCH 103/212] update r api doc (#12679) --- .../src/main/resources/r/api.mustache | 42 +++- samples/client/petstore/R/R/fake_api.R | 30 ++- samples/client/petstore/R/R/pet_api.R | 181 +++++++++++++++++- samples/client/petstore/R/R/store_api.R | 87 ++++++++- samples/client/petstore/R/R/user_api.R | 165 +++++++++++++++- 5 files changed, 483 insertions(+), 22 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/r/api.mustache b/modules/openapi-generator/src/main/resources/r/api.mustache index b0bf90a474..8e24d44464 100644 --- a/modules/openapi-generator/src/main/resources/r/api.mustache +++ b/modules/openapi-generator/src/main/resources/r/api.mustache @@ -150,6 +150,13 @@ "{{classname}}", public = list( api_client = NULL, + #' Initialize a new {{{classname}}}. + #' + #' @description + #' Initialize a new {{{classname}}}. + #' + #' @param api_client An instance of API client. + #' @export initialize = function(api_client) { if (!missing(api_client)) { self$api_client <- api_client @@ -159,6 +166,23 @@ } }, {{#operation}} + #' {{{summary}}} + #' + #' @description + #' {{{description}}}{{^description}}{{{summary}}}{{/description}} + #' + {{#requiredParams}} + #' @param {{{paramName}}} {{{description}}} + {{/requiredParams}} + {{#optionalParams}} + #' @param {{{paramName}}} (optional) {{{description}}}{{#defaultValue}} (default value: {{{.}}}){{/defaultValue}} + {{/optionalParams}} + {{#returnType}} + #' @param data_file (optional) name of the data file to save the result + {{/returnType}} + #' @param ... Other optional arguments + #' @return {{{returnType}}}{{^returnType}}void{{/returnType}} + #' @export {{{operationId}}} = function({{#requiredParams}}{{paramName}}, {{/requiredParams}}{{#optionalParams}}{{paramName}}={{^defaultValue}}NULL{{/defaultValue}}{{{defaultValue}}}, {{/optionalParams}}{{#returnType}}data_file=NULL, {{/returnType}}...) { api_response <- self${{{operationId}}}WithHttpInfo({{#allParams}}{{paramName}}, {{/allParams}}{{#returnType}}data_file = data_file, {{/returnType}}...) resp <- api_response$response @@ -172,7 +196,23 @@ api_response } }, - + #' {{{summary}}} + #' + #' @description + #' {{{description}}}{{^description}}{{{summary}}}{{/description}} + #' + {{#requiredParams}} + #' @param {{{paramName}}} {{{description}}} + {{/requiredParams}} + {{#optionalParams}} + #' @param {{{paramName}}} (optional) {{{description}}}{{#defaultValue}} (default value: {{{.}}}){{/defaultValue}} + {{/optionalParams}} + {{#returnType}} + #' @param data_file (optional) name of the data file to save the result + {{/returnType}} + #' @param ... Other optional arguments + #' @return API response ({{{returnType}}}{{^returnType}}void{{/returnType}}) with additional information such as HTTP status code, headers + #' @export {{{operationId}}}WithHttpInfo = function({{#requiredParams}}{{paramName}}, {{/requiredParams}}{{#optionalParams}}{{paramName}}={{^defaultValue}}NULL{{/defaultValue}}{{{defaultValue}}}, {{/optionalParams}}{{#returnType}}data_file = NULL, {{/returnType}}...) { args <- list(...) query_params <- list() diff --git a/samples/client/petstore/R/R/fake_api.R b/samples/client/petstore/R/R/fake_api.R index c1cf274f9a..f893fa996e 100644 --- a/samples/client/petstore/R/R/fake_api.R +++ b/samples/client/petstore/R/R/fake_api.R @@ -73,6 +73,13 @@ FakeApi <- R6::R6Class( "FakeApi", public = list( api_client = NULL, + #' Initialize a new FakeApi. + #' + #' @description + #' Initialize a new FakeApi. + #' + #' @param api_client An instance of API client. + #' @export initialize = function(api_client) { if (!missing(api_client)) { self$api_client <- api_client @@ -81,6 +88,17 @@ FakeApi <- R6::R6Class( self$api_client <- ApiClient$new() } }, + #' test data_file to ensure it's escaped correctly + #' + #' @description + #' test data_file to ensure it's escaped correctly + #' + #' @param dummy dummy required parameter + #' @param var_data_file (optional) header data file + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return User + #' @export FakeDataFile = function(dummy, var_data_file=NULL, data_file=NULL, ...) { api_response <- self$FakeDataFileWithHttpInfo(dummy, var_data_file, data_file = data_file, ...) resp <- api_response$response @@ -94,7 +112,17 @@ FakeApi <- R6::R6Class( api_response } }, - + #' test data_file to ensure it's escaped correctly + #' + #' @description + #' test data_file to ensure it's escaped correctly + #' + #' @param dummy dummy required parameter + #' @param var_data_file (optional) header data file + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return API response (User) with additional information such as HTTP status code, headers + #' @export FakeDataFileWithHttpInfo = function(dummy, var_data_file=NULL, data_file = NULL, ...) { args <- list(...) query_params <- list() diff --git a/samples/client/petstore/R/R/pet_api.R b/samples/client/petstore/R/R/pet_api.R index 03379a27ab..c216b558e4 100644 --- a/samples/client/petstore/R/R/pet_api.R +++ b/samples/client/petstore/R/R/pet_api.R @@ -456,6 +456,13 @@ PetApi <- R6::R6Class( "PetApi", public = list( api_client = NULL, + #' Initialize a new PetApi. + #' + #' @description + #' Initialize a new PetApi. + #' + #' @param api_client An instance of API client. + #' @export initialize = function(api_client) { if (!missing(api_client)) { self$api_client <- api_client @@ -464,6 +471,16 @@ PetApi <- R6::R6Class( self$api_client <- ApiClient$new() } }, + #' Add a new pet to the store + #' + #' @description + #' Add a new pet to the store + #' + #' @param pet Pet object that needs to be added to the store + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return Pet + #' @export AddPet = function(pet, data_file=NULL, ...) { api_response <- self$AddPetWithHttpInfo(pet, data_file = data_file, ...) resp <- api_response$response @@ -477,7 +494,16 @@ PetApi <- R6::R6Class( api_response } }, - + #' Add a new pet to the store + #' + #' @description + #' Add a new pet to the store + #' + #' @param pet Pet object that needs to be added to the store + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return API response (Pet) with additional information such as HTTP status code, headers + #' @export AddPetWithHttpInfo = function(pet, data_file = NULL, ...) { args <- list(...) query_params <- list() @@ -537,6 +563,16 @@ PetApi <- R6::R6Class( rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, + #' Deletes a pet + #' + #' @description + #' Deletes a pet + #' + #' @param pet_id Pet id to delete + #' @param api_key (optional) + #' @param ... Other optional arguments + #' @return void + #' @export DeletePet = function(pet_id, api_key=NULL, ...) { api_response <- self$DeletePetWithHttpInfo(pet_id, api_key, ...) resp <- api_response$response @@ -550,7 +586,16 @@ PetApi <- R6::R6Class( api_response } }, - + #' Deletes a pet + #' + #' @description + #' Deletes a pet + #' + #' @param pet_id Pet id to delete + #' @param api_key (optional) + #' @param ... Other optional arguments + #' @return API response (void) with additional information such as HTTP status code, headers + #' @export DeletePetWithHttpInfo = function(pet_id, api_key=NULL, ...) { args <- list(...) query_params <- list() @@ -598,6 +643,16 @@ PetApi <- R6::R6Class( rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, + #' Finds Pets by status + #' + #' @description + #' Finds Pets by status + #' + #' @param status Status values that need to be considered for filter + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return array[Pet] + #' @export FindPetsByStatus = function(status, data_file=NULL, ...) { api_response <- self$FindPetsByStatusWithHttpInfo(status, data_file = data_file, ...) resp <- api_response$response @@ -611,7 +666,16 @@ PetApi <- R6::R6Class( api_response } }, - + #' Finds Pets by status + #' + #' @description + #' Finds Pets by status + #' + #' @param status Status values that need to be considered for filter + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return API response (array[Pet]) with additional information such as HTTP status code, headers + #' @export FindPetsByStatusWithHttpInfo = function(status, data_file = NULL, ...) { args <- list(...) query_params <- list() @@ -666,6 +730,16 @@ PetApi <- R6::R6Class( rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, + #' Finds Pets by tags + #' + #' @description + #' Finds Pets by tags + #' + #' @param tags Tags to filter by + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return array[Pet] + #' @export FindPetsByTags = function(tags, data_file=NULL, ...) { api_response <- self$FindPetsByTagsWithHttpInfo(tags, data_file = data_file, ...) resp <- api_response$response @@ -679,7 +753,16 @@ PetApi <- R6::R6Class( api_response } }, - + #' Finds Pets by tags + #' + #' @description + #' Finds Pets by tags + #' + #' @param tags Tags to filter by + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return API response (array[Pet]) with additional information such as HTTP status code, headers + #' @export FindPetsByTagsWithHttpInfo = function(tags, data_file = NULL, ...) { args <- list(...) query_params <- list() @@ -734,6 +817,16 @@ PetApi <- R6::R6Class( rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, + #' Find pet by ID + #' + #' @description + #' Find pet by ID + #' + #' @param pet_id ID of pet to return + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return Pet + #' @export GetPetById = function(pet_id, data_file=NULL, ...) { api_response <- self$GetPetByIdWithHttpInfo(pet_id, data_file = data_file, ...) resp <- api_response$response @@ -747,7 +840,16 @@ PetApi <- R6::R6Class( api_response } }, - + #' Find pet by ID + #' + #' @description + #' Find pet by ID + #' + #' @param pet_id ID of pet to return + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return API response (Pet) with additional information such as HTTP status code, headers + #' @export GetPetByIdWithHttpInfo = function(pet_id, data_file = NULL, ...) { args <- list(...) query_params <- list() @@ -808,6 +910,16 @@ PetApi <- R6::R6Class( rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, + #' Update an existing pet + #' + #' @description + #' Update an existing pet + #' + #' @param pet Pet object that needs to be added to the store + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return Pet + #' @export UpdatePet = function(pet, data_file=NULL, ...) { api_response <- self$UpdatePetWithHttpInfo(pet, data_file = data_file, ...) resp <- api_response$response @@ -821,7 +933,16 @@ PetApi <- R6::R6Class( api_response } }, - + #' Update an existing pet + #' + #' @description + #' Update an existing pet + #' + #' @param pet Pet object that needs to be added to the store + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return API response (Pet) with additional information such as HTTP status code, headers + #' @export UpdatePetWithHttpInfo = function(pet, data_file = NULL, ...) { args <- list(...) query_params <- list() @@ -881,6 +1002,17 @@ PetApi <- R6::R6Class( rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, + #' Updates a pet in the store with form data + #' + #' @description + #' Updates a pet in the store with form data + #' + #' @param pet_id ID of pet that needs to be updated + #' @param name (optional) Updated name of the pet + #' @param status (optional) Updated status of the pet + #' @param ... Other optional arguments + #' @return void + #' @export UpdatePetWithForm = function(pet_id, name=NULL, status=NULL, ...) { api_response <- self$UpdatePetWithFormWithHttpInfo(pet_id, name, status, ...) resp <- api_response$response @@ -894,7 +1026,17 @@ PetApi <- R6::R6Class( api_response } }, - + #' Updates a pet in the store with form data + #' + #' @description + #' Updates a pet in the store with form data + #' + #' @param pet_id ID of pet that needs to be updated + #' @param name (optional) Updated name of the pet + #' @param status (optional) Updated status of the pet + #' @param ... Other optional arguments + #' @return API response (void) with additional information such as HTTP status code, headers + #' @export UpdatePetWithFormWithHttpInfo = function(pet_id, name=NULL, status=NULL, ...) { args <- list(...) query_params <- list() @@ -946,6 +1088,18 @@ PetApi <- R6::R6Class( rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, + #' uploads an image + #' + #' @description + #' uploads an image + #' + #' @param pet_id ID of pet to update + #' @param additional_metadata (optional) Additional data to pass to server + #' @param file (optional) file to upload + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return ModelApiResponse + #' @export UploadFile = function(pet_id, additional_metadata=NULL, file=NULL, data_file=NULL, ...) { api_response <- self$UploadFileWithHttpInfo(pet_id, additional_metadata, file, data_file = data_file, ...) resp <- api_response$response @@ -959,7 +1113,18 @@ PetApi <- R6::R6Class( api_response } }, - + #' uploads an image + #' + #' @description + #' uploads an image + #' + #' @param pet_id ID of pet to update + #' @param additional_metadata (optional) Additional data to pass to server + #' @param file (optional) file to upload + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return API response (ModelApiResponse) with additional information such as HTTP status code, headers + #' @export UploadFileWithHttpInfo = function(pet_id, additional_metadata=NULL, file=NULL, data_file = NULL, ...) { args <- list(...) query_params <- list() diff --git a/samples/client/petstore/R/R/store_api.R b/samples/client/petstore/R/R/store_api.R index be830ad14d..b7ad306627 100644 --- a/samples/client/petstore/R/R/store_api.R +++ b/samples/client/petstore/R/R/store_api.R @@ -225,6 +225,13 @@ StoreApi <- R6::R6Class( "StoreApi", public = list( api_client = NULL, + #' Initialize a new StoreApi. + #' + #' @description + #' Initialize a new StoreApi. + #' + #' @param api_client An instance of API client. + #' @export initialize = function(api_client) { if (!missing(api_client)) { self$api_client <- api_client @@ -233,6 +240,15 @@ StoreApi <- R6::R6Class( self$api_client <- ApiClient$new() } }, + #' Delete purchase order by ID + #' + #' @description + #' Delete purchase order by ID + #' + #' @param order_id ID of the order that needs to be deleted + #' @param ... Other optional arguments + #' @return void + #' @export DeleteOrder = function(order_id, ...) { api_response <- self$DeleteOrderWithHttpInfo(order_id, ...) resp <- api_response$response @@ -246,7 +262,15 @@ StoreApi <- R6::R6Class( api_response } }, - + #' Delete purchase order by ID + #' + #' @description + #' Delete purchase order by ID + #' + #' @param order_id ID of the order that needs to be deleted + #' @param ... Other optional arguments + #' @return API response (void) with additional information such as HTTP status code, headers + #' @export DeleteOrderWithHttpInfo = function(order_id, ...) { args <- list(...) query_params <- list() @@ -292,6 +316,15 @@ StoreApi <- R6::R6Class( rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, + #' Returns pet inventories by status + #' + #' @description + #' Returns pet inventories by status + #' + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return map(integer) + #' @export GetInventory = function(data_file=NULL, ...) { api_response <- self$GetInventoryWithHttpInfo(data_file = data_file, ...) resp <- api_response$response @@ -305,7 +338,15 @@ StoreApi <- R6::R6Class( api_response } }, - + #' Returns pet inventories by status + #' + #' @description + #' Returns pet inventories by status + #' + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return API response (map(integer)) with additional information such as HTTP status code, headers + #' @export GetInventoryWithHttpInfo = function(data_file = NULL, ...) { args <- list(...) query_params <- list() @@ -358,6 +399,16 @@ StoreApi <- R6::R6Class( rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, + #' Find purchase order by ID + #' + #' @description + #' Find purchase order by ID + #' + #' @param order_id ID of pet that needs to be fetched + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return Order + #' @export GetOrderById = function(order_id, data_file=NULL, ...) { api_response <- self$GetOrderByIdWithHttpInfo(order_id, data_file = data_file, ...) resp <- api_response$response @@ -371,7 +422,16 @@ StoreApi <- R6::R6Class( api_response } }, - + #' Find purchase order by ID + #' + #' @description + #' Find purchase order by ID + #' + #' @param order_id ID of pet that needs to be fetched + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return API response (Order) with additional information such as HTTP status code, headers + #' @export GetOrderByIdWithHttpInfo = function(order_id, data_file = NULL, ...) { args <- list(...) query_params <- list() @@ -428,6 +488,16 @@ StoreApi <- R6::R6Class( rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, + #' Place an order for a pet + #' + #' @description + #' Place an order for a pet + #' + #' @param order order placed for purchasing the pet + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return Order + #' @export PlaceOrder = function(order, data_file=NULL, ...) { api_response <- self$PlaceOrderWithHttpInfo(order, data_file = data_file, ...) resp <- api_response$response @@ -441,7 +511,16 @@ StoreApi <- R6::R6Class( api_response } }, - + #' Place an order for a pet + #' + #' @description + #' Place an order for a pet + #' + #' @param order order placed for purchasing the pet + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return API response (Order) with additional information such as HTTP status code, headers + #' @export PlaceOrderWithHttpInfo = function(order, data_file = NULL, ...) { args <- list(...) query_params <- list() diff --git a/samples/client/petstore/R/R/user_api.R b/samples/client/petstore/R/R/user_api.R index 81f492ff4a..e8c3564dd0 100644 --- a/samples/client/petstore/R/R/user_api.R +++ b/samples/client/petstore/R/R/user_api.R @@ -411,6 +411,13 @@ UserApi <- R6::R6Class( "UserApi", public = list( api_client = NULL, + #' Initialize a new UserApi. + #' + #' @description + #' Initialize a new UserApi. + #' + #' @param api_client An instance of API client. + #' @export initialize = function(api_client) { if (!missing(api_client)) { self$api_client <- api_client @@ -419,6 +426,15 @@ UserApi <- R6::R6Class( self$api_client <- ApiClient$new() } }, + #' Create user + #' + #' @description + #' Create user + #' + #' @param user Created user object + #' @param ... Other optional arguments + #' @return void + #' @export CreateUser = function(user, ...) { api_response <- self$CreateUserWithHttpInfo(user, ...) resp <- api_response$response @@ -432,7 +448,15 @@ UserApi <- R6::R6Class( api_response } }, - + #' Create user + #' + #' @description + #' Create user + #' + #' @param user Created user object + #' @param ... Other optional arguments + #' @return API response (void) with additional information such as HTTP status code, headers + #' @export CreateUserWithHttpInfo = function(user, ...) { args <- list(...) query_params <- list() @@ -483,6 +507,15 @@ UserApi <- R6::R6Class( rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, + #' Creates list of users with given input array + #' + #' @description + #' Creates list of users with given input array + #' + #' @param user List of user object + #' @param ... Other optional arguments + #' @return void + #' @export CreateUsersWithArrayInput = function(user, ...) { api_response <- self$CreateUsersWithArrayInputWithHttpInfo(user, ...) resp <- api_response$response @@ -496,7 +529,15 @@ UserApi <- R6::R6Class( api_response } }, - + #' Creates list of users with given input array + #' + #' @description + #' Creates list of users with given input array + #' + #' @param user List of user object + #' @param ... Other optional arguments + #' @return API response (void) with additional information such as HTTP status code, headers + #' @export CreateUsersWithArrayInputWithHttpInfo = function(user, ...) { args <- list(...) query_params <- list() @@ -548,6 +589,15 @@ UserApi <- R6::R6Class( rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, + #' Creates list of users with given input array + #' + #' @description + #' Creates list of users with given input array + #' + #' @param user List of user object + #' @param ... Other optional arguments + #' @return void + #' @export CreateUsersWithListInput = function(user, ...) { api_response <- self$CreateUsersWithListInputWithHttpInfo(user, ...) resp <- api_response$response @@ -561,7 +611,15 @@ UserApi <- R6::R6Class( api_response } }, - + #' Creates list of users with given input array + #' + #' @description + #' Creates list of users with given input array + #' + #' @param user List of user object + #' @param ... Other optional arguments + #' @return API response (void) with additional information such as HTTP status code, headers + #' @export CreateUsersWithListInputWithHttpInfo = function(user, ...) { args <- list(...) query_params <- list() @@ -613,6 +671,15 @@ UserApi <- R6::R6Class( rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, + #' Delete user + #' + #' @description + #' Delete user + #' + #' @param username The name that needs to be deleted + #' @param ... Other optional arguments + #' @return void + #' @export DeleteUser = function(username, ...) { api_response <- self$DeleteUserWithHttpInfo(username, ...) resp <- api_response$response @@ -626,7 +693,15 @@ UserApi <- R6::R6Class( api_response } }, - + #' Delete user + #' + #' @description + #' Delete user + #' + #' @param username The name that needs to be deleted + #' @param ... Other optional arguments + #' @return API response (void) with additional information such as HTTP status code, headers + #' @export DeleteUserWithHttpInfo = function(username, ...) { args <- list(...) query_params <- list() @@ -676,6 +751,16 @@ UserApi <- R6::R6Class( rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, + #' Get user by user name + #' + #' @description + #' Get user by user name + #' + #' @param username The name that needs to be fetched. Use user1 for testing. + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return User + #' @export GetUserByName = function(username, data_file=NULL, ...) { api_response <- self$GetUserByNameWithHttpInfo(username, data_file = data_file, ...) resp <- api_response$response @@ -689,7 +774,16 @@ UserApi <- R6::R6Class( api_response } }, - + #' Get user by user name + #' + #' @description + #' Get user by user name + #' + #' @param username The name that needs to be fetched. Use user1 for testing. + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return API response (User) with additional information such as HTTP status code, headers + #' @export GetUserByNameWithHttpInfo = function(username, data_file = NULL, ...) { args <- list(...) query_params <- list() @@ -746,6 +840,17 @@ UserApi <- R6::R6Class( rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, + #' Logs user into the system + #' + #' @description + #' Logs user into the system + #' + #' @param username The user name for login + #' @param password The password for login in clear text + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return character + #' @export LoginUser = function(username, password, data_file=NULL, ...) { api_response <- self$LoginUserWithHttpInfo(username, password, data_file = data_file, ...) resp <- api_response$response @@ -759,7 +864,17 @@ UserApi <- R6::R6Class( api_response } }, - + #' Logs user into the system + #' + #' @description + #' Logs user into the system + #' + #' @param username The user name for login + #' @param password The password for login in clear text + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return API response (character) with additional information such as HTTP status code, headers + #' @export LoginUserWithHttpInfo = function(username, password, data_file = NULL, ...) { args <- list(...) query_params <- list() @@ -816,6 +931,14 @@ UserApi <- R6::R6Class( rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, + #' Logs out current logged in user session + #' + #' @description + #' Logs out current logged in user session + #' + #' @param ... Other optional arguments + #' @return void + #' @export LogoutUser = function(...) { api_response <- self$LogoutUserWithHttpInfo(...) resp <- api_response$response @@ -829,7 +952,14 @@ UserApi <- R6::R6Class( api_response } }, - + #' Logs out current logged in user session + #' + #' @description + #' Logs out current logged in user session + #' + #' @param ... Other optional arguments + #' @return API response (void) with additional information such as HTTP status code, headers + #' @export LogoutUserWithHttpInfo = function(...) { args <- list(...) query_params <- list() @@ -871,6 +1001,16 @@ UserApi <- R6::R6Class( rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, + #' Updated user + #' + #' @description + #' Updated user + #' + #' @param username name that need to be deleted + #' @param user Updated user object + #' @param ... Other optional arguments + #' @return void + #' @export UpdateUser = function(username, user, ...) { api_response <- self$UpdateUserWithHttpInfo(username, user, ...) resp <- api_response$response @@ -884,7 +1024,16 @@ UserApi <- R6::R6Class( api_response } }, - + #' Updated user + #' + #' @description + #' Updated user + #' + #' @param username name that need to be deleted + #' @param user Updated user object + #' @param ... Other optional arguments + #' @return API response (void) with additional information such as HTTP status code, headers + #' @export UpdateUserWithHttpInfo = function(username, user, ...) { args <- list(...) query_params <- list() From 91bc8b41c425ccec69e561a759f1da9e60a66f0b Mon Sep 17 00:00:00 2001 From: William Cheng Date: Fri, 24 Jun 2022 22:20:20 +0800 Subject: [PATCH 104/212] update resteasy lib to newer version (#12688) --- .../src/main/resources/Java/libraries/resteasy/pom.mustache | 2 +- samples/client/petstore/java/resteasy/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/pom.mustache index da7bb62521..a41fd4c4a3 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/pom.mustache @@ -273,7 +273,7 @@ UTF-8 1.6.3 - 4.5.11.Final + 4.7.6.Final 2.10.5 2.10.5.1 {{#openApiNullable}} diff --git a/samples/client/petstore/java/resteasy/pom.xml b/samples/client/petstore/java/resteasy/pom.xml index 63ce6a9091..486b65fb0b 100644 --- a/samples/client/petstore/java/resteasy/pom.xml +++ b/samples/client/petstore/java/resteasy/pom.xml @@ -254,7 +254,7 @@ UTF-8 1.6.3 - 4.5.11.Final + 4.7.6.Final 2.10.5 2.10.5.1 0.2.2 From 22ea4a60a1c76c46ea13a8f24124ebca52e18286 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Fri, 24 Jun 2022 22:20:39 +0800 Subject: [PATCH 105/212] update readme to refer to 13.0.1 newtonsoft json (#12689) --- .../src/main/resources/csharp-netcore/README.mustache | 2 +- .../csharp-netcore/libraries/generichost/README.mustache | 2 +- samples/client/others/csharp-netcore-complex-files/README.md | 2 +- .../OpenAPIClient-ConditionalSerialization/README.md | 2 +- .../OpenAPIClient-generichost-net6.0-nrt/README.md | 2 +- .../csharp-netcore/OpenAPIClient-generichost-net6.0/README.md | 2 +- .../OpenAPIClient-generichost-netstandard2.0/README.md | 2 +- .../petstore/csharp-netcore/OpenAPIClient-httpclient/README.md | 2 +- .../petstore/csharp-netcore/OpenAPIClient-net47/README.md | 2 +- .../petstore/csharp-netcore/OpenAPIClient-net5.0/README.md | 2 +- samples/client/petstore/csharp-netcore/OpenAPIClient/README.md | 2 +- .../client/petstore/csharp-netcore/OpenAPIClientCore/README.md | 2 +- .../petstore/csharp-netcore/OpenAPIClientCoreAndNet47/README.md | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/README.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/README.mustache index 03cfe1410b..4d50a0a616 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/README.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/README.mustache @@ -30,7 +30,7 @@ This C# SDK is automatically generated by the [OpenAPI Generator](https://openap {{#useRestSharp}} - [RestSharp](https://www.nuget.org/packages/RestSharp) - 106.13.0 or later {{/useRestSharp}} -- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 12.0.3 or later +- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 13.0.1 or later - [JsonSubTypes](https://www.nuget.org/packages/JsonSubTypes/) - 1.8.0 or later {{#useCompareNetObjects}} - [CompareNETObjects](https://www.nuget.org/packages/CompareNETObjects) - 4.61.0 or later diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/libraries/generichost/README.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/libraries/generichost/README.mustache index 9bf16f3912..28ace9bfd3 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/libraries/generichost/README.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/libraries/generichost/README.mustache @@ -110,7 +110,7 @@ namespace YourProject - [Microsoft.Extensions.Http](https://www.nuget.org/packages/Microsoft.Extensions.Http/) - 5.0.0 or later{{#supportsRetry}} - [Microsoft.Extensions.Http.Polly](https://www.nuget.org/packages/Microsoft.Extensions.Http.Polly/) - 5.0.1 or later - [Polly](https://www.nuget.org/packages/Polly/) - 7.2.3 or later{{/supportsRetry}} -- [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) - 12.0.3 or later +- [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) - 13.0.1 or later - [JsonSubTypes](https://www.nuget.org/packages/JsonSubTypes/) - 1.7.0 or later{{#useCompareNetObjects}} - [CompareNETObjects](https://www.nuget.org/packages/CompareNETObjects) - 4.61.0 or later{{/useCompareNetObjects}}{{#validatable}} - [System.ComponentModel.Annotations](https://www.nuget.org/packages/System.ComponentModel.Annotations) - 4.7.0 or later{{/validatable}}{{#apiDocs}} diff --git a/samples/client/others/csharp-netcore-complex-files/README.md b/samples/client/others/csharp-netcore-complex-files/README.md index 3ce44751c0..278b39f7a8 100644 --- a/samples/client/others/csharp-netcore-complex-files/README.md +++ b/samples/client/others/csharp-netcore-complex-files/README.md @@ -18,7 +18,7 @@ This C# SDK is automatically generated by the [OpenAPI Generator](https://openap ## Dependencies - [RestSharp](https://www.nuget.org/packages/RestSharp) - 106.13.0 or later -- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 12.0.3 or later +- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 13.0.1 or later - [JsonSubTypes](https://www.nuget.org/packages/JsonSubTypes/) - 1.8.0 or later - [CompareNETObjects](https://www.nuget.org/packages/CompareNETObjects) - 4.61.0 or later - [System.ComponentModel.Annotations](https://www.nuget.org/packages/System.ComponentModel.Annotations) - 5.0.0 or later diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/README.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/README.md index 3976379da1..fdc4b49e79 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/README.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/README.md @@ -18,7 +18,7 @@ This C# SDK is automatically generated by the [OpenAPI Generator](https://openap ## Dependencies - [RestSharp](https://www.nuget.org/packages/RestSharp) - 106.13.0 or later -- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 12.0.3 or later +- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 13.0.1 or later - [JsonSubTypes](https://www.nuget.org/packages/JsonSubTypes/) - 1.8.0 or later - [CompareNETObjects](https://www.nuget.org/packages/CompareNETObjects) - 4.61.0 or later - [System.ComponentModel.Annotations](https://www.nuget.org/packages/System.ComponentModel.Annotations) - 5.0.0 or later diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/README.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/README.md index 6a90a6464f..2ecf1cd41c 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/README.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/README.md @@ -144,7 +144,7 @@ namespace YourProject - [Microsoft.Extensions.Http](https://www.nuget.org/packages/Microsoft.Extensions.Http/) - 5.0.0 or later - [Microsoft.Extensions.Http.Polly](https://www.nuget.org/packages/Microsoft.Extensions.Http.Polly/) - 5.0.1 or later - [Polly](https://www.nuget.org/packages/Polly/) - 7.2.3 or later -- [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) - 12.0.3 or later +- [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) - 13.0.1 or later - [JsonSubTypes](https://www.nuget.org/packages/JsonSubTypes/) - 1.7.0 or later - [CompareNETObjects](https://www.nuget.org/packages/CompareNETObjects) - 4.61.0 or later - [System.ComponentModel.Annotations](https://www.nuget.org/packages/System.ComponentModel.Annotations) - 4.7.0 or later diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/README.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/README.md index b429f63d3f..c109d03e6f 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/README.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/README.md @@ -144,7 +144,7 @@ namespace YourProject - [Microsoft.Extensions.Http](https://www.nuget.org/packages/Microsoft.Extensions.Http/) - 5.0.0 or later - [Microsoft.Extensions.Http.Polly](https://www.nuget.org/packages/Microsoft.Extensions.Http.Polly/) - 5.0.1 or later - [Polly](https://www.nuget.org/packages/Polly/) - 7.2.3 or later -- [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) - 12.0.3 or later +- [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) - 13.0.1 or later - [JsonSubTypes](https://www.nuget.org/packages/JsonSubTypes/) - 1.7.0 or later - [CompareNETObjects](https://www.nuget.org/packages/CompareNETObjects) - 4.61.0 or later - [System.ComponentModel.Annotations](https://www.nuget.org/packages/System.ComponentModel.Annotations) - 4.7.0 or later diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/README.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/README.md index aa28e3905a..5680ae8cbc 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/README.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/README.md @@ -144,7 +144,7 @@ namespace YourProject - [Microsoft.Extensions.Http](https://www.nuget.org/packages/Microsoft.Extensions.Http/) - 5.0.0 or later - [Microsoft.Extensions.Http.Polly](https://www.nuget.org/packages/Microsoft.Extensions.Http.Polly/) - 5.0.1 or later - [Polly](https://www.nuget.org/packages/Polly/) - 7.2.3 or later -- [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) - 12.0.3 or later +- [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) - 13.0.1 or later - [JsonSubTypes](https://www.nuget.org/packages/JsonSubTypes/) - 1.7.0 or later - [CompareNETObjects](https://www.nuget.org/packages/CompareNETObjects) - 4.61.0 or later - [System.ComponentModel.Annotations](https://www.nuget.org/packages/System.ComponentModel.Annotations) - 4.7.0 or later diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/README.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/README.md index 842d37e4bb..f52ed7e7e6 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/README.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/README.md @@ -17,7 +17,7 @@ This C# SDK is automatically generated by the [OpenAPI Generator](https://openap ## Dependencies -- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 12.0.3 or later +- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 13.0.1 or later - [JsonSubTypes](https://www.nuget.org/packages/JsonSubTypes/) - 1.8.0 or later - [CompareNETObjects](https://www.nuget.org/packages/CompareNETObjects) - 4.61.0 or later - [System.ComponentModel.Annotations](https://www.nuget.org/packages/System.ComponentModel.Annotations) - 5.0.0 or later diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/README.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/README.md index 11321e113a..b3a20c0c08 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/README.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/README.md @@ -15,7 +15,7 @@ This C# SDK is automatically generated by the [OpenAPI Generator](https://openap ## Dependencies - [RestSharp](https://www.nuget.org/packages/RestSharp) - 106.13.0 or later -- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 12.0.3 or later +- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 13.0.1 or later - [JsonSubTypes](https://www.nuget.org/packages/JsonSubTypes/) - 1.8.0 or later - [CompareNETObjects](https://www.nuget.org/packages/CompareNETObjects) - 4.61.0 or later - [System.ComponentModel.Annotations](https://www.nuget.org/packages/System.ComponentModel.Annotations) - 5.0.0 or later diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/README.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/README.md index 11321e113a..b3a20c0c08 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/README.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/README.md @@ -15,7 +15,7 @@ This C# SDK is automatically generated by the [OpenAPI Generator](https://openap ## Dependencies - [RestSharp](https://www.nuget.org/packages/RestSharp) - 106.13.0 or later -- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 12.0.3 or later +- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 13.0.1 or later - [JsonSubTypes](https://www.nuget.org/packages/JsonSubTypes/) - 1.8.0 or later - [CompareNETObjects](https://www.nuget.org/packages/CompareNETObjects) - 4.61.0 or later - [System.ComponentModel.Annotations](https://www.nuget.org/packages/System.ComponentModel.Annotations) - 5.0.0 or later diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/README.md b/samples/client/petstore/csharp-netcore/OpenAPIClient/README.md index 3976379da1..fdc4b49e79 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/README.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/README.md @@ -18,7 +18,7 @@ This C# SDK is automatically generated by the [OpenAPI Generator](https://openap ## Dependencies - [RestSharp](https://www.nuget.org/packages/RestSharp) - 106.13.0 or later -- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 12.0.3 or later +- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 13.0.1 or later - [JsonSubTypes](https://www.nuget.org/packages/JsonSubTypes/) - 1.8.0 or later - [CompareNETObjects](https://www.nuget.org/packages/CompareNETObjects) - 4.61.0 or later - [System.ComponentModel.Annotations](https://www.nuget.org/packages/System.ComponentModel.Annotations) - 5.0.0 or later diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/README.md b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/README.md index 11321e113a..b3a20c0c08 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/README.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/README.md @@ -15,7 +15,7 @@ This C# SDK is automatically generated by the [OpenAPI Generator](https://openap ## Dependencies - [RestSharp](https://www.nuget.org/packages/RestSharp) - 106.13.0 or later -- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 12.0.3 or later +- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 13.0.1 or later - [JsonSubTypes](https://www.nuget.org/packages/JsonSubTypes/) - 1.8.0 or later - [CompareNETObjects](https://www.nuget.org/packages/CompareNETObjects) - 4.61.0 or later - [System.ComponentModel.Annotations](https://www.nuget.org/packages/System.ComponentModel.Annotations) - 5.0.0 or later diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/README.md b/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/README.md index ac17447c1f..634b921e42 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/README.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/README.md @@ -18,7 +18,7 @@ This C# SDK is automatically generated by the [OpenAPI Generator](https://openap ## Dependencies - [RestSharp](https://www.nuget.org/packages/RestSharp) - 106.13.0 or later -- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 12.0.3 or later +- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 13.0.1 or later - [JsonSubTypes](https://www.nuget.org/packages/JsonSubTypes/) - 1.8.0 or later - [CompareNETObjects](https://www.nuget.org/packages/CompareNETObjects) - 4.61.0 or later - [System.ComponentModel.Annotations](https://www.nuget.org/packages/System.ComponentModel.Annotations) - 5.0.0 or later From c1b8780fff377979241bd04bcf4759ea6e004713 Mon Sep 17 00:00:00 2001 From: Daniel Renninghoff <1737566+danielrenninghoff@users.noreply.github.com> Date: Sat, 25 Jun 2022 03:40:28 +0200 Subject: [PATCH 106/212] [cpp-qt-client] Replace AnyType with QJsonValue (#12642) --- docs/generators/cpp-qt-client.md | 1 + .../codegen/languages/CppQtClientCodegen.java | 4 ++++ .../main/resources/cpp-qt-client/helpers-body.mustache | 9 +++++++++ .../main/resources/cpp-qt-client/helpers-header.mustache | 2 ++ samples/client/petstore/cpp-qt/client/PFXHelpers.cpp | 9 +++++++++ samples/client/petstore/cpp-qt/client/PFXHelpers.h | 2 ++ 6 files changed, 27 insertions(+) diff --git a/docs/generators/cpp-qt-client.md b/docs/generators/cpp-qt-client.md index 3e8027011e..c7da6c1da0 100644 --- a/docs/generators/cpp-qt-client.md +++ b/docs/generators/cpp-qt-client.md @@ -38,6 +38,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | Type/Alias | Imports | | ---------- | ------- | |OAIHttpFileElement|#include "OAIHttpFileElement.h"| +|QJsonValue|#include <QJsonValue>| ## INSTANTIATION TYPES diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQtClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQtClientCodegen.java index 5aa46278a9..6785239ef0 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQtClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQtClientCodegen.java @@ -108,7 +108,9 @@ public class CppQtClientCodegen extends CppQtAbstractCodegen implements CodegenC supportingFiles.add(new SupportingFile("Project.mustache", sourceFolder, "client.pri")); } typeMapping.put("file", PREFIX + "HttpFileElement"); + typeMapping.put("AnyType", "QJsonValue"); importMapping.put(PREFIX + "HttpFileElement", "#include \"" + PREFIX + "HttpFileElement.h\""); + importMapping.put("QJsonValue", "#include "); } @Override @@ -140,7 +142,9 @@ public class CppQtClientCodegen extends CppQtAbstractCodegen implements CodegenC typeMapping.put("file", modelNamePrefix + "HttpFileElement"); + typeMapping.put("AnyType", "QJsonValue"); importMapping.put(modelNamePrefix + "HttpFileElement", "#include \"" + modelNamePrefix + "HttpFileElement.h\""); + importMapping.put("QJsonValue", "#include "); if (optionalProjectFileFlag) { supportingFiles.add(new SupportingFile("Project.mustache", sourceFolder, modelNamePrefix + "client.pri")); } diff --git a/modules/openapi-generator/src/main/resources/cpp-qt-client/helpers-body.mustache b/modules/openapi-generator/src/main/resources/cpp-qt-client/helpers-body.mustache index 0661117b0a..0e19b1771f 100644 --- a/modules/openapi-generator/src/main/resources/cpp-qt-client/helpers-body.mustache +++ b/modules/openapi-generator/src/main/resources/cpp-qt-client/helpers-body.mustache @@ -186,6 +186,10 @@ QJsonValue toJsonValue(const {{prefix}}HttpFileElement &value) { return value.asJsonValue(); } +QJsonValue toJsonValue(const QJsonValue &value) { + return value; +} + bool fromStringValue(const QString &inStr, QString &value) { value.clear(); value.append(inStr); @@ -415,6 +419,11 @@ bool fromJsonValue({{prefix}}HttpFileElement &value, const QJsonValue &jval) { return value.fromJsonValue(jval); } +bool fromJsonValue(QJsonValue &value, const QJsonValue &jval) { + value = jval; + return true; +} + {{#cppNamespaceDeclarations}} } // namespace {{this}} {{/cppNamespaceDeclarations}} diff --git a/modules/openapi-generator/src/main/resources/cpp-qt-client/helpers-header.mustache b/modules/openapi-generator/src/main/resources/cpp-qt-client/helpers-header.mustache index 6b0ad489b1..75523b15eb 100644 --- a/modules/openapi-generator/src/main/resources/cpp-qt-client/helpers-header.mustache +++ b/modules/openapi-generator/src/main/resources/cpp-qt-client/helpers-header.mustache @@ -127,6 +127,7 @@ QJsonValue toJsonValue(const double &value); QJsonValue toJsonValue(const {{prefix}}Object &value); QJsonValue toJsonValue(const {{prefix}}Enum &value); QJsonValue toJsonValue(const {{prefix}}HttpFileElement &value); +QJsonValue toJsonValue(const QJsonValue &value); template QJsonValue toJsonValue(const QList &val) { @@ -213,6 +214,7 @@ bool fromJsonValue(double &value, const QJsonValue &jval); bool fromJsonValue({{prefix}}Object &value, const QJsonValue &jval); bool fromJsonValue({{prefix}}Enum &value, const QJsonValue &jval); bool fromJsonValue({{prefix}}HttpFileElement &value, const QJsonValue &jval); +bool fromJsonValue(QJsonValue &value, const QJsonValue &jval); template bool fromJsonValue(QList &val, const QJsonValue &jval) { diff --git a/samples/client/petstore/cpp-qt/client/PFXHelpers.cpp b/samples/client/petstore/cpp-qt/client/PFXHelpers.cpp index 7245de9007..aab9ed05f2 100644 --- a/samples/client/petstore/cpp-qt/client/PFXHelpers.cpp +++ b/samples/client/petstore/cpp-qt/client/PFXHelpers.cpp @@ -194,6 +194,10 @@ QJsonValue toJsonValue(const PFXHttpFileElement &value) { return value.asJsonValue(); } +QJsonValue toJsonValue(const QJsonValue &value) { + return value; +} + bool fromStringValue(const QString &inStr, QString &value) { value.clear(); value.append(inStr); @@ -423,4 +427,9 @@ bool fromJsonValue(PFXHttpFileElement &value, const QJsonValue &jval) { return value.fromJsonValue(jval); } +bool fromJsonValue(QJsonValue &value, const QJsonValue &jval) { + value = jval; + return true; +} + } // namespace test_namespace diff --git a/samples/client/petstore/cpp-qt/client/PFXHelpers.h b/samples/client/petstore/cpp-qt/client/PFXHelpers.h index 3980b8ac2f..ad1c3bb0cd 100644 --- a/samples/client/petstore/cpp-qt/client/PFXHelpers.h +++ b/samples/client/petstore/cpp-qt/client/PFXHelpers.h @@ -135,6 +135,7 @@ QJsonValue toJsonValue(const double &value); QJsonValue toJsonValue(const PFXObject &value); QJsonValue toJsonValue(const PFXEnum &value); QJsonValue toJsonValue(const PFXHttpFileElement &value); +QJsonValue toJsonValue(const QJsonValue &value); template QJsonValue toJsonValue(const QList &val) { @@ -221,6 +222,7 @@ bool fromJsonValue(double &value, const QJsonValue &jval); bool fromJsonValue(PFXObject &value, const QJsonValue &jval); bool fromJsonValue(PFXEnum &value, const QJsonValue &jval); bool fromJsonValue(PFXHttpFileElement &value, const QJsonValue &jval); +bool fromJsonValue(QJsonValue &value, const QJsonValue &jval); template bool fromJsonValue(QList &val, const QJsonValue &jval) { From 52452750c08d14ce59f74ad571088eefefe4c324 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sat, 25 Jun 2022 10:05:01 +0800 Subject: [PATCH 107/212] add test for anytype in cpp qt client --- .../src/test/resources/3_0/cpp-qt/petstore.yaml | 10 ++++++++++ .../client/petstore/cpp-qt/.openapi-generator/FILES | 2 ++ samples/client/petstore/cpp-qt/client/CMakeLists.txt | 1 + samples/client/petstore/cpp-qt/client/PFXclient.pri | 2 ++ 4 files changed, 15 insertions(+) diff --git a/modules/openapi-generator/src/test/resources/3_0/cpp-qt/petstore.yaml b/modules/openapi-generator/src/test/resources/3_0/cpp-qt/petstore.yaml index 15bfe26287..bf8072432a 100644 --- a/modules/openapi-generator/src/test/resources/3_0/cpp-qt/petstore.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/cpp-qt/petstore.yaml @@ -743,3 +743,13 @@ components: type: string message: type: string + TestAnyType: + title: test any type + description: test any type + type: object + properties: + code: + description: any type test + message: + type: string + diff --git a/samples/client/petstore/cpp-qt/.openapi-generator/FILES b/samples/client/petstore/cpp-qt/.openapi-generator/FILES index b506c6fb3e..b453950fa4 100644 --- a/samples/client/petstore/cpp-qt/.openapi-generator/FILES +++ b/samples/client/petstore/cpp-qt/.openapi-generator/FILES @@ -28,6 +28,8 @@ client/PFXStoreApi.cpp client/PFXStoreApi.h client/PFXTag.cpp client/PFXTag.h +client/PFXTestAnyType.cpp +client/PFXTestAnyType.h client/PFXUser.cpp client/PFXUser.h client/PFXUserApi.cpp diff --git a/samples/client/petstore/cpp-qt/client/CMakeLists.txt b/samples/client/petstore/cpp-qt/client/CMakeLists.txt index 24954a9e68..e7cad65311 100644 --- a/samples/client/petstore/cpp-qt/client/CMakeLists.txt +++ b/samples/client/petstore/cpp-qt/client/CMakeLists.txt @@ -21,6 +21,7 @@ add_library(${PROJECT_NAME} PFXOrder.cpp PFXPet.cpp PFXTag.cpp + PFXTestAnyType.cpp PFXUser.cpp PFXPetApi.cpp PFXPrimitivesApi.cpp diff --git a/samples/client/petstore/cpp-qt/client/PFXclient.pri b/samples/client/petstore/cpp-qt/client/PFXclient.pri index 8aa0fc71c0..dc65e65de7 100644 --- a/samples/client/petstore/cpp-qt/client/PFXclient.pri +++ b/samples/client/petstore/cpp-qt/client/PFXclient.pri @@ -7,6 +7,7 @@ HEADERS += \ $${PWD}/PFXOrder.h \ $${PWD}/PFXPet.h \ $${PWD}/PFXTag.h \ + $${PWD}/PFXTestAnyType.h \ $${PWD}/PFXUser.h \ # APIs $${PWD}/PFXPetApi.h \ @@ -30,6 +31,7 @@ SOURCES += \ $${PWD}/PFXOrder.cpp \ $${PWD}/PFXPet.cpp \ $${PWD}/PFXTag.cpp \ + $${PWD}/PFXTestAnyType.cpp \ $${PWD}/PFXUser.cpp \ # APIs $${PWD}/PFXPetApi.cpp \ From 2c9bd4a28f15882f0df404f86241003ca0106d85 Mon Sep 17 00:00:00 2001 From: jld3103 Date: Sat, 25 Jun 2022 04:07:00 +0200 Subject: [PATCH 108/212] Put null values into serialized output in dart2 generator (#12569) * Put null values into serialized output in dart2 generator * Update samples --- .../native/native_class.mustache | 4 ++++ .../lib/model/api_response.dart | 6 +++++ .../lib/model/category.dart | 4 ++++ .../petstore_client_lib/lib/model/order.dart | 10 ++++++++ .../petstore_client_lib/lib/model/pet.dart | 6 +++++ .../petstore_client_lib/lib/model/tag.dart | 4 ++++ .../petstore_client_lib/lib/model/user.dart | 16 +++++++++++++ .../lib/model/all_of_with_single_ref.dart | 4 ++++ .../lib/model/api_response.dart | 6 +++++ .../lib/model/capitalization.dart | 12 ++++++++++ .../lib/model/cat.dart | 2 ++ .../lib/model/cat_all_of.dart | 2 ++ .../lib/model/category.dart | 2 ++ .../lib/model/class_model.dart | 2 ++ .../lib/model/deprecated_object.dart | 2 ++ .../lib/model/dog.dart | 2 ++ .../lib/model/dog_all_of.dart | 2 ++ .../lib/model/enum_arrays.dart | 2 ++ .../lib/model/enum_test.dart | 14 +++++++++++ .../lib/model/file_schema_test_class.dart | 2 ++ .../lib/model/foo_get_default_response.dart | 2 ++ .../lib/model/format_test.dart | 24 +++++++++++++++++++ .../lib/model/has_only_read_only.dart | 4 ++++ .../lib/model/health_check_result.dart | 2 ++ ...rties_and_additional_properties_class.dart | 4 ++++ .../lib/model/model200_response.dart | 4 ++++ .../lib/model/model_client.dart | 2 ++ .../lib/model/model_file.dart | 2 ++ .../lib/model/model_list.dart | 2 ++ .../lib/model/model_return.dart | 2 ++ .../lib/model/name.dart | 6 +++++ .../lib/model/nullable_class.dart | 20 ++++++++++++++++ .../lib/model/number_only.dart | 2 ++ .../model/object_with_deprecated_fields.dart | 6 +++++ .../lib/model/order.dart | 10 ++++++++ .../lib/model/outer_composite.dart | 6 +++++ .../lib/model/pet.dart | 6 +++++ .../lib/model/read_only_first.dart | 4 ++++ .../lib/model/special_model_name.dart | 2 ++ .../lib/model/tag.dart | 4 ++++ .../lib/model/user.dart | 16 +++++++++++++ 41 files changed, 234 insertions(+) diff --git a/modules/openapi-generator/src/main/resources/dart2/serialization/native/native_class.mustache b/modules/openapi-generator/src/main/resources/dart2/serialization/native/native_class.mustache index 872dc9e8ee..63c061a1ff 100644 --- a/modules/openapi-generator/src/main/resources/dart2/serialization/native/native_class.mustache +++ b/modules/openapi-generator/src/main/resources/dart2/serialization/native/native_class.mustache @@ -90,11 +90,15 @@ class {{{classname}}} { {{/isDate}} {{/isDateTime}} {{#isNullable}} + } else { + _json[r'{{{baseName}}}'] = null; } {{/isNullable}} {{^isNullable}} {{^required}} {{^defaultValue}} + } else { + _json[r'{{{baseName}}}'] = null; } {{/defaultValue}} {{/required}} diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/api_response.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/api_response.dart index 5e185d3c8c..a4eaa58a9d 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/api_response.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/api_response.dart @@ -62,12 +62,18 @@ class ApiResponse { final _json = {}; if (code != null) { _json[r'code'] = code; + } else { + _json[r'code'] = null; } if (type != null) { _json[r'type'] = type; + } else { + _json[r'type'] = null; } if (message != null) { _json[r'message'] = message; + } else { + _json[r'message'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/category.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/category.dart index 8efd3f47b4..d010dbf2c4 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/category.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/category.dart @@ -51,9 +51,13 @@ class Category { final _json = {}; if (id != null) { _json[r'id'] = id; + } else { + _json[r'id'] = null; } if (name != null) { _json[r'name'] = name; + } else { + _json[r'name'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/order.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/order.dart index 1ffb5d60b7..27db5fd318 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/order.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/order.dart @@ -84,18 +84,28 @@ class Order { final _json = {}; if (id != null) { _json[r'id'] = id; + } else { + _json[r'id'] = null; } if (petId != null) { _json[r'petId'] = petId; + } else { + _json[r'petId'] = null; } if (quantity != null) { _json[r'quantity'] = quantity; + } else { + _json[r'quantity'] = null; } if (shipDate != null) { _json[r'shipDate'] = shipDate!.toUtc().toIso8601String(); + } else { + _json[r'shipDate'] = null; } if (status != null) { _json[r'status'] = status; + } else { + _json[r'status'] = null; } _json[r'complete'] = complete; return _json; diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/pet.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/pet.dart index 5f57ab9671..e93bff4b5d 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/pet.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/pet.dart @@ -72,15 +72,21 @@ class Pet { final _json = {}; if (id != null) { _json[r'id'] = id; + } else { + _json[r'id'] = null; } if (category != null) { _json[r'category'] = category; + } else { + _json[r'category'] = null; } _json[r'name'] = name; _json[r'photoUrls'] = photoUrls; _json[r'tags'] = tags; if (status != null) { _json[r'status'] = status; + } else { + _json[r'status'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/tag.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/tag.dart index 666a849c73..18e86440a1 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/tag.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/tag.dart @@ -51,9 +51,13 @@ class Tag { final _json = {}; if (id != null) { _json[r'id'] = id; + } else { + _json[r'id'] = null; } if (name != null) { _json[r'name'] = name; + } else { + _json[r'name'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/user.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/user.dart index 75d3e1e136..4d3d14508c 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/user.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/user.dart @@ -118,27 +118,43 @@ class User { final _json = {}; if (id != null) { _json[r'id'] = id; + } else { + _json[r'id'] = null; } if (username != null) { _json[r'username'] = username; + } else { + _json[r'username'] = null; } if (firstName != null) { _json[r'firstName'] = firstName; + } else { + _json[r'firstName'] = null; } if (lastName != null) { _json[r'lastName'] = lastName; + } else { + _json[r'lastName'] = null; } if (email != null) { _json[r'email'] = email; + } else { + _json[r'email'] = null; } if (password != null) { _json[r'password'] = password; + } else { + _json[r'password'] = null; } if (phone != null) { _json[r'phone'] = phone; + } else { + _json[r'phone'] = null; } if (userStatus != null) { _json[r'userStatus'] = userStatus; + } else { + _json[r'userStatus'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/all_of_with_single_ref.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/all_of_with_single_ref.dart index 221af9ab17..22a9e4600d 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/all_of_with_single_ref.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/all_of_with_single_ref.dart @@ -45,9 +45,13 @@ class AllOfWithSingleRef { final _json = {}; if (username != null) { _json[r'username'] = username; + } else { + _json[r'username'] = null; } if (singleRefType != null) { _json[r'SingleRefType'] = singleRefType; + } else { + _json[r'SingleRefType'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/api_response.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/api_response.dart index 5e185d3c8c..a4eaa58a9d 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/api_response.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/api_response.dart @@ -62,12 +62,18 @@ class ApiResponse { final _json = {}; if (code != null) { _json[r'code'] = code; + } else { + _json[r'code'] = null; } if (type != null) { _json[r'type'] = type; + } else { + _json[r'type'] = null; } if (message != null) { _json[r'message'] = message; + } else { + _json[r'message'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/capitalization.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/capitalization.dart index c6e9806d62..fc5ed9f6d2 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/capitalization.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/capitalization.dart @@ -96,21 +96,33 @@ class Capitalization { final _json = {}; if (smallCamel != null) { _json[r'smallCamel'] = smallCamel; + } else { + _json[r'smallCamel'] = null; } if (capitalCamel != null) { _json[r'CapitalCamel'] = capitalCamel; + } else { + _json[r'CapitalCamel'] = null; } if (smallSnake != null) { _json[r'small_Snake'] = smallSnake; + } else { + _json[r'small_Snake'] = null; } if (capitalSnake != null) { _json[r'Capital_Snake'] = capitalSnake; + } else { + _json[r'Capital_Snake'] = null; } if (sCAETHFlowPoints != null) { _json[r'SCA_ETH_Flow_Points'] = sCAETHFlowPoints; + } else { + _json[r'SCA_ETH_Flow_Points'] = null; } if (ATT_NAME != null) { _json[r'ATT_NAME'] = ATT_NAME; + } else { + _json[r'ATT_NAME'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/cat.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/cat.dart index 6c95b1ebe2..a3011f6a11 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/cat.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/cat.dart @@ -52,6 +52,8 @@ class Cat { _json[r'color'] = color; if (declawed != null) { _json[r'declawed'] = declawed; + } else { + _json[r'declawed'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/cat_all_of.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/cat_all_of.dart index 615c104c3b..d9b6f73005 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/cat_all_of.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/cat_all_of.dart @@ -40,6 +40,8 @@ class CatAllOf { final _json = {}; if (declawed != null) { _json[r'declawed'] = declawed; + } else { + _json[r'declawed'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/category.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/category.dart index 7f2ab121ae..364afedb3e 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/category.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/category.dart @@ -45,6 +45,8 @@ class Category { final _json = {}; if (id != null) { _json[r'id'] = id; + } else { + _json[r'id'] = null; } _json[r'name'] = name; return _json; diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/class_model.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/class_model.dart index 6473acd90e..96e9daa12e 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/class_model.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/class_model.dart @@ -40,6 +40,8 @@ class ClassModel { final _json = {}; if (class_ != null) { _json[r'_class'] = class_; + } else { + _json[r'_class'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/deprecated_object.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/deprecated_object.dart index 23344ec66d..bb90d8abe8 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/deprecated_object.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/deprecated_object.dart @@ -40,6 +40,8 @@ class DeprecatedObject { final _json = {}; if (name != null) { _json[r'name'] = name; + } else { + _json[r'name'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/dog.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/dog.dart index c403d14c05..bad82eff1e 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/dog.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/dog.dart @@ -52,6 +52,8 @@ class Dog { _json[r'color'] = color; if (breed != null) { _json[r'breed'] = breed; + } else { + _json[r'breed'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/dog_all_of.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/dog_all_of.dart index e059f9e105..fd2aedb5a7 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/dog_all_of.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/dog_all_of.dart @@ -40,6 +40,8 @@ class DogAllOf { final _json = {}; if (breed != null) { _json[r'breed'] = breed; + } else { + _json[r'breed'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/enum_arrays.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/enum_arrays.dart index 426eb6036f..42830ee437 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/enum_arrays.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/enum_arrays.dart @@ -39,6 +39,8 @@ class EnumArrays { final _json = {}; if (justSymbol != null) { _json[r'just_symbol'] = justSymbol; + } else { + _json[r'just_symbol'] = null; } _json[r'array_enum'] = arrayEnum; return _json; diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/enum_test.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/enum_test.dart index 551376fd2e..d947a241e5 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/enum_test.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/enum_test.dart @@ -87,25 +87,39 @@ class EnumTest { final _json = {}; if (enumString != null) { _json[r'enum_string'] = enumString; + } else { + _json[r'enum_string'] = null; } _json[r'enum_string_required'] = enumStringRequired; if (enumInteger != null) { _json[r'enum_integer'] = enumInteger; + } else { + _json[r'enum_integer'] = null; } if (enumNumber != null) { _json[r'enum_number'] = enumNumber; + } else { + _json[r'enum_number'] = null; } if (outerEnum != null) { _json[r'outerEnum'] = outerEnum; + } else { + _json[r'outerEnum'] = null; } if (outerEnumInteger != null) { _json[r'outerEnumInteger'] = outerEnumInteger; + } else { + _json[r'outerEnumInteger'] = null; } if (outerEnumDefaultValue != null) { _json[r'outerEnumDefaultValue'] = outerEnumDefaultValue; + } else { + _json[r'outerEnumDefaultValue'] = null; } if (outerEnumIntegerDefaultValue != null) { _json[r'outerEnumIntegerDefaultValue'] = outerEnumIntegerDefaultValue; + } else { + _json[r'outerEnumIntegerDefaultValue'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/file_schema_test_class.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/file_schema_test_class.dart index 2c934d2f28..57332cfe38 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/file_schema_test_class.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/file_schema_test_class.dart @@ -45,6 +45,8 @@ class FileSchemaTestClass { final _json = {}; if (file != null) { _json[r'file'] = file; + } else { + _json[r'file'] = null; } _json[r'files'] = files; return _json; diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/foo_get_default_response.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/foo_get_default_response.dart index de0b2f2637..e240869104 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/foo_get_default_response.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/foo_get_default_response.dart @@ -40,6 +40,8 @@ class FooGetDefaultResponse { final _json = {}; if (string != null) { _json[r'string'] = string; + } else { + _json[r'string'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/format_test.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/format_test.dart index a04571fe6d..20bf557aa8 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/format_test.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/format_test.dart @@ -193,43 +193,67 @@ class FormatTest { final _json = {}; if (integer != null) { _json[r'integer'] = integer; + } else { + _json[r'integer'] = null; } if (int32 != null) { _json[r'int32'] = int32; + } else { + _json[r'int32'] = null; } if (int64 != null) { _json[r'int64'] = int64; + } else { + _json[r'int64'] = null; } _json[r'number'] = number; if (float != null) { _json[r'float'] = float; + } else { + _json[r'float'] = null; } if (double_ != null) { _json[r'double'] = double_; + } else { + _json[r'double'] = null; } if (decimal != null) { _json[r'decimal'] = decimal; + } else { + _json[r'decimal'] = null; } if (string != null) { _json[r'string'] = string; + } else { + _json[r'string'] = null; } _json[r'byte'] = byte; if (binary != null) { _json[r'binary'] = binary; + } else { + _json[r'binary'] = null; } _json[r'date'] = _dateFormatter.format(date.toUtc()); if (dateTime != null) { _json[r'dateTime'] = dateTime!.toUtc().toIso8601String(); + } else { + _json[r'dateTime'] = null; } if (uuid != null) { _json[r'uuid'] = uuid; + } else { + _json[r'uuid'] = null; } _json[r'password'] = password; if (patternWithDigits != null) { _json[r'pattern_with_digits'] = patternWithDigits; + } else { + _json[r'pattern_with_digits'] = null; } if (patternWithDigitsAndDelimiter != null) { _json[r'pattern_with_digits_and_delimiter'] = patternWithDigitsAndDelimiter; + } else { + _json[r'pattern_with_digits_and_delimiter'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/has_only_read_only.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/has_only_read_only.dart index 7e4166ebf8..cdbc81b89b 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/has_only_read_only.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/has_only_read_only.dart @@ -51,9 +51,13 @@ class HasOnlyReadOnly { final _json = {}; if (bar != null) { _json[r'bar'] = bar; + } else { + _json[r'bar'] = null; } if (foo != null) { _json[r'foo'] = foo; + } else { + _json[r'foo'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/health_check_result.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/health_check_result.dart index 98cb91b77d..05da330f66 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/health_check_result.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/health_check_result.dart @@ -34,6 +34,8 @@ class HealthCheckResult { final _json = {}; if (nullableMessage != null) { _json[r'NullableMessage'] = nullableMessage; + } else { + _json[r'NullableMessage'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/mixed_properties_and_additional_properties_class.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/mixed_properties_and_additional_properties_class.dart index b281b0a059..268c7b3e72 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/mixed_properties_and_additional_properties_class.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/mixed_properties_and_additional_properties_class.dart @@ -56,9 +56,13 @@ class MixedPropertiesAndAdditionalPropertiesClass { final _json = {}; if (uuid != null) { _json[r'uuid'] = uuid; + } else { + _json[r'uuid'] = null; } if (dateTime != null) { _json[r'dateTime'] = dateTime!.toUtc().toIso8601String(); + } else { + _json[r'dateTime'] = null; } _json[r'map'] = map; return _json; diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model200_response.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model200_response.dart index 46971d2d4b..ab3afaa2bc 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model200_response.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model200_response.dart @@ -51,9 +51,13 @@ class Model200Response { final _json = {}; if (name != null) { _json[r'name'] = name; + } else { + _json[r'name'] = null; } if (class_ != null) { _json[r'class'] = class_; + } else { + _json[r'class'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model_client.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model_client.dart index db045aff6e..e5602b1733 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model_client.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model_client.dart @@ -40,6 +40,8 @@ class ModelClient { final _json = {}; if (client != null) { _json[r'client'] = client; + } else { + _json[r'client'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model_file.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model_file.dart index aa62095d6f..a5c0a44feb 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model_file.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model_file.dart @@ -41,6 +41,8 @@ class ModelFile { final _json = {}; if (sourceURI != null) { _json[r'sourceURI'] = sourceURI; + } else { + _json[r'sourceURI'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model_list.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model_list.dart index 87da3387c5..1b0780f7c6 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model_list.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model_list.dart @@ -40,6 +40,8 @@ class ModelList { final _json = {}; if (n123list != null) { _json[r'123-list'] = n123list; + } else { + _json[r'123-list'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model_return.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model_return.dart index 6433bf044f..5b4bfe2703 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model_return.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/model_return.dart @@ -40,6 +40,8 @@ class ModelReturn { final _json = {}; if (return_ != null) { _json[r'return'] = return_; + } else { + _json[r'return'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/name.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/name.dart index 8f922da35e..79e3220d0a 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/name.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/name.dart @@ -68,12 +68,18 @@ class Name { _json[r'name'] = name; if (snakeCase != null) { _json[r'snake_case'] = snakeCase; + } else { + _json[r'snake_case'] = null; } if (property != null) { _json[r'property'] = property; + } else { + _json[r'property'] = null; } if (n123number != null) { _json[r'123Number'] = n123number; + } else { + _json[r'123Number'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/nullable_class.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/nullable_class.dart index b8a0878b30..36133b3142 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/nullable_class.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/nullable_class.dart @@ -89,34 +89,54 @@ class NullableClass { final _json = {}; if (integerProp != null) { _json[r'integer_prop'] = integerProp; + } else { + _json[r'integer_prop'] = null; } if (numberProp != null) { _json[r'number_prop'] = numberProp; + } else { + _json[r'number_prop'] = null; } if (booleanProp != null) { _json[r'boolean_prop'] = booleanProp; + } else { + _json[r'boolean_prop'] = null; } if (stringProp != null) { _json[r'string_prop'] = stringProp; + } else { + _json[r'string_prop'] = null; } if (dateProp != null) { _json[r'date_prop'] = _dateFormatter.format(dateProp!.toUtc()); + } else { + _json[r'date_prop'] = null; } if (datetimeProp != null) { _json[r'datetime_prop'] = datetimeProp!.toUtc().toIso8601String(); + } else { + _json[r'datetime_prop'] = null; } if (arrayNullableProp != null) { _json[r'array_nullable_prop'] = arrayNullableProp; + } else { + _json[r'array_nullable_prop'] = null; } if (arrayAndItemsNullableProp != null) { _json[r'array_and_items_nullable_prop'] = arrayAndItemsNullableProp; + } else { + _json[r'array_and_items_nullable_prop'] = null; } _json[r'array_items_nullable'] = arrayItemsNullable; if (objectNullableProp != null) { _json[r'object_nullable_prop'] = objectNullableProp; + } else { + _json[r'object_nullable_prop'] = null; } if (objectAndItemsNullableProp != null) { _json[r'object_and_items_nullable_prop'] = objectAndItemsNullableProp; + } else { + _json[r'object_and_items_nullable_prop'] = null; } _json[r'object_items_nullable'] = objectItemsNullable; return _json; diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/number_only.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/number_only.dart index 38f4145b12..3fce2c7850 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/number_only.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/number_only.dart @@ -40,6 +40,8 @@ class NumberOnly { final _json = {}; if (justNumber != null) { _json[r'JustNumber'] = justNumber; + } else { + _json[r'JustNumber'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/object_with_deprecated_fields.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/object_with_deprecated_fields.dart index 05404064ef..6c67afbbdd 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/object_with_deprecated_fields.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/object_with_deprecated_fields.dart @@ -67,12 +67,18 @@ class ObjectWithDeprecatedFields { final _json = {}; if (uuid != null) { _json[r'uuid'] = uuid; + } else { + _json[r'uuid'] = null; } if (id != null) { _json[r'id'] = id; + } else { + _json[r'id'] = null; } if (deprecatedRef != null) { _json[r'deprecatedRef'] = deprecatedRef; + } else { + _json[r'deprecatedRef'] = null; } _json[r'bars'] = bars; return _json; diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/order.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/order.dart index 1ffb5d60b7..27db5fd318 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/order.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/order.dart @@ -84,18 +84,28 @@ class Order { final _json = {}; if (id != null) { _json[r'id'] = id; + } else { + _json[r'id'] = null; } if (petId != null) { _json[r'petId'] = petId; + } else { + _json[r'petId'] = null; } if (quantity != null) { _json[r'quantity'] = quantity; + } else { + _json[r'quantity'] = null; } if (shipDate != null) { _json[r'shipDate'] = shipDate!.toUtc().toIso8601String(); + } else { + _json[r'shipDate'] = null; } if (status != null) { _json[r'status'] = status; + } else { + _json[r'status'] = null; } _json[r'complete'] = complete; return _json; diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/outer_composite.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/outer_composite.dart index 20caeb7593..f31cf4b0a3 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/outer_composite.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/outer_composite.dart @@ -62,12 +62,18 @@ class OuterComposite { final _json = {}; if (myNumber != null) { _json[r'my_number'] = myNumber; + } else { + _json[r'my_number'] = null; } if (myString != null) { _json[r'my_string'] = myString; + } else { + _json[r'my_string'] = null; } if (myBoolean != null) { _json[r'my_boolean'] = myBoolean; + } else { + _json[r'my_boolean'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/pet.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/pet.dart index 86ecb7e912..5944a349b9 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/pet.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/pet.dart @@ -72,15 +72,21 @@ class Pet { final _json = {}; if (id != null) { _json[r'id'] = id; + } else { + _json[r'id'] = null; } if (category != null) { _json[r'category'] = category; + } else { + _json[r'category'] = null; } _json[r'name'] = name; _json[r'photoUrls'] = photoUrls; _json[r'tags'] = tags; if (status != null) { _json[r'status'] = status; + } else { + _json[r'status'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/read_only_first.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/read_only_first.dart index d9919a5e3f..4701b8c575 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/read_only_first.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/read_only_first.dart @@ -51,9 +51,13 @@ class ReadOnlyFirst { final _json = {}; if (bar != null) { _json[r'bar'] = bar; + } else { + _json[r'bar'] = null; } if (baz != null) { _json[r'baz'] = baz; + } else { + _json[r'baz'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/special_model_name.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/special_model_name.dart index 8b452aa02d..869667d125 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/special_model_name.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/special_model_name.dart @@ -40,6 +40,8 @@ class SpecialModelName { final _json = {}; if (dollarSpecialLeftSquareBracketPropertyPeriodNameRightSquareBracket != null) { _json[r'$special[property.name]'] = dollarSpecialLeftSquareBracketPropertyPeriodNameRightSquareBracket; + } else { + _json[r'$special[property.name]'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/tag.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/tag.dart index 666a849c73..18e86440a1 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/tag.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/tag.dart @@ -51,9 +51,13 @@ class Tag { final _json = {}; if (id != null) { _json[r'id'] = id; + } else { + _json[r'id'] = null; } if (name != null) { _json[r'name'] = name; + } else { + _json[r'name'] = null; } return _json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/user.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/user.dart index 75d3e1e136..4d3d14508c 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/user.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/user.dart @@ -118,27 +118,43 @@ class User { final _json = {}; if (id != null) { _json[r'id'] = id; + } else { + _json[r'id'] = null; } if (username != null) { _json[r'username'] = username; + } else { + _json[r'username'] = null; } if (firstName != null) { _json[r'firstName'] = firstName; + } else { + _json[r'firstName'] = null; } if (lastName != null) { _json[r'lastName'] = lastName; + } else { + _json[r'lastName'] = null; } if (email != null) { _json[r'email'] = email; + } else { + _json[r'email'] = null; } if (password != null) { _json[r'password'] = password; + } else { + _json[r'password'] = null; } if (phone != null) { _json[r'phone'] = phone; + } else { + _json[r'phone'] = null; } if (userStatus != null) { _json[r'userStatus'] = userStatus; + } else { + _json[r'userStatus'] = null; } return _json; } From 88ae36eec06b2b246addb8437d41524352c4414f Mon Sep 17 00:00:00 2001 From: Jochen Reinhardt <46705439+JochenReinhardt@users.noreply.github.com> Date: Sat, 25 Jun 2022 04:21:14 +0200 Subject: [PATCH 109/212] #12656 fix HTML-escaped token and authorization URLs in Java based libraries (#12677) --- .../src/main/resources/Java/libraries/feign/ApiClient.mustache | 2 +- .../main/resources/Java/libraries/jersey2/ApiClient.mustache | 2 +- .../main/resources/Java/libraries/jersey3/ApiClient.mustache | 2 +- .../resources/Java/libraries/okhttp-gson/ApiClient.mustache | 2 +- .../main/resources/Java/libraries/retrofit/ApiClient.mustache | 2 +- .../main/resources/Java/libraries/retrofit2/ApiClient.mustache | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/feign/ApiClient.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/feign/ApiClient.mustache index 20b2cb3354..cc9599940f 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/feign/ApiClient.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/feign/ApiClient.mustache @@ -83,7 +83,7 @@ public class ApiClient { auth = new ApiKeyAuth({{#isKeyInHeader}}"header"{{/isKeyInHeader}}{{#isKeyInQuery}}"query"{{/isKeyInQuery}}{{#isKeyInCookie}}"cookie"{{/isKeyInCookie}}, "{{keyParamName}}"); {{/isApiKey}} {{#isOAuth}} - auth = buildOauthRequestInterceptor(OAuthFlow.{{#lambda.uppercase}}{{#lambda.snakecase}}{{flow}}{{/lambda.snakecase}}{{/lambda.uppercase}}, "{{authorizationUrl}}", "{{tokenUrl}}", "{{#scopes}}{{scope}}{{^-last}}, {{/-last}}{{/scopes}}"); + auth = buildOauthRequestInterceptor(OAuthFlow.{{#lambda.uppercase}}{{#lambda.snakecase}}{{flow}}{{/lambda.snakecase}}{{/lambda.uppercase}}, "{{{authorizationUrl}}}", "{{{tokenUrl}}}", "{{#scopes}}{{scope}}{{^-last}}, {{/-last}}{{/scopes}}"); {{/isOAuth}} } else {{/authMethods}}{ throw new RuntimeException("auth name \"" + authName + "\" not found in available auth names"); diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/ApiClient.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/ApiClient.mustache index 0db332a10c..bf9545f34f 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/ApiClient.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/ApiClient.mustache @@ -227,7 +227,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} { if (auth instanceof OAuth) { authentications.put("{{name}}", auth); } else { - authentications.put("{{name}}", new OAuth(basePath, "{{tokenUrl}}")); + authentications.put("{{name}}", new OAuth(basePath, "{{{tokenUrl}}}")); } {{/isOAuth}} {{/authMethods}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/ApiClient.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/ApiClient.mustache index 2454aafa89..baaa6037fa 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/ApiClient.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/ApiClient.mustache @@ -227,7 +227,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} { if (auth instanceof OAuth) { authentications.put("{{name}}", auth); } else { - authentications.put("{{name}}", new OAuth(basePath, "{{tokenUrl}}")); + authentications.put("{{name}}", new OAuth(basePath, "{{{tokenUrl}}}")); } {{/isOAuth}} {{/authMethods}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache index 0bddc657e0..73a5749fba 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache @@ -180,7 +180,7 @@ public class ApiClient { } {{#hasOAuthMethods}} - String tokenUrl = "{{tokenUrl}}"; + String tokenUrl = "{{{tokenUrl}}}"; if (!"".equals(tokenUrl) && !URI.create(tokenUrl).isAbsolute()) { URI uri = URI.create(getBasePath()); tokenUrl = uri.getScheme() + ":" + diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/retrofit/ApiClient.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/retrofit/ApiClient.mustache index ad3057e9c3..465762a36b 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/retrofit/ApiClient.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/retrofit/ApiClient.mustache @@ -73,7 +73,7 @@ public class ApiClient { auth = new ApiKeyAuth({{#isKeyInHeader}}"header"{{/isKeyInHeader}}{{#isKeyInQuery}}"query"{{/isKeyInQuery}}{{#isKeyInCookie}}"cookie"{{/isKeyInCookie}}, "{{keyParamName}}"); {{/isApiKey}} {{#isOAuth}} - auth = new OAuth(OAuthFlow.{{flow}}, "{{authorizationUrl}}", "{{tokenUrl}}", "{{#scopes}}{{scope}}{{^-last}}, {{/-last}}{{/scopes}}"); + auth = new OAuth(OAuthFlow.{{flow}}, "{{{authorizationUrl}}}", "{{{tokenUrl}}}", "{{#scopes}}{{scope}}{{^-last}}, {{/-last}}{{/scopes}}"); {{/isOAuth}} } else {{/authMethods}}{ throw new RuntimeException("auth name \"" + authName + "\" not found in available auth names"); diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/ApiClient.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/ApiClient.mustache index d94c3b3dee..8e40fd194c 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/ApiClient.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/ApiClient.mustache @@ -77,7 +77,7 @@ public class ApiClient { auth = new ApiKeyAuth({{#isKeyInHeader}}"header"{{/isKeyInHeader}}{{#isKeyInQuery}}"query"{{/isKeyInQuery}}{{#isKeyInCookie}}"cookie"{{/isKeyInCookie}}, "{{keyParamName}}"); {{/isApiKey}} {{#isOAuth}} - auth = new OAuth(OAuthFlow.{{#lambda.uppercase}}{{#lambda.snakecase}}{{flow}}{{/lambda.snakecase}}{{/lambda.uppercase}}, "{{authorizationUrl}}", "{{tokenUrl}}", "{{#scopes}}{{scope}}{{^-last}}, {{/-last}}{{/scopes}}"); + auth = new OAuth(OAuthFlow.{{#lambda.uppercase}}{{#lambda.snakecase}}{{flow}}{{/lambda.snakecase}}{{/lambda.uppercase}}, "{{{authorizationUrl}}}", "{{{tokenUrl}}}", "{{#scopes}}{{scope}}{{^-last}}, {{/-last}}{{/scopes}}"); {{/isOAuth}} } else {{/authMethods}}{ throw new RuntimeException("auth name \"" + authName + "\" not found in available auth names"); From f1a93fa3dba2bfc6dc03c72f9133fe2ab75c47e0 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sat, 25 Jun 2022 12:05:28 +0800 Subject: [PATCH 110/212] add new test files --- .../petstore/cpp-qt/client/PFXTestAnyType.cpp | 130 ++++++++++++++++++ .../petstore/cpp-qt/client/PFXTestAnyType.h | 71 ++++++++++ 2 files changed, 201 insertions(+) create mode 100644 samples/client/petstore/cpp-qt/client/PFXTestAnyType.cpp create mode 100644 samples/client/petstore/cpp-qt/client/PFXTestAnyType.h diff --git a/samples/client/petstore/cpp-qt/client/PFXTestAnyType.cpp b/samples/client/petstore/cpp-qt/client/PFXTestAnyType.cpp new file mode 100644 index 0000000000..671ed6fccd --- /dev/null +++ b/samples/client/petstore/cpp-qt/client/PFXTestAnyType.cpp @@ -0,0 +1,130 @@ +/** + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +#include "PFXTestAnyType.h" + +#include +#include +#include +#include + +#include "PFXHelpers.h" + +namespace test_namespace { + +PFXTestAnyType::PFXTestAnyType(QString json) { + this->initializeModel(); + this->fromJson(json); +} + +PFXTestAnyType::PFXTestAnyType() { + this->initializeModel(); +} + +PFXTestAnyType::~PFXTestAnyType() {} + +void PFXTestAnyType::initializeModel() { + + m_code_isSet = false; + m_code_isValid = false; + + m_message_isSet = false; + m_message_isValid = false; +} + +void PFXTestAnyType::fromJson(QString jsonString) { + QByteArray array(jsonString.toStdString().c_str()); + QJsonDocument doc = QJsonDocument::fromJson(array); + QJsonObject jsonObject = doc.object(); + this->fromJsonObject(jsonObject); +} + +void PFXTestAnyType::fromJsonObject(QJsonObject json) { + + m_code_isValid = ::test_namespace::fromJsonValue(code, json[QString("code")]); + m_code_isSet = !json[QString("code")].isNull() && m_code_isValid; + + m_message_isValid = ::test_namespace::fromJsonValue(message, json[QString("message")]); + m_message_isSet = !json[QString("message")].isNull() && m_message_isValid; +} + +QString PFXTestAnyType::asJson() const { + QJsonObject obj = this->asJsonObject(); + QJsonDocument doc(obj); + QByteArray bytes = doc.toJson(); + return QString(bytes); +} + +QJsonObject PFXTestAnyType::asJsonObject() const { + QJsonObject obj; + if (m_code_isSet) { + obj.insert(QString("code"), ::test_namespace::toJsonValue(code)); + } + if (m_message_isSet) { + obj.insert(QString("message"), ::test_namespace::toJsonValue(message)); + } + return obj; +} + +QJsonValue PFXTestAnyType::getCode() const { + return code; +} +void PFXTestAnyType::setCode(const QJsonValue &code) { + this->code = code; + this->m_code_isSet = true; +} + +bool PFXTestAnyType::is_code_Set() const{ + return m_code_isSet; +} + +bool PFXTestAnyType::is_code_Valid() const{ + return m_code_isValid; +} + +QString PFXTestAnyType::getMessage() const { + return message; +} +void PFXTestAnyType::setMessage(const QString &message) { + this->message = message; + this->m_message_isSet = true; +} + +bool PFXTestAnyType::is_message_Set() const{ + return m_message_isSet; +} + +bool PFXTestAnyType::is_message_Valid() const{ + return m_message_isValid; +} + +bool PFXTestAnyType::isSet() const { + bool isObjectUpdated = false; + do { + if (m_code_isSet) { + isObjectUpdated = true; + break; + } + + if (m_message_isSet) { + isObjectUpdated = true; + break; + } + } while (false); + return isObjectUpdated; +} + +bool PFXTestAnyType::isValid() const { + // only required properties are required for the object to be considered valid + return true; +} + +} // namespace test_namespace diff --git a/samples/client/petstore/cpp-qt/client/PFXTestAnyType.h b/samples/client/petstore/cpp-qt/client/PFXTestAnyType.h new file mode 100644 index 0000000000..45e6dae018 --- /dev/null +++ b/samples/client/petstore/cpp-qt/client/PFXTestAnyType.h @@ -0,0 +1,71 @@ +/** + * OpenAPI Petstore + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +/* + * PFXTestAnyType.h + * + * test any type + */ + +#ifndef PFXTestAnyType_H +#define PFXTestAnyType_H + +#include + +#include +#include + +#include "PFXEnum.h" +#include "PFXObject.h" + +namespace test_namespace { + +class PFXTestAnyType : public PFXObject { +public: + PFXTestAnyType(); + PFXTestAnyType(QString json); + ~PFXTestAnyType() override; + + QString asJson() const override; + QJsonObject asJsonObject() const override; + void fromJsonObject(QJsonObject json) override; + void fromJson(QString jsonString) override; + + QJsonValue getCode() const; + void setCode(const QJsonValue &code); + bool is_code_Set() const; + bool is_code_Valid() const; + + QString getMessage() const; + void setMessage(const QString &message); + bool is_message_Set() const; + bool is_message_Valid() const; + + virtual bool isSet() const override; + virtual bool isValid() const override; + +private: + void initializeModel(); + + QJsonValue code; + bool m_code_isSet; + bool m_code_isValid; + + QString message; + bool m_message_isSet; + bool m_message_isValid; +}; + +} // namespace test_namespace + +Q_DECLARE_METATYPE(test_namespace::PFXTestAnyType) + +#endif // PFXTestAnyType_H From 29ea48ee9605d4365de60220b659636177415525 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sat, 25 Jun 2022 12:45:17 +0800 Subject: [PATCH 111/212] update jackson-databind-nullable to 0.2.3 (#12693) --- .../src/main/resources/Java/build.gradle.mustache | 2 +- .../Java/libraries/apache-httpclient/build.gradle.mustache | 2 +- .../main/resources/Java/libraries/feign/build.gradle.mustache | 2 +- .../src/main/resources/Java/libraries/feign/pom.mustache | 2 +- .../Java/libraries/google-api-client/build.gradle.mustache | 2 +- .../resources/Java/libraries/google-api-client/pom.mustache | 2 +- .../main/resources/Java/libraries/jersey2/build.gradle.mustache | 2 +- .../main/resources/Java/libraries/jersey2/build.sbt.mustache | 2 +- .../src/main/resources/Java/libraries/jersey2/pom.mustache | 2 +- .../main/resources/Java/libraries/jersey3/build.gradle.mustache | 2 +- .../main/resources/Java/libraries/jersey3/build.sbt.mustache | 2 +- .../src/main/resources/Java/libraries/jersey3/pom.mustache | 2 +- .../src/main/resources/Java/libraries/native/pom.mustache | 2 +- .../resources/Java/libraries/okhttp-gson/build.gradle.mustache | 2 +- .../resources/Java/libraries/okhttp-gson/build.sbt.mustache | 2 +- .../src/main/resources/Java/libraries/okhttp-gson/pom.mustache | 2 +- .../resources/Java/libraries/rest-assured/build.gradle.mustache | 2 +- .../resources/Java/libraries/rest-assured/build.sbt.mustache | 2 +- .../src/main/resources/Java/libraries/rest-assured/pom.mustache | 2 +- .../resources/Java/libraries/resteasy/build.gradle.mustache | 2 +- .../src/main/resources/Java/libraries/resteasy/pom.mustache | 2 +- .../resources/Java/libraries/resttemplate/build.gradle.mustache | 2 +- .../src/main/resources/Java/libraries/resttemplate/pom.mustache | 2 +- .../resources/Java/libraries/retrofit2/build.gradle.mustache | 2 +- .../src/main/resources/Java/libraries/retrofit2/pom.mustache | 2 +- .../main/resources/Java/libraries/vertx/build.gradle.mustache | 2 +- .../src/main/resources/Java/libraries/vertx/pom.mustache | 2 +- .../resources/Java/libraries/webclient/build.gradle.mustache | 2 +- .../src/main/resources/Java/libraries/webclient/pom.mustache | 2 +- samples/client/others/java/okhttp-gson-streaming/build.gradle | 2 +- samples/client/others/java/okhttp-gson-streaming/build.sbt | 2 +- samples/client/others/java/okhttp-gson-streaming/pom.xml | 2 +- samples/client/petstore/java/apache-httpclient/build.gradle | 2 +- samples/client/petstore/java/feign/build.gradle | 2 +- samples/client/petstore/java/feign/pom.xml | 2 +- samples/client/petstore/java/google-api-client/build.gradle | 2 +- samples/client/petstore/java/google-api-client/pom.xml | 2 +- samples/client/petstore/java/jersey1/build.gradle | 2 +- .../petstore/java/jersey2-java8-localdatetime/build.gradle | 2 +- .../client/petstore/java/jersey2-java8-localdatetime/build.sbt | 2 +- .../client/petstore/java/jersey2-java8-localdatetime/pom.xml | 2 +- samples/client/petstore/java/jersey2-java8/build.gradle | 2 +- samples/client/petstore/java/jersey2-java8/build.sbt | 2 +- samples/client/petstore/java/jersey2-java8/pom.xml | 2 +- samples/client/petstore/java/jersey3/build.gradle | 2 +- samples/client/petstore/java/jersey3/build.sbt | 2 +- samples/client/petstore/java/jersey3/pom.xml | 2 +- samples/client/petstore/java/native-async/pom.xml | 2 +- samples/client/petstore/java/native/pom.xml | 2 +- .../petstore/java/okhttp-gson-dynamicOperations/build.gradle | 2 +- .../petstore/java/okhttp-gson-dynamicOperations/build.sbt | 2 +- .../client/petstore/java/okhttp-gson-dynamicOperations/pom.xml | 2 +- .../petstore/java/okhttp-gson-group-parameter/build.gradle | 2 +- .../client/petstore/java/okhttp-gson-group-parameter/build.sbt | 2 +- .../client/petstore/java/okhttp-gson-group-parameter/pom.xml | 2 +- .../petstore/java/okhttp-gson-parcelableModel/build.gradle | 2 +- .../client/petstore/java/okhttp-gson-parcelableModel/build.sbt | 2 +- .../client/petstore/java/okhttp-gson-parcelableModel/pom.xml | 2 +- samples/client/petstore/java/okhttp-gson/build.gradle | 2 +- samples/client/petstore/java/okhttp-gson/build.sbt | 2 +- samples/client/petstore/java/okhttp-gson/pom.xml | 2 +- samples/client/petstore/java/rest-assured-jackson/build.gradle | 2 +- samples/client/petstore/java/rest-assured-jackson/build.sbt | 2 +- samples/client/petstore/java/rest-assured-jackson/pom.xml | 2 +- samples/client/petstore/java/resteasy/build.gradle | 2 +- samples/client/petstore/java/resteasy/pom.xml | 2 +- samples/client/petstore/java/resttemplate-withXml/build.gradle | 2 +- samples/client/petstore/java/resttemplate-withXml/pom.xml | 2 +- samples/client/petstore/java/resttemplate/build.gradle | 2 +- samples/client/petstore/java/resttemplate/pom.xml | 2 +- samples/client/petstore/java/retrofit2-play26/build.gradle | 2 +- samples/client/petstore/java/retrofit2-play26/pom.xml | 2 +- samples/client/petstore/java/vertx-no-nullable/pom.xml | 2 +- samples/client/petstore/java/vertx/build.gradle | 2 +- samples/client/petstore/java/vertx/pom.xml | 2 +- .../client/petstore/java/webclient-nulable-arrays/build.gradle | 2 +- samples/client/petstore/java/webclient-nulable-arrays/pom.xml | 2 +- samples/client/petstore/java/webclient/build.gradle | 2 +- samples/client/petstore/java/webclient/pom.xml | 2 +- .../extensions/x-auth-id-alias/java/jersey2-java8/build.gradle | 2 +- .../extensions/x-auth-id-alias/java/jersey2-java8/build.sbt | 2 +- .../extensions/x-auth-id-alias/java/jersey2-java8/pom.xml | 2 +- .../petstore/java/jersey2-java8-special-characters/build.gradle | 2 +- .../petstore/java/jersey2-java8-special-characters/build.sbt | 2 +- .../petstore/java/jersey2-java8-special-characters/pom.xml | 2 +- .../openapi3/client/petstore/java/jersey2-java8/build.gradle | 2 +- samples/openapi3/client/petstore/java/jersey2-java8/build.sbt | 2 +- samples/openapi3/client/petstore/java/jersey2-java8/pom.xml | 2 +- 88 files changed, 88 insertions(+), 88 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/Java/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/build.gradle.mustache index 7aaaa435c9..d376093683 100644 --- a/modules/openapi-generator/src/main/resources/Java/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/build.gradle.mustache @@ -117,7 +117,7 @@ ext { jackson_version = "2.12.6" jackson_databind_version = "2.12.6.1" {{#openApiNullable}} - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" {{/openApiNullable}} jakarta_annotation_version = "1.3.5" jersey_version = "1.19.4" diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/apache-httpclient/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/apache-httpclient/build.gradle.mustache index f3b6b0bad0..84589d91af 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/apache-httpclient/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/apache-httpclient/build.gradle.mustache @@ -117,7 +117,7 @@ ext { jackson_version = "2.12.6" jackson_databind_version = "2.12.6.1" {{#openApiNullable}} - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" {{/openApiNullable}} jakarta_annotation_version = "1.3.5" httpclient_version = "4.5.13" diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.gradle.mustache index 9f92c52235..ffa3852d7f 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.gradle.mustache @@ -105,7 +105,7 @@ ext { jackson_version = "2.10.3" jackson_databind_version = "2.10.3" {{#openApiNullable}} - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" {{/openApiNullable}} jakarta_annotation_version = "1.3.5" feign_version = "10.11" diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/feign/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/feign/pom.mustache index 3ec781a9f9..6ae6e43432 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/feign/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/feign/pom.mustache @@ -356,7 +356,7 @@ 3.8.0 2.10.3 {{#openApiNullable}} - 0.2.2 + 0.2.3 {{/openApiNullable}} 2.10.3 1.3.5 diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/build.gradle.mustache index bf970f2dd1..6b5289abd1 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/build.gradle.mustache @@ -101,7 +101,7 @@ ext { jackson_version = "2.12.5" jackson_databind_version = "2.10.5.1" {{#openApiNullable}} - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" {{/openApiNullable}} jakarta_annotation_version = "1.3.5" google_api_client_version = "1.32.2" diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/pom.mustache index 0602868493..acae352276 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/pom.mustache @@ -300,7 +300,7 @@ 2.12.1 2.10.5.1 {{#openApiNullable}} - 0.2.2 + 0.2.3 {{/openApiNullable}} {{#joda}} 2.9.9 diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/build.gradle.mustache index 6761c4fcd9..e12528af75 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/build.gradle.mustache @@ -102,7 +102,7 @@ ext { jackson_version = "2.13.2" jackson_databind_version = "2.13.2.2" {{#openApiNullable}} - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" {{/openApiNullable}} jakarta_annotation_version = "1.3.5" jersey_version = "2.35" diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/build.sbt.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/build.sbt.mustache index 9f3fcfce42..5ff4b1b028 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/build.sbt.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/build.sbt.mustache @@ -24,7 +24,7 @@ lazy val root = (project in file(".")). {{/joda}} "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.13.2" % "compile", {{#openApiNullable}} - "org.openapitools" % "jackson-databind-nullable" % "0.2.2" % "compile", + "org.openapitools" % "jackson-databind-nullable" % "0.2.3" % "compile", {{/openApiNullable}} {{#hasOAuthMethods}} "com.github.scribejava" % "scribejava-apis" % "8.3.1" % "compile", diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/pom.mustache index dc09b1e542..dc5a3f4a71 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/pom.mustache @@ -384,7 +384,7 @@ 2.35 2.13.2 2.13.2.2 - 0.2.2 + 0.2.3 1.3.5 {{#useBeanValidation}} 2.0.2 diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.gradle.mustache index b0d08c4096..8c55504641 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.gradle.mustache @@ -102,7 +102,7 @@ ext { jackson_version = "2.13.2" jackson_databind_version = "2.13.2.2" {{#openApiNullable}} - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" {{/openApiNullable}} jakarta_annotation_version = "2.1.0" jersey_version = "3.0.4" diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.sbt.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.sbt.mustache index b957784273..1574b6e6df 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.sbt.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.sbt.mustache @@ -24,7 +24,7 @@ lazy val root = (project in file(".")). {{/joda}} "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.13.2" % "compile", {{#openApiNullable}} - "org.openapitools" % "jackson-databind-nullable" % "0.2.2" % "compile", + "org.openapitools" % "jackson-databind-nullable" % "0.2.3" % "compile", {{/openApiNullable}} {{#hasOAuthMethods}} "com.github.scribejava" % "scribejava-apis" % "8.3.1" % "compile", diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/pom.mustache index 51c702e261..9427390e9e 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/pom.mustache @@ -384,7 +384,7 @@ 3.0.4 2.13.2 2.13.2.2 - 0.2.2 + 0.2.3 2.1.0 {{#useBeanValidation}} 2.0.2 diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/native/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/native/pom.mustache index 35065d6499..2b7635be35 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/native/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/native/pom.mustache @@ -222,7 +222,7 @@ 11 11 2.13.0 - 0.2.2 + 0.2.3 1.3.5 4.13.2 diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/build.gradle.mustache index 3a70895d74..17258d13e7 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/build.gradle.mustache @@ -119,7 +119,7 @@ dependencies { implementation 'javax.ws.rs:jsr311-api:1.1.1' implementation 'javax.ws.rs:javax.ws.rs-api:2.1.1' {{#openApiNullable}} - implementation 'org.openapitools:jackson-databind-nullable:0.2.2' + implementation 'org.openapitools:jackson-databind-nullable:0.2.3' {{/openApiNullable}} {{#hasOAuthMethods}} implementation group: 'org.apache.oltu.oauth2', name: 'org.apache.oltu.oauth2.client', version: '1.0.1' diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/build.sbt.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/build.sbt.mustache index 010ecb29a7..e3612cb5d9 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/build.sbt.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/build.sbt.mustache @@ -17,7 +17,7 @@ lazy val root = (project in file(".")). "javax.ws.rs" % "jsr311-api" % "1.1.1", "javax.ws.rs" % "javax.ws.rs-api" % "2.1.1", {{#openApiNullable}} - "org.openapitools" % "jackson-databind-nullable" % "0.2.2", + "org.openapitools" % "jackson-databind-nullable" % "0.2.3", {{/openApiNullable}} {{#hasOAuthMethods}} "org.apache.oltu.oauth2" % "org.apache.oltu.oauth2.client" % "1.0.1", diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/pom.mustache index 682335e631..992436ede0 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/pom.mustache @@ -405,7 +405,7 @@ 2.9.0 3.12.0 {{#openApiNullable}} - 0.2.2 + 0.2.3 {{/openApiNullable}} {{#joda}} 2.10.13 diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/build.gradle.mustache index a1fd2099fd..9184dbb54d 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/build.gradle.mustache @@ -104,7 +104,7 @@ ext { jackson_version = "2.10.3" jackson_databind_version = "2.10.3" {{#openApiNullable}} - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" {{/openApiNullable}} jakarta_annotation_version = "1.3.5" {{/jackson}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/build.sbt.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/build.sbt.mustache index dc274eb876..f2a483c920 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/build.sbt.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/build.sbt.mustache @@ -18,7 +18,7 @@ lazy val root = (project in file(".")). "com.fasterxml.jackson.core" % "jackson-annotations" % "2.10.3", "com.fasterxml.jackson.core" % "jackson-databind" % "2.10.3", {{#openApiNullable}} - "org.openapitools" % "jackson-databind-nullable" % "0.2.2", + "org.openapitools" % "jackson-databind-nullable" % "0.2.3", {{/openApiNullable}} {{#withXml}} "com.fasterxml.jackson.dataformat" % "jackson-dataformat-xml" % "2.10.3", diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/pom.mustache index d11312b509..9c34325ff9 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/pom.mustache @@ -339,7 +339,7 @@ {{/joda}} {{#jackson}} 2.10.3 - 0.2.2 + 0.2.3 {{/jackson}} 1.3.5 {{#useBeanValidation}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/build.gradle.mustache index 0a801b9ff8..236117f78e 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/build.gradle.mustache @@ -101,7 +101,7 @@ ext { jackson_version = "2.10.5" jackson_databind_version = "2.10.5.1" {{#openApiNullable}} - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" {{/openApiNullable}} jakarta_annotation_version = "1.3.5" threetenbp_version = "2.9.10" diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/pom.mustache index a41fd4c4a3..386ecd15f3 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/pom.mustache @@ -277,7 +277,7 @@ 2.10.5 2.10.5.1 {{#openApiNullable}} - 0.2.2 + 0.2.3 {{/openApiNullable}} 1.3.5 2.9.10 diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/build.gradle.mustache index 76ef15cc49..759851a155 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/build.gradle.mustache @@ -101,7 +101,7 @@ ext { jackson_version = "2.10.5" jackson_databind_version = "2.10.5.1" {{#openApiNullable}} - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" {{/openApiNullable}} jakarta_annotation_version = "1.3.5" spring_web_version = "5.3.18" diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/pom.mustache index bf7da3e63e..8eceda2ac2 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/pom.mustache @@ -304,7 +304,7 @@ 5.3.18 2.10.5 2.10.5.1 - 0.2.2 + 0.2.3 1.3.5 {{#joda}} 2.9.9 diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/build.gradle.mustache index 4ff1a06df8..7b1c39d85c 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/build.gradle.mustache @@ -103,7 +103,7 @@ ext { jackson_version = "2.10.5" jackson_databind_version = "2.10.5.1" {{#openApiNullable}} - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" {{/openApiNullable}} jakarta_annotation_version = "1.3.5" play_version = "2.6.7" diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/pom.mustache index a9105c74dc..94f1306572 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/pom.mustache @@ -366,7 +366,7 @@ 2.12.1 2.6.7 {{#openApiNullable}} - 0.2.2 + 0.2.3 {{/openApiNullable}} {{/usePlayWS}} 2.5.0 diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/vertx/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/vertx/build.gradle.mustache index 785254e99d..b563392530 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/vertx/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/vertx/build.gradle.mustache @@ -35,7 +35,7 @@ ext { vertx_version = "3.4.2" junit_version = "4.13.2" {{#openApiNullable}} - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" {{/openApiNullable}} jakarta_annotation_version = "1.3.5" } diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/vertx/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/vertx/pom.mustache index de74e96bd6..830349d8f7 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/vertx/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/vertx/pom.mustache @@ -294,7 +294,7 @@ 1.5.22 2.10.5 2.10.5.1 - 0.2.2 + 0.2.3 1.3.5 4.13.2 diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/webclient/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/webclient/build.gradle.mustache index 953b33c6b9..25b4865735 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/webclient/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/webclient/build.gradle.mustache @@ -117,7 +117,7 @@ ext { jackson_version = "2.11.4" jackson_databind_version = "2.11.4" {{#openApiNullable}} - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" {{/openApiNullable}} jakarta_annotation_version = "1.3.5" reactor_version = "3.4.3" diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/webclient/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/webclient/pom.mustache index 80845549c5..e64caffb31 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/webclient/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/webclient/pom.mustache @@ -151,7 +151,7 @@ 2.11.3 2.11.4 {{#openApiNullable}} - 0.2.2 + 0.2.3 {{/openApiNullable}} 1.3.5 4.13.2 diff --git a/samples/client/others/java/okhttp-gson-streaming/build.gradle b/samples/client/others/java/okhttp-gson-streaming/build.gradle index fc15316d82..16f1394bf9 100644 --- a/samples/client/others/java/okhttp-gson-streaming/build.gradle +++ b/samples/client/others/java/okhttp-gson-streaming/build.gradle @@ -114,7 +114,7 @@ dependencies { implementation 'io.gsonfire:gson-fire:1.8.5' implementation 'javax.ws.rs:jsr311-api:1.1.1' implementation 'javax.ws.rs:javax.ws.rs-api:2.1.1' - implementation 'org.openapitools:jackson-databind-nullable:0.2.2' + implementation 'org.openapitools:jackson-databind-nullable:0.2.3' implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0' implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version" testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' diff --git a/samples/client/others/java/okhttp-gson-streaming/build.sbt b/samples/client/others/java/okhttp-gson-streaming/build.sbt index b4d6251b0d..141ae383b3 100644 --- a/samples/client/others/java/okhttp-gson-streaming/build.sbt +++ b/samples/client/others/java/okhttp-gson-streaming/build.sbt @@ -16,7 +16,7 @@ lazy val root = (project in file(".")). "org.apache.commons" % "commons-lang3" % "3.12.0", "javax.ws.rs" % "jsr311-api" % "1.1.1", "javax.ws.rs" % "javax.ws.rs-api" % "2.1.1", - "org.openapitools" % "jackson-databind-nullable" % "0.2.2", + "org.openapitools" % "jackson-databind-nullable" % "0.2.3", "io.gsonfire" % "gson-fire" % "1.8.5" % "compile", "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile", "com.google.code.findbugs" % "jsr305" % "3.0.2" % "compile", diff --git a/samples/client/others/java/okhttp-gson-streaming/pom.xml b/samples/client/others/java/okhttp-gson-streaming/pom.xml index 3c47e6808d..a9fb0ce7a3 100644 --- a/samples/client/others/java/okhttp-gson-streaming/pom.xml +++ b/samples/client/others/java/okhttp-gson-streaming/pom.xml @@ -343,7 +343,7 @@ 4.9.3 2.9.0 3.12.0 - 0.2.2 + 0.2.3 1.3.5 5.8.2 1.6.2 diff --git a/samples/client/petstore/java/apache-httpclient/build.gradle b/samples/client/petstore/java/apache-httpclient/build.gradle index 6cec7394c4..493c2b4cd3 100644 --- a/samples/client/petstore/java/apache-httpclient/build.gradle +++ b/samples/client/petstore/java/apache-httpclient/build.gradle @@ -116,7 +116,7 @@ ext { swagger_annotations_version = "1.5.22" jackson_version = "2.12.6" jackson_databind_version = "2.12.6.1" - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" httpclient_version = "4.5.13" jodatime_version = "2.9.9" diff --git a/samples/client/petstore/java/feign/build.gradle b/samples/client/petstore/java/feign/build.gradle index 6897518dc2..bb47f891b0 100644 --- a/samples/client/petstore/java/feign/build.gradle +++ b/samples/client/petstore/java/feign/build.gradle @@ -104,7 +104,7 @@ ext { swagger_annotations_version = "1.5.24" jackson_version = "2.10.3" jackson_databind_version = "2.10.3" - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" feign_version = "10.11" feign_form_version = "3.8.0" diff --git a/samples/client/petstore/java/feign/pom.xml b/samples/client/petstore/java/feign/pom.xml index 5acd319f1a..5774b9d6ae 100644 --- a/samples/client/petstore/java/feign/pom.xml +++ b/samples/client/petstore/java/feign/pom.xml @@ -331,7 +331,7 @@ 10.11 3.8.0 2.10.3 - 0.2.2 + 0.2.3 2.10.3 1.3.5 5.7.0 diff --git a/samples/client/petstore/java/google-api-client/build.gradle b/samples/client/petstore/java/google-api-client/build.gradle index c860b4a76a..d3036a7864 100644 --- a/samples/client/petstore/java/google-api-client/build.gradle +++ b/samples/client/petstore/java/google-api-client/build.gradle @@ -100,7 +100,7 @@ ext { swagger_annotations_version = "1.6.3" jackson_version = "2.12.5" jackson_databind_version = "2.10.5.1" - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" google_api_client_version = "1.32.2" jersey_common_version = "2.25.1" diff --git a/samples/client/petstore/java/google-api-client/pom.xml b/samples/client/petstore/java/google-api-client/pom.xml index 96c8f0c5ed..18de26c3b4 100644 --- a/samples/client/petstore/java/google-api-client/pom.xml +++ b/samples/client/petstore/java/google-api-client/pom.xml @@ -270,7 +270,7 @@ 2.25.1 2.12.1 2.10.5.1 - 0.2.2 + 0.2.3 1.3.5 1.0.0 4.13.2 diff --git a/samples/client/petstore/java/jersey1/build.gradle b/samples/client/petstore/java/jersey1/build.gradle index 9fd2e92980..048109ddd8 100644 --- a/samples/client/petstore/java/jersey1/build.gradle +++ b/samples/client/petstore/java/jersey1/build.gradle @@ -116,7 +116,7 @@ ext { swagger_annotations_version = "1.6.3" jackson_version = "2.12.6" jackson_databind_version = "2.12.6.1" - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" jersey_version = "1.19.4" jodatime_version = "2.9.9" diff --git a/samples/client/petstore/java/jersey2-java8-localdatetime/build.gradle b/samples/client/petstore/java/jersey2-java8-localdatetime/build.gradle index b70b07ae2a..dcad5d5706 100644 --- a/samples/client/petstore/java/jersey2-java8-localdatetime/build.gradle +++ b/samples/client/petstore/java/jersey2-java8-localdatetime/build.gradle @@ -101,7 +101,7 @@ ext { swagger_annotations_version = "1.6.5" jackson_version = "2.13.2" jackson_databind_version = "2.13.2.2" - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" jersey_version = "2.35" junit_version = "5.8.2" diff --git a/samples/client/petstore/java/jersey2-java8-localdatetime/build.sbt b/samples/client/petstore/java/jersey2-java8-localdatetime/build.sbt index 6fe11cf32e..75e5229352 100644 --- a/samples/client/petstore/java/jersey2-java8-localdatetime/build.sbt +++ b/samples/client/petstore/java/jersey2-java8-localdatetime/build.sbt @@ -20,7 +20,7 @@ lazy val root = (project in file(".")). "com.fasterxml.jackson.core" % "jackson-annotations" % "2.13.2" % "compile", "com.fasterxml.jackson.core" % "jackson-databind" % "2.13.2.2" % "compile", "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.13.2" % "compile", - "org.openapitools" % "jackson-databind-nullable" % "0.2.2" % "compile", + "org.openapitools" % "jackson-databind-nullable" % "0.2.3" % "compile", "com.github.scribejava" % "scribejava-apis" % "8.3.1" % "compile", "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile", "org.junit.jupiter" % "junit-jupiter-api" % "5.8.2" % "test" diff --git a/samples/client/petstore/java/jersey2-java8-localdatetime/pom.xml b/samples/client/petstore/java/jersey2-java8-localdatetime/pom.xml index a851a834f4..d6677e8890 100644 --- a/samples/client/petstore/java/jersey2-java8-localdatetime/pom.xml +++ b/samples/client/petstore/java/jersey2-java8-localdatetime/pom.xml @@ -342,7 +342,7 @@ 2.35 2.13.2 2.13.2.2 - 0.2.2 + 0.2.3 1.3.5 5.8.2 8.3.1 diff --git a/samples/client/petstore/java/jersey2-java8/build.gradle b/samples/client/petstore/java/jersey2-java8/build.gradle index d536941265..9c76fdd54d 100644 --- a/samples/client/petstore/java/jersey2-java8/build.gradle +++ b/samples/client/petstore/java/jersey2-java8/build.gradle @@ -101,7 +101,7 @@ ext { swagger_annotations_version = "1.6.5" jackson_version = "2.13.2" jackson_databind_version = "2.13.2.2" - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" jersey_version = "2.35" junit_version = "5.8.2" diff --git a/samples/client/petstore/java/jersey2-java8/build.sbt b/samples/client/petstore/java/jersey2-java8/build.sbt index 7d1e0c9a31..d584e09f73 100644 --- a/samples/client/petstore/java/jersey2-java8/build.sbt +++ b/samples/client/petstore/java/jersey2-java8/build.sbt @@ -20,7 +20,7 @@ lazy val root = (project in file(".")). "com.fasterxml.jackson.core" % "jackson-annotations" % "2.13.2" % "compile", "com.fasterxml.jackson.core" % "jackson-databind" % "2.13.2.2" % "compile", "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.13.2" % "compile", - "org.openapitools" % "jackson-databind-nullable" % "0.2.2" % "compile", + "org.openapitools" % "jackson-databind-nullable" % "0.2.3" % "compile", "com.github.scribejava" % "scribejava-apis" % "8.3.1" % "compile", "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile", "org.junit.jupiter" % "junit-jupiter-api" % "5.8.2" % "test" diff --git a/samples/client/petstore/java/jersey2-java8/pom.xml b/samples/client/petstore/java/jersey2-java8/pom.xml index 97d990a4dc..949e4712a5 100644 --- a/samples/client/petstore/java/jersey2-java8/pom.xml +++ b/samples/client/petstore/java/jersey2-java8/pom.xml @@ -342,7 +342,7 @@ 2.35 2.13.2 2.13.2.2 - 0.2.2 + 0.2.3 1.3.5 5.8.2 8.3.1 diff --git a/samples/client/petstore/java/jersey3/build.gradle b/samples/client/petstore/java/jersey3/build.gradle index c54a6b136b..e7b8e76a76 100644 --- a/samples/client/petstore/java/jersey3/build.gradle +++ b/samples/client/petstore/java/jersey3/build.gradle @@ -101,7 +101,7 @@ ext { swagger_annotations_version = "1.6.5" jackson_version = "2.13.2" jackson_databind_version = "2.13.2.2" - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "2.1.0" jersey_version = "3.0.4" junit_version = "5.8.2" diff --git a/samples/client/petstore/java/jersey3/build.sbt b/samples/client/petstore/java/jersey3/build.sbt index 73aa2f1dbb..7528f011df 100644 --- a/samples/client/petstore/java/jersey3/build.sbt +++ b/samples/client/petstore/java/jersey3/build.sbt @@ -20,7 +20,7 @@ lazy val root = (project in file(".")). "com.fasterxml.jackson.core" % "jackson-annotations" % "2.13.2" % "compile", "com.fasterxml.jackson.core" % "jackson-databind" % "2.13.2.2" % "compile", "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.13.2" % "compile", - "org.openapitools" % "jackson-databind-nullable" % "0.2.2" % "compile", + "org.openapitools" % "jackson-databind-nullable" % "0.2.3" % "compile", "com.github.scribejava" % "scribejava-apis" % "8.3.1" % "compile", "org.tomitribe" % "tomitribe-http-signatures" % "1.7" % "compile", "jakarta.annotation" % "jakarta.annotation-api" % "2.1.0" % "compile", diff --git a/samples/client/petstore/java/jersey3/pom.xml b/samples/client/petstore/java/jersey3/pom.xml index 874a1aa7e1..9f141fe920 100644 --- a/samples/client/petstore/java/jersey3/pom.xml +++ b/samples/client/petstore/java/jersey3/pom.xml @@ -347,7 +347,7 @@ 3.0.4 2.13.2 2.13.2.2 - 0.2.2 + 0.2.3 2.1.0 5.8.2 1.7 diff --git a/samples/client/petstore/java/native-async/pom.xml b/samples/client/petstore/java/native-async/pom.xml index a07ba182c3..1770376556 100644 --- a/samples/client/petstore/java/native-async/pom.xml +++ b/samples/client/petstore/java/native-async/pom.xml @@ -215,7 +215,7 @@ 11 11 2.13.0 - 0.2.2 + 0.2.3 1.3.5 4.13.2 diff --git a/samples/client/petstore/java/native/pom.xml b/samples/client/petstore/java/native/pom.xml index a07ba182c3..1770376556 100644 --- a/samples/client/petstore/java/native/pom.xml +++ b/samples/client/petstore/java/native/pom.xml @@ -215,7 +215,7 @@ 11 11 2.13.0 - 0.2.2 + 0.2.3 1.3.5 4.13.2 diff --git a/samples/client/petstore/java/okhttp-gson-dynamicOperations/build.gradle b/samples/client/petstore/java/okhttp-gson-dynamicOperations/build.gradle index 3fa4d432b7..1efaab5839 100644 --- a/samples/client/petstore/java/okhttp-gson-dynamicOperations/build.gradle +++ b/samples/client/petstore/java/okhttp-gson-dynamicOperations/build.gradle @@ -114,7 +114,7 @@ dependencies { implementation 'io.gsonfire:gson-fire:1.8.5' implementation 'javax.ws.rs:jsr311-api:1.1.1' implementation 'javax.ws.rs:javax.ws.rs-api:2.1.1' - implementation 'org.openapitools:jackson-databind-nullable:0.2.2' + implementation 'org.openapitools:jackson-databind-nullable:0.2.3' implementation group: 'org.apache.oltu.oauth2', name: 'org.apache.oltu.oauth2.client', version: '1.0.1' implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0' implementation 'io.swagger.parser.v3:swagger-parser-v3:2.0.30' diff --git a/samples/client/petstore/java/okhttp-gson-dynamicOperations/build.sbt b/samples/client/petstore/java/okhttp-gson-dynamicOperations/build.sbt index 6ed9d75883..8b24b9d91b 100644 --- a/samples/client/petstore/java/okhttp-gson-dynamicOperations/build.sbt +++ b/samples/client/petstore/java/okhttp-gson-dynamicOperations/build.sbt @@ -16,7 +16,7 @@ lazy val root = (project in file(".")). "org.apache.commons" % "commons-lang3" % "3.12.0", "javax.ws.rs" % "jsr311-api" % "1.1.1", "javax.ws.rs" % "javax.ws.rs-api" % "2.1.1", - "org.openapitools" % "jackson-databind-nullable" % "0.2.2", + "org.openapitools" % "jackson-databind-nullable" % "0.2.3", "org.apache.oltu.oauth2" % "org.apache.oltu.oauth2.client" % "1.0.1", "io.swagger.parser.v3" % "swagger-parser-v3" "2.0.30" % "compile" "io.gsonfire" % "gson-fire" % "1.8.5" % "compile", diff --git a/samples/client/petstore/java/okhttp-gson-dynamicOperations/pom.xml b/samples/client/petstore/java/okhttp-gson-dynamicOperations/pom.xml index 6e5df8dd21..e98afcb453 100644 --- a/samples/client/petstore/java/okhttp-gson-dynamicOperations/pom.xml +++ b/samples/client/petstore/java/okhttp-gson-dynamicOperations/pom.xml @@ -353,7 +353,7 @@ 4.9.3 2.9.0 3.12.0 - 0.2.2 + 0.2.3 1.3.5 5.8.2 1.6.2 diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/build.gradle b/samples/client/petstore/java/okhttp-gson-group-parameter/build.gradle index 725f32ebaf..a3b19dc1aa 100644 --- a/samples/client/petstore/java/okhttp-gson-group-parameter/build.gradle +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/build.gradle @@ -114,7 +114,7 @@ dependencies { implementation 'io.gsonfire:gson-fire:1.8.5' implementation 'javax.ws.rs:jsr311-api:1.1.1' implementation 'javax.ws.rs:javax.ws.rs-api:2.1.1' - implementation 'org.openapitools:jackson-databind-nullable:0.2.2' + implementation 'org.openapitools:jackson-databind-nullable:0.2.3' implementation group: 'org.apache.oltu.oauth2', name: 'org.apache.oltu.oauth2.client', version: '1.0.1' implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0' implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version" diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/build.sbt b/samples/client/petstore/java/okhttp-gson-group-parameter/build.sbt index 5f90f2b917..ab31d82e97 100644 --- a/samples/client/petstore/java/okhttp-gson-group-parameter/build.sbt +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/build.sbt @@ -16,7 +16,7 @@ lazy val root = (project in file(".")). "org.apache.commons" % "commons-lang3" % "3.12.0", "javax.ws.rs" % "jsr311-api" % "1.1.1", "javax.ws.rs" % "javax.ws.rs-api" % "2.1.1", - "org.openapitools" % "jackson-databind-nullable" % "0.2.2", + "org.openapitools" % "jackson-databind-nullable" % "0.2.3", "org.apache.oltu.oauth2" % "org.apache.oltu.oauth2.client" % "1.0.1", "io.gsonfire" % "gson-fire" % "1.8.5" % "compile", "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile", diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/pom.xml b/samples/client/petstore/java/okhttp-gson-group-parameter/pom.xml index f1f588702a..f4e17f2a7c 100644 --- a/samples/client/petstore/java/okhttp-gson-group-parameter/pom.xml +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/pom.xml @@ -348,7 +348,7 @@ 4.9.3 2.9.0 3.12.0 - 0.2.2 + 0.2.3 1.3.5 5.8.2 1.6.2 diff --git a/samples/client/petstore/java/okhttp-gson-parcelableModel/build.gradle b/samples/client/petstore/java/okhttp-gson-parcelableModel/build.gradle index 59d5738af7..77435c5310 100644 --- a/samples/client/petstore/java/okhttp-gson-parcelableModel/build.gradle +++ b/samples/client/petstore/java/okhttp-gson-parcelableModel/build.gradle @@ -114,7 +114,7 @@ dependencies { implementation 'io.gsonfire:gson-fire:1.8.5' implementation 'javax.ws.rs:jsr311-api:1.1.1' implementation 'javax.ws.rs:javax.ws.rs-api:2.1.1' - implementation 'org.openapitools:jackson-databind-nullable:0.2.2' + implementation 'org.openapitools:jackson-databind-nullable:0.2.3' implementation group: 'org.apache.oltu.oauth2', name: 'org.apache.oltu.oauth2.client', version: '1.0.1' implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0' implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version" diff --git a/samples/client/petstore/java/okhttp-gson-parcelableModel/build.sbt b/samples/client/petstore/java/okhttp-gson-parcelableModel/build.sbt index cacc65d789..341cd36f16 100644 --- a/samples/client/petstore/java/okhttp-gson-parcelableModel/build.sbt +++ b/samples/client/petstore/java/okhttp-gson-parcelableModel/build.sbt @@ -16,7 +16,7 @@ lazy val root = (project in file(".")). "org.apache.commons" % "commons-lang3" % "3.12.0", "javax.ws.rs" % "jsr311-api" % "1.1.1", "javax.ws.rs" % "javax.ws.rs-api" % "2.1.1", - "org.openapitools" % "jackson-databind-nullable" % "0.2.2", + "org.openapitools" % "jackson-databind-nullable" % "0.2.3", "org.apache.oltu.oauth2" % "org.apache.oltu.oauth2.client" % "1.0.1", "io.gsonfire" % "gson-fire" % "1.8.5" % "compile", "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile", diff --git a/samples/client/petstore/java/okhttp-gson-parcelableModel/pom.xml b/samples/client/petstore/java/okhttp-gson-parcelableModel/pom.xml index 044a5a47db..857a2d94b1 100644 --- a/samples/client/petstore/java/okhttp-gson-parcelableModel/pom.xml +++ b/samples/client/petstore/java/okhttp-gson-parcelableModel/pom.xml @@ -355,7 +355,7 @@ 4.9.3 2.9.0 3.12.0 - 0.2.2 + 0.2.3 1.3.5 5.8.2 1.6.2 diff --git a/samples/client/petstore/java/okhttp-gson/build.gradle b/samples/client/petstore/java/okhttp-gson/build.gradle index d4cdc0dd94..2015aa8f41 100644 --- a/samples/client/petstore/java/okhttp-gson/build.gradle +++ b/samples/client/petstore/java/okhttp-gson/build.gradle @@ -114,7 +114,7 @@ dependencies { implementation 'io.gsonfire:gson-fire:1.8.5' implementation 'javax.ws.rs:jsr311-api:1.1.1' implementation 'javax.ws.rs:javax.ws.rs-api:2.1.1' - implementation 'org.openapitools:jackson-databind-nullable:0.2.2' + implementation 'org.openapitools:jackson-databind-nullable:0.2.3' implementation group: 'org.apache.oltu.oauth2', name: 'org.apache.oltu.oauth2.client', version: '1.0.1' implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0' implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version" diff --git a/samples/client/petstore/java/okhttp-gson/build.sbt b/samples/client/petstore/java/okhttp-gson/build.sbt index ca1c3c7e64..89ce30b454 100644 --- a/samples/client/petstore/java/okhttp-gson/build.sbt +++ b/samples/client/petstore/java/okhttp-gson/build.sbt @@ -16,7 +16,7 @@ lazy val root = (project in file(".")). "org.apache.commons" % "commons-lang3" % "3.12.0", "javax.ws.rs" % "jsr311-api" % "1.1.1", "javax.ws.rs" % "javax.ws.rs-api" % "2.1.1", - "org.openapitools" % "jackson-databind-nullable" % "0.2.2", + "org.openapitools" % "jackson-databind-nullable" % "0.2.3", "org.apache.oltu.oauth2" % "org.apache.oltu.oauth2.client" % "1.0.1", "io.gsonfire" % "gson-fire" % "1.8.5" % "compile", "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile", diff --git a/samples/client/petstore/java/okhttp-gson/pom.xml b/samples/client/petstore/java/okhttp-gson/pom.xml index dfc6153489..f838ecd5b6 100644 --- a/samples/client/petstore/java/okhttp-gson/pom.xml +++ b/samples/client/petstore/java/okhttp-gson/pom.xml @@ -348,7 +348,7 @@ 4.9.3 2.9.0 3.12.0 - 0.2.2 + 0.2.3 1.3.5 5.8.2 1.6.2 diff --git a/samples/client/petstore/java/rest-assured-jackson/build.gradle b/samples/client/petstore/java/rest-assured-jackson/build.gradle index 9876757c84..fa74eacfec 100644 --- a/samples/client/petstore/java/rest-assured-jackson/build.gradle +++ b/samples/client/petstore/java/rest-assured-jackson/build.gradle @@ -102,7 +102,7 @@ ext { junit_version = "4.13.2" jackson_version = "2.10.3" jackson_databind_version = "2.10.3" - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" okio_version = "1.17.5" } diff --git a/samples/client/petstore/java/rest-assured-jackson/build.sbt b/samples/client/petstore/java/rest-assured-jackson/build.sbt index 3bb50ec1a9..5d0e1d03ea 100644 --- a/samples/client/petstore/java/rest-assured-jackson/build.sbt +++ b/samples/client/petstore/java/rest-assured-jackson/build.sbt @@ -16,7 +16,7 @@ lazy val root = (project in file(".")). "com.fasterxml.jackson.core" % "jackson-core" % "2.10.3", "com.fasterxml.jackson.core" % "jackson-annotations" % "2.10.3", "com.fasterxml.jackson.core" % "jackson-databind" % "2.10.3", - "org.openapitools" % "jackson-databind-nullable" % "0.2.2", + "org.openapitools" % "jackson-databind-nullable" % "0.2.3", "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.10.3", "com.squareup.okio" % "okio" % "1.17.5" % "compile", "jakarta.validation" % "jakarta.validation-api" % "2.0.2" % "compile", diff --git a/samples/client/petstore/java/rest-assured-jackson/pom.xml b/samples/client/petstore/java/rest-assured-jackson/pom.xml index bc6894405a..35baa60bdb 100644 --- a/samples/client/petstore/java/rest-assured-jackson/pom.xml +++ b/samples/client/petstore/java/rest-assured-jackson/pom.xml @@ -287,7 +287,7 @@ 2.8.9 1.8.5 2.10.3 - 0.2.2 + 0.2.3 1.3.5 2.0.2 1.17.5 diff --git a/samples/client/petstore/java/resteasy/build.gradle b/samples/client/petstore/java/resteasy/build.gradle index 0515f918a1..0fec20f57b 100644 --- a/samples/client/petstore/java/resteasy/build.gradle +++ b/samples/client/petstore/java/resteasy/build.gradle @@ -100,7 +100,7 @@ ext { swagger_annotations_version = "1.6.3" jackson_version = "2.10.5" jackson_databind_version = "2.10.5.1" - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" threetenbp_version = "2.9.10" resteasy_version = "4.5.11.Final" diff --git a/samples/client/petstore/java/resteasy/pom.xml b/samples/client/petstore/java/resteasy/pom.xml index 486b65fb0b..5de2b772ab 100644 --- a/samples/client/petstore/java/resteasy/pom.xml +++ b/samples/client/petstore/java/resteasy/pom.xml @@ -257,7 +257,7 @@ 4.7.6.Final 2.10.5 2.10.5.1 - 0.2.2 + 0.2.3 1.3.5 2.9.10 1.0.0 diff --git a/samples/client/petstore/java/resttemplate-withXml/build.gradle b/samples/client/petstore/java/resttemplate-withXml/build.gradle index e7f672b73a..9be26d8838 100644 --- a/samples/client/petstore/java/resttemplate-withXml/build.gradle +++ b/samples/client/petstore/java/resttemplate-withXml/build.gradle @@ -100,7 +100,7 @@ ext { swagger_annotations_version = "1.5.22" jackson_version = "2.10.5" jackson_databind_version = "2.10.5.1" - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" spring_web_version = "5.3.18" jodatime_version = "2.9.9" diff --git a/samples/client/petstore/java/resttemplate-withXml/pom.xml b/samples/client/petstore/java/resttemplate-withXml/pom.xml index a4cd58ae79..9e84a81c47 100644 --- a/samples/client/petstore/java/resttemplate-withXml/pom.xml +++ b/samples/client/petstore/java/resttemplate-withXml/pom.xml @@ -283,7 +283,7 @@ 5.3.18 2.10.5 2.10.5.1 - 0.2.2 + 0.2.3 1.3.5 1.0.0 4.13.2 diff --git a/samples/client/petstore/java/resttemplate/build.gradle b/samples/client/petstore/java/resttemplate/build.gradle index 937cdc9896..3eb7a5291d 100644 --- a/samples/client/petstore/java/resttemplate/build.gradle +++ b/samples/client/petstore/java/resttemplate/build.gradle @@ -100,7 +100,7 @@ ext { swagger_annotations_version = "1.5.22" jackson_version = "2.10.5" jackson_databind_version = "2.10.5.1" - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" spring_web_version = "5.3.18" jodatime_version = "2.9.9" diff --git a/samples/client/petstore/java/resttemplate/pom.xml b/samples/client/petstore/java/resttemplate/pom.xml index 4bbd9379b0..da01c14bd5 100644 --- a/samples/client/petstore/java/resttemplate/pom.xml +++ b/samples/client/petstore/java/resttemplate/pom.xml @@ -275,7 +275,7 @@ 5.3.18 2.10.5 2.10.5.1 - 0.2.2 + 0.2.3 1.3.5 1.0.0 4.13.2 diff --git a/samples/client/petstore/java/retrofit2-play26/build.gradle b/samples/client/petstore/java/retrofit2-play26/build.gradle index e1de525994..d1b5577ea9 100644 --- a/samples/client/petstore/java/retrofit2-play26/build.gradle +++ b/samples/client/petstore/java/retrofit2-play26/build.gradle @@ -101,7 +101,7 @@ ext { retrofit_version = "2.3.0" jackson_version = "2.10.5" jackson_databind_version = "2.10.5.1" - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" play_version = "2.6.7" swagger_annotations_version = "1.5.22" diff --git a/samples/client/petstore/java/retrofit2-play26/pom.xml b/samples/client/petstore/java/retrofit2-play26/pom.xml index 61dba3f6f0..f22b91a601 100644 --- a/samples/client/petstore/java/retrofit2-play26/pom.xml +++ b/samples/client/petstore/java/retrofit2-play26/pom.xml @@ -305,7 +305,7 @@ 1.6.3 2.12.1 2.6.7 - 0.2.2 + 0.2.3 2.5.0 1.3.5 2.0.2 diff --git a/samples/client/petstore/java/vertx-no-nullable/pom.xml b/samples/client/petstore/java/vertx-no-nullable/pom.xml index baf57e8bde..27b3a16ce5 100644 --- a/samples/client/petstore/java/vertx-no-nullable/pom.xml +++ b/samples/client/petstore/java/vertx-no-nullable/pom.xml @@ -273,7 +273,7 @@ 1.5.22 2.10.5 2.10.5.1 - 0.2.2 + 0.2.3 1.3.5 4.13.2 diff --git a/samples/client/petstore/java/vertx/build.gradle b/samples/client/petstore/java/vertx/build.gradle index c6c4d21efc..8d0f35d175 100644 --- a/samples/client/petstore/java/vertx/build.gradle +++ b/samples/client/petstore/java/vertx/build.gradle @@ -34,7 +34,7 @@ ext { jackson_databind_version = "2.10.5.1" vertx_version = "3.4.2" junit_version = "4.13.2" - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" } diff --git a/samples/client/petstore/java/vertx/pom.xml b/samples/client/petstore/java/vertx/pom.xml index d03970a3d1..28ee89f3bb 100644 --- a/samples/client/petstore/java/vertx/pom.xml +++ b/samples/client/petstore/java/vertx/pom.xml @@ -278,7 +278,7 @@ 1.5.22 2.10.5 2.10.5.1 - 0.2.2 + 0.2.3 1.3.5 4.13.2 diff --git a/samples/client/petstore/java/webclient-nulable-arrays/build.gradle b/samples/client/petstore/java/webclient-nulable-arrays/build.gradle index 729ffbdb6f..df5d3316dc 100644 --- a/samples/client/petstore/java/webclient-nulable-arrays/build.gradle +++ b/samples/client/petstore/java/webclient-nulable-arrays/build.gradle @@ -116,7 +116,7 @@ ext { spring_boot_version = "2.6.6" jackson_version = "2.11.4" jackson_databind_version = "2.11.4" - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" reactor_version = "3.4.3" reactor_netty_version = "1.0.4" diff --git a/samples/client/petstore/java/webclient-nulable-arrays/pom.xml b/samples/client/petstore/java/webclient-nulable-arrays/pom.xml index 04c903d6b9..12bd438445 100644 --- a/samples/client/petstore/java/webclient-nulable-arrays/pom.xml +++ b/samples/client/petstore/java/webclient-nulable-arrays/pom.xml @@ -129,7 +129,7 @@ 2.6.6 2.11.3 2.11.4 - 0.2.2 + 0.2.3 1.3.5 4.13.2 3.4.3 diff --git a/samples/client/petstore/java/webclient/build.gradle b/samples/client/petstore/java/webclient/build.gradle index fb3b59a621..5ed93ce970 100644 --- a/samples/client/petstore/java/webclient/build.gradle +++ b/samples/client/petstore/java/webclient/build.gradle @@ -116,7 +116,7 @@ ext { spring_boot_version = "2.6.6" jackson_version = "2.11.4" jackson_databind_version = "2.11.4" - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" reactor_version = "3.4.3" reactor_netty_version = "1.0.4" diff --git a/samples/client/petstore/java/webclient/pom.xml b/samples/client/petstore/java/webclient/pom.xml index a57fd0d991..cc788c6e7f 100644 --- a/samples/client/petstore/java/webclient/pom.xml +++ b/samples/client/petstore/java/webclient/pom.xml @@ -129,7 +129,7 @@ 2.6.6 2.11.3 2.11.4 - 0.2.2 + 0.2.3 1.3.5 4.13.2 3.4.3 diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/build.gradle b/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/build.gradle index b9afa56a85..a74a80cb11 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/build.gradle +++ b/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/build.gradle @@ -101,7 +101,7 @@ ext { swagger_annotations_version = "1.6.5" jackson_version = "2.13.2" jackson_databind_version = "2.13.2.2" - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" jersey_version = "2.35" junit_version = "5.8.2" diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/build.sbt b/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/build.sbt index f245414c4d..01f6d20e91 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/build.sbt +++ b/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/build.sbt @@ -20,7 +20,7 @@ lazy val root = (project in file(".")). "com.fasterxml.jackson.core" % "jackson-annotations" % "2.13.2" % "compile", "com.fasterxml.jackson.core" % "jackson-databind" % "2.13.2.2" % "compile", "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.13.2" % "compile", - "org.openapitools" % "jackson-databind-nullable" % "0.2.2" % "compile", + "org.openapitools" % "jackson-databind-nullable" % "0.2.3" % "compile", "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile", "org.junit.jupiter" % "junit-jupiter-api" % "5.8.2" % "test" ) diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/pom.xml b/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/pom.xml index 424d8713c8..748669225c 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/pom.xml +++ b/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/pom.xml @@ -337,7 +337,7 @@ 2.35 2.13.2 2.13.2.2 - 0.2.2 + 0.2.3 1.3.5 5.8.2 2.21.0 diff --git a/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/build.gradle b/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/build.gradle index 0bec3bb5f3..684a391a17 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/build.gradle +++ b/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/build.gradle @@ -101,7 +101,7 @@ ext { swagger_annotations_version = "1.6.5" jackson_version = "2.13.2" jackson_databind_version = "2.13.2.2" - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" jersey_version = "2.35" junit_version = "5.8.2" diff --git a/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/build.sbt b/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/build.sbt index 3ecfc035b1..55c190edb3 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/build.sbt +++ b/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/build.sbt @@ -20,7 +20,7 @@ lazy val root = (project in file(".")). "com.fasterxml.jackson.core" % "jackson-annotations" % "2.13.2" % "compile", "com.fasterxml.jackson.core" % "jackson-databind" % "2.13.2.2" % "compile", "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.13.2" % "compile", - "org.openapitools" % "jackson-databind-nullable" % "0.2.2" % "compile", + "org.openapitools" % "jackson-databind-nullable" % "0.2.3" % "compile", "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile", "org.junit.jupiter" % "junit-jupiter-api" % "5.8.2" % "test" ) diff --git a/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/pom.xml b/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/pom.xml index fe9ea83f94..21a045066b 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/pom.xml +++ b/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/pom.xml @@ -337,7 +337,7 @@ 2.35 2.13.2 2.13.2.2 - 0.2.2 + 0.2.3 1.3.5 5.8.2 2.21.0 diff --git a/samples/openapi3/client/petstore/java/jersey2-java8/build.gradle b/samples/openapi3/client/petstore/java/jersey2-java8/build.gradle index 0bd0fe1b04..57a60f84dd 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8/build.gradle +++ b/samples/openapi3/client/petstore/java/jersey2-java8/build.gradle @@ -101,7 +101,7 @@ ext { swagger_annotations_version = "1.6.5" jackson_version = "2.13.2" jackson_databind_version = "2.13.2.2" - jackson_databind_nullable_version = "0.2.2" + jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" jersey_version = "2.35" junit_version = "5.8.2" diff --git a/samples/openapi3/client/petstore/java/jersey2-java8/build.sbt b/samples/openapi3/client/petstore/java/jersey2-java8/build.sbt index a978449bb8..f3bcebc5f1 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8/build.sbt +++ b/samples/openapi3/client/petstore/java/jersey2-java8/build.sbt @@ -20,7 +20,7 @@ lazy val root = (project in file(".")). "com.fasterxml.jackson.core" % "jackson-annotations" % "2.13.2" % "compile", "com.fasterxml.jackson.core" % "jackson-databind" % "2.13.2.2" % "compile", "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.13.2" % "compile", - "org.openapitools" % "jackson-databind-nullable" % "0.2.2" % "compile", + "org.openapitools" % "jackson-databind-nullable" % "0.2.3" % "compile", "com.github.scribejava" % "scribejava-apis" % "8.3.1" % "compile", "org.tomitribe" % "tomitribe-http-signatures" % "1.7" % "compile", "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile", diff --git a/samples/openapi3/client/petstore/java/jersey2-java8/pom.xml b/samples/openapi3/client/petstore/java/jersey2-java8/pom.xml index addf6fc45b..cb4f263b40 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8/pom.xml +++ b/samples/openapi3/client/petstore/java/jersey2-java8/pom.xml @@ -347,7 +347,7 @@ 2.35 2.13.2 2.13.2.2 - 0.2.2 + 0.2.3 1.3.5 5.8.2 1.7 From e4b78dbbd86763e9e24e70483af363900e3c4c57 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sat, 25 Jun 2022 18:11:25 +0800 Subject: [PATCH 112/212] [R] minify json in toJSON (#12699) * minify json in toJSON * update fromjson with better variable naming --- .../main/resources/r/modelGeneric.mustache | 32 ++++---- .../petstore/R/R/allof_tag_api_response.R | 44 +++++------ samples/client/petstore/R/R/animal.R | 26 +++---- samples/client/petstore/R/R/basque_pig.R | 26 +++---- samples/client/petstore/R/R/cat.R | 32 ++++---- samples/client/petstore/R/R/cat_all_of.R | 20 ++--- samples/client/petstore/R/R/category.R | 26 +++---- samples/client/petstore/R/R/danish_pig.R | 26 +++---- samples/client/petstore/R/R/dog.R | 32 ++++---- samples/client/petstore/R/R/dog_all_of.R | 20 ++--- .../client/petstore/R/R/model_api_response.R | 32 ++++---- samples/client/petstore/R/R/order.R | 50 ++++++------- samples/client/petstore/R/R/pet.R | 54 ++++++------- samples/client/petstore/R/R/special.R | 32 ++++---- samples/client/petstore/R/R/tag.R | 26 +++---- .../client/petstore/R/R/update_pet_request.R | 30 ++++---- samples/client/petstore/R/R/user.R | 62 +++++++-------- samples/client/petstore/R/test_petstore.R | 75 ++++++++++++------- .../petstore/R/tests/testthat/test_petstore.R | 3 +- 19 files changed, 333 insertions(+), 315 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache b/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache index 638dbccd83..fe1871769b 100644 --- a/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache @@ -176,24 +176,24 @@ #' @description #' Deserialize JSON string into an instance of {{{classname}}} #' - #' @param {{classname}}Json the JSON input + #' @param input_json the JSON input #' @return the instance of {{{classname}}} #' @export - fromJSON = function({{classname}}Json) { - {{classname}}Object <- jsonlite::fromJSON({{classname}}Json) + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) {{#vars}} - if (!is.null({{classname}}Object$`{{baseName}}`)) { + if (!is.null(this_object$`{{baseName}}`)) { {{#isContainer}} - self$`{{name}}` <- ApiClient$new()$deserializeObj({{classname}}Object$`{{baseName}}`, "{{dataType}}", loadNamespace("{{packageName}}")) + self$`{{name}}` <- ApiClient$new()$deserializeObj(this_object$`{{baseName}}`, "{{dataType}}", loadNamespace("{{packageName}}")) {{/isContainer}} {{^isContainer}} {{#isPrimitiveType}} - self$`{{name}}` <- {{classname}}Object$`{{baseName}}` + self$`{{name}}` <- this_object$`{{baseName}}` {{/isPrimitiveType}} {{^isPrimitiveType}} - {{name}}Object <- {{dataType}}$new() - {{name}}Object$fromJSON(jsonlite::toJSON({{classname}}Object${{baseName}}, auto_unbox = TRUE, digits = NA)) - self$`{{name}}` <- {{name}}Object + {{#lambda.lowercase}}{{{name}}}{{/lambda.lowercase}}_object <- {{dataType}}$new() + {{#lambda.lowercase}}{{{name}}}{{/lambda.lowercase}}_object$fromJSON(jsonlite::toJSON(this_object${{baseName}}, auto_unbox = TRUE, digits = NA)) + self$`{{name}}` <- {{#lambda.lowercase}}{{{name}}}{{/lambda.lowercase}}_object {{/isPrimitiveType}} {{/isContainer}} } @@ -266,29 +266,29 @@ {{/vars}} ) jsoncontent <- paste(jsoncontent, collapse = ",") - paste('{', jsoncontent, '}', sep = "") + jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) }, #' Deserialize JSON string into an instance of {{{classname}}} #' #' @description #' Deserialize JSON string into an instance of {{{classname}}} #' - #' @param {{classname}}Json the JSON input + #' @param input_json the JSON input #' @return the instance of {{{classname}}} #' @export - fromJSONString = function({{classname}}Json) { - {{classname}}Object <- jsonlite::fromJSON({{classname}}Json) + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) {{#vars}} {{! AAPI - added condition for handling container type of parameters, map and array}} {{#isContainer}} - self$`{{name}}` <- ApiClient$new()$deserializeObj({{classname}}Object$`{{name}}`, "{{dataType}}", loadNamespace("{{packageName}}")) + self$`{{name}}` <- ApiClient$new()$deserializeObj(this_object$`{{name}}`, "{{dataType}}", loadNamespace("{{packageName}}")) {{/isContainer}} {{^isContainer}} {{#isPrimitiveType}} - self$`{{name}}` <- {{classname}}Object$`{{name}}` + self$`{{name}}` <- this_object$`{{name}}` {{/isPrimitiveType}} {{^isPrimitiveType}} - self$`{{name}}` <- {{dataType}}$new()$fromJSON(jsonlite::toJSON({{classname}}Object${{name}}, auto_unbox = TRUE, digits = NA)) + self$`{{name}}` <- {{dataType}}$new()$fromJSON(jsonlite::toJSON(this_object${{name}}, auto_unbox = TRUE, digits = NA)) {{/isPrimitiveType}} {{/isContainer}} {{/vars}} diff --git a/samples/client/petstore/R/R/allof_tag_api_response.R b/samples/client/petstore/R/R/allof_tag_api_response.R index 66fe3f812f..95d2743934 100644 --- a/samples/client/petstore/R/R/allof_tag_api_response.R +++ b/samples/client/petstore/R/R/allof_tag_api_response.R @@ -99,25 +99,25 @@ AllofTagApiResponse <- R6::R6Class( #' @description #' Deserialize JSON string into an instance of AllofTagApiResponse #' - #' @param AllofTagApiResponseJson the JSON input + #' @param input_json the JSON input #' @return the instance of AllofTagApiResponse #' @export - fromJSON = function(AllofTagApiResponseJson) { - AllofTagApiResponseObject <- jsonlite::fromJSON(AllofTagApiResponseJson) - if (!is.null(AllofTagApiResponseObject$`id`)) { - self$`id` <- AllofTagApiResponseObject$`id` + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`id`)) { + self$`id` <- this_object$`id` } - if (!is.null(AllofTagApiResponseObject$`name`)) { - self$`name` <- AllofTagApiResponseObject$`name` + if (!is.null(this_object$`name`)) { + self$`name` <- this_object$`name` } - if (!is.null(AllofTagApiResponseObject$`code`)) { - self$`code` <- AllofTagApiResponseObject$`code` + if (!is.null(this_object$`code`)) { + self$`code` <- this_object$`code` } - if (!is.null(AllofTagApiResponseObject$`type`)) { - self$`type` <- AllofTagApiResponseObject$`type` + if (!is.null(this_object$`type`)) { + self$`type` <- this_object$`type` } - if (!is.null(AllofTagApiResponseObject$`message`)) { - self$`message` <- AllofTagApiResponseObject$`message` + if (!is.null(this_object$`message`)) { + self$`message` <- this_object$`message` } self }, @@ -167,23 +167,23 @@ AllofTagApiResponse <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - paste('{', jsoncontent, '}', sep = "") + jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) }, #' Deserialize JSON string into an instance of AllofTagApiResponse #' #' @description #' Deserialize JSON string into an instance of AllofTagApiResponse #' - #' @param AllofTagApiResponseJson the JSON input + #' @param input_json the JSON input #' @return the instance of AllofTagApiResponse #' @export - fromJSONString = function(AllofTagApiResponseJson) { - AllofTagApiResponseObject <- jsonlite::fromJSON(AllofTagApiResponseJson) - self$`id` <- AllofTagApiResponseObject$`id` - self$`name` <- AllofTagApiResponseObject$`name` - self$`code` <- AllofTagApiResponseObject$`code` - self$`type` <- AllofTagApiResponseObject$`type` - self$`message` <- AllofTagApiResponseObject$`message` + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`id` <- this_object$`id` + self$`name` <- this_object$`name` + self$`code` <- this_object$`code` + self$`type` <- this_object$`type` + self$`message` <- this_object$`message` self }, #' Validate JSON input with respect to AllofTagApiResponse diff --git a/samples/client/petstore/R/R/animal.R b/samples/client/petstore/R/R/animal.R index fae32d068a..e5a0cc8d3f 100644 --- a/samples/client/petstore/R/R/animal.R +++ b/samples/client/petstore/R/R/animal.R @@ -66,16 +66,16 @@ Animal <- R6::R6Class( #' @description #' Deserialize JSON string into an instance of Animal #' - #' @param AnimalJson the JSON input + #' @param input_json the JSON input #' @return the instance of Animal #' @export - fromJSON = function(AnimalJson) { - AnimalObject <- jsonlite::fromJSON(AnimalJson) - if (!is.null(AnimalObject$`className`)) { - self$`className` <- AnimalObject$`className` + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`className`)) { + self$`className` <- this_object$`className` } - if (!is.null(AnimalObject$`color`)) { - self$`color` <- AnimalObject$`color` + if (!is.null(this_object$`color`)) { + self$`color` <- this_object$`color` } self }, @@ -104,20 +104,20 @@ Animal <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - paste('{', jsoncontent, '}', sep = "") + jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) }, #' Deserialize JSON string into an instance of Animal #' #' @description #' Deserialize JSON string into an instance of Animal #' - #' @param AnimalJson the JSON input + #' @param input_json the JSON input #' @return the instance of Animal #' @export - fromJSONString = function(AnimalJson) { - AnimalObject <- jsonlite::fromJSON(AnimalJson) - self$`className` <- AnimalObject$`className` - self$`color` <- AnimalObject$`color` + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`className` <- this_object$`className` + self$`color` <- this_object$`color` self }, #' Validate JSON input with respect to Animal diff --git a/samples/client/petstore/R/R/basque_pig.R b/samples/client/petstore/R/R/basque_pig.R index ab045fd66a..71f3207d36 100644 --- a/samples/client/petstore/R/R/basque_pig.R +++ b/samples/client/petstore/R/R/basque_pig.R @@ -66,16 +66,16 @@ BasquePig <- R6::R6Class( #' @description #' Deserialize JSON string into an instance of BasquePig #' - #' @param BasquePigJson the JSON input + #' @param input_json the JSON input #' @return the instance of BasquePig #' @export - fromJSON = function(BasquePigJson) { - BasquePigObject <- jsonlite::fromJSON(BasquePigJson) - if (!is.null(BasquePigObject$`className`)) { - self$`className` <- BasquePigObject$`className` + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`className`)) { + self$`className` <- this_object$`className` } - if (!is.null(BasquePigObject$`color`)) { - self$`color` <- BasquePigObject$`color` + if (!is.null(this_object$`color`)) { + self$`color` <- this_object$`color` } self }, @@ -104,20 +104,20 @@ BasquePig <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - paste('{', jsoncontent, '}', sep = "") + jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) }, #' Deserialize JSON string into an instance of BasquePig #' #' @description #' Deserialize JSON string into an instance of BasquePig #' - #' @param BasquePigJson the JSON input + #' @param input_json the JSON input #' @return the instance of BasquePig #' @export - fromJSONString = function(BasquePigJson) { - BasquePigObject <- jsonlite::fromJSON(BasquePigJson) - self$`className` <- BasquePigObject$`className` - self$`color` <- BasquePigObject$`color` + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`className` <- this_object$`className` + self$`color` <- this_object$`color` self }, #' Validate JSON input with respect to BasquePig diff --git a/samples/client/petstore/R/R/cat.R b/samples/client/petstore/R/R/cat.R index 7154e09ea7..f523d54bc0 100644 --- a/samples/client/petstore/R/R/cat.R +++ b/samples/client/petstore/R/R/cat.R @@ -78,19 +78,19 @@ Cat <- R6::R6Class( #' @description #' Deserialize JSON string into an instance of Cat #' - #' @param CatJson the JSON input + #' @param input_json the JSON input #' @return the instance of Cat #' @export - fromJSON = function(CatJson) { - CatObject <- jsonlite::fromJSON(CatJson) - if (!is.null(CatObject$`className`)) { - self$`className` <- CatObject$`className` + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`className`)) { + self$`className` <- this_object$`className` } - if (!is.null(CatObject$`color`)) { - self$`color` <- CatObject$`color` + if (!is.null(this_object$`color`)) { + self$`color` <- this_object$`color` } - if (!is.null(CatObject$`declawed`)) { - self$`declawed` <- CatObject$`declawed` + if (!is.null(this_object$`declawed`)) { + self$`declawed` <- this_object$`declawed` } self }, @@ -126,21 +126,21 @@ Cat <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - paste('{', jsoncontent, '}', sep = "") + jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) }, #' Deserialize JSON string into an instance of Cat #' #' @description #' Deserialize JSON string into an instance of Cat #' - #' @param CatJson the JSON input + #' @param input_json the JSON input #' @return the instance of Cat #' @export - fromJSONString = function(CatJson) { - CatObject <- jsonlite::fromJSON(CatJson) - self$`className` <- CatObject$`className` - self$`color` <- CatObject$`color` - self$`declawed` <- CatObject$`declawed` + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`className` <- this_object$`className` + self$`color` <- this_object$`color` + self$`declawed` <- this_object$`declawed` self }, #' Validate JSON input with respect to Cat diff --git a/samples/client/petstore/R/R/cat_all_of.R b/samples/client/petstore/R/R/cat_all_of.R index a018a3d868..1c2e90f399 100644 --- a/samples/client/petstore/R/R/cat_all_of.R +++ b/samples/client/petstore/R/R/cat_all_of.R @@ -55,13 +55,13 @@ CatAllOf <- R6::R6Class( #' @description #' Deserialize JSON string into an instance of CatAllOf #' - #' @param CatAllOfJson the JSON input + #' @param input_json the JSON input #' @return the instance of CatAllOf #' @export - fromJSON = function(CatAllOfJson) { - CatAllOfObject <- jsonlite::fromJSON(CatAllOfJson) - if (!is.null(CatAllOfObject$`declawed`)) { - self$`declawed` <- CatAllOfObject$`declawed` + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`declawed`)) { + self$`declawed` <- this_object$`declawed` } self }, @@ -83,19 +83,19 @@ CatAllOf <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - paste('{', jsoncontent, '}', sep = "") + jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) }, #' Deserialize JSON string into an instance of CatAllOf #' #' @description #' Deserialize JSON string into an instance of CatAllOf #' - #' @param CatAllOfJson the JSON input + #' @param input_json the JSON input #' @return the instance of CatAllOf #' @export - fromJSONString = function(CatAllOfJson) { - CatAllOfObject <- jsonlite::fromJSON(CatAllOfJson) - self$`declawed` <- CatAllOfObject$`declawed` + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`declawed` <- this_object$`declawed` self }, #' Validate JSON input with respect to CatAllOf diff --git a/samples/client/petstore/R/R/category.R b/samples/client/petstore/R/R/category.R index 402ff0d5a1..3d4ef8c342 100644 --- a/samples/client/petstore/R/R/category.R +++ b/samples/client/petstore/R/R/category.R @@ -66,16 +66,16 @@ Category <- R6::R6Class( #' @description #' Deserialize JSON string into an instance of Category #' - #' @param CategoryJson the JSON input + #' @param input_json the JSON input #' @return the instance of Category #' @export - fromJSON = function(CategoryJson) { - CategoryObject <- jsonlite::fromJSON(CategoryJson) - if (!is.null(CategoryObject$`id`)) { - self$`id` <- CategoryObject$`id` + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`id`)) { + self$`id` <- this_object$`id` } - if (!is.null(CategoryObject$`name`)) { - self$`name` <- CategoryObject$`name` + if (!is.null(this_object$`name`)) { + self$`name` <- this_object$`name` } self }, @@ -104,20 +104,20 @@ Category <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - paste('{', jsoncontent, '}', sep = "") + jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) }, #' Deserialize JSON string into an instance of Category #' #' @description #' Deserialize JSON string into an instance of Category #' - #' @param CategoryJson the JSON input + #' @param input_json the JSON input #' @return the instance of Category #' @export - fromJSONString = function(CategoryJson) { - CategoryObject <- jsonlite::fromJSON(CategoryJson) - self$`id` <- CategoryObject$`id` - self$`name` <- CategoryObject$`name` + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`id` <- this_object$`id` + self$`name` <- this_object$`name` self }, #' Validate JSON input with respect to Category diff --git a/samples/client/petstore/R/R/danish_pig.R b/samples/client/petstore/R/R/danish_pig.R index 6307ef28fd..48a087e4c6 100644 --- a/samples/client/petstore/R/R/danish_pig.R +++ b/samples/client/petstore/R/R/danish_pig.R @@ -66,16 +66,16 @@ DanishPig <- R6::R6Class( #' @description #' Deserialize JSON string into an instance of DanishPig #' - #' @param DanishPigJson the JSON input + #' @param input_json the JSON input #' @return the instance of DanishPig #' @export - fromJSON = function(DanishPigJson) { - DanishPigObject <- jsonlite::fromJSON(DanishPigJson) - if (!is.null(DanishPigObject$`className`)) { - self$`className` <- DanishPigObject$`className` + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`className`)) { + self$`className` <- this_object$`className` } - if (!is.null(DanishPigObject$`size`)) { - self$`size` <- DanishPigObject$`size` + if (!is.null(this_object$`size`)) { + self$`size` <- this_object$`size` } self }, @@ -104,20 +104,20 @@ DanishPig <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - paste('{', jsoncontent, '}', sep = "") + jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) }, #' Deserialize JSON string into an instance of DanishPig #' #' @description #' Deserialize JSON string into an instance of DanishPig #' - #' @param DanishPigJson the JSON input + #' @param input_json the JSON input #' @return the instance of DanishPig #' @export - fromJSONString = function(DanishPigJson) { - DanishPigObject <- jsonlite::fromJSON(DanishPigJson) - self$`className` <- DanishPigObject$`className` - self$`size` <- DanishPigObject$`size` + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`className` <- this_object$`className` + self$`size` <- this_object$`size` self }, #' Validate JSON input with respect to DanishPig diff --git a/samples/client/petstore/R/R/dog.R b/samples/client/petstore/R/R/dog.R index 35843d6901..75989a1f1e 100644 --- a/samples/client/petstore/R/R/dog.R +++ b/samples/client/petstore/R/R/dog.R @@ -78,19 +78,19 @@ Dog <- R6::R6Class( #' @description #' Deserialize JSON string into an instance of Dog #' - #' @param DogJson the JSON input + #' @param input_json the JSON input #' @return the instance of Dog #' @export - fromJSON = function(DogJson) { - DogObject <- jsonlite::fromJSON(DogJson) - if (!is.null(DogObject$`className`)) { - self$`className` <- DogObject$`className` + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`className`)) { + self$`className` <- this_object$`className` } - if (!is.null(DogObject$`color`)) { - self$`color` <- DogObject$`color` + if (!is.null(this_object$`color`)) { + self$`color` <- this_object$`color` } - if (!is.null(DogObject$`breed`)) { - self$`breed` <- DogObject$`breed` + if (!is.null(this_object$`breed`)) { + self$`breed` <- this_object$`breed` } self }, @@ -126,21 +126,21 @@ Dog <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - paste('{', jsoncontent, '}', sep = "") + jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) }, #' Deserialize JSON string into an instance of Dog #' #' @description #' Deserialize JSON string into an instance of Dog #' - #' @param DogJson the JSON input + #' @param input_json the JSON input #' @return the instance of Dog #' @export - fromJSONString = function(DogJson) { - DogObject <- jsonlite::fromJSON(DogJson) - self$`className` <- DogObject$`className` - self$`color` <- DogObject$`color` - self$`breed` <- DogObject$`breed` + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`className` <- this_object$`className` + self$`color` <- this_object$`color` + self$`breed` <- this_object$`breed` self }, #' Validate JSON input with respect to Dog diff --git a/samples/client/petstore/R/R/dog_all_of.R b/samples/client/petstore/R/R/dog_all_of.R index 624bf12ce6..5252117bd3 100644 --- a/samples/client/petstore/R/R/dog_all_of.R +++ b/samples/client/petstore/R/R/dog_all_of.R @@ -55,13 +55,13 @@ DogAllOf <- R6::R6Class( #' @description #' Deserialize JSON string into an instance of DogAllOf #' - #' @param DogAllOfJson the JSON input + #' @param input_json the JSON input #' @return the instance of DogAllOf #' @export - fromJSON = function(DogAllOfJson) { - DogAllOfObject <- jsonlite::fromJSON(DogAllOfJson) - if (!is.null(DogAllOfObject$`breed`)) { - self$`breed` <- DogAllOfObject$`breed` + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`breed`)) { + self$`breed` <- this_object$`breed` } self }, @@ -83,19 +83,19 @@ DogAllOf <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - paste('{', jsoncontent, '}', sep = "") + jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) }, #' Deserialize JSON string into an instance of DogAllOf #' #' @description #' Deserialize JSON string into an instance of DogAllOf #' - #' @param DogAllOfJson the JSON input + #' @param input_json the JSON input #' @return the instance of DogAllOf #' @export - fromJSONString = function(DogAllOfJson) { - DogAllOfObject <- jsonlite::fromJSON(DogAllOfJson) - self$`breed` <- DogAllOfObject$`breed` + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`breed` <- this_object$`breed` self }, #' Validate JSON input with respect to DogAllOf diff --git a/samples/client/petstore/R/R/model_api_response.R b/samples/client/petstore/R/R/model_api_response.R index eadb8f5e44..d0d048e307 100644 --- a/samples/client/petstore/R/R/model_api_response.R +++ b/samples/client/petstore/R/R/model_api_response.R @@ -77,19 +77,19 @@ ModelApiResponse <- R6::R6Class( #' @description #' Deserialize JSON string into an instance of ModelApiResponse #' - #' @param ModelApiResponseJson the JSON input + #' @param input_json the JSON input #' @return the instance of ModelApiResponse #' @export - fromJSON = function(ModelApiResponseJson) { - ModelApiResponseObject <- jsonlite::fromJSON(ModelApiResponseJson) - if (!is.null(ModelApiResponseObject$`code`)) { - self$`code` <- ModelApiResponseObject$`code` + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`code`)) { + self$`code` <- this_object$`code` } - if (!is.null(ModelApiResponseObject$`type`)) { - self$`type` <- ModelApiResponseObject$`type` + if (!is.null(this_object$`type`)) { + self$`type` <- this_object$`type` } - if (!is.null(ModelApiResponseObject$`message`)) { - self$`message` <- ModelApiResponseObject$`message` + if (!is.null(this_object$`message`)) { + self$`message` <- this_object$`message` } self }, @@ -125,21 +125,21 @@ ModelApiResponse <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - paste('{', jsoncontent, '}', sep = "") + jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) }, #' Deserialize JSON string into an instance of ModelApiResponse #' #' @description #' Deserialize JSON string into an instance of ModelApiResponse #' - #' @param ModelApiResponseJson the JSON input + #' @param input_json the JSON input #' @return the instance of ModelApiResponse #' @export - fromJSONString = function(ModelApiResponseJson) { - ModelApiResponseObject <- jsonlite::fromJSON(ModelApiResponseJson) - self$`code` <- ModelApiResponseObject$`code` - self$`type` <- ModelApiResponseObject$`type` - self$`message` <- ModelApiResponseObject$`message` + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`code` <- this_object$`code` + self$`type` <- this_object$`type` + self$`message` <- this_object$`message` self }, #' Validate JSON input with respect to ModelApiResponse diff --git a/samples/client/petstore/R/R/order.R b/samples/client/petstore/R/R/order.R index ef5ef2bcd2..0fd725f36c 100644 --- a/samples/client/petstore/R/R/order.R +++ b/samples/client/petstore/R/R/order.R @@ -110,28 +110,28 @@ Order <- R6::R6Class( #' @description #' Deserialize JSON string into an instance of Order #' - #' @param OrderJson the JSON input + #' @param input_json the JSON input #' @return the instance of Order #' @export - fromJSON = function(OrderJson) { - OrderObject <- jsonlite::fromJSON(OrderJson) - if (!is.null(OrderObject$`id`)) { - self$`id` <- OrderObject$`id` + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`id`)) { + self$`id` <- this_object$`id` } - if (!is.null(OrderObject$`petId`)) { - self$`petId` <- OrderObject$`petId` + if (!is.null(this_object$`petId`)) { + self$`petId` <- this_object$`petId` } - if (!is.null(OrderObject$`quantity`)) { - self$`quantity` <- OrderObject$`quantity` + if (!is.null(this_object$`quantity`)) { + self$`quantity` <- this_object$`quantity` } - if (!is.null(OrderObject$`shipDate`)) { - self$`shipDate` <- OrderObject$`shipDate` + if (!is.null(this_object$`shipDate`)) { + self$`shipDate` <- this_object$`shipDate` } - if (!is.null(OrderObject$`status`)) { - self$`status` <- OrderObject$`status` + if (!is.null(this_object$`status`)) { + self$`status` <- this_object$`status` } - if (!is.null(OrderObject$`complete`)) { - self$`complete` <- OrderObject$`complete` + if (!is.null(this_object$`complete`)) { + self$`complete` <- this_object$`complete` } self }, @@ -188,24 +188,24 @@ Order <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - paste('{', jsoncontent, '}', sep = "") + jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) }, #' Deserialize JSON string into an instance of Order #' #' @description #' Deserialize JSON string into an instance of Order #' - #' @param OrderJson the JSON input + #' @param input_json the JSON input #' @return the instance of Order #' @export - fromJSONString = function(OrderJson) { - OrderObject <- jsonlite::fromJSON(OrderJson) - self$`id` <- OrderObject$`id` - self$`petId` <- OrderObject$`petId` - self$`quantity` <- OrderObject$`quantity` - self$`shipDate` <- OrderObject$`shipDate` - self$`status` <- OrderObject$`status` - self$`complete` <- OrderObject$`complete` + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`id` <- this_object$`id` + self$`petId` <- this_object$`petId` + self$`quantity` <- this_object$`quantity` + self$`shipDate` <- this_object$`shipDate` + self$`status` <- this_object$`status` + self$`complete` <- this_object$`complete` self }, #' Validate JSON input with respect to Order diff --git a/samples/client/petstore/R/R/pet.R b/samples/client/petstore/R/R/pet.R index c6d63fb5bc..35519aa48a 100644 --- a/samples/client/petstore/R/R/pet.R +++ b/samples/client/petstore/R/R/pet.R @@ -112,30 +112,30 @@ Pet <- R6::R6Class( #' @description #' Deserialize JSON string into an instance of Pet #' - #' @param PetJson the JSON input + #' @param input_json the JSON input #' @return the instance of Pet #' @export - fromJSON = function(PetJson) { - PetObject <- jsonlite::fromJSON(PetJson) - if (!is.null(PetObject$`id`)) { - self$`id` <- PetObject$`id` + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`id`)) { + self$`id` <- this_object$`id` } - if (!is.null(PetObject$`category`)) { - categoryObject <- Category$new() - categoryObject$fromJSON(jsonlite::toJSON(PetObject$category, auto_unbox = TRUE, digits = NA)) - self$`category` <- categoryObject + if (!is.null(this_object$`category`)) { + category_object <- Category$new() + category_object$fromJSON(jsonlite::toJSON(this_object$category, auto_unbox = TRUE, digits = NA)) + self$`category` <- category_object } - if (!is.null(PetObject$`name`)) { - self$`name` <- PetObject$`name` + if (!is.null(this_object$`name`)) { + self$`name` <- this_object$`name` } - if (!is.null(PetObject$`photoUrls`)) { - self$`photoUrls` <- ApiClient$new()$deserializeObj(PetObject$`photoUrls`, "array[character]", loadNamespace("petstore")) + if (!is.null(this_object$`photoUrls`)) { + self$`photoUrls` <- ApiClient$new()$deserializeObj(this_object$`photoUrls`, "array[character]", loadNamespace("petstore")) } - if (!is.null(PetObject$`tags`)) { - self$`tags` <- ApiClient$new()$deserializeObj(PetObject$`tags`, "array[Tag]", loadNamespace("petstore")) + if (!is.null(this_object$`tags`)) { + self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "array[Tag]", loadNamespace("petstore")) } - if (!is.null(PetObject$`status`)) { - self$`status` <- PetObject$`status` + if (!is.null(this_object$`status`)) { + self$`status` <- this_object$`status` } self }, @@ -192,24 +192,24 @@ Pet <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - paste('{', jsoncontent, '}', sep = "") + jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) }, #' Deserialize JSON string into an instance of Pet #' #' @description #' Deserialize JSON string into an instance of Pet #' - #' @param PetJson the JSON input + #' @param input_json the JSON input #' @return the instance of Pet #' @export - fromJSONString = function(PetJson) { - PetObject <- jsonlite::fromJSON(PetJson) - self$`id` <- PetObject$`id` - self$`category` <- Category$new()$fromJSON(jsonlite::toJSON(PetObject$category, auto_unbox = TRUE, digits = NA)) - self$`name` <- PetObject$`name` - self$`photoUrls` <- ApiClient$new()$deserializeObj(PetObject$`photoUrls`, "array[character]", loadNamespace("petstore")) - self$`tags` <- ApiClient$new()$deserializeObj(PetObject$`tags`, "array[Tag]", loadNamespace("petstore")) - self$`status` <- PetObject$`status` + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`id` <- this_object$`id` + self$`category` <- Category$new()$fromJSON(jsonlite::toJSON(this_object$category, auto_unbox = TRUE, digits = NA)) + self$`name` <- this_object$`name` + self$`photoUrls` <- ApiClient$new()$deserializeObj(this_object$`photoUrls`, "array[character]", loadNamespace("petstore")) + self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "array[Tag]", loadNamespace("petstore")) + self$`status` <- this_object$`status` self }, #' Validate JSON input with respect to Pet diff --git a/samples/client/petstore/R/R/special.R b/samples/client/petstore/R/R/special.R index 42a518939e..2dd59b39e5 100644 --- a/samples/client/petstore/R/R/special.R +++ b/samples/client/petstore/R/R/special.R @@ -77,19 +77,19 @@ Special <- R6::R6Class( #' @description #' Deserialize JSON string into an instance of Special #' - #' @param SpecialJson the JSON input + #' @param input_json the JSON input #' @return the instance of Special #' @export - fromJSON = function(SpecialJson) { - SpecialObject <- jsonlite::fromJSON(SpecialJson) - if (!is.null(SpecialObject$`self`)) { - self$`item_self` <- SpecialObject$`self` + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`self`)) { + self$`item_self` <- this_object$`self` } - if (!is.null(SpecialObject$`private`)) { - self$`item_private` <- SpecialObject$`private` + if (!is.null(this_object$`private`)) { + self$`item_private` <- this_object$`private` } - if (!is.null(SpecialObject$`super`)) { - self$`item_super` <- SpecialObject$`super` + if (!is.null(this_object$`super`)) { + self$`item_super` <- this_object$`super` } self }, @@ -125,21 +125,21 @@ Special <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - paste('{', jsoncontent, '}', sep = "") + jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) }, #' Deserialize JSON string into an instance of Special #' #' @description #' Deserialize JSON string into an instance of Special #' - #' @param SpecialJson the JSON input + #' @param input_json the JSON input #' @return the instance of Special #' @export - fromJSONString = function(SpecialJson) { - SpecialObject <- jsonlite::fromJSON(SpecialJson) - self$`item_self` <- SpecialObject$`item_self` - self$`item_private` <- SpecialObject$`item_private` - self$`item_super` <- SpecialObject$`item_super` + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`item_self` <- this_object$`item_self` + self$`item_private` <- this_object$`item_private` + self$`item_super` <- this_object$`item_super` self }, #' Validate JSON input with respect to Special diff --git a/samples/client/petstore/R/R/tag.R b/samples/client/petstore/R/R/tag.R index 2eb257fb04..bffbe797c4 100644 --- a/samples/client/petstore/R/R/tag.R +++ b/samples/client/petstore/R/R/tag.R @@ -66,16 +66,16 @@ Tag <- R6::R6Class( #' @description #' Deserialize JSON string into an instance of Tag #' - #' @param TagJson the JSON input + #' @param input_json the JSON input #' @return the instance of Tag #' @export - fromJSON = function(TagJson) { - TagObject <- jsonlite::fromJSON(TagJson) - if (!is.null(TagObject$`id`)) { - self$`id` <- TagObject$`id` + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`id`)) { + self$`id` <- this_object$`id` } - if (!is.null(TagObject$`name`)) { - self$`name` <- TagObject$`name` + if (!is.null(this_object$`name`)) { + self$`name` <- this_object$`name` } self }, @@ -104,20 +104,20 @@ Tag <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - paste('{', jsoncontent, '}', sep = "") + jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) }, #' Deserialize JSON string into an instance of Tag #' #' @description #' Deserialize JSON string into an instance of Tag #' - #' @param TagJson the JSON input + #' @param input_json the JSON input #' @return the instance of Tag #' @export - fromJSONString = function(TagJson) { - TagObject <- jsonlite::fromJSON(TagJson) - self$`id` <- TagObject$`id` - self$`name` <- TagObject$`name` + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`id` <- this_object$`id` + self$`name` <- this_object$`name` self }, #' Validate JSON input with respect to Tag diff --git a/samples/client/petstore/R/R/update_pet_request.R b/samples/client/petstore/R/R/update_pet_request.R index 89e9f16251..8f8706ec07 100644 --- a/samples/client/petstore/R/R/update_pet_request.R +++ b/samples/client/petstore/R/R/update_pet_request.R @@ -65,18 +65,18 @@ UpdatePetRequest <- R6::R6Class( #' @description #' Deserialize JSON string into an instance of UpdatePetRequest #' - #' @param UpdatePetRequestJson the JSON input + #' @param input_json the JSON input #' @return the instance of UpdatePetRequest #' @export - fromJSON = function(UpdatePetRequestJson) { - UpdatePetRequestObject <- jsonlite::fromJSON(UpdatePetRequestJson) - if (!is.null(UpdatePetRequestObject$`jsonData`)) { - jsonDataObject <- Pet$new() - jsonDataObject$fromJSON(jsonlite::toJSON(UpdatePetRequestObject$jsonData, auto_unbox = TRUE, digits = NA)) - self$`jsonData` <- jsonDataObject + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`jsonData`)) { + jsondata_object <- Pet$new() + jsondata_object$fromJSON(jsonlite::toJSON(this_object$jsonData, auto_unbox = TRUE, digits = NA)) + self$`jsonData` <- jsondata_object } - if (!is.null(UpdatePetRequestObject$`binaryDataN2Information`)) { - self$`binaryDataN2Information` <- UpdatePetRequestObject$`binaryDataN2Information` + if (!is.null(this_object$`binaryDataN2Information`)) { + self$`binaryDataN2Information` <- this_object$`binaryDataN2Information` } self }, @@ -105,20 +105,20 @@ UpdatePetRequest <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - paste('{', jsoncontent, '}', sep = "") + jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) }, #' Deserialize JSON string into an instance of UpdatePetRequest #' #' @description #' Deserialize JSON string into an instance of UpdatePetRequest #' - #' @param UpdatePetRequestJson the JSON input + #' @param input_json the JSON input #' @return the instance of UpdatePetRequest #' @export - fromJSONString = function(UpdatePetRequestJson) { - UpdatePetRequestObject <- jsonlite::fromJSON(UpdatePetRequestJson) - self$`jsonData` <- Pet$new()$fromJSON(jsonlite::toJSON(UpdatePetRequestObject$jsonData, auto_unbox = TRUE, digits = NA)) - self$`binaryDataN2Information` <- UpdatePetRequestObject$`binaryDataN2Information` + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`jsonData` <- Pet$new()$fromJSON(jsonlite::toJSON(this_object$jsonData, auto_unbox = TRUE, digits = NA)) + self$`binaryDataN2Information` <- this_object$`binaryDataN2Information` self }, #' Validate JSON input with respect to UpdatePetRequest diff --git a/samples/client/petstore/R/R/user.R b/samples/client/petstore/R/R/user.R index 94c4a0574c..e29ee50081 100644 --- a/samples/client/petstore/R/R/user.R +++ b/samples/client/petstore/R/R/user.R @@ -132,34 +132,34 @@ User <- R6::R6Class( #' @description #' Deserialize JSON string into an instance of User #' - #' @param UserJson the JSON input + #' @param input_json the JSON input #' @return the instance of User #' @export - fromJSON = function(UserJson) { - UserObject <- jsonlite::fromJSON(UserJson) - if (!is.null(UserObject$`id`)) { - self$`id` <- UserObject$`id` + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`id`)) { + self$`id` <- this_object$`id` } - if (!is.null(UserObject$`username`)) { - self$`username` <- UserObject$`username` + if (!is.null(this_object$`username`)) { + self$`username` <- this_object$`username` } - if (!is.null(UserObject$`firstName`)) { - self$`firstName` <- UserObject$`firstName` + if (!is.null(this_object$`firstName`)) { + self$`firstName` <- this_object$`firstName` } - if (!is.null(UserObject$`lastName`)) { - self$`lastName` <- UserObject$`lastName` + if (!is.null(this_object$`lastName`)) { + self$`lastName` <- this_object$`lastName` } - if (!is.null(UserObject$`email`)) { - self$`email` <- UserObject$`email` + if (!is.null(this_object$`email`)) { + self$`email` <- this_object$`email` } - if (!is.null(UserObject$`password`)) { - self$`password` <- UserObject$`password` + if (!is.null(this_object$`password`)) { + self$`password` <- this_object$`password` } - if (!is.null(UserObject$`phone`)) { - self$`phone` <- UserObject$`phone` + if (!is.null(this_object$`phone`)) { + self$`phone` <- this_object$`phone` } - if (!is.null(UserObject$`userStatus`)) { - self$`userStatus` <- UserObject$`userStatus` + if (!is.null(this_object$`userStatus`)) { + self$`userStatus` <- this_object$`userStatus` } self }, @@ -230,26 +230,26 @@ User <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - paste('{', jsoncontent, '}', sep = "") + jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) }, #' Deserialize JSON string into an instance of User #' #' @description #' Deserialize JSON string into an instance of User #' - #' @param UserJson the JSON input + #' @param input_json the JSON input #' @return the instance of User #' @export - fromJSONString = function(UserJson) { - UserObject <- jsonlite::fromJSON(UserJson) - self$`id` <- UserObject$`id` - self$`username` <- UserObject$`username` - self$`firstName` <- UserObject$`firstName` - self$`lastName` <- UserObject$`lastName` - self$`email` <- UserObject$`email` - self$`password` <- UserObject$`password` - self$`phone` <- UserObject$`phone` - self$`userStatus` <- UserObject$`userStatus` + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`id` <- this_object$`id` + self$`username` <- this_object$`username` + self$`firstName` <- this_object$`firstName` + self$`lastName` <- this_object$`lastName` + self$`email` <- this_object$`email` + self$`password` <- this_object$`password` + self$`phone` <- this_object$`phone` + self$`userStatus` <- this_object$`userStatus` self }, #' Validate JSON input with respect to User diff --git a/samples/client/petstore/R/test_petstore.R b/samples/client/petstore/R/test_petstore.R index 0e01485669..130639974f 100644 --- a/samples/client/petstore/R/test_petstore.R +++ b/samples/client/petstore/R/test_petstore.R @@ -2,36 +2,53 @@ install.packages("petstore_1.0.0.tar.gz",repos=NULL, type="source") library(petstore) -errorMsg <- "{\"code\":1,\"type\":\"error\",\"message\":\"Pet not found\"}" -#errorMsg <- '{"code": 404, "message": "Not found"}' -a <- ModelApiResponse$new()$fromJSONString(errorMsg) -dput(a) - -var_pet_id <- 1231256 # integer | ID of pet to return - -#Find pet by ID -api_instance <- PetApi$new() -# Configure API key authorization: api_key -api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; -result <- tryCatch( - api_instance$GetPetById(var_pet_id), - ApiException = function(ex) ex - ) -# In case of error, print the error object -if(!is.null(result$ApiException)) { - cat(result$ApiException$toString()) -} else { - # deserialized response object - response.object <- result$content - # response headers - response.headers <- result$response$headers - # response status code - response.status.code <- result$response$status_code -} - -#json2 <- -#'{"name": "pet", "photoUrls" : ["http://a.com", "http://b.com"]}' +#errorMsg <- "{\"code\":1,\"type\":\"error\",\"message\":\"Pet not found\"}" +##errorMsg <- '{"code": 404, "message": "Not found"}' +#a <- ModelApiResponse$new()$fromJSONString(errorMsg) +#dput(a) # +#var_pet_id <- 1231256 # integer | ID of pet to return +# +##Find pet by ID +#api_instance <- PetApi$new() +## Configure API key authorization: api_key +#api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; +#result <- tryCatch( +# api_instance$GetPetById(var_pet_id), +# ApiException = function(ex) ex +# ) +## In case of error, print the error object +#if(!is.null(result$ApiException)) { +# cat(result$ApiException$toString()) +#} else { +# # deserialized response object +# response.object <- result$content +# # response headers +# response.headers <- result$response$headers +# # response status code +# response.status.code <- result$response$status_code +#} + +json2 <- +'{"name": "pet", "photoUrls" : ["http://a.com", "http://b.com"]}' + +jsonlite::minify(json2) + +pet_api <- PetApi$new() +pet_id <- 123321 +pet <- Pet$new("name_test", + photoUrls = list("photo_test", "second test"), + category = Category$new(id = 450, name = "test_cat"), + id = pet_id, + tags = list( + Tag$new(id = 123, name = "tag_test"), Tag$new(id = 456, name = "unknown") + ), + status = "available" +) + +#jsonlite::minify(pet$toJSONString()) +pet$toJSONString() + #json <- #'[ # {"Name" : "Mario", "Age" : 32, "Occupation" : "Plumber"}, diff --git a/samples/client/petstore/R/tests/testthat/test_petstore.R b/samples/client/petstore/R/tests/testthat/test_petstore.R index 58525b9f26..8c5e1e3944 100644 --- a/samples/client/petstore/R/tests/testthat/test_petstore.R +++ b/samples/client/petstore/R/tests/testthat/test_petstore.R @@ -16,9 +16,10 @@ result <- pet_api$AddPet(pet) test_that("AddPet", { expect_equal(pet_id, 123321) #expect_equal(result, NULL) + #expect_equal(pet$toJSONString(), '{"id":123321,"category":{"id":450,"name":"test_cat"},"name":"name_test","photoUrls":["photo_test","second test"],"tags":[{"id":123,"name":"tag_test"},{"id":456,"name":"unknown"}],"status":"available"}') }) -test_that("Test toJSON toJSON fromJSON fromJSONString", { +test_that("Test toJSON toJSONString fromJSON fromJSONString", { pet0 <- Pet$new() jsonpet <- pet0$toJSON() pet2 <- pet0$fromJSON( From 286a31c0194a5e05697280f03da7b029d79e2510 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sat, 25 Jun 2022 20:30:41 +0800 Subject: [PATCH 113/212] Update jackson databind to 2.12.6.1 (#12698) * update jackson databind to newer version * update version * fix retrofit2 * fix rest assured jackson samples --- .../Java/libraries/feign/build.gradle.mustache | 4 ++-- .../Java/libraries/feign/build.sbt.mustache | 6 +++--- .../main/resources/Java/libraries/feign/pom.mustache | 4 ++-- .../google-api-client/build.gradle.mustache | 2 +- .../libraries/google-api-client/build.sbt.mustache | 4 ++-- .../Java/libraries/google-api-client/pom.mustache | 6 +++--- .../libraries/rest-assured/build.gradle.mustache | 4 ++-- .../Java/libraries/rest-assured/build.sbt.mustache | 12 ++++++------ .../Java/libraries/rest-assured/pom.mustache | 3 ++- .../Java/libraries/resteasy/build.gradle.mustache | 2 +- .../Java/libraries/resteasy/build.sbt.mustache | 2 +- .../resources/Java/libraries/resteasy/pom.mustache | 2 +- .../libraries/resttemplate/build.gradle.mustache | 2 +- .../Java/libraries/resttemplate/pom.mustache | 2 +- .../Java/libraries/retrofit2/build.gradle.mustache | 4 ++-- .../Java/libraries/retrofit2/build.sbt.mustache | 6 +++--- .../resources/Java/libraries/retrofit2/pom.mustache | 3 ++- .../Java/libraries/vertx/build.gradle.mustache | 2 +- .../main/resources/Java/libraries/vertx/pom.mustache | 2 +- .../petstore/java/feign-no-nullable/build.gradle | 4 ++-- .../client/petstore/java/feign-no-nullable/build.sbt | 6 +++--- .../client/petstore/java/feign-no-nullable/pom.xml | 4 ++-- samples/client/petstore/java/feign/build.gradle | 4 ++-- samples/client/petstore/java/feign/build.sbt | 6 +++--- samples/client/petstore/java/feign/pom.xml | 4 ++-- .../petstore/java/google-api-client/build.gradle | 2 +- .../client/petstore/java/google-api-client/build.sbt | 4 ++-- .../client/petstore/java/google-api-client/pom.xml | 6 +++--- .../petstore/java/rest-assured-jackson/build.gradle | 4 ++-- .../petstore/java/rest-assured-jackson/build.sbt | 8 ++++---- .../petstore/java/rest-assured-jackson/pom.xml | 3 ++- samples/client/petstore/java/resteasy/build.gradle | 2 +- samples/client/petstore/java/resteasy/build.sbt | 2 +- samples/client/petstore/java/resteasy/pom.xml | 2 +- .../petstore/java/resttemplate-withXml/build.gradle | 2 +- .../petstore/java/resttemplate-withXml/pom.xml | 2 +- .../client/petstore/java/resttemplate/build.gradle | 2 +- samples/client/petstore/java/resttemplate/pom.xml | 2 +- .../petstore/java/retrofit2-play26/build.gradle | 4 ++-- .../client/petstore/java/retrofit2-play26/build.sbt | 6 +++--- .../client/petstore/java/retrofit2-play26/pom.xml | 3 ++- .../petstore/java/vertx-no-nullable/build.gradle | 2 +- .../client/petstore/java/vertx-no-nullable/pom.xml | 2 +- samples/client/petstore/java/vertx/build.gradle | 2 +- samples/client/petstore/java/vertx/pom.xml | 2 +- 45 files changed, 83 insertions(+), 79 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.gradle.mustache index ffa3852d7f..6d320edcc9 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.gradle.mustache @@ -102,8 +102,8 @@ test { ext { swagger_annotations_version = "1.5.24" - jackson_version = "2.10.3" - jackson_databind_version = "2.10.3" + jackson_version = "2.12.6.1" + jackson_databind_version = "2.12.6.1" {{#openApiNullable}} jackson_databind_nullable_version = "0.2.3" {{/openApiNullable}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.sbt.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.sbt.mustache index 4795276180..065280d08d 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.sbt.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.sbt.mustache @@ -16,9 +16,9 @@ lazy val root = (project in file(".")). "io.github.openfeign" % "feign-slf4j" % "10.11" % "compile", "io.github.openfeign.form" % "feign-form" % "3.8.0" % "compile", "io.github.openfeign" % "feign-okhttp" % "10.11" % "compile", - "com.fasterxml.jackson.core" % "jackson-core" % "2.10.3" % "compile", - "com.fasterxml.jackson.core" % "jackson-annotations" % "2.10.3" % "compile", - "com.fasterxml.jackson.core" % "jackson-databind" % "2.10.3" % "compile", + "com.fasterxml.jackson.core" % "jackson-core" % "2.12.6.1" % "compile", + "com.fasterxml.jackson.core" % "jackson-annotations" % "2.12.6.1" % "compile", + "com.fasterxml.jackson.core" % "jackson-databind" % "2.12.6.1" % "compile", "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.9.10" % "compile", "com.github.joschi.jackson" % "jackson-datatype-threetenbp" % "2.9.10" % "compile", "com.github.scribejava" % "scribejava-core" % "8.0.0" % "compile", diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/feign/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/feign/pom.mustache index 6ae6e43432..2e9e1be46a 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/feign/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/feign/pom.mustache @@ -354,11 +354,11 @@ 1.5.24 10.11 3.8.0 - 2.10.3 + 2.12.5 {{#openApiNullable}} 0.2.3 {{/openApiNullable}} - 2.10.3 + 2.12.6.1 1.3.5 5.7.0 1.0.0 diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/build.gradle.mustache index 6b5289abd1..629facf258 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/build.gradle.mustache @@ -99,7 +99,7 @@ if(hasProperty('target') && target == 'android') { ext { swagger_annotations_version = "1.6.3" jackson_version = "2.12.5" - jackson_databind_version = "2.10.5.1" + jackson_databind_version = "2.12.6.1" {{#openApiNullable}} jackson_databind_nullable_version = "0.2.3" {{/openApiNullable}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/build.sbt.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/build.sbt.mustache index 8fc95eb5d2..c08c686ca6 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/build.sbt.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/build.sbt.mustache @@ -12,9 +12,9 @@ lazy val root = (project in file(".")). "io.swagger" % "swagger-annotations" % "1.5.22", "com.google.api-client" % "google-api-client" % "1.23.0", "org.glassfish.jersey.core" % "jersey-common" % "2.25.1", - "com.fasterxml.jackson.core" % "jackson-core" % "2.12.1" % "compile", + "com.fasterxml.jackson.core" % "jackson-core" % "2.12.6.1" % "compile", "com.fasterxml.jackson.core" % "jackson-annotations" % "2.10.1" % "compile", - "com.fasterxml.jackson.core" % "jackson-databind" % "2.10.5.1" % "compile", + "com.fasterxml.jackson.core" % "jackson-databind" % "2.12.6.1" % "compile", {{#withXml}} "com.fasterxml.jackson.dataformat" % "jackson-dataformat-xml" % "2.9.10" % "compile", {{/withXml}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/pom.mustache index acae352276..e1d06d235e 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/google-api-client/pom.mustache @@ -243,7 +243,7 @@ com.fasterxml.jackson.core jackson-databind - ${jackson-version} + ${jackson-databind-version} {{#openApiNullable}} @@ -297,8 +297,8 @@ 1.5.22 1.32.2 2.25.1 - 2.12.1 - 2.10.5.1 + 2.12.5 + 2.12.6.1 {{#openApiNullable}} 0.2.3 {{/openApiNullable}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/build.gradle.mustache index 9184dbb54d..4c9801cfdc 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/build.gradle.mustache @@ -101,8 +101,8 @@ ext { rest_assured_version = "4.5.1" junit_version = "4.13.2" {{#jackson}} - jackson_version = "2.10.3" - jackson_databind_version = "2.10.3" + jackson_version = "2.12.5" + jackson_databind_version = "2.12.6.1" {{#openApiNullable}} jackson_databind_nullable_version = "0.2.3" {{/openApiNullable}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/build.sbt.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/build.sbt.mustache index f2a483c920..47acb40b9c 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/build.sbt.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/build.sbt.mustache @@ -14,19 +14,19 @@ lazy val root = (project in file(".")). "io.rest-assured" % "scala-support" % "4.5.1", "com.google.code.findbugs" % "jsr305" % "3.0.2", {{#jackson}} - "com.fasterxml.jackson.core" % "jackson-core" % "2.10.3", - "com.fasterxml.jackson.core" % "jackson-annotations" % "2.10.3", - "com.fasterxml.jackson.core" % "jackson-databind" % "2.10.3", + "com.fasterxml.jackson.core" % "jackson-core" % "2.12.5", + "com.fasterxml.jackson.core" % "jackson-annotations" % "2.12.5", + "com.fasterxml.jackson.core" % "jackson-databind" % "2.12.6.1", {{#openApiNullable}} "org.openapitools" % "jackson-databind-nullable" % "0.2.3", {{/openApiNullable}} {{#withXml}} - "com.fasterxml.jackson.dataformat" % "jackson-dataformat-xml" % "2.10.3", + "com.fasterxml.jackson.dataformat" % "jackson-dataformat-xml" % "2.12.6.1", {{/withXml}} {{#joda}} - "com.fasterxml.jackson.datatype" % "jackson-datatype-joda" % "2.10.3", + "com.fasterxml.jackson.datatype" % "jackson-datatype-joda" % "2.12.6.1", {{/joda}} - "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.10.3", + "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.12.6.1", {{/jackson}} {{#gson}} "com.google.code.gson" % "gson" % "2.8.9", diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/pom.mustache index 9c34325ff9..b1d15a0dc8 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/rest-assured/pom.mustache @@ -338,7 +338,8 @@ 2.10.5 {{/joda}} {{#jackson}} - 2.10.3 + 2.12.5 + 2.12.6.1 0.2.3 {{/jackson}} 1.3.5 diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/build.gradle.mustache index 236117f78e..1ab85d7055 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/build.gradle.mustache @@ -99,7 +99,7 @@ if(hasProperty('target') && target == 'android') { ext { swagger_annotations_version = "1.6.3" jackson_version = "2.10.5" - jackson_databind_version = "2.10.5.1" + jackson_databind_version = "2.12.6.1" {{#openApiNullable}} jackson_databind_nullable_version = "0.2.3" {{/openApiNullable}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/build.sbt.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/build.sbt.mustache index 957990ebf2..97d330b7da 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/build.sbt.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/build.sbt.mustache @@ -15,7 +15,7 @@ lazy val root = (project in file(".")). "org.jboss.resteasy" % "resteasy-jackson2-provider" % "4.5.11.Final" % "compile", "com.fasterxml.jackson.core" % "jackson-core" % "2.10.5" % "compile", "com.fasterxml.jackson.core" % "jackson-annotations" % "2.10.5" % "compile", - "com.fasterxml.jackson.core" % "jackson-databind" % "2.10.5.1" % "compile", + "com.fasterxml.jackson.core" % "jackson-databind" % "2.12.6.1" % "compile", "com.github.joschi.jackson" % "jackson-datatype-threetenbp" % "2.9.10" % "compile", "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.9.10" % "compile", "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile", diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/pom.mustache index 386ecd15f3..16507d2f22 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/pom.mustache @@ -275,7 +275,7 @@ 1.6.3 4.7.6.Final 2.10.5 - 2.10.5.1 + 2.12.6.1 {{#openApiNullable}} 0.2.3 {{/openApiNullable}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/build.gradle.mustache index 759851a155..edf70a6237 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/build.gradle.mustache @@ -99,7 +99,7 @@ if(hasProperty('target') && target == 'android') { ext { swagger_annotations_version = "1.5.22" jackson_version = "2.10.5" - jackson_databind_version = "2.10.5.1" + jackson_databind_version = "2.12.6.1" {{#openApiNullable}} jackson_databind_nullable_version = "0.2.3" {{/openApiNullable}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/pom.mustache index 8eceda2ac2..856ff8ded7 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/pom.mustache @@ -303,7 +303,7 @@ 1.5.22 5.3.18 2.10.5 - 2.10.5.1 + 2.11.4 0.2.3 1.3.5 {{#joda}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/build.gradle.mustache index 7b1c39d85c..a9eb683f60 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/build.gradle.mustache @@ -100,8 +100,8 @@ ext { oltu_version = "1.0.1" retrofit_version = "2.3.0" {{#usePlayWS}} - jackson_version = "2.10.5" - jackson_databind_version = "2.10.5.1" + jackson_version = "2.12.1" + jackson_databind_version = "2.12.6.1" {{#openApiNullable}} jackson_databind_nullable_version = "0.2.3" {{/openApiNullable}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/build.sbt.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/build.sbt.mustache index 9a977d16a4..f19624661e 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/build.sbt.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/build.sbt.mustache @@ -18,9 +18,9 @@ lazy val root = (project in file(".")). "com.typesafe.play" % "play-ahc-ws_2.12" % "2.6.7" % "compile", "jakarta.validation" % "jakarta.validation-api" % "2.0.2" % "compile", "com.squareup.retrofit2" % "converter-jackson" % "2.3.0" % "compile", - "com.fasterxml.jackson.core" % "jackson-core" % "2.10.5" % "compile", - "com.fasterxml.jackson.core" % "jackson-annotations" % "2.10.5" % "compile", - "com.fasterxml.jackson.core" % "jackson-databind" % "2.10.5.1" % "compile", + "com.fasterxml.jackson.core" % "jackson-core" % "2.12.1" % "compile", + "com.fasterxml.jackson.core" % "jackson-annotations" % "2.12.1" % "compile", + "com.fasterxml.jackson.core" % "jackson-databind" % "2.12.6.1" % "compile", {{/usePlayWS}} {{#useRxJava2}} "com.squareup.retrofit2" % "adapter-rxjava2" % "2.3.0" % "compile", diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/pom.mustache index 94f1306572..ce5a737fd4 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/pom.mustache @@ -299,7 +299,7 @@ com.fasterxml.jackson.core jackson-databind - ${jackson-version} + ${jackson-databind-version} {{#openApiNullable}} @@ -364,6 +364,7 @@ 1.6.3 {{#usePlayWS}} 2.12.1 + 2.12.6.1 2.6.7 {{#openApiNullable}} 0.2.3 diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/vertx/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/vertx/build.gradle.mustache index b563392530..8e8a20e422 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/vertx/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/vertx/build.gradle.mustache @@ -31,7 +31,7 @@ task execute(type:JavaExec) { ext { swagger_annotations_version = "1.5.21" jackson_version = "2.10.5" - jackson_databind_version = "2.10.5.1" + jackson_databind_version = "2.12.6.1" vertx_version = "3.4.2" junit_version = "4.13.2" {{#openApiNullable}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/vertx/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/vertx/pom.mustache index 830349d8f7..c32d115240 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/vertx/pom.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/vertx/pom.mustache @@ -293,7 +293,7 @@ 3.4.2 1.5.22 2.10.5 - 2.10.5.1 + 2.12.6.1 0.2.3 1.3.5 4.13.2 diff --git a/samples/client/petstore/java/feign-no-nullable/build.gradle b/samples/client/petstore/java/feign-no-nullable/build.gradle index b00f511b7f..634a6cc1f8 100644 --- a/samples/client/petstore/java/feign-no-nullable/build.gradle +++ b/samples/client/petstore/java/feign-no-nullable/build.gradle @@ -102,8 +102,8 @@ test { ext { swagger_annotations_version = "1.5.24" - jackson_version = "2.10.3" - jackson_databind_version = "2.10.3" + jackson_version = "2.12.6.1" + jackson_databind_version = "2.12.6.1" jakarta_annotation_version = "1.3.5" feign_version = "10.11" feign_form_version = "3.8.0" diff --git a/samples/client/petstore/java/feign-no-nullable/build.sbt b/samples/client/petstore/java/feign-no-nullable/build.sbt index e258c3ef06..2f34b92238 100644 --- a/samples/client/petstore/java/feign-no-nullable/build.sbt +++ b/samples/client/petstore/java/feign-no-nullable/build.sbt @@ -16,9 +16,9 @@ lazy val root = (project in file(".")). "io.github.openfeign" % "feign-slf4j" % "10.11" % "compile", "io.github.openfeign.form" % "feign-form" % "3.8.0" % "compile", "io.github.openfeign" % "feign-okhttp" % "10.11" % "compile", - "com.fasterxml.jackson.core" % "jackson-core" % "2.10.3" % "compile", - "com.fasterxml.jackson.core" % "jackson-annotations" % "2.10.3" % "compile", - "com.fasterxml.jackson.core" % "jackson-databind" % "2.10.3" % "compile", + "com.fasterxml.jackson.core" % "jackson-core" % "2.12.6.1" % "compile", + "com.fasterxml.jackson.core" % "jackson-annotations" % "2.12.6.1" % "compile", + "com.fasterxml.jackson.core" % "jackson-databind" % "2.12.6.1" % "compile", "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.9.10" % "compile", "com.github.joschi.jackson" % "jackson-datatype-threetenbp" % "2.9.10" % "compile", "com.github.scribejava" % "scribejava-core" % "8.0.0" % "compile", diff --git a/samples/client/petstore/java/feign-no-nullable/pom.xml b/samples/client/petstore/java/feign-no-nullable/pom.xml index edae353edd..7c6b5ebaf3 100644 --- a/samples/client/petstore/java/feign-no-nullable/pom.xml +++ b/samples/client/petstore/java/feign-no-nullable/pom.xml @@ -325,8 +325,8 @@ 1.5.24 10.11 3.8.0 - 2.10.3 - 2.10.3 + 2.12.5 + 2.12.6.1 1.3.5 5.7.0 1.0.0 diff --git a/samples/client/petstore/java/feign/build.gradle b/samples/client/petstore/java/feign/build.gradle index bb47f891b0..9218031322 100644 --- a/samples/client/petstore/java/feign/build.gradle +++ b/samples/client/petstore/java/feign/build.gradle @@ -102,8 +102,8 @@ test { ext { swagger_annotations_version = "1.5.24" - jackson_version = "2.10.3" - jackson_databind_version = "2.10.3" + jackson_version = "2.12.6.1" + jackson_databind_version = "2.12.6.1" jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" feign_version = "10.11" diff --git a/samples/client/petstore/java/feign/build.sbt b/samples/client/petstore/java/feign/build.sbt index c7f4cdfc83..5cb2a0ada7 100644 --- a/samples/client/petstore/java/feign/build.sbt +++ b/samples/client/petstore/java/feign/build.sbt @@ -16,9 +16,9 @@ lazy val root = (project in file(".")). "io.github.openfeign" % "feign-slf4j" % "10.11" % "compile", "io.github.openfeign.form" % "feign-form" % "3.8.0" % "compile", "io.github.openfeign" % "feign-okhttp" % "10.11" % "compile", - "com.fasterxml.jackson.core" % "jackson-core" % "2.10.3" % "compile", - "com.fasterxml.jackson.core" % "jackson-annotations" % "2.10.3" % "compile", - "com.fasterxml.jackson.core" % "jackson-databind" % "2.10.3" % "compile", + "com.fasterxml.jackson.core" % "jackson-core" % "2.12.6.1" % "compile", + "com.fasterxml.jackson.core" % "jackson-annotations" % "2.12.6.1" % "compile", + "com.fasterxml.jackson.core" % "jackson-databind" % "2.12.6.1" % "compile", "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.9.10" % "compile", "com.github.joschi.jackson" % "jackson-datatype-threetenbp" % "2.9.10" % "compile", "com.github.scribejava" % "scribejava-core" % "8.0.0" % "compile", diff --git a/samples/client/petstore/java/feign/pom.xml b/samples/client/petstore/java/feign/pom.xml index 5774b9d6ae..76ba9f3e0a 100644 --- a/samples/client/petstore/java/feign/pom.xml +++ b/samples/client/petstore/java/feign/pom.xml @@ -330,9 +330,9 @@ 1.5.24 10.11 3.8.0 - 2.10.3 + 2.12.5 0.2.3 - 2.10.3 + 2.12.6.1 1.3.5 5.7.0 1.0.0 diff --git a/samples/client/petstore/java/google-api-client/build.gradle b/samples/client/petstore/java/google-api-client/build.gradle index d3036a7864..7654b26933 100644 --- a/samples/client/petstore/java/google-api-client/build.gradle +++ b/samples/client/petstore/java/google-api-client/build.gradle @@ -99,7 +99,7 @@ if(hasProperty('target') && target == 'android') { ext { swagger_annotations_version = "1.6.3" jackson_version = "2.12.5" - jackson_databind_version = "2.10.5.1" + jackson_databind_version = "2.12.6.1" jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" google_api_client_version = "1.32.2" diff --git a/samples/client/petstore/java/google-api-client/build.sbt b/samples/client/petstore/java/google-api-client/build.sbt index 582cd77e8d..90d48775fa 100644 --- a/samples/client/petstore/java/google-api-client/build.sbt +++ b/samples/client/petstore/java/google-api-client/build.sbt @@ -12,9 +12,9 @@ lazy val root = (project in file(".")). "io.swagger" % "swagger-annotations" % "1.5.22", "com.google.api-client" % "google-api-client" % "1.23.0", "org.glassfish.jersey.core" % "jersey-common" % "2.25.1", - "com.fasterxml.jackson.core" % "jackson-core" % "2.12.1" % "compile", + "com.fasterxml.jackson.core" % "jackson-core" % "2.12.6.1" % "compile", "com.fasterxml.jackson.core" % "jackson-annotations" % "2.10.1" % "compile", - "com.fasterxml.jackson.core" % "jackson-databind" % "2.10.5.1" % "compile", + "com.fasterxml.jackson.core" % "jackson-databind" % "2.12.6.1" % "compile", "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.9.10" % "compile", "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile", "junit" % "junit" % "4.13.2" % "test", diff --git a/samples/client/petstore/java/google-api-client/pom.xml b/samples/client/petstore/java/google-api-client/pom.xml index 18de26c3b4..46de162441 100644 --- a/samples/client/petstore/java/google-api-client/pom.xml +++ b/samples/client/petstore/java/google-api-client/pom.xml @@ -236,7 +236,7 @@ com.fasterxml.jackson.core jackson-databind - ${jackson-version} + ${jackson-databind-version} org.openapitools @@ -268,8 +268,8 @@ 1.5.22 1.32.2 2.25.1 - 2.12.1 - 2.10.5.1 + 2.12.5 + 2.12.6.1 0.2.3 1.3.5 1.0.0 diff --git a/samples/client/petstore/java/rest-assured-jackson/build.gradle b/samples/client/petstore/java/rest-assured-jackson/build.gradle index fa74eacfec..acffdfa15a 100644 --- a/samples/client/petstore/java/rest-assured-jackson/build.gradle +++ b/samples/client/petstore/java/rest-assured-jackson/build.gradle @@ -100,8 +100,8 @@ ext { swagger_annotations_version = "1.6.6" rest_assured_version = "4.5.1" junit_version = "4.13.2" - jackson_version = "2.10.3" - jackson_databind_version = "2.10.3" + jackson_version = "2.12.5" + jackson_databind_version = "2.12.6.1" jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" okio_version = "1.17.5" diff --git a/samples/client/petstore/java/rest-assured-jackson/build.sbt b/samples/client/petstore/java/rest-assured-jackson/build.sbt index 5d0e1d03ea..04546d3d93 100644 --- a/samples/client/petstore/java/rest-assured-jackson/build.sbt +++ b/samples/client/petstore/java/rest-assured-jackson/build.sbt @@ -13,11 +13,11 @@ lazy val root = (project in file(".")). "io.rest-assured" % "rest-assured" % "4.5.1", "io.rest-assured" % "scala-support" % "4.5.1", "com.google.code.findbugs" % "jsr305" % "3.0.2", - "com.fasterxml.jackson.core" % "jackson-core" % "2.10.3", - "com.fasterxml.jackson.core" % "jackson-annotations" % "2.10.3", - "com.fasterxml.jackson.core" % "jackson-databind" % "2.10.3", + "com.fasterxml.jackson.core" % "jackson-core" % "2.12.5", + "com.fasterxml.jackson.core" % "jackson-annotations" % "2.12.5", + "com.fasterxml.jackson.core" % "jackson-databind" % "2.12.6.1", "org.openapitools" % "jackson-databind-nullable" % "0.2.3", - "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.10.3", + "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.12.6.1", "com.squareup.okio" % "okio" % "1.17.5" % "compile", "jakarta.validation" % "jakarta.validation-api" % "2.0.2" % "compile", "org.hibernate" % "hibernate-validator" % "6.0.19.Final" % "compile", diff --git a/samples/client/petstore/java/rest-assured-jackson/pom.xml b/samples/client/petstore/java/rest-assured-jackson/pom.xml index 35baa60bdb..c37159f4e0 100644 --- a/samples/client/petstore/java/rest-assured-jackson/pom.xml +++ b/samples/client/petstore/java/rest-assured-jackson/pom.xml @@ -286,7 +286,8 @@ 4.5.1 2.8.9 1.8.5 - 2.10.3 + 2.12.5 + 2.12.6.1 0.2.3 1.3.5 2.0.2 diff --git a/samples/client/petstore/java/resteasy/build.gradle b/samples/client/petstore/java/resteasy/build.gradle index 0fec20f57b..086b59a060 100644 --- a/samples/client/petstore/java/resteasy/build.gradle +++ b/samples/client/petstore/java/resteasy/build.gradle @@ -99,7 +99,7 @@ if(hasProperty('target') && target == 'android') { ext { swagger_annotations_version = "1.6.3" jackson_version = "2.10.5" - jackson_databind_version = "2.10.5.1" + jackson_databind_version = "2.12.6.1" jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" threetenbp_version = "2.9.10" diff --git a/samples/client/petstore/java/resteasy/build.sbt b/samples/client/petstore/java/resteasy/build.sbt index 915c8f0118..69842e1cff 100644 --- a/samples/client/petstore/java/resteasy/build.sbt +++ b/samples/client/petstore/java/resteasy/build.sbt @@ -15,7 +15,7 @@ lazy val root = (project in file(".")). "org.jboss.resteasy" % "resteasy-jackson2-provider" % "4.5.11.Final" % "compile", "com.fasterxml.jackson.core" % "jackson-core" % "2.10.5" % "compile", "com.fasterxml.jackson.core" % "jackson-annotations" % "2.10.5" % "compile", - "com.fasterxml.jackson.core" % "jackson-databind" % "2.10.5.1" % "compile", + "com.fasterxml.jackson.core" % "jackson-databind" % "2.12.6.1" % "compile", "com.github.joschi.jackson" % "jackson-datatype-threetenbp" % "2.9.10" % "compile", "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.9.10" % "compile", "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile", diff --git a/samples/client/petstore/java/resteasy/pom.xml b/samples/client/petstore/java/resteasy/pom.xml index 5de2b772ab..81448545a7 100644 --- a/samples/client/petstore/java/resteasy/pom.xml +++ b/samples/client/petstore/java/resteasy/pom.xml @@ -256,7 +256,7 @@ 1.6.3 4.7.6.Final 2.10.5 - 2.10.5.1 + 2.12.6.1 0.2.3 1.3.5 2.9.10 diff --git a/samples/client/petstore/java/resttemplate-withXml/build.gradle b/samples/client/petstore/java/resttemplate-withXml/build.gradle index 9be26d8838..63ba5cd316 100644 --- a/samples/client/petstore/java/resttemplate-withXml/build.gradle +++ b/samples/client/petstore/java/resttemplate-withXml/build.gradle @@ -99,7 +99,7 @@ if(hasProperty('target') && target == 'android') { ext { swagger_annotations_version = "1.5.22" jackson_version = "2.10.5" - jackson_databind_version = "2.10.5.1" + jackson_databind_version = "2.12.6.1" jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" spring_web_version = "5.3.18" diff --git a/samples/client/petstore/java/resttemplate-withXml/pom.xml b/samples/client/petstore/java/resttemplate-withXml/pom.xml index 9e84a81c47..97d4d4a21b 100644 --- a/samples/client/petstore/java/resttemplate-withXml/pom.xml +++ b/samples/client/petstore/java/resttemplate-withXml/pom.xml @@ -282,7 +282,7 @@ 1.5.22 5.3.18 2.10.5 - 2.10.5.1 + 2.11.4 0.2.3 1.3.5 1.0.0 diff --git a/samples/client/petstore/java/resttemplate/build.gradle b/samples/client/petstore/java/resttemplate/build.gradle index 3eb7a5291d..c26b802d2c 100644 --- a/samples/client/petstore/java/resttemplate/build.gradle +++ b/samples/client/petstore/java/resttemplate/build.gradle @@ -99,7 +99,7 @@ if(hasProperty('target') && target == 'android') { ext { swagger_annotations_version = "1.5.22" jackson_version = "2.10.5" - jackson_databind_version = "2.10.5.1" + jackson_databind_version = "2.12.6.1" jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" spring_web_version = "5.3.18" diff --git a/samples/client/petstore/java/resttemplate/pom.xml b/samples/client/petstore/java/resttemplate/pom.xml index da01c14bd5..6bad3bcb6a 100644 --- a/samples/client/petstore/java/resttemplate/pom.xml +++ b/samples/client/petstore/java/resttemplate/pom.xml @@ -274,7 +274,7 @@ 1.5.22 5.3.18 2.10.5 - 2.10.5.1 + 2.11.4 0.2.3 1.3.5 1.0.0 diff --git a/samples/client/petstore/java/retrofit2-play26/build.gradle b/samples/client/petstore/java/retrofit2-play26/build.gradle index d1b5577ea9..819ffd7803 100644 --- a/samples/client/petstore/java/retrofit2-play26/build.gradle +++ b/samples/client/petstore/java/retrofit2-play26/build.gradle @@ -99,8 +99,8 @@ if(hasProperty('target') && target == 'android') { ext { oltu_version = "1.0.1" retrofit_version = "2.3.0" - jackson_version = "2.10.5" - jackson_databind_version = "2.10.5.1" + jackson_version = "2.12.1" + jackson_databind_version = "2.12.6.1" jackson_databind_nullable_version = "0.2.3" jakarta_annotation_version = "1.3.5" play_version = "2.6.7" diff --git a/samples/client/petstore/java/retrofit2-play26/build.sbt b/samples/client/petstore/java/retrofit2-play26/build.sbt index 3f458ba087..df9877da4a 100644 --- a/samples/client/petstore/java/retrofit2-play26/build.sbt +++ b/samples/client/petstore/java/retrofit2-play26/build.sbt @@ -14,9 +14,9 @@ lazy val root = (project in file(".")). "com.typesafe.play" % "play-ahc-ws_2.12" % "2.6.7" % "compile", "jakarta.validation" % "jakarta.validation-api" % "2.0.2" % "compile", "com.squareup.retrofit2" % "converter-jackson" % "2.3.0" % "compile", - "com.fasterxml.jackson.core" % "jackson-core" % "2.10.5" % "compile", - "com.fasterxml.jackson.core" % "jackson-annotations" % "2.10.5" % "compile", - "com.fasterxml.jackson.core" % "jackson-databind" % "2.10.5.1" % "compile", + "com.fasterxml.jackson.core" % "jackson-core" % "2.12.1" % "compile", + "com.fasterxml.jackson.core" % "jackson-annotations" % "2.12.1" % "compile", + "com.fasterxml.jackson.core" % "jackson-databind" % "2.12.6.1" % "compile", "io.swagger" % "swagger-annotations" % "1.5.21" % "compile", "org.apache.oltu.oauth2" % "org.apache.oltu.oauth2.client" % "1.0.1" % "compile", "io.gsonfire" % "gson-fire" % "1.8.0" % "compile", diff --git a/samples/client/petstore/java/retrofit2-play26/pom.xml b/samples/client/petstore/java/retrofit2-play26/pom.xml index f22b91a601..97caa57d21 100644 --- a/samples/client/petstore/java/retrofit2-play26/pom.xml +++ b/samples/client/petstore/java/retrofit2-play26/pom.xml @@ -260,7 +260,7 @@ com.fasterxml.jackson.core jackson-databind - ${jackson-version} + ${jackson-databind-version} org.openapitools @@ -304,6 +304,7 @@ 1.8.3 1.6.3 2.12.1 + 2.12.6.1 2.6.7 0.2.3 2.5.0 diff --git a/samples/client/petstore/java/vertx-no-nullable/build.gradle b/samples/client/petstore/java/vertx-no-nullable/build.gradle index f6e3799228..13bb5dcb71 100644 --- a/samples/client/petstore/java/vertx-no-nullable/build.gradle +++ b/samples/client/petstore/java/vertx-no-nullable/build.gradle @@ -31,7 +31,7 @@ task execute(type:JavaExec) { ext { swagger_annotations_version = "1.5.21" jackson_version = "2.10.5" - jackson_databind_version = "2.10.5.1" + jackson_databind_version = "2.12.6.1" vertx_version = "3.4.2" junit_version = "4.13.2" jakarta_annotation_version = "1.3.5" diff --git a/samples/client/petstore/java/vertx-no-nullable/pom.xml b/samples/client/petstore/java/vertx-no-nullable/pom.xml index 27b3a16ce5..86cfc8a347 100644 --- a/samples/client/petstore/java/vertx-no-nullable/pom.xml +++ b/samples/client/petstore/java/vertx-no-nullable/pom.xml @@ -272,7 +272,7 @@ 3.4.2 1.5.22 2.10.5 - 2.10.5.1 + 2.12.6.1 0.2.3 1.3.5 4.13.2 diff --git a/samples/client/petstore/java/vertx/build.gradle b/samples/client/petstore/java/vertx/build.gradle index 8d0f35d175..74389c8993 100644 --- a/samples/client/petstore/java/vertx/build.gradle +++ b/samples/client/petstore/java/vertx/build.gradle @@ -31,7 +31,7 @@ task execute(type:JavaExec) { ext { swagger_annotations_version = "1.5.21" jackson_version = "2.10.5" - jackson_databind_version = "2.10.5.1" + jackson_databind_version = "2.12.6.1" vertx_version = "3.4.2" junit_version = "4.13.2" jackson_databind_nullable_version = "0.2.3" diff --git a/samples/client/petstore/java/vertx/pom.xml b/samples/client/petstore/java/vertx/pom.xml index 28ee89f3bb..00c432c9ca 100644 --- a/samples/client/petstore/java/vertx/pom.xml +++ b/samples/client/petstore/java/vertx/pom.xml @@ -277,7 +277,7 @@ 3.4.2 1.5.22 2.10.5 - 2.10.5.1 + 2.12.6.1 0.2.3 1.3.5 4.13.2 From 3b15bb8a4e5e9b072c263e7e643ad20d7223944a Mon Sep 17 00:00:00 2001 From: Daniel Metzner <40868718+dmetzner@users.noreply.github.com> Date: Sat, 25 Jun 2022 14:53:21 +0200 Subject: [PATCH 114/212] [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 --- .../languages/PhpSymfonyServerCodegen.java | 86 ++++++++++--------- .../resources/php-symfony/ApiServer.mustache | 8 +- .../resources/php-symfony/Controller.mustache | 65 ++++++++++---- .../resources/php-symfony/Extension.mustache | 2 +- .../resources/php-symfony/README.mustache | 2 +- .../main/resources/php-symfony/api.mustache | 13 +-- .../php-symfony/api_controller.mustache | 13 +-- .../resources/php-symfony/api_doc.mustache | 2 +- .../php-symfony/model_generic.mustache | 12 +-- .../php-symfony/model_variables.mustache | 4 +- .../serialization/JmsSerializer.mustache | 26 ++++-- .../SerializerInterface.mustache | 6 +- .../php-symfony/testing/AppKernel.mustache | 15 ++-- .../testing/ControllerTest.mustache | 13 +-- .../php-symfony/testing/api_test.mustache | 14 +-- .../php-symfony/testing/model_test.mustache | 23 +++-- .../php-symfony/testing/phpunit.xml.mustache | 22 ++--- .../php-symfony/testing/test_config.yml | 2 +- .../validation/SymfonyValidator.mustache | 2 +- .../validation/ValidatorInterface.mustache | 3 + .../SymfonyBundle-php/Api/ApiServer.php | 8 +- .../SymfonyBundle-php/Api/PetApiInterface.php | 86 ++++++++++--------- .../Api/StoreApiInterface.php | 36 ++++---- .../Api/UserApiInterface.php | 66 +++++++------- .../Controller/Controller.php | 65 ++++++++++---- .../Controller/PetController.php | 28 +++--- .../Controller/StoreController.php | 14 +-- .../Controller/UserController.php | 36 +++++--- .../OpenAPIServerExtension.php | 2 +- .../SymfonyBundle-php/Model/ApiResponse.php | 26 +++--- .../SymfonyBundle-php/Model/Category.php | 18 ++-- .../SymfonyBundle-php/Model/Order.php | 48 +++++------ .../SymfonyBundle-php/Model/Pet.php | 70 +++++++-------- .../SymfonyBundle-php/Model/Tag.php | 18 ++-- .../SymfonyBundle-php/Model/User.php | 66 +++++++------- .../php-symfony/SymfonyBundle-php/README.md | 2 +- .../Resources/docs/Api/PetApiInterface.md | 16 ++-- .../Resources/docs/Api/StoreApiInterface.md | 8 +- .../Resources/docs/Api/UserApiInterface.md | 16 ++-- .../Service/JmsSerializer.php | 26 ++++-- .../Service/SerializerInterface.php | 6 +- .../Service/SymfonyValidator.php | 2 +- .../Service/ValidatorInterface.php | 3 + .../Tests/Api/PetApiInterfaceTest.php | 39 +++++---- .../Tests/Api/StoreApiInterfaceTest.php | 27 +++--- .../Tests/Api/UserApiInterfaceTest.php | 39 +++++---- .../SymfonyBundle-php/Tests/AppKernel.php | 15 ++-- .../Tests/Controller/ControllerTest.php | 13 +-- .../Tests/Model/ApiResponseTest.php | 35 ++++++-- .../Tests/Model/CategoryTest.php | 29 +++++-- .../Tests/Model/OrderTest.php | 53 +++++++++--- .../SymfonyBundle-php/Tests/Model/PetTest.php | 53 +++++++++--- .../SymfonyBundle-php/Tests/Model/TagTest.php | 29 +++++-- .../Tests/Model/UserTest.php | 65 +++++++++++--- .../SymfonyBundle-php/Tests/test_config.yml | 2 +- .../SymfonyBundle-php/phpunit.xml.dist | 22 ++--- 56 files changed, 862 insertions(+), 558 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java index 6b998abf06..ea70427fb3 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java @@ -373,23 +373,15 @@ public class PhpSymfonyServerCodegen extends AbstractPhpCodegen implements Codeg // Type-hintable primitive types // ref: http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration - if (phpLegacySupport) { - typeHintable = new HashSet<>( - Arrays.asList( - "array" - ) - ); - } else { - typeHintable = new HashSet<>( - Arrays.asList( - "array", - "bool", - "float", - "int", - "string" - ) - ); - } + typeHintable = new HashSet<>( + Arrays.asList( + "array", + "bool", + "float", + "int", + "string" + ) + ); } @Override @@ -419,32 +411,24 @@ public class PhpSymfonyServerCodegen extends AbstractPhpCodegen implements Codeg } // Create a variable to display the correct data type in comments for interfaces - param.vendorExtensions.put("x-comment-type", "\\" + param.dataType); + param.vendorExtensions.put("x-comment-type", prependSlashToDataTypeOnlyIfNecessary(param.dataType)); if (param.isContainer) { - param.vendorExtensions.put("x-comment-type", "\\" + param.dataType + "[]"); + param.vendorExtensions.put("x-comment-type", prependSlashToDataTypeOnlyIfNecessary(param.dataType) + "[]"); } } // Create a variable to display the correct return type in comments for interfaces if (op.returnType != null) { - op.vendorExtensions.put("x-comment-type", "\\" + op.returnType); + op.vendorExtensions.put("x-comment-type", prependSlashToDataTypeOnlyIfNecessary(op.returnType)); if ("array".equals(op.returnContainer)) { - op.vendorExtensions.put("x-comment-type", "\\" + op.returnType + "[]"); + op.vendorExtensions.put("x-comment-type", prependSlashToDataTypeOnlyIfNecessary(op.returnType) + "[]"); } } else { op.vendorExtensions.put("x-comment-type", "void"); } // Create a variable to add typing for return value of interface if (op.returnType != null) { - if ("array".equals(op.returnContainer)) { - op.vendorExtensions.put("x-return-type", "iterable"); - } else { - if (defaultIncludes.contains(op.returnType)) { - op.vendorExtensions.put("x-return-type", "array|" + op.returnType); - } else { - op.vendorExtensions.put("x-return-type", "array|\\" + op.returnType); - } - } + op.vendorExtensions.put("x-return-type", "array|object|null"); } else { op.vendorExtensions.put("x-return-type", "void"); } @@ -476,19 +460,11 @@ public class PhpSymfonyServerCodegen extends AbstractPhpCodegen implements Codeg if (var.dataType != null) { // Determine if the parameter type is supported as a type hint and make it available // to the templating engine - String typeHint = getTypeHint(var.dataType); - if (!typeHint.isEmpty()) { - var.vendorExtensions.put("x-parameter-type", typeHint); - } - + var.vendorExtensions.put("x-parameter-type", getTypeHintNullable(var.dataType)); + var.vendorExtensions.put("x-comment-type", getTypeHintNullableForComments(var.dataType)); if (var.isContainer) { - var.vendorExtensions.put("x-parameter-type", getTypeHint(var.dataType + "[]")); - } - - // Create a variable to display the correct data type in comments for models - var.vendorExtensions.put("x-comment-type", var.dataType); - if (var.isContainer) { - var.vendorExtensions.put("x-comment-type", var.dataType + "[]"); + var.vendorExtensions.put("x-parameter-type", getTypeHintNullable(var.dataType + "[]")); + var.vendorExtensions.put("x-comment-type", getTypeHintNullableForComments(var.dataType + "[]")); } } } @@ -496,6 +472,14 @@ public class PhpSymfonyServerCodegen extends AbstractPhpCodegen implements Codeg return objs; } + public String prependSlashToDataTypeOnlyIfNecessary(String dataType) { + if (dataType.equals("array") || dataType.equals("bool") || dataType.equals("float") || dataType.equals("int") || dataType.equals("string") || dataType.equals("object") || dataType.equals("iterable") || dataType.equals("mixed")) { + return dataType; + } + + return "\\" + dataType; + } + /** * Output the Getter name for boolean property, e.g. isActive * @@ -645,6 +629,24 @@ public class PhpSymfonyServerCodegen extends AbstractPhpCodegen implements Codeg return prefix + name; } + protected String getTypeHintNullable(String type) { + String typeHint = getTypeHint(type); + if (!typeHint.equals("")) { + return "?" + typeHint; + } + + return typeHint; + } + + protected String getTypeHintNullableForComments(String type) { + String typeHint = getTypeHint(type); + if (!typeHint.equals("")) { + return typeHint + "|null"; + } + + return typeHint; + } + protected String getTypeHint(String type) { // Type hint array types if (type.endsWith("[]")) { diff --git a/modules/openapi-generator/src/main/resources/php-symfony/ApiServer.mustache b/modules/openapi-generator/src/main/resources/php-symfony/ApiServer.mustache index d200b0c6d1..e8eacc33b2 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/ApiServer.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/ApiServer.mustache @@ -19,6 +19,8 @@ namespace {{apiPackage}}; +use Symfony\Component\DependencyInjection\Reference; + /** * ApiServer Class Doc Comment * @@ -35,7 +37,7 @@ class ApiServer /** * @var array */ - private $apis = array(); + private array $apis = array(); /** * Adds an API handler to the server. @@ -43,7 +45,7 @@ class ApiServer * @param string $api An API name of the handle * @param mixed $handler A handler to set for the given API */ - public function addApiHandler($api, $handler) + public function addApiHandler(string $api, $handler): void { if (isset($this->apis[$api])) { throw new \InvalidArgumentException('API has already a handler: '.$api); @@ -59,7 +61,7 @@ class ApiServer * @return mixed Returns a handler * @throws \InvalidArgumentException When no such handler exists */ - public function getApiHandler($api) + public function getApiHandler(string $api) { if (!isset($this->apis[$api])) { throw new \InvalidArgumentException('No handler for '.$api.' implemented.'); diff --git a/modules/openapi-generator/src/main/resources/php-symfony/Controller.mustache b/modules/openapi-generator/src/main/resources/php-symfony/Controller.mustache index 9b0c16fdb0..9366004e84 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/Controller.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/Controller.mustache @@ -19,10 +19,12 @@ namespace {{controllerPackage}}; +use {{apiPackage}}\ApiServer; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Exception\HttpException; +use Symfony\Component\Validator\ConstraintViolation; use {{servicePackage}}\SerializerInterface; use {{servicePackage}}\ValidatorInterface; @@ -36,23 +38,29 @@ use {{servicePackage}}\ValidatorInterface; */ class Controller extends AbstractController { - protected $validator; - protected $serializer; - protected $apiServer; + protected ValidatorInterface $validator; + protected SerializerInterface $serializer; + protected ApiServer $apiServer; - public function setValidator(ValidatorInterface $validator) + public function setValidator(ValidatorInterface $validator): self { $this->validator = $validator; + + return $this; } - public function setSerializer(SerializerInterface $serializer) + public function setSerializer(SerializerInterface $serializer): self { $this->serializer = $serializer; + + return $this; } - public function setApiServer($server) + public function setApiServer(ApiServer $server): self { $this->apiServer = $server; + + return $this; } /** @@ -63,7 +71,7 @@ class Controller extends AbstractController * * @return Response */ - public function createBadRequestResponse($message = 'Bad Request.') + public function createBadRequestResponse(string $message = 'Bad Request.'): Response { return new Response($message, 400); } @@ -76,7 +84,7 @@ class Controller extends AbstractController * * @return Response */ - public function createErrorResponse(HttpException $exception) + public function createErrorResponse(HttpException $exception): Response { $statusCode = $exception->getStatusCode(); $headers = array_merge($exception->getHeaders(), ['Content-Type' => 'application/json']); @@ -91,12 +99,11 @@ class Controller extends AbstractController * Serializes data to a given type format. * * @param mixed $data The data to serialize. - * @param string $class The source data class. * @param string $format The target serialization format. * * @return string A serialized data string. */ - protected function serialize($data, $format) + protected function serialize($data, string $format): string { return $this->serializer->serialize($data, $format); } @@ -104,35 +111,47 @@ class Controller extends AbstractController /** * Deserializes data from a given type format. * - * @param string $data The data to deserialize. + * @param mixed $data The data to deserialize. * @param string $class The target data class. * @param string $format The source serialization format. * * @return mixed A deserialized data. */ - protected function deserialize($data, $class, $format) + protected function deserialize($data, string $class, string $format) { return $this->serializer->deserialize($data, $class, $format); } - protected function validate($data, $asserts = null) + /** + * @param mixed $data + * @param mixed $asserts + * + * @return Response|null + */ + protected function validate($data, $asserts = null): ?Response { $errors = $this->validator->validate($data, $asserts); if (count($errors) > 0) { - $errorsString = (string)$errors; + $errorsString = ''; + /** @var ConstraintViolation $violation */ + foreach ($errors as $violation) { + $errorsString .= $violation->getMessage()."\n"; + } return $this->createBadRequestResponse($errorsString); } + + return null; } /** * Converts an exception to a serializable array. * - * @param \Exception|null $exception + * @param \Throwable|null $exception * - * @return array + * @return array|null */ - private function exceptionToArray(\Exception $exception = null) + private function exceptionToArray(\Throwable $exception = null): ?array { if (null === $exception) { return null; @@ -151,7 +170,15 @@ class Controller extends AbstractController ]; } - protected function getOutputFormat($accept, array $produced) + /** + * Converts an exception to a serializable array. + * + * @param string $accept + * @param array $produced + * + * @return ?string + */ + protected function getOutputFormat(string $accept, array $produced): ?string { // Figure out what the client accepts $accept = preg_split("/[\s,]+/", $accept); @@ -186,7 +213,7 @@ class Controller extends AbstractController * * @return bool Returns true if Content-Type supported otherwise false. */ - public static function isContentTypeAllowed(Request $request, array $consumes = []) + public static function isContentTypeAllowed(Request $request, array $consumes = []): bool { if (!empty($consumes) && $consumes[0] !== '*/*') { $currentFormat = $request->getContentType(); diff --git a/modules/openapi-generator/src/main/resources/php-symfony/Extension.mustache b/modules/openapi-generator/src/main/resources/php-symfony/Extension.mustache index 00dd37411c..dffd4cbb33 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/Extension.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/Extension.mustache @@ -34,7 +34,7 @@ use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; */ class {{bundleExtensionName}} extends Extension { - public function load(array $configs, ContainerBuilder $container) + public function load(array $configs, ContainerBuilder $container): void { $loader = new YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); $loader->load('services.yml'); diff --git a/modules/openapi-generator/src/main/resources/php-symfony/README.mustache b/modules/openapi-generator/src/main/resources/php-symfony/README.mustache index 3ebcc0b43b..7cc1cda471 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/README.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/README.mustache @@ -106,7 +106,7 @@ class {{baseName}}Api implements {{classname}} // An interface is autogenerated /** * Implementation of {{classname}}#{{operationId}} */ - public function {{operationId}}({{#allParams}}{{#vendorExtensions.x-parameter-type}}{{vendorExtensions.x-parameter-type}} {{/vendorExtensions.x-parameter-type}}${{paramName}}{{^required}} = {{#defaultValue}}'{{{.}}}'{{/defaultValue}}{{^defaultValue}}null{{/defaultValue}}{{/required}}{{^-last}}, {{/-last}}{{/allParams}}, &$responseCode, array &$responseHeaders): {{#isArray}}iterable{{/isArray}}{{^isArray}}array|{{{vendorExtensions.x-comment-type}}}{{/isArray}} + public function {{operationId}}({{#allParams}}{{#vendorExtensions.x-parameter-type}}{{vendorExtensions.x-parameter-type}} {{/vendorExtensions.x-parameter-type}}${{paramName}}{{^required}} = {{#defaultValue}}'{{{.}}}'{{/defaultValue}}{{^defaultValue}}null{{/defaultValue}}{{/required}}{{^-last}}, {{/-last}}{{/allParams}}, int &$responseCode, array &$responseHeaders): {{{vendorExtensions.x-return-type}}} { // Implement the operation ... } diff --git a/modules/openapi-generator/src/main/resources/php-symfony/api.mustache b/modules/openapi-generator/src/main/resources/php-symfony/api.mustache index 236e06f02d..9d9c75dcee 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/api.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/api.mustache @@ -38,11 +38,11 @@ interface {{classname}} /** * Sets authentication method {{name}} * - * @param string $value Value of the {{name}} authentication method. + * @param string|null $value Value of the {{name}} authentication method. * * @return void */ - public function set{{name}}($value); + public function set{{name}}(?string $value): void; {{/authMethods}} {{#operation}} @@ -58,16 +58,17 @@ interface {{classname}} * {{/description}} {{#allParams}} - * @param {{vendorExtensions.x-comment-type}} ${{paramName}} {{description}} {{#required}}(required){{/required}}{{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{#isDeprecated}} (deprecated){{/isDeprecated}} + * @param {{vendorExtensions.x-parameter-type}}{{^required}}{{^defaultValue}}|null{{/defaultValue}}{{/required}} ${{paramName}} {{description}} {{#required}}(required){{/required}}{{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{#isDeprecated}} (deprecated){{/isDeprecated}} {{/allParams}} - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * - * @return {{{vendorExtensions.x-comment-type}}} + * @return {{{vendorExtensions.x-return-type}}} {{#isDeprecated}} * @deprecated {{/isDeprecated}} */ - public function {{operationId}}({{#allParams}}{{#vendorExtensions.x-parameter-type}}{{vendorExtensions.x-parameter-type}} {{/vendorExtensions.x-parameter-type}}${{paramName}}{{^required}} = {{{defaultValue}}}{{^defaultValue}}null{{/defaultValue}}{{/required}}, {{/allParams}}&$responseCode, array &$responseHeaders): {{{vendorExtensions.x-return-type}}}; + public function {{operationId}}({{#allParams}}{{^required}}{{^defaultValue}}?{{/defaultValue}}{{/required}}{{#vendorExtensions.x-parameter-type}}{{vendorExtensions.x-parameter-type}} {{/vendorExtensions.x-parameter-type}}${{paramName}}, {{/allParams}}int &$responseCode, array &$responseHeaders): {{{vendorExtensions.x-return-type}}}; {{/operation}} } diff --git a/modules/openapi-generator/src/main/resources/php-symfony/api_controller.mustache b/modules/openapi-generator/src/main/resources/php-symfony/api_controller.mustache index 219343cd5b..89c2235453 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/api_controller.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/api_controller.mustache @@ -109,17 +109,17 @@ class {{controllerName}} extends Controller // Read out all input parameter values into variables {{#queryParams}} - ${{paramName}} = $request->query->get('{{paramName}}'); + ${{paramName}} = $request->query->get('{{paramName}}'{{#defaultValue}}, {{{.}}}{{/defaultValue}}); {{/queryParams}} {{#headerParams}} - ${{paramName}} = $request->headers->get('{{baseName}}'); + ${{paramName}} = $request->headers->get('{{baseName}}'{{#defaultValue}}, {{{.}}}{{/defaultValue}}); {{/headerParams}} {{#formParams}} {{#isFile}} - ${{paramName}} = $request->files->get('{{paramName}}'); + ${{paramName}} = $request->files->get('{{paramName}}'{{#defaultValue}}, {{{.}}}{{/defaultValue}}); {{/isFile}} {{^isFile}} - ${{paramName}} = $request->request->get('{{paramName}}'); + ${{paramName}} = $request->request->get('{{paramName}}'{{#defaultValue}}, {{{.}}}{{/defaultValue}}); {{/isFile}} {{/formParams}} {{#bodyParams}} @@ -175,7 +175,8 @@ class {{controllerName}} extends Controller // Make the call to the business logic $responseCode = {{#returnType}}200{{/returnType}}{{^returnType}}204{{/returnType}}; $responseHeaders = []; - $result = $handler->{{operationId}}({{#allParams}}${{paramName}}, {{/allParams}}$responseCode, $responseHeaders); + + {{#returnType}}$result = {{/returnType}}$handler->{{operationId}}({{#allParams}}${{paramName}}, {{/allParams}}$responseCode, $responseHeaders); // Find default response message $message = '{{#responses}}{{#isDefault}}{{message}}{{/isDefault}}{{/responses}}'; @@ -202,7 +203,7 @@ class {{controllerName}} extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } diff --git a/modules/openapi-generator/src/main/resources/php-symfony/api_doc.mustache b/modules/openapi-generator/src/main/resources/php-symfony/api_doc.mustache index b5823f934b..67bedf3ed7 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/api_doc.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/api_doc.mustache @@ -61,7 +61,7 @@ class {{baseName}}Api implements {{classname}} /** * Implementation of {{classname}}#{{operationId}} */ - public function {{operationId}}({{#allParams}}{{#vendorExtensions.x-parameter-type}}{{vendorExtensions.x-parameter-type}} {{/vendorExtensions.x-parameter-type}}${{paramName}}{{^required}} = {{#defaultValue}}'{{{.}}}'{{/defaultValue}}{{^defaultValue}}null{{/defaultValue}}{{/required}}{{^-last}}, {{/-last}}{{/allParams}}, &$responseCode, array &$responseHeaders): {{{vendorExtensions.x-return-type}}} + public function {{operationId}}({{#allParams}}{{^required}}{{^defaultValue}}?{{/defaultValue}}{{/required}}{{#vendorExtensions.x-parameter-type}}{{vendorExtensions.x-parameter-type}} {{/vendorExtensions.x-parameter-type}}${{paramName}}, {{/allParams}}int &$responseCode, array &$responseHeaders): {{{vendorExtensions.x-return-type}}} { // Implement the operation ... } diff --git a/modules/openapi-generator/src/main/resources/php-symfony/model_generic.mustache b/modules/openapi-generator/src/main/resources/php-symfony/model_generic.mustache index 67948d61b2..5b093b479d 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/model_generic.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/model_generic.mustache @@ -4,7 +4,7 @@ class {{classname}} {{#parentSchema}}extends {{{parent}}} {{/parentSchema}} {{/vars}} /** * Constructor - * @param mixed[] $data Associated array of property values initializing the model + * @param array|null $data Associated array of property values initializing the model */ public function __construct(array $data = null) { @@ -13,7 +13,7 @@ class {{classname}} {{#parentSchema}}extends {{{parent}}} {{/parentSchema}} {{/parentSchema}} {{#vars}} - $this->{{name}} = isset($data['{{name}}']) ? $data['{{name}}'] : {{{defaultValue}}}{{^defaultValue}}null{{/defaultValue}}; + $this->{{name}} = $data['{{name}}'] ?? null; {{/vars}} } {{#vars}} @@ -21,9 +21,9 @@ class {{classname}} {{#parentSchema}}extends {{{parent}}} {{/parentSchema}} /** * Gets {{name}}. * - * @return {{{vendorExtensions.x-comment-type}}}{{^required}}|null{{/required}} + * @return {{{vendorExtensions.x-comment-type}}} */ - public function {{getter}}(){{#vendorExtensions.x-parameter-type}}: {{^required}}?{{/required}}{{vendorExtensions.x-parameter-type}}{{/vendorExtensions.x-parameter-type}} + public function {{getter}}(){{#vendorExtensions.x-parameter-type}}: {{vendorExtensions.x-parameter-type}}{{/vendorExtensions.x-parameter-type}} { return $this->{{name}}; } @@ -31,11 +31,11 @@ class {{classname}} {{#parentSchema}}extends {{{parent}}} {{/parentSchema}} /** * Sets {{name}}. * - * @param {{{vendorExtensions.x-comment-type}}}{{^required}}|null{{/required}} ${{name}}{{#description}} {{{.}}}{{/description}} + * @param {{{vendorExtensions.x-comment-type}}} ${{name}}{{#description}} {{{.}}}{{/description}} * * @return $this */ - public function {{setter}}({{#vendorExtensions.x-parameter-type}}{{vendorExtensions.x-parameter-type}} {{/vendorExtensions.x-parameter-type}}${{name}}{{^required}} = null{{/required}}) + public function {{setter}}({{#vendorExtensions.x-parameter-type}}{{vendorExtensions.x-parameter-type}} {{/vendorExtensions.x-parameter-type}}${{name}}{{^required}} = null{{/required}}): self { $this->{{name}} = ${{name}}; diff --git a/modules/openapi-generator/src/main/resources/php-symfony/model_variables.mustache b/modules/openapi-generator/src/main/resources/php-symfony/model_variables.mustache index f385500960..bd7d559d8a 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/model_variables.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/model_variables.mustache @@ -3,7 +3,7 @@ * {{.}} * {{/description}} - * @var {{{vendorExtensions.x-comment-type}}}{{^required}}|null{{/required}} + * @var {{{vendorExtensions.x-comment-type}}} * @SerializedName("{{baseName}}") {{#required}} * @Assert\NotNull() @@ -98,4 +98,4 @@ {{/minItems}} {{/hasValidation}} */ - protected ${{name}}; + protected {{{vendorExtensions.x-parameter-type}}} ${{name}} = null; diff --git a/modules/openapi-generator/src/main/resources/php-symfony/serialization/JmsSerializer.mustache b/modules/openapi-generator/src/main/resources/php-symfony/serialization/JmsSerializer.mustache index 0a6571e2bd..0cd5d36ca5 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/serialization/JmsSerializer.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/serialization/JmsSerializer.mustache @@ -5,13 +5,14 @@ namespace {{servicePackage}}; use JMS\Serializer\SerializerBuilder; use JMS\Serializer\Naming\CamelCaseNamingStrategy; use JMS\Serializer\Naming\SerializedNameAnnotationStrategy; +use JMS\Serializer\Serializer; use JMS\Serializer\Visitor\Factory\XmlDeserializationVisitorFactory; use DateTime; use RuntimeException; class JmsSerializer implements SerializerInterface { - protected $serializer; + protected Serializer $serializer; public function __construct() { @@ -23,12 +24,18 @@ class JmsSerializer implements SerializerInterface ->build(); } - public function serialize($data, $format) + /** + * @inheritdoc + */ + public function serialize($data, string $format): string { return SerializerBuilder::create()->build()->serialize($data, $this->convertFormat($format)); } - public function deserialize($data, $type, $format) + /** + * @inheritdoc + */ + public function deserialize($data, string $type, string $format) { if ($format == 'string') { return $this->deserializeString($data, $type); @@ -38,7 +45,7 @@ class JmsSerializer implements SerializerInterface return $this->serializer->deserialize($data, $type, $this->convertFormat($format)); } - private function convertFormat($format) + private function convertFormat(string $format): ?string { switch ($format) { case 'application/json': @@ -50,7 +57,7 @@ class JmsSerializer implements SerializerInterface return null; } - private function deserializeString($data, $type) + private function deserializeString($data, string $type) { // Figure out if we have an array format if (1 === preg_match('/array<(csv|ssv|tsv|pipes),(int|string)>/i', $type, $matches)) { @@ -73,6 +80,10 @@ class JmsSerializer implements SerializerInterface break; case 'boolean': case 'bool': + if (is_bool($data)) { + return $data; + } + if (strtolower($data) === 'true') { return true; } @@ -93,10 +104,9 @@ class JmsSerializer implements SerializerInterface return $data; } - private function deserializeArrayString($format, $type, $data) + private function deserializeArrayString(string $format, string $type, $data): array { - if($data === null) - { + if (empty($data)) { return []; } diff --git a/modules/openapi-generator/src/main/resources/php-symfony/serialization/SerializerInterface.mustache b/modules/openapi-generator/src/main/resources/php-symfony/serialization/SerializerInterface.mustache index 60ad872464..35ba55e742 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/serialization/SerializerInterface.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/serialization/SerializerInterface.mustache @@ -12,16 +12,16 @@ interface SerializerInterface * * @return string */ - public function serialize($data, $format); + public function serialize($data, string $format): string; /** * Deserializes the given data to the specified type. * - * @param string $data + * @param mixed $data * @param string $type * @param string $format * * @return object|array|scalar */ - public function deserialize($data, $type, $format); + public function deserialize($data, string $type, string $format); } diff --git a/modules/openapi-generator/src/main/resources/php-symfony/testing/AppKernel.mustache b/modules/openapi-generator/src/main/resources/php-symfony/testing/AppKernel.mustache index cb6e0f4619..dfd5e83f1f 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/testing/AppKernel.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/testing/AppKernel.mustache @@ -8,15 +8,20 @@ use Symfony\Component\Config\Loader\LoaderInterface; class AppKernel extends Kernel { + /** + * @inheritDoc + */ public function registerBundles(): iterable { - $bundles = array( - new FrameworkBundle() - ); - - return $bundles; + return [ + new FrameworkBundle(), + ]; } + /** + * @inheritDoc + * @throws \Exception + */ public function registerContainerConfiguration(LoaderInterface $loader) { $loader->load(__DIR__.'/test_config.yml'); diff --git a/modules/openapi-generator/src/main/resources/php-symfony/testing/ControllerTest.mustache b/modules/openapi-generator/src/main/resources/php-symfony/testing/ControllerTest.mustache index 730cba94a1..e4d5039db8 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/testing/ControllerTest.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/testing/ControllerTest.mustache @@ -33,21 +33,16 @@ use Symfony\Component\HttpFoundation\Request; */ class ControllerTest extends TestCase { - /** * Tests isContentTypeAllowed static method. * - * @param string $contentType - * @param array $consumes - * @param bool $expectedReturn - * * @covers ::isContentTypeAllowed - * @dataProvider provideArgumentsForIsContentTypeAllowed + * @dataProvider dataProviderIsContentTypeAllowed */ - public function testIsContentTypeAllowed($contentType, array $consumes, $expectedReturn) + public function testIsContentTypeAllowed(?string $contentType, array $consumes, bool $expectedReturn): void { $request = new Request(); - $request->headers->set('CONTENT_TYPE', $contentType, true);// last one argument overrides header + $request->headers->set('CONTENT_TYPE', $contentType);// last one argument overrides header $this->assertSame( $expectedReturn, Controller::isContentTypeAllowed($request, $consumes), @@ -60,7 +55,7 @@ class ControllerTest extends TestCase ); } - public function provideArgumentsForIsContentTypeAllowed() + public function dataProviderIsContentTypeAllowed(): array { return [ 'usual JSON content type' => [ diff --git a/modules/openapi-generator/src/main/resources/php-symfony/testing/api_test.mustache b/modules/openapi-generator/src/main/resources/php-symfony/testing/api_test.mustache index ebdbc2fa83..755fb72dba 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/testing/api_test.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/testing/api_test.mustache @@ -18,10 +18,6 @@ namespace {{apiTestsPackage}}; -use {{invokerPackage}}\Configuration; -use {{invokerPackage}}\ApiClient; -use {{invokerPackage}}\ApiException; -use {{invokerPackage}}\ObjectSerializer; use Symfony\Bundle\FrameworkBundle\KernelBrowser; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; @@ -32,6 +28,7 @@ use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; * @package {{apiTestsPackage}} * @author openapi-generator contributors * @link https://github.com/openapitools/openapi-generator + * @coversDefaultClass \{{apiPackage}}\{{classname}} */ {{#operations}}class {{classname}}Test extends WebTestCase { @@ -76,7 +73,7 @@ use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; * {{{summary}}}. * */ - public function test{{operationIdCamelCase}}() + public function test{{operationIdCamelCase}}(): void { $client = self::$client; @@ -106,10 +103,15 @@ use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; {{/pathParams}} $crawler = $client->request('{{httpMethod}}', $path{{#hasBodyParam}}, [], [], ['CONTENT_TYPE' => 'application/json']{{/hasBodyParam}}); + $this->markTestSkipped('Test for {{operationId}} not implemented'); } {{/operation}} - protected function genTestData($regexp) + /** + * @param string $regexp + * @return mixed + */ + protected function genTestData(string $regexp) { $grammar = new \Hoa\File\Read('hoa://Library/Regex/Grammar.pp'); $compiler = \Hoa\Compiler\Llk\Llk::load($grammar); diff --git a/modules/openapi-generator/src/main/resources/php-symfony/testing/model_test.mustache b/modules/openapi-generator/src/main/resources/php-symfony/testing/model_test.mustache index 0315c358fd..1d971d7530 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/testing/model_test.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/testing/model_test.mustache @@ -21,20 +21,22 @@ namespace {{modelPackage}}; +use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; /** * {{classname}}Test Class Doc Comment * - * @category Class */ -// * @description {{description}}{{^description}}{{classname}}{{/description}} -/** + * @category Class + * @description {{description}}{{^description}}{{classname}}{{/description}} * @package {{modelTestsPackage}} * @author openapi-generator contributors * @link https://github.com/openapitools/openapi-generator + * @coversDefaultClass \{{modelPackage}}\{{classname}} */ class {{classname}}Test extends TestCase { + protected {{classname}}|MockObject $object; /** * Setup before running any test case @@ -48,6 +50,7 @@ class {{classname}}Test extends TestCase */ public function setUp(): void { + $this->object = $this->getMockBuilder({{classname}}::class)->getMockForAbstractClass(); } /** @@ -65,19 +68,25 @@ class {{classname}}Test extends TestCase } /** - * Test "{{classname}}" + * @group integration + * @small */ - public function test{{classname}}() + public function testTestClassExists(): void { - $test{{classname}} = new {{classname}}(); + $this->assertTrue(class_exists({{classname}}::class)); + $this->assertInstanceOf({{classname}}::class, $this->object); } {{#vars}} /** * Test attribute "{{name}}" + * + * @group unit + * @small */ - public function testProperty{{nameInCamelCase}}() + public function testProperty{{nameInCamelCase}}(): void { + $this->markTestSkipped('Test for property {{name}} not implemented'); } {{/vars}} } diff --git a/modules/openapi-generator/src/main/resources/php-symfony/testing/phpunit.xml.mustache b/modules/openapi-generator/src/main/resources/php-symfony/testing/phpunit.xml.mustache index 3c46ece501..3e3eebd1bf 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/testing/phpunit.xml.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/testing/phpunit.xml.mustache @@ -1,24 +1,26 @@ - + stopOnFailure="false" + xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd"> + + + {{apiSrcPath}} + {{modelSrcPath}} + {{controllerSrcPath}} + + - + {{apiTestPath}} {{modelTestPath}} {{controllerTestPath}} - - - {{apiSrcPath}} - {{modelSrcPath}} - {{controllerSrcPath}} - - diff --git a/modules/openapi-generator/src/main/resources/php-symfony/testing/test_config.yml b/modules/openapi-generator/src/main/resources/php-symfony/testing/test_config.yml index a06bcfef45..4c7970ab71 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/testing/test_config.yml +++ b/modules/openapi-generator/src/main/resources/php-symfony/testing/test_config.yml @@ -5,4 +5,4 @@ framework: secret: "testsecret" test: ~ router: - resource: "%kernel.project_dir%/../Resources/config/routing.yml" + resource: "%kernel.project_dir%/Resources/config/routing.yml" diff --git a/modules/openapi-generator/src/main/resources/php-symfony/validation/SymfonyValidator.mustache b/modules/openapi-generator/src/main/resources/php-symfony/validation/SymfonyValidator.mustache index 1ec3b80ce1..e87e56e26d 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/validation/SymfonyValidator.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/validation/SymfonyValidator.mustache @@ -6,7 +6,7 @@ use Symfony\Component\Validator\Validator\ValidatorInterface as SymfonyValidator class SymfonyValidator implements ValidatorInterface { - protected $validator; + protected SymfonyValidatorInterface $validator; public function __construct(SymfonyValidatorInterface $validator) { diff --git a/modules/openapi-generator/src/main/resources/php-symfony/validation/ValidatorInterface.mustache b/modules/openapi-generator/src/main/resources/php-symfony/validation/ValidatorInterface.mustache index e2a0d9badc..e279adc5ba 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/validation/ValidatorInterface.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/validation/ValidatorInterface.mustache @@ -2,6 +2,9 @@ namespace {{servicePackage}}; +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\ConstraintViolationListInterface; + interface ValidatorInterface { /** diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/ApiServer.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/ApiServer.php index 59f3803817..2527f15e82 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/ApiServer.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/ApiServer.php @@ -29,6 +29,8 @@ namespace OpenAPI\Server\Api; +use Symfony\Component\DependencyInjection\Reference; + /** * ApiServer Class Doc Comment * @@ -45,7 +47,7 @@ class ApiServer /** * @var array */ - private $apis = array(); + private array $apis = array(); /** * Adds an API handler to the server. @@ -53,7 +55,7 @@ class ApiServer * @param string $api An API name of the handle * @param mixed $handler A handler to set for the given API */ - public function addApiHandler($api, $handler) + public function addApiHandler(string $api, $handler): void { if (isset($this->apis[$api])) { throw new \InvalidArgumentException('API has already a handler: '.$api); @@ -69,7 +71,7 @@ class ApiServer * @return mixed Returns a handler * @throws \InvalidArgumentException When no such handler exists */ - public function getApiHandler($api) + public function getApiHandler(string $api) { if (!isset($this->apis[$api])) { throw new \InvalidArgumentException('No handler for '.$api.' implemented.'); diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/PetApiInterface.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/PetApiInterface.php index f344890fca..fa0f0bcb45 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/PetApiInterface.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/PetApiInterface.php @@ -47,32 +47,33 @@ interface PetApiInterface /** * Sets authentication method petstore_auth * - * @param string $value Value of the petstore_auth authentication method. + * @param string|null $value Value of the petstore_auth authentication method. * * @return void */ - public function setpetstore_auth($value); + public function setpetstore_auth(?string $value): void; /** * Sets authentication method api_key * - * @param string $value Value of the api_key authentication method. + * @param string|null $value Value of the api_key authentication method. * * @return void */ - public function setapi_key($value); + public function setapi_key(?string $value): void; /** * Operation addPet * * Add a new pet to the store * - * @param \OpenAPI\Server\Model\Pet $pet Pet object that needs to be added to the store (required) - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param Pet $pet Pet object that needs to be added to the store (required) + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * - * @return \OpenAPI\Server\Model\Pet + * @return array|object|null */ - public function addPet(Pet $pet, &$responseCode, array &$responseHeaders): array|\OpenAPI\Server\Model\Pet; + public function addPet(Pet $pet, int &$responseCode, array &$responseHeaders): array|object|null; /** @@ -80,13 +81,14 @@ interface PetApiInterface * * Deletes a pet * - * @param \int $petId Pet id to delete (required) - * @param \string $apiKey (optional) - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param int $petId Pet id to delete (required) + * @param string|null $apiKey (optional) + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * * @return void */ - public function deletePet($petId, $apiKey = null, &$responseCode, array &$responseHeaders): void; + public function deletePet(int $petId, ?string $apiKey, int &$responseCode, array &$responseHeaders): void; /** @@ -94,12 +96,13 @@ interface PetApiInterface * * Finds Pets by status * - * @param \string[] $status Status values that need to be considered for filter (required) (deprecated) - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param array $status Status values that need to be considered for filter (required) (deprecated) + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * - * @return \OpenAPI\Server\Model\Pet[] + * @return array|object|null */ - public function findPetsByStatus(array $status, &$responseCode, array &$responseHeaders): iterable; + public function findPetsByStatus(array $status, int &$responseCode, array &$responseHeaders): array|object|null; /** @@ -107,13 +110,14 @@ interface PetApiInterface * * Finds Pets by tags * - * @param \string[] $tags Tags to filter by (required) - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param array $tags Tags to filter by (required) + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * - * @return \OpenAPI\Server\Model\Pet[] + * @return array|object|null * @deprecated */ - public function findPetsByTags(array $tags, &$responseCode, array &$responseHeaders): iterable; + public function findPetsByTags(array $tags, int &$responseCode, array &$responseHeaders): array|object|null; /** @@ -121,12 +125,13 @@ interface PetApiInterface * * Find pet by ID * - * @param \int $petId ID of pet to return (required) - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param int $petId ID of pet to return (required) + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * - * @return \OpenAPI\Server\Model\Pet + * @return array|object|null */ - public function getPetById($petId, &$responseCode, array &$responseHeaders): array|\OpenAPI\Server\Model\Pet; + public function getPetById(int $petId, int &$responseCode, array &$responseHeaders): array|object|null; /** @@ -134,12 +139,13 @@ interface PetApiInterface * * Update an existing pet * - * @param \OpenAPI\Server\Model\Pet $pet Pet object that needs to be added to the store (required) - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param Pet $pet Pet object that needs to be added to the store (required) + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * - * @return \OpenAPI\Server\Model\Pet + * @return array|object|null */ - public function updatePet(Pet $pet, &$responseCode, array &$responseHeaders): array|\OpenAPI\Server\Model\Pet; + public function updatePet(Pet $pet, int &$responseCode, array &$responseHeaders): array|object|null; /** @@ -147,14 +153,15 @@ interface PetApiInterface * * Updates a pet in the store with form data * - * @param \int $petId ID of pet that needs to be updated (required) - * @param \string $name Updated name of the pet (optional) - * @param \string $status Updated status of the pet (optional) - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param int $petId ID of pet that needs to be updated (required) + * @param string|null $name Updated name of the pet (optional) + * @param string|null $status Updated status of the pet (optional) + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * * @return void */ - public function updatePetWithForm($petId, $name = null, $status = null, &$responseCode, array &$responseHeaders): void; + public function updatePetWithForm(int $petId, ?string $name, ?string $status, int &$responseCode, array &$responseHeaders): void; /** @@ -162,13 +169,14 @@ interface PetApiInterface * * uploads an image * - * @param \int $petId ID of pet to update (required) - * @param \string $additionalMetadata Additional data to pass to server (optional) - * @param \UploadedFile $file file to upload (optional) - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param int $petId ID of pet to update (required) + * @param string|null $additionalMetadata Additional data to pass to server (optional) + * @param UploadedFile|null $file file to upload (optional) + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * - * @return \OpenAPI\Server\Model\ApiResponse + * @return array|object|null */ - public function uploadFile($petId, $additionalMetadata = null, UploadedFile $file = null, &$responseCode, array &$responseHeaders): array|\OpenAPI\Server\Model\ApiResponse; + public function uploadFile(int $petId, ?string $additionalMetadata, ?UploadedFile $file, int &$responseCode, array &$responseHeaders): array|object|null; } diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/StoreApiInterface.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/StoreApiInterface.php index d5390b916f..89dc4a72a9 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/StoreApiInterface.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/StoreApiInterface.php @@ -46,23 +46,24 @@ interface StoreApiInterface /** * Sets authentication method api_key * - * @param string $value Value of the api_key authentication method. + * @param string|null $value Value of the api_key authentication method. * * @return void */ - public function setapi_key($value); + public function setapi_key(?string $value): void; /** * Operation deleteOrder * * Delete purchase order by ID * - * @param \string $orderId ID of the order that needs to be deleted (required) - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param string $orderId ID of the order that needs to be deleted (required) + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * * @return void */ - public function deleteOrder($orderId, &$responseCode, array &$responseHeaders): void; + public function deleteOrder(string $orderId, int &$responseCode, array &$responseHeaders): void; /** @@ -70,11 +71,12 @@ interface StoreApiInterface * * Returns pet inventories by status * - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * - * @return \int + * @return array|object|null */ - public function getInventory(&$responseCode, array &$responseHeaders): array|\int; + public function getInventory(int &$responseCode, array &$responseHeaders): array|object|null; /** @@ -82,12 +84,13 @@ interface StoreApiInterface * * Find purchase order by ID * - * @param \int $orderId ID of pet that needs to be fetched (required) - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param int $orderId ID of pet that needs to be fetched (required) + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * - * @return \OpenAPI\Server\Model\Order + * @return array|object|null */ - public function getOrderById($orderId, &$responseCode, array &$responseHeaders): array|\OpenAPI\Server\Model\Order; + public function getOrderById(int $orderId, int &$responseCode, array &$responseHeaders): array|object|null; /** @@ -95,11 +98,12 @@ interface StoreApiInterface * * Place an order for a pet * - * @param \OpenAPI\Server\Model\Order $order order placed for purchasing the pet (required) - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param Order $order order placed for purchasing the pet (required) + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * - * @return \OpenAPI\Server\Model\Order + * @return array|object|null */ - public function placeOrder(Order $order, &$responseCode, array &$responseHeaders): array|\OpenAPI\Server\Model\Order; + public function placeOrder(Order $order, int &$responseCode, array &$responseHeaders): array|object|null; } diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/UserApiInterface.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/UserApiInterface.php index 3a5df7cd4d..df55749361 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/UserApiInterface.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/UserApiInterface.php @@ -46,23 +46,24 @@ interface UserApiInterface /** * Sets authentication method api_key * - * @param string $value Value of the api_key authentication method. + * @param string|null $value Value of the api_key authentication method. * * @return void */ - public function setapi_key($value); + public function setapi_key(?string $value): void; /** * Operation createUser * * Create user * - * @param \OpenAPI\Server\Model\User $user Created user object (required) - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param User $user Created user object (required) + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * * @return void */ - public function createUser(User $user, &$responseCode, array &$responseHeaders): void; + public function createUser(User $user, int &$responseCode, array &$responseHeaders): void; /** @@ -70,12 +71,13 @@ interface UserApiInterface * * Creates list of users with given input array * - * @param \OpenAPI\Server\Model\User[] $user List of user object (required) - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param array $user List of user object (required) + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * * @return void */ - public function createUsersWithArrayInput(array $user, &$responseCode, array &$responseHeaders): void; + public function createUsersWithArrayInput(array $user, int &$responseCode, array &$responseHeaders): void; /** @@ -83,12 +85,13 @@ interface UserApiInterface * * Creates list of users with given input array * - * @param \OpenAPI\Server\Model\User[] $user List of user object (required) - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param array $user List of user object (required) + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * * @return void */ - public function createUsersWithListInput(array $user, &$responseCode, array &$responseHeaders): void; + public function createUsersWithListInput(array $user, int &$responseCode, array &$responseHeaders): void; /** @@ -96,12 +99,13 @@ interface UserApiInterface * * Delete user * - * @param \string $username The name that needs to be deleted (required) - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param string $username The name that needs to be deleted (required) + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * * @return void */ - public function deleteUser($username, &$responseCode, array &$responseHeaders): void; + public function deleteUser(string $username, int &$responseCode, array &$responseHeaders): void; /** @@ -109,12 +113,13 @@ interface UserApiInterface * * Get user by user name * - * @param \string $username The name that needs to be fetched. Use user1 for testing. (required) - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param string $username The name that needs to be fetched. Use user1 for testing. (required) + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * - * @return \OpenAPI\Server\Model\User + * @return array|object|null */ - public function getUserByName($username, &$responseCode, array &$responseHeaders): array|\OpenAPI\Server\Model\User; + public function getUserByName(string $username, int &$responseCode, array &$responseHeaders): array|object|null; /** @@ -122,13 +127,14 @@ interface UserApiInterface * * Logs user into the system * - * @param \string $username The user name for login (required) - * @param \string $password The password for login in clear text (required) - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param string $username The user name for login (required) + * @param string $password The password for login in clear text (required) + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * - * @return \string + * @return array|object|null */ - public function loginUser($username, $password, &$responseCode, array &$responseHeaders): array|\string; + public function loginUser(string $username, string $password, int &$responseCode, array &$responseHeaders): array|object|null; /** @@ -136,11 +142,12 @@ interface UserApiInterface * * Logs out current logged in user session * - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * * @return void */ - public function logoutUser(&$responseCode, array &$responseHeaders): void; + public function logoutUser(int &$responseCode, array &$responseHeaders): void; /** @@ -148,12 +155,13 @@ interface UserApiInterface * * Updated user * - * @param \string $username name that need to be deleted (required) - * @param \OpenAPI\Server\Model\User $user Updated user object (required) - * @param \array $responseHeaders Additional HTTP headers to return with the response () + * @param string $username name that need to be deleted (required) + * @param User $user Updated user object (required) + * @param int &$responseCode The HTTP Response Code + * @param array $responseHeaders Additional HTTP headers to return with the response () * * @return void */ - public function updateUser($username, User $user, &$responseCode, array &$responseHeaders): void; + public function updateUser(string $username, User $user, int &$responseCode, array &$responseHeaders): void; } diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/Controller.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/Controller.php index 84375dce07..559f3bd5a4 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/Controller.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/Controller.php @@ -29,10 +29,12 @@ namespace OpenAPI\Server\Controller; +use OpenAPI\Server\Api\ApiServer; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Exception\HttpException; +use Symfony\Component\Validator\ConstraintViolation; use OpenAPI\Server\Service\SerializerInterface; use OpenAPI\Server\Service\ValidatorInterface; @@ -46,23 +48,29 @@ use OpenAPI\Server\Service\ValidatorInterface; */ class Controller extends AbstractController { - protected $validator; - protected $serializer; - protected $apiServer; + protected ValidatorInterface $validator; + protected SerializerInterface $serializer; + protected ApiServer $apiServer; - public function setValidator(ValidatorInterface $validator) + public function setValidator(ValidatorInterface $validator): self { $this->validator = $validator; + + return $this; } - public function setSerializer(SerializerInterface $serializer) + public function setSerializer(SerializerInterface $serializer): self { $this->serializer = $serializer; + + return $this; } - public function setApiServer($server) + public function setApiServer(ApiServer $server): self { $this->apiServer = $server; + + return $this; } /** @@ -73,7 +81,7 @@ class Controller extends AbstractController * * @return Response */ - public function createBadRequestResponse($message = 'Bad Request.') + public function createBadRequestResponse(string $message = 'Bad Request.'): Response { return new Response($message, 400); } @@ -86,7 +94,7 @@ class Controller extends AbstractController * * @return Response */ - public function createErrorResponse(HttpException $exception) + public function createErrorResponse(HttpException $exception): Response { $statusCode = $exception->getStatusCode(); $headers = array_merge($exception->getHeaders(), ['Content-Type' => 'application/json']); @@ -101,12 +109,11 @@ class Controller extends AbstractController * Serializes data to a given type format. * * @param mixed $data The data to serialize. - * @param string $class The source data class. * @param string $format The target serialization format. * * @return string A serialized data string. */ - protected function serialize($data, $format) + protected function serialize($data, string $format): string { return $this->serializer->serialize($data, $format); } @@ -114,35 +121,47 @@ class Controller extends AbstractController /** * Deserializes data from a given type format. * - * @param string $data The data to deserialize. + * @param mixed $data The data to deserialize. * @param string $class The target data class. * @param string $format The source serialization format. * * @return mixed A deserialized data. */ - protected function deserialize($data, $class, $format) + protected function deserialize($data, string $class, string $format) { return $this->serializer->deserialize($data, $class, $format); } - protected function validate($data, $asserts = null) + /** + * @param mixed $data + * @param mixed $asserts + * + * @return Response|null + */ + protected function validate($data, $asserts = null): ?Response { $errors = $this->validator->validate($data, $asserts); if (count($errors) > 0) { - $errorsString = (string)$errors; + $errorsString = ''; + /** @var ConstraintViolation $violation */ + foreach ($errors as $violation) { + $errorsString .= $violation->getMessage()."\n"; + } return $this->createBadRequestResponse($errorsString); } + + return null; } /** * Converts an exception to a serializable array. * - * @param \Exception|null $exception + * @param \Throwable|null $exception * - * @return array + * @return array|null */ - private function exceptionToArray(\Exception $exception = null) + private function exceptionToArray(\Throwable $exception = null): ?array { if (null === $exception) { return null; @@ -161,7 +180,15 @@ class Controller extends AbstractController ]; } - protected function getOutputFormat($accept, array $produced) + /** + * Converts an exception to a serializable array. + * + * @param string $accept + * @param array $produced + * + * @return ?string + */ + protected function getOutputFormat(string $accept, array $produced): ?string { // Figure out what the client accepts $accept = preg_split("/[\s,]+/", $accept); @@ -196,7 +223,7 @@ class Controller extends AbstractController * * @return bool Returns true if Content-Type supported otherwise false. */ - public static function isContentTypeAllowed(Request $request, array $consumes = []) + public static function isContentTypeAllowed(Request $request, array $consumes = []): bool { if (!empty($consumes) && $consumes[0] !== '*/*') { $currentFormat = $request->getContentType(); diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/PetController.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/PetController.php index 8b1cd18657..66cec11ee3 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/PetController.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/PetController.php @@ -114,6 +114,7 @@ class PetController extends Controller // Make the call to the business logic $responseCode = 200; $responseHeaders = []; + $result = $handler->addPet($pet, $responseCode, $responseHeaders); // Find default response message @@ -140,7 +141,7 @@ class PetController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } @@ -198,7 +199,8 @@ class PetController extends Controller // Make the call to the business logic $responseCode = 204; $responseHeaders = []; - $result = $handler->deletePet($petId, $apiKey, $responseCode, $responseHeaders); + + $handler->deletePet($petId, $apiKey, $responseCode, $responseHeaders); // Find default response message $message = ''; @@ -220,7 +222,7 @@ class PetController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } @@ -286,6 +288,7 @@ class PetController extends Controller // Make the call to the business logic $responseCode = 200; $responseHeaders = []; + $result = $handler->findPetsByStatus($status, $responseCode, $responseHeaders); // Find default response message @@ -312,7 +315,7 @@ class PetController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } @@ -376,6 +379,7 @@ class PetController extends Controller // Make the call to the business logic $responseCode = 200; $responseHeaders = []; + $result = $handler->findPetsByTags($tags, $responseCode, $responseHeaders); // Find default response message @@ -402,7 +406,7 @@ class PetController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } @@ -461,6 +465,7 @@ class PetController extends Controller // Make the call to the business logic $responseCode = 200; $responseHeaders = []; + $result = $handler->getPetById($petId, $responseCode, $responseHeaders); // Find default response message @@ -490,7 +495,7 @@ class PetController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } @@ -559,6 +564,7 @@ class PetController extends Controller // Make the call to the business logic $responseCode = 200; $responseHeaders = []; + $result = $handler->updatePet($pet, $responseCode, $responseHeaders); // Find default response message @@ -591,7 +597,7 @@ class PetController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } @@ -657,7 +663,8 @@ class PetController extends Controller // Make the call to the business logic $responseCode = 204; $responseHeaders = []; - $result = $handler->updatePetWithForm($petId, $name, $status, $responseCode, $responseHeaders); + + $handler->updatePetWithForm($petId, $name, $status, $responseCode, $responseHeaders); // Find default response message $message = ''; @@ -679,7 +686,7 @@ class PetController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } @@ -753,6 +760,7 @@ class PetController extends Controller // Make the call to the business logic $responseCode = 200; $responseHeaders = []; + $result = $handler->uploadFile($petId, $additionalMetadata, $file, $responseCode, $responseHeaders); // Find default response message @@ -776,7 +784,7 @@ class PetController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/StoreController.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/StoreController.php index 7ae4ba95a9..28a894894f 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/StoreController.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/StoreController.php @@ -89,7 +89,8 @@ class StoreController extends Controller // Make the call to the business logic $responseCode = 204; $responseHeaders = []; - $result = $handler->deleteOrder($orderId, $responseCode, $responseHeaders); + + $handler->deleteOrder($orderId, $responseCode, $responseHeaders); // Find default response message $message = ''; @@ -114,7 +115,7 @@ class StoreController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } @@ -159,6 +160,7 @@ class StoreController extends Controller // Make the call to the business logic $responseCode = 200; $responseHeaders = []; + $result = $handler->getInventory($responseCode, $responseHeaders); // Find default response message @@ -182,7 +184,7 @@ class StoreController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } @@ -238,6 +240,7 @@ class StoreController extends Controller // Make the call to the business logic $responseCode = 200; $responseHeaders = []; + $result = $handler->getOrderById($orderId, $responseCode, $responseHeaders); // Find default response message @@ -267,7 +270,7 @@ class StoreController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } @@ -331,6 +334,7 @@ class StoreController extends Controller // Make the call to the business logic $responseCode = 200; $responseHeaders = []; + $result = $handler->placeOrder($order, $responseCode, $responseHeaders); // Find default response message @@ -357,7 +361,7 @@ class StoreController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/UserController.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/UserController.php index ce07da883e..49287cbbe2 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/UserController.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/UserController.php @@ -104,7 +104,8 @@ class UserController extends Controller // Make the call to the business logic $responseCode = 204; $responseHeaders = []; - $result = $handler->createUser($user, $responseCode, $responseHeaders); + + $handler->createUser($user, $responseCode, $responseHeaders); // Find default response message $message = 'successful operation'; @@ -126,7 +127,7 @@ class UserController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } @@ -188,7 +189,8 @@ class UserController extends Controller // Make the call to the business logic $responseCode = 204; $responseHeaders = []; - $result = $handler->createUsersWithArrayInput($user, $responseCode, $responseHeaders); + + $handler->createUsersWithArrayInput($user, $responseCode, $responseHeaders); // Find default response message $message = 'successful operation'; @@ -210,7 +212,7 @@ class UserController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } @@ -272,7 +274,8 @@ class UserController extends Controller // Make the call to the business logic $responseCode = 204; $responseHeaders = []; - $result = $handler->createUsersWithListInput($user, $responseCode, $responseHeaders); + + $handler->createUsersWithListInput($user, $responseCode, $responseHeaders); // Find default response message $message = 'successful operation'; @@ -294,7 +297,7 @@ class UserController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } @@ -344,7 +347,8 @@ class UserController extends Controller // Make the call to the business logic $responseCode = 204; $responseHeaders = []; - $result = $handler->deleteUser($username, $responseCode, $responseHeaders); + + $handler->deleteUser($username, $responseCode, $responseHeaders); // Find default response message $message = ''; @@ -369,7 +373,7 @@ class UserController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } @@ -423,6 +427,7 @@ class UserController extends Controller // Make the call to the business logic $responseCode = 200; $responseHeaders = []; + $result = $handler->getUserByName($username, $responseCode, $responseHeaders); // Find default response message @@ -452,7 +457,7 @@ class UserController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } @@ -517,6 +522,7 @@ class UserController extends Controller // Make the call to the business logic $responseCode = 200; $responseHeaders = []; + $result = $handler->loginUser($username, $password, $responseCode, $responseHeaders); // Find default response message @@ -543,7 +549,7 @@ class UserController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } @@ -579,7 +585,8 @@ class UserController extends Controller // Make the call to the business logic $responseCode = 204; $responseHeaders = []; - $result = $handler->logoutUser($responseCode, $responseHeaders); + + $handler->logoutUser($responseCode, $responseHeaders); // Find default response message $message = 'successful operation'; @@ -601,7 +608,7 @@ class UserController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } @@ -669,7 +676,8 @@ class UserController extends Controller // Make the call to the business logic $responseCode = 204; $responseHeaders = []; - $result = $handler->updateUser($username, $user, $responseCode, $responseHeaders); + + $handler->updateUser($username, $user, $responseCode, $responseHeaders); // Find default response message $message = ''; @@ -694,7 +702,7 @@ class UserController extends Controller ] ) ); - } catch (Exception $fallthrough) { + } catch (\Throwable $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/DependencyInjection/OpenAPIServerExtension.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/DependencyInjection/OpenAPIServerExtension.php index beb42649c2..02bd9b82fc 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/DependencyInjection/OpenAPIServerExtension.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/DependencyInjection/OpenAPIServerExtension.php @@ -44,7 +44,7 @@ use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; */ class OpenAPIServerExtension extends Extension { - public function load(array $configs, ContainerBuilder $container) + public function load(array $configs, ContainerBuilder $container): void { $loader = new YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); $loader->load('services.yml'); diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/ApiResponse.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/ApiResponse.php index f16d72ad38..174fd7969e 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/ApiResponse.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/ApiResponse.php @@ -49,7 +49,7 @@ class ApiResponse * @Assert\Type("int") * @Type("int") */ - protected $code; + protected ?int $code = null; /** * @var string|null @@ -57,7 +57,7 @@ class ApiResponse * @Assert\Type("string") * @Type("string") */ - protected $type; + protected ?string $type = null; /** * @var string|null @@ -65,17 +65,17 @@ class ApiResponse * @Assert\Type("string") * @Type("string") */ - protected $message; + protected ?string $message = null; /** * Constructor - * @param mixed[] $data Associated array of property values initializing the model + * @param array|null $data Associated array of property values initializing the model */ public function __construct(array $data = null) { - $this->code = isset($data['code']) ? $data['code'] : null; - $this->type = isset($data['type']) ? $data['type'] : null; - $this->message = isset($data['message']) ? $data['message'] : null; + $this->code = $data['code'] ?? null; + $this->type = $data['type'] ?? null; + $this->message = $data['message'] ?? null; } /** @@ -83,7 +83,7 @@ class ApiResponse * * @return int|null */ - public function getCode() + public function getCode(): ?int { return $this->code; } @@ -95,7 +95,7 @@ class ApiResponse * * @return $this */ - public function setCode($code = null) + public function setCode(?int $code = null): self { $this->code = $code; @@ -107,7 +107,7 @@ class ApiResponse * * @return string|null */ - public function getType() + public function getType(): ?string { return $this->type; } @@ -119,7 +119,7 @@ class ApiResponse * * @return $this */ - public function setType($type = null) + public function setType(?string $type = null): self { $this->type = $type; @@ -131,7 +131,7 @@ class ApiResponse * * @return string|null */ - public function getMessage() + public function getMessage(): ?string { return $this->message; } @@ -143,7 +143,7 @@ class ApiResponse * * @return $this */ - public function setMessage($message = null) + public function setMessage(?string $message = null): self { $this->message = $message; diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Category.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Category.php index f28e356b38..0175e84a1b 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Category.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Category.php @@ -49,7 +49,7 @@ class Category * @Assert\Type("int") * @Type("int") */ - protected $id; + protected ?int $id = null; /** * @var string|null @@ -58,16 +58,16 @@ class Category * @Type("string") * @Assert\Regex("/^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$/") */ - protected $name; + protected ?string $name = null; /** * Constructor - * @param mixed[] $data Associated array of property values initializing the model + * @param array|null $data Associated array of property values initializing the model */ public function __construct(array $data = null) { - $this->id = isset($data['id']) ? $data['id'] : null; - $this->name = isset($data['name']) ? $data['name'] : null; + $this->id = $data['id'] ?? null; + $this->name = $data['name'] ?? null; } /** @@ -75,7 +75,7 @@ class Category * * @return int|null */ - public function getId() + public function getId(): ?int { return $this->id; } @@ -87,7 +87,7 @@ class Category * * @return $this */ - public function setId($id = null) + public function setId(?int $id = null): self { $this->id = $id; @@ -99,7 +99,7 @@ class Category * * @return string|null */ - public function getName() + public function getName(): ?string { return $this->name; } @@ -111,7 +111,7 @@ class Category * * @return $this */ - public function setName($name = null) + public function setName(?string $name = null): self { $this->name = $name; diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Order.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Order.php index 7a6c985ae8..9ebeb0a1f5 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Order.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Order.php @@ -49,7 +49,7 @@ class Order * @Assert\Type("int") * @Type("int") */ - protected $id; + protected ?int $id = null; /** * @var int|null @@ -57,7 +57,7 @@ class Order * @Assert\Type("int") * @Type("int") */ - protected $petId; + protected ?int $petId = null; /** * @var int|null @@ -65,7 +65,7 @@ class Order * @Assert\Type("int") * @Type("int") */ - protected $quantity; + protected ?int $quantity = null; /** * @var \DateTime|null @@ -73,7 +73,7 @@ class Order * @Assert\DateTime() * @Type("DateTime") */ - protected $shipDate; + protected ?\DateTime $shipDate = null; /** * Order Status @@ -84,7 +84,7 @@ class Order * @Assert\Type("string") * @Type("string") */ - protected $status; + protected ?string $status = null; /** * @var bool|null @@ -92,20 +92,20 @@ class Order * @Assert\Type("bool") * @Type("bool") */ - protected $complete; + protected ?bool $complete = null; /** * Constructor - * @param mixed[] $data Associated array of property values initializing the model + * @param array|null $data Associated array of property values initializing the model */ public function __construct(array $data = null) { - $this->id = isset($data['id']) ? $data['id'] : null; - $this->petId = isset($data['petId']) ? $data['petId'] : null; - $this->quantity = isset($data['quantity']) ? $data['quantity'] : null; - $this->shipDate = isset($data['shipDate']) ? $data['shipDate'] : null; - $this->status = isset($data['status']) ? $data['status'] : null; - $this->complete = isset($data['complete']) ? $data['complete'] : false; + $this->id = $data['id'] ?? null; + $this->petId = $data['petId'] ?? null; + $this->quantity = $data['quantity'] ?? null; + $this->shipDate = $data['shipDate'] ?? null; + $this->status = $data['status'] ?? null; + $this->complete = $data['complete'] ?? null; } /** @@ -113,7 +113,7 @@ class Order * * @return int|null */ - public function getId() + public function getId(): ?int { return $this->id; } @@ -125,7 +125,7 @@ class Order * * @return $this */ - public function setId($id = null) + public function setId(?int $id = null): self { $this->id = $id; @@ -137,7 +137,7 @@ class Order * * @return int|null */ - public function getPetId() + public function getPetId(): ?int { return $this->petId; } @@ -149,7 +149,7 @@ class Order * * @return $this */ - public function setPetId($petId = null) + public function setPetId(?int $petId = null): self { $this->petId = $petId; @@ -161,7 +161,7 @@ class Order * * @return int|null */ - public function getQuantity() + public function getQuantity(): ?int { return $this->quantity; } @@ -173,7 +173,7 @@ class Order * * @return $this */ - public function setQuantity($quantity = null) + public function setQuantity(?int $quantity = null): self { $this->quantity = $quantity; @@ -197,7 +197,7 @@ class Order * * @return $this */ - public function setShipDate(\DateTime $shipDate = null) + public function setShipDate(?\DateTime $shipDate = null): self { $this->shipDate = $shipDate; @@ -209,7 +209,7 @@ class Order * * @return string|null */ - public function getStatus() + public function getStatus(): ?string { return $this->status; } @@ -221,7 +221,7 @@ class Order * * @return $this */ - public function setStatus($status = null) + public function setStatus(?string $status = null): self { $this->status = $status; @@ -233,7 +233,7 @@ class Order * * @return bool|null */ - public function isComplete() + public function isComplete(): ?bool { return $this->complete; } @@ -245,7 +245,7 @@ class Order * * @return $this */ - public function setComplete($complete = null) + public function setComplete(?bool $complete = null): self { $this->complete = $complete; diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Pet.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Pet.php index f0375444f5..3e3aa07a68 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Pet.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Pet.php @@ -49,27 +49,27 @@ class Pet * @Assert\Type("int") * @Type("int") */ - protected $id; + protected ?int $id = null; /** - * @var OpenAPI\Server\Model\Category|null + * @var Category|null * @SerializedName("category") * @Assert\Type("OpenAPI\Server\Model\Category") * @Type("OpenAPI\Server\Model\Category") */ - protected $category; + protected ?Category $category = null; /** - * @var string + * @var string|null * @SerializedName("name") * @Assert\NotNull() * @Assert\Type("string") * @Type("string") */ - protected $name; + protected ?string $name = null; /** - * @var string[] + * @var array|null * @SerializedName("photoUrls") * @Assert\NotNull() * @Assert\All({ @@ -77,17 +77,17 @@ class Pet * }) * @Type("array") */ - protected $photoUrls; + protected ?array $photoUrls = null; /** - * @var OpenAPI\Server\Model\Tag[]|null + * @var array|null * @SerializedName("tags") * @Assert\All({ * @Assert\Type("OpenAPI\Server\Model\Tag") * }) * @Type("array") */ - protected $tags; + protected ?array $tags = null; /** * pet status in the store @@ -98,20 +98,20 @@ class Pet * @Assert\Type("string") * @Type("string") */ - protected $status; + protected ?string $status = null; /** * Constructor - * @param mixed[] $data Associated array of property values initializing the model + * @param array|null $data Associated array of property values initializing the model */ public function __construct(array $data = null) { - $this->id = isset($data['id']) ? $data['id'] : null; - $this->category = isset($data['category']) ? $data['category'] : null; - $this->name = isset($data['name']) ? $data['name'] : null; - $this->photoUrls = isset($data['photoUrls']) ? $data['photoUrls'] : null; - $this->tags = isset($data['tags']) ? $data['tags'] : null; - $this->status = isset($data['status']) ? $data['status'] : null; + $this->id = $data['id'] ?? null; + $this->category = $data['category'] ?? null; + $this->name = $data['name'] ?? null; + $this->photoUrls = $data['photoUrls'] ?? null; + $this->tags = $data['tags'] ?? null; + $this->status = $data['status'] ?? null; } /** @@ -119,7 +119,7 @@ class Pet * * @return int|null */ - public function getId() + public function getId(): ?int { return $this->id; } @@ -131,7 +131,7 @@ class Pet * * @return $this */ - public function setId($id = null) + public function setId(?int $id = null): self { $this->id = $id; @@ -141,7 +141,7 @@ class Pet /** * Gets category. * - * @return OpenAPI\Server\Model\Category|null + * @return Category|null */ public function getCategory(): ?Category { @@ -151,11 +151,11 @@ class Pet /** * Sets category. * - * @param OpenAPI\Server\Model\Category|null $category + * @param Category|null $category * * @return $this */ - public function setCategory(Category $category = null) + public function setCategory(?Category $category = null): self { $this->category = $category; @@ -165,9 +165,9 @@ class Pet /** * Gets name. * - * @return string + * @return string|null */ - public function getName() + public function getName(): ?string { return $this->name; } @@ -175,11 +175,11 @@ class Pet /** * Sets name. * - * @param string $name + * @param string|null $name * * @return $this */ - public function setName($name) + public function setName(?string $name): self { $this->name = $name; @@ -189,9 +189,9 @@ class Pet /** * Gets photoUrls. * - * @return string[] + * @return array|null */ - public function getPhotoUrls(): array + public function getPhotoUrls(): ?array { return $this->photoUrls; } @@ -199,11 +199,11 @@ class Pet /** * Sets photoUrls. * - * @param string[] $photoUrls + * @param array|null $photoUrls * * @return $this */ - public function setPhotoUrls(array $photoUrls) + public function setPhotoUrls(?array $photoUrls): self { $this->photoUrls = $photoUrls; @@ -213,7 +213,7 @@ class Pet /** * Gets tags. * - * @return OpenAPI\Server\Model\Tag[]|null + * @return array|null */ public function getTags(): ?array { @@ -223,11 +223,11 @@ class Pet /** * Sets tags. * - * @param OpenAPI\Server\Model\Tag[]|null $tags + * @param array|null $tags * * @return $this */ - public function setTags(array $tags = null) + public function setTags(?array $tags = null): self { $this->tags = $tags; @@ -239,7 +239,7 @@ class Pet * * @return string|null */ - public function getStatus() + public function getStatus(): ?string { return $this->status; } @@ -251,7 +251,7 @@ class Pet * * @return $this */ - public function setStatus($status = null) + public function setStatus(?string $status = null): self { $this->status = $status; diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Tag.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Tag.php index e07427b145..fb60b40200 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Tag.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Tag.php @@ -49,7 +49,7 @@ class Tag * @Assert\Type("int") * @Type("int") */ - protected $id; + protected ?int $id = null; /** * @var string|null @@ -57,16 +57,16 @@ class Tag * @Assert\Type("string") * @Type("string") */ - protected $name; + protected ?string $name = null; /** * Constructor - * @param mixed[] $data Associated array of property values initializing the model + * @param array|null $data Associated array of property values initializing the model */ public function __construct(array $data = null) { - $this->id = isset($data['id']) ? $data['id'] : null; - $this->name = isset($data['name']) ? $data['name'] : null; + $this->id = $data['id'] ?? null; + $this->name = $data['name'] ?? null; } /** @@ -74,7 +74,7 @@ class Tag * * @return int|null */ - public function getId() + public function getId(): ?int { return $this->id; } @@ -86,7 +86,7 @@ class Tag * * @return $this */ - public function setId($id = null) + public function setId(?int $id = null): self { $this->id = $id; @@ -98,7 +98,7 @@ class Tag * * @return string|null */ - public function getName() + public function getName(): ?string { return $this->name; } @@ -110,7 +110,7 @@ class Tag * * @return $this */ - public function setName($name = null) + public function setName(?string $name = null): self { $this->name = $name; diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/User.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/User.php index 4fab9c98f4..8765a4e389 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/User.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/User.php @@ -49,7 +49,7 @@ class User * @Assert\Type("int") * @Type("int") */ - protected $id; + protected ?int $id = null; /** * @var string|null @@ -57,7 +57,7 @@ class User * @Assert\Type("string") * @Type("string") */ - protected $username; + protected ?string $username = null; /** * @var string|null @@ -65,7 +65,7 @@ class User * @Assert\Type("string") * @Type("string") */ - protected $firstName; + protected ?string $firstName = null; /** * @var string|null @@ -73,7 +73,7 @@ class User * @Assert\Type("string") * @Type("string") */ - protected $lastName; + protected ?string $lastName = null; /** * @var string|null @@ -81,7 +81,7 @@ class User * @Assert\Type("string") * @Type("string") */ - protected $email; + protected ?string $email = null; /** * @var string|null @@ -89,7 +89,7 @@ class User * @Assert\Type("string") * @Type("string") */ - protected $password; + protected ?string $password = null; /** * @var string|null @@ -97,7 +97,7 @@ class User * @Assert\Type("string") * @Type("string") */ - protected $phone; + protected ?string $phone = null; /** * User Status @@ -107,22 +107,22 @@ class User * @Assert\Type("int") * @Type("int") */ - protected $userStatus; + protected ?int $userStatus = null; /** * Constructor - * @param mixed[] $data Associated array of property values initializing the model + * @param array|null $data Associated array of property values initializing the model */ public function __construct(array $data = null) { - $this->id = isset($data['id']) ? $data['id'] : null; - $this->username = isset($data['username']) ? $data['username'] : null; - $this->firstName = isset($data['firstName']) ? $data['firstName'] : null; - $this->lastName = isset($data['lastName']) ? $data['lastName'] : null; - $this->email = isset($data['email']) ? $data['email'] : null; - $this->password = isset($data['password']) ? $data['password'] : null; - $this->phone = isset($data['phone']) ? $data['phone'] : null; - $this->userStatus = isset($data['userStatus']) ? $data['userStatus'] : null; + $this->id = $data['id'] ?? null; + $this->username = $data['username'] ?? null; + $this->firstName = $data['firstName'] ?? null; + $this->lastName = $data['lastName'] ?? null; + $this->email = $data['email'] ?? null; + $this->password = $data['password'] ?? null; + $this->phone = $data['phone'] ?? null; + $this->userStatus = $data['userStatus'] ?? null; } /** @@ -130,7 +130,7 @@ class User * * @return int|null */ - public function getId() + public function getId(): ?int { return $this->id; } @@ -142,7 +142,7 @@ class User * * @return $this */ - public function setId($id = null) + public function setId(?int $id = null): self { $this->id = $id; @@ -154,7 +154,7 @@ class User * * @return string|null */ - public function getUsername() + public function getUsername(): ?string { return $this->username; } @@ -166,7 +166,7 @@ class User * * @return $this */ - public function setUsername($username = null) + public function setUsername(?string $username = null): self { $this->username = $username; @@ -178,7 +178,7 @@ class User * * @return string|null */ - public function getFirstName() + public function getFirstName(): ?string { return $this->firstName; } @@ -190,7 +190,7 @@ class User * * @return $this */ - public function setFirstName($firstName = null) + public function setFirstName(?string $firstName = null): self { $this->firstName = $firstName; @@ -202,7 +202,7 @@ class User * * @return string|null */ - public function getLastName() + public function getLastName(): ?string { return $this->lastName; } @@ -214,7 +214,7 @@ class User * * @return $this */ - public function setLastName($lastName = null) + public function setLastName(?string $lastName = null): self { $this->lastName = $lastName; @@ -226,7 +226,7 @@ class User * * @return string|null */ - public function getEmail() + public function getEmail(): ?string { return $this->email; } @@ -238,7 +238,7 @@ class User * * @return $this */ - public function setEmail($email = null) + public function setEmail(?string $email = null): self { $this->email = $email; @@ -250,7 +250,7 @@ class User * * @return string|null */ - public function getPassword() + public function getPassword(): ?string { return $this->password; } @@ -262,7 +262,7 @@ class User * * @return $this */ - public function setPassword($password = null) + public function setPassword(?string $password = null): self { $this->password = $password; @@ -274,7 +274,7 @@ class User * * @return string|null */ - public function getPhone() + public function getPhone(): ?string { return $this->phone; } @@ -286,7 +286,7 @@ class User * * @return $this */ - public function setPhone($phone = null) + public function setPhone(?string $phone = null): self { $this->phone = $phone; @@ -298,7 +298,7 @@ class User * * @return int|null */ - public function getUserStatus() + public function getUserStatus(): ?int { return $this->userStatus; } @@ -310,7 +310,7 @@ class User * * @return $this */ - public function setUserStatus($userStatus = null) + public function setUserStatus(?int $userStatus = null): self { $this->userStatus = $userStatus; diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/README.md b/samples/server/petstore/php-symfony/SymfonyBundle-php/README.md index c39149e71d..c89ec4ed4f 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/README.md +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/README.md @@ -87,7 +87,7 @@ class PetApi implements PetApiInterface // An interface is autogenerated /** * Implementation of PetApiInterface#addPet */ - public function addPet(Pet $pet, &$responseCode, array &$responseHeaders): array|\OpenAPI\Server\Model\Pet + public function addPet(Pet $pet, int &$responseCode, array &$responseHeaders): array|object|null { // Implement the operation ... } diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Resources/docs/Api/PetApiInterface.md b/samples/server/petstore/php-symfony/SymfonyBundle-php/Resources/docs/Api/PetApiInterface.md index a3e606ce33..7b690ea767 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Resources/docs/Api/PetApiInterface.md +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Resources/docs/Api/PetApiInterface.md @@ -57,7 +57,7 @@ class PetApi implements PetApiInterface /** * Implementation of PetApiInterface#addPet */ - public function addPet(Pet $pet, &$responseCode, array &$responseHeaders): array|\OpenAPI\Server\Model\Pet + public function addPet(Pet $pet, int &$responseCode, array &$responseHeaders): array|object|null { // Implement the operation ... } @@ -119,7 +119,7 @@ class PetApi implements PetApiInterface /** * Implementation of PetApiInterface#deletePet */ - public function deletePet($petId, $apiKey = null, &$responseCode, array &$responseHeaders): void + public function deletePet(int $petId, ?string $apiKey, int &$responseCode, array &$responseHeaders): void { // Implement the operation ... } @@ -182,7 +182,7 @@ class PetApi implements PetApiInterface /** * Implementation of PetApiInterface#findPetsByStatus */ - public function findPetsByStatus(array $status, &$responseCode, array &$responseHeaders): iterable + public function findPetsByStatus(array $status, int &$responseCode, array &$responseHeaders): array|object|null { // Implement the operation ... } @@ -244,7 +244,7 @@ class PetApi implements PetApiInterface /** * Implementation of PetApiInterface#findPetsByTags */ - public function findPetsByTags(array $tags, &$responseCode, array &$responseHeaders): iterable + public function findPetsByTags(array $tags, int &$responseCode, array &$responseHeaders): array|object|null { // Implement the operation ... } @@ -306,7 +306,7 @@ class PetApi implements PetApiInterface /** * Implementation of PetApiInterface#getPetById */ - public function getPetById($petId, &$responseCode, array &$responseHeaders): array|\OpenAPI\Server\Model\Pet + public function getPetById(int $petId, int &$responseCode, array &$responseHeaders): array|object|null { // Implement the operation ... } @@ -368,7 +368,7 @@ class PetApi implements PetApiInterface /** * Implementation of PetApiInterface#updatePet */ - public function updatePet(Pet $pet, &$responseCode, array &$responseHeaders): array|\OpenAPI\Server\Model\Pet + public function updatePet(Pet $pet, int &$responseCode, array &$responseHeaders): array|object|null { // Implement the operation ... } @@ -430,7 +430,7 @@ class PetApi implements PetApiInterface /** * Implementation of PetApiInterface#updatePetWithForm */ - public function updatePetWithForm($petId, $name = null, $status = null, &$responseCode, array &$responseHeaders): void + public function updatePetWithForm(int $petId, ?string $name, ?string $status, int &$responseCode, array &$responseHeaders): void { // Implement the operation ... } @@ -494,7 +494,7 @@ class PetApi implements PetApiInterface /** * Implementation of PetApiInterface#uploadFile */ - public function uploadFile($petId, $additionalMetadata = null, UploadedFile $file = null, &$responseCode, array &$responseHeaders): array|\OpenAPI\Server\Model\ApiResponse + public function uploadFile(int $petId, ?string $additionalMetadata, ?UploadedFile $file, int &$responseCode, array &$responseHeaders): array|object|null { // Implement the operation ... } diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Resources/docs/Api/StoreApiInterface.md b/samples/server/petstore/php-symfony/SymfonyBundle-php/Resources/docs/Api/StoreApiInterface.md index d721b46d6c..f7c5893d0d 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Resources/docs/Api/StoreApiInterface.md +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Resources/docs/Api/StoreApiInterface.md @@ -45,7 +45,7 @@ class StoreApi implements StoreApiInterface /** * Implementation of StoreApiInterface#deleteOrder */ - public function deleteOrder($orderId, &$responseCode, array &$responseHeaders): void + public function deleteOrder(string $orderId, int &$responseCode, array &$responseHeaders): void { // Implement the operation ... } @@ -107,7 +107,7 @@ class StoreApi implements StoreApiInterface /** * Implementation of StoreApiInterface#getInventory */ - public function getInventory(, &$responseCode, array &$responseHeaders): array|\int + public function getInventory(int &$responseCode, array &$responseHeaders): array|object|null { // Implement the operation ... } @@ -158,7 +158,7 @@ class StoreApi implements StoreApiInterface /** * Implementation of StoreApiInterface#getOrderById */ - public function getOrderById($orderId, &$responseCode, array &$responseHeaders): array|\OpenAPI\Server\Model\Order + public function getOrderById(int $orderId, int &$responseCode, array &$responseHeaders): array|object|null { // Implement the operation ... } @@ -212,7 +212,7 @@ class StoreApi implements StoreApiInterface /** * Implementation of StoreApiInterface#placeOrder */ - public function placeOrder(Order $order, &$responseCode, array &$responseHeaders): array|\OpenAPI\Server\Model\Order + public function placeOrder(Order $order, int &$responseCode, array &$responseHeaders): array|object|null { // Implement the operation ... } diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Resources/docs/Api/UserApiInterface.md b/samples/server/petstore/php-symfony/SymfonyBundle-php/Resources/docs/Api/UserApiInterface.md index 2ec5e01121..24eb29aa6b 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Resources/docs/Api/UserApiInterface.md +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Resources/docs/Api/UserApiInterface.md @@ -57,7 +57,7 @@ class UserApi implements UserApiInterface /** * Implementation of UserApiInterface#createUser */ - public function createUser(User $user, &$responseCode, array &$responseHeaders): void + public function createUser(User $user, int &$responseCode, array &$responseHeaders): void { // Implement the operation ... } @@ -119,7 +119,7 @@ class UserApi implements UserApiInterface /** * Implementation of UserApiInterface#createUsersWithArrayInput */ - public function createUsersWithArrayInput(array $user, &$responseCode, array &$responseHeaders): void + public function createUsersWithArrayInput(array $user, int &$responseCode, array &$responseHeaders): void { // Implement the operation ... } @@ -181,7 +181,7 @@ class UserApi implements UserApiInterface /** * Implementation of UserApiInterface#createUsersWithListInput */ - public function createUsersWithListInput(array $user, &$responseCode, array &$responseHeaders): void + public function createUsersWithListInput(array $user, int &$responseCode, array &$responseHeaders): void { // Implement the operation ... } @@ -243,7 +243,7 @@ class UserApi implements UserApiInterface /** * Implementation of UserApiInterface#deleteUser */ - public function deleteUser($username, &$responseCode, array &$responseHeaders): void + public function deleteUser(string $username, int &$responseCode, array &$responseHeaders): void { // Implement the operation ... } @@ -297,7 +297,7 @@ class UserApi implements UserApiInterface /** * Implementation of UserApiInterface#getUserByName */ - public function getUserByName($username, &$responseCode, array &$responseHeaders): array|\OpenAPI\Server\Model\User + public function getUserByName(string $username, int &$responseCode, array &$responseHeaders): array|object|null { // Implement the operation ... } @@ -351,7 +351,7 @@ class UserApi implements UserApiInterface /** * Implementation of UserApiInterface#loginUser */ - public function loginUser($username, $password, &$responseCode, array &$responseHeaders): array|\string + public function loginUser(string $username, string $password, int &$responseCode, array &$responseHeaders): array|object|null { // Implement the operation ... } @@ -414,7 +414,7 @@ class UserApi implements UserApiInterface /** * Implementation of UserApiInterface#logoutUser */ - public function logoutUser(, &$responseCode, array &$responseHeaders): void + public function logoutUser(int &$responseCode, array &$responseHeaders): void { // Implement the operation ... } @@ -473,7 +473,7 @@ class UserApi implements UserApiInterface /** * Implementation of UserApiInterface#updateUser */ - public function updateUser($username, User $user, &$responseCode, array &$responseHeaders): void + public function updateUser(string $username, User $user, int &$responseCode, array &$responseHeaders): void { // Implement the operation ... } diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/JmsSerializer.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/JmsSerializer.php index 8d301b5bba..2beafc6fa2 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/JmsSerializer.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/JmsSerializer.php @@ -5,13 +5,14 @@ namespace OpenAPI\Server\Service; use JMS\Serializer\SerializerBuilder; use JMS\Serializer\Naming\CamelCaseNamingStrategy; use JMS\Serializer\Naming\SerializedNameAnnotationStrategy; +use JMS\Serializer\Serializer; use JMS\Serializer\Visitor\Factory\XmlDeserializationVisitorFactory; use DateTime; use RuntimeException; class JmsSerializer implements SerializerInterface { - protected $serializer; + protected Serializer $serializer; public function __construct() { @@ -23,12 +24,18 @@ class JmsSerializer implements SerializerInterface ->build(); } - public function serialize($data, $format) + /** + * @inheritdoc + */ + public function serialize($data, string $format): string { return SerializerBuilder::create()->build()->serialize($data, $this->convertFormat($format)); } - public function deserialize($data, $type, $format) + /** + * @inheritdoc + */ + public function deserialize($data, string $type, string $format) { if ($format == 'string') { return $this->deserializeString($data, $type); @@ -38,7 +45,7 @@ class JmsSerializer implements SerializerInterface return $this->serializer->deserialize($data, $type, $this->convertFormat($format)); } - private function convertFormat($format) + private function convertFormat(string $format): ?string { switch ($format) { case 'application/json': @@ -50,7 +57,7 @@ class JmsSerializer implements SerializerInterface return null; } - private function deserializeString($data, $type) + private function deserializeString($data, string $type) { // Figure out if we have an array format if (1 === preg_match('/array<(csv|ssv|tsv|pipes),(int|string)>/i', $type, $matches)) { @@ -73,6 +80,10 @@ class JmsSerializer implements SerializerInterface break; case 'boolean': case 'bool': + if (is_bool($data)) { + return $data; + } + if (strtolower($data) === 'true') { return true; } @@ -93,10 +104,9 @@ class JmsSerializer implements SerializerInterface return $data; } - private function deserializeArrayString($format, $type, $data) + private function deserializeArrayString(string $format, string $type, $data): array { - if($data === null) - { + if (empty($data)) { return []; } diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/SerializerInterface.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/SerializerInterface.php index 40ef08f44c..5f6b18b599 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/SerializerInterface.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/SerializerInterface.php @@ -12,16 +12,16 @@ interface SerializerInterface * * @return string */ - public function serialize($data, $format); + public function serialize($data, string $format): string; /** * Deserializes the given data to the specified type. * - * @param string $data + * @param mixed $data * @param string $type * @param string $format * * @return object|array|scalar */ - public function deserialize($data, $type, $format); + public function deserialize($data, string $type, string $format); } diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/SymfonyValidator.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/SymfonyValidator.php index 87d4f07791..6c1c56860a 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/SymfonyValidator.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/SymfonyValidator.php @@ -6,7 +6,7 @@ use Symfony\Component\Validator\Validator\ValidatorInterface as SymfonyValidator class SymfonyValidator implements ValidatorInterface { - protected $validator; + protected SymfonyValidatorInterface $validator; public function __construct(SymfonyValidatorInterface $validator) { diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/ValidatorInterface.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/ValidatorInterface.php index dea5418473..858b1280fd 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/ValidatorInterface.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Service/ValidatorInterface.php @@ -2,6 +2,9 @@ namespace OpenAPI\Server\Service; +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\ConstraintViolationListInterface; + interface ValidatorInterface { /** diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Api/PetApiInterfaceTest.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Api/PetApiInterfaceTest.php index f8fe90512b..98d735524b 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Api/PetApiInterfaceTest.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Api/PetApiInterfaceTest.php @@ -28,10 +28,6 @@ namespace OpenAPI\Server\Tests\Api; -use OpenAPI\Server\Configuration; -use OpenAPI\Server\ApiClient; -use OpenAPI\Server\ApiException; -use OpenAPI\Server\ObjectSerializer; use Symfony\Bundle\FrameworkBundle\KernelBrowser; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; @@ -42,6 +38,7 @@ use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; * @package OpenAPI\Server\Tests\Api * @author openapi-generator contributors * @link https://github.com/openapitools/openapi-generator + * @coversDefaultClass \OpenAPI\Server\Api\PetApiInterface */ class PetApiInterfaceTest extends WebTestCase { @@ -85,13 +82,14 @@ class PetApiInterfaceTest extends WebTestCase * Add a new pet to the store. * */ - public function testAddPet() + public function testAddPet(): void { $client = self::$client; $path = '/pet'; $crawler = $client->request('POST', $path, [], [], ['CONTENT_TYPE' => 'application/json']); + $this->markTestSkipped('Test for addPet not implemented'); } /** @@ -100,7 +98,7 @@ class PetApiInterfaceTest extends WebTestCase * Deletes a pet. * */ - public function testDeletePet() + public function testDeletePet(): void { $client = self::$client; @@ -110,6 +108,7 @@ class PetApiInterfaceTest extends WebTestCase $path = str_replace($pattern, $data, $path); $crawler = $client->request('DELETE', $path); + $this->markTestSkipped('Test for deletePet not implemented'); } /** @@ -118,13 +117,14 @@ class PetApiInterfaceTest extends WebTestCase * Finds Pets by status. * */ - public function testFindPetsByStatus() + public function testFindPetsByStatus(): void { $client = self::$client; $path = '/pet/findByStatus'; $crawler = $client->request('GET', $path); + $this->markTestSkipped('Test for findPetsByStatus not implemented'); } /** @@ -133,13 +133,14 @@ class PetApiInterfaceTest extends WebTestCase * Finds Pets by tags. * */ - public function testFindPetsByTags() + public function testFindPetsByTags(): void { $client = self::$client; $path = '/pet/findByTags'; $crawler = $client->request('GET', $path); + $this->markTestSkipped('Test for findPetsByTags not implemented'); } /** @@ -148,7 +149,7 @@ class PetApiInterfaceTest extends WebTestCase * Find pet by ID. * */ - public function testGetPetById() + public function testGetPetById(): void { $client = self::$client; @@ -158,6 +159,7 @@ class PetApiInterfaceTest extends WebTestCase $path = str_replace($pattern, $data, $path); $crawler = $client->request('GET', $path); + $this->markTestSkipped('Test for getPetById not implemented'); } /** @@ -166,13 +168,14 @@ class PetApiInterfaceTest extends WebTestCase * Update an existing pet. * */ - public function testUpdatePet() + public function testUpdatePet(): void { $client = self::$client; $path = '/pet'; $crawler = $client->request('PUT', $path, [], [], ['CONTENT_TYPE' => 'application/json']); + $this->markTestSkipped('Test for updatePet not implemented'); } /** @@ -181,7 +184,7 @@ class PetApiInterfaceTest extends WebTestCase * Updates a pet in the store with form data. * */ - public function testUpdatePetWithForm() + public function testUpdatePetWithForm(): void { $client = self::$client; @@ -191,6 +194,7 @@ class PetApiInterfaceTest extends WebTestCase $path = str_replace($pattern, $data, $path); $crawler = $client->request('POST', $path); + $this->markTestSkipped('Test for updatePetWithForm not implemented'); } /** @@ -199,7 +203,7 @@ class PetApiInterfaceTest extends WebTestCase * uploads an image. * */ - public function testUploadFile() + public function testUploadFile(): void { $client = self::$client; @@ -209,13 +213,18 @@ class PetApiInterfaceTest extends WebTestCase $path = str_replace($pattern, $data, $path); $crawler = $client->request('POST', $path); + $this->markTestSkipped('Test for uploadFile not implemented'); } - protected function genTestData($regexp) + /** + * @param string $regexp + * @return mixed + */ + protected function genTestData(string $regexp) { - $grammar = new \Hoa\File\Read('hoa://Library/Regex/Grammar.pp'); + $grammar = new \Hoa\File\Read('hoa://Library/Regex/Grammar.pp'); $compiler = \Hoa\Compiler\Llk\Llk::load($grammar); - $ast = $compiler->parse($regexp); + $ast = $compiler->parse($regexp); $generator = new \Hoa\Regex\Visitor\Isotropic(new \Hoa\Math\Sampler\Random()); return $generator->visit($ast); diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Api/StoreApiInterfaceTest.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Api/StoreApiInterfaceTest.php index 2acfddb51e..928160a944 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Api/StoreApiInterfaceTest.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Api/StoreApiInterfaceTest.php @@ -28,10 +28,6 @@ namespace OpenAPI\Server\Tests\Api; -use OpenAPI\Server\Configuration; -use OpenAPI\Server\ApiClient; -use OpenAPI\Server\ApiException; -use OpenAPI\Server\ObjectSerializer; use Symfony\Bundle\FrameworkBundle\KernelBrowser; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; @@ -42,6 +38,7 @@ use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; * @package OpenAPI\Server\Tests\Api * @author openapi-generator contributors * @link https://github.com/openapitools/openapi-generator + * @coversDefaultClass \OpenAPI\Server\Api\StoreApiInterface */ class StoreApiInterfaceTest extends WebTestCase { @@ -85,7 +82,7 @@ class StoreApiInterfaceTest extends WebTestCase * Delete purchase order by ID. * */ - public function testDeleteOrder() + public function testDeleteOrder(): void { $client = self::$client; @@ -95,6 +92,7 @@ class StoreApiInterfaceTest extends WebTestCase $path = str_replace($pattern, $data, $path); $crawler = $client->request('DELETE', $path); + $this->markTestSkipped('Test for deleteOrder not implemented'); } /** @@ -103,13 +101,14 @@ class StoreApiInterfaceTest extends WebTestCase * Returns pet inventories by status. * */ - public function testGetInventory() + public function testGetInventory(): void { $client = self::$client; $path = '/store/inventory'; $crawler = $client->request('GET', $path); + $this->markTestSkipped('Test for getInventory not implemented'); } /** @@ -118,7 +117,7 @@ class StoreApiInterfaceTest extends WebTestCase * Find purchase order by ID. * */ - public function testGetOrderById() + public function testGetOrderById(): void { $client = self::$client; @@ -128,6 +127,7 @@ class StoreApiInterfaceTest extends WebTestCase $path = str_replace($pattern, $data, $path); $crawler = $client->request('GET', $path); + $this->markTestSkipped('Test for getOrderById not implemented'); } /** @@ -136,20 +136,25 @@ class StoreApiInterfaceTest extends WebTestCase * Place an order for a pet. * */ - public function testPlaceOrder() + public function testPlaceOrder(): void { $client = self::$client; $path = '/store/order'; $crawler = $client->request('POST', $path, [], [], ['CONTENT_TYPE' => 'application/json']); + $this->markTestSkipped('Test for placeOrder not implemented'); } - protected function genTestData($regexp) + /** + * @param string $regexp + * @return mixed + */ + protected function genTestData(string $regexp) { - $grammar = new \Hoa\File\Read('hoa://Library/Regex/Grammar.pp'); + $grammar = new \Hoa\File\Read('hoa://Library/Regex/Grammar.pp'); $compiler = \Hoa\Compiler\Llk\Llk::load($grammar); - $ast = $compiler->parse($regexp); + $ast = $compiler->parse($regexp); $generator = new \Hoa\Regex\Visitor\Isotropic(new \Hoa\Math\Sampler\Random()); return $generator->visit($ast); diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Api/UserApiInterfaceTest.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Api/UserApiInterfaceTest.php index 447113b321..ce64a85b10 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Api/UserApiInterfaceTest.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Api/UserApiInterfaceTest.php @@ -28,10 +28,6 @@ namespace OpenAPI\Server\Tests\Api; -use OpenAPI\Server\Configuration; -use OpenAPI\Server\ApiClient; -use OpenAPI\Server\ApiException; -use OpenAPI\Server\ObjectSerializer; use Symfony\Bundle\FrameworkBundle\KernelBrowser; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; @@ -42,6 +38,7 @@ use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; * @package OpenAPI\Server\Tests\Api * @author openapi-generator contributors * @link https://github.com/openapitools/openapi-generator + * @coversDefaultClass \OpenAPI\Server\Api\UserApiInterface */ class UserApiInterfaceTest extends WebTestCase { @@ -85,13 +82,14 @@ class UserApiInterfaceTest extends WebTestCase * Create user. * */ - public function testCreateUser() + public function testCreateUser(): void { $client = self::$client; $path = '/user'; $crawler = $client->request('POST', $path, [], [], ['CONTENT_TYPE' => 'application/json']); + $this->markTestSkipped('Test for createUser not implemented'); } /** @@ -100,13 +98,14 @@ class UserApiInterfaceTest extends WebTestCase * Creates list of users with given input array. * */ - public function testCreateUsersWithArrayInput() + public function testCreateUsersWithArrayInput(): void { $client = self::$client; $path = '/user/createWithArray'; $crawler = $client->request('POST', $path, [], [], ['CONTENT_TYPE' => 'application/json']); + $this->markTestSkipped('Test for createUsersWithArrayInput not implemented'); } /** @@ -115,13 +114,14 @@ class UserApiInterfaceTest extends WebTestCase * Creates list of users with given input array. * */ - public function testCreateUsersWithListInput() + public function testCreateUsersWithListInput(): void { $client = self::$client; $path = '/user/createWithList'; $crawler = $client->request('POST', $path, [], [], ['CONTENT_TYPE' => 'application/json']); + $this->markTestSkipped('Test for createUsersWithListInput not implemented'); } /** @@ -130,7 +130,7 @@ class UserApiInterfaceTest extends WebTestCase * Delete user. * */ - public function testDeleteUser() + public function testDeleteUser(): void { $client = self::$client; @@ -140,6 +140,7 @@ class UserApiInterfaceTest extends WebTestCase $path = str_replace($pattern, $data, $path); $crawler = $client->request('DELETE', $path); + $this->markTestSkipped('Test for deleteUser not implemented'); } /** @@ -148,7 +149,7 @@ class UserApiInterfaceTest extends WebTestCase * Get user by user name. * */ - public function testGetUserByName() + public function testGetUserByName(): void { $client = self::$client; @@ -158,6 +159,7 @@ class UserApiInterfaceTest extends WebTestCase $path = str_replace($pattern, $data, $path); $crawler = $client->request('GET', $path); + $this->markTestSkipped('Test for getUserByName not implemented'); } /** @@ -166,13 +168,14 @@ class UserApiInterfaceTest extends WebTestCase * Logs user into the system. * */ - public function testLoginUser() + public function testLoginUser(): void { $client = self::$client; $path = '/user/login'; $crawler = $client->request('GET', $path); + $this->markTestSkipped('Test for loginUser not implemented'); } /** @@ -181,13 +184,14 @@ class UserApiInterfaceTest extends WebTestCase * Logs out current logged in user session. * */ - public function testLogoutUser() + public function testLogoutUser(): void { $client = self::$client; $path = '/user/logout'; $crawler = $client->request('GET', $path); + $this->markTestSkipped('Test for logoutUser not implemented'); } /** @@ -196,7 +200,7 @@ class UserApiInterfaceTest extends WebTestCase * Updated user. * */ - public function testUpdateUser() + public function testUpdateUser(): void { $client = self::$client; @@ -206,13 +210,18 @@ class UserApiInterfaceTest extends WebTestCase $path = str_replace($pattern, $data, $path); $crawler = $client->request('PUT', $path, [], [], ['CONTENT_TYPE' => 'application/json']); + $this->markTestSkipped('Test for updateUser not implemented'); } - protected function genTestData($regexp) + /** + * @param string $regexp + * @return mixed + */ + protected function genTestData(string $regexp) { - $grammar = new \Hoa\File\Read('hoa://Library/Regex/Grammar.pp'); + $grammar = new \Hoa\File\Read('hoa://Library/Regex/Grammar.pp'); $compiler = \Hoa\Compiler\Llk\Llk::load($grammar); - $ast = $compiler->parse($regexp); + $ast = $compiler->parse($regexp); $generator = new \Hoa\Regex\Visitor\Isotropic(new \Hoa\Math\Sampler\Random()); return $generator->visit($ast); diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/AppKernel.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/AppKernel.php index 9aed375ad0..608b63fdc0 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/AppKernel.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/AppKernel.php @@ -8,15 +8,20 @@ use Symfony\Component\Config\Loader\LoaderInterface; class AppKernel extends Kernel { + /** + * @inheritDoc + */ public function registerBundles(): iterable { - $bundles = array( - new FrameworkBundle() - ); - - return $bundles; + return [ + new FrameworkBundle(), + ]; } + /** + * @inheritDoc + * @throws \Exception + */ public function registerContainerConfiguration(LoaderInterface $loader) { $loader->load(__DIR__.'/test_config.yml'); diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Controller/ControllerTest.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Controller/ControllerTest.php index 18671580c3..9e2328a813 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Controller/ControllerTest.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Controller/ControllerTest.php @@ -43,21 +43,16 @@ use Symfony\Component\HttpFoundation\Request; */ class ControllerTest extends TestCase { - /** * Tests isContentTypeAllowed static method. * - * @param string $contentType - * @param array $consumes - * @param bool $expectedReturn - * * @covers ::isContentTypeAllowed - * @dataProvider provideArgumentsForIsContentTypeAllowed + * @dataProvider dataProviderIsContentTypeAllowed */ - public function testIsContentTypeAllowed($contentType, array $consumes, $expectedReturn) + public function testIsContentTypeAllowed(?string $contentType, array $consumes, bool $expectedReturn): void { $request = new Request(); - $request->headers->set('CONTENT_TYPE', $contentType, true);// last one argument overrides header + $request->headers->set('CONTENT_TYPE', $contentType);// last one argument overrides header $this->assertSame( $expectedReturn, Controller::isContentTypeAllowed($request, $consumes), @@ -70,7 +65,7 @@ class ControllerTest extends TestCase ); } - public function provideArgumentsForIsContentTypeAllowed() + public function dataProviderIsContentTypeAllowed(): array { return [ 'usual JSON content type' => [ diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/ApiResponseTest.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/ApiResponseTest.php index 8bbaee822e..e1a93fc58d 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/ApiResponseTest.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/ApiResponseTest.php @@ -29,20 +29,22 @@ namespace OpenAPI\Server\Model; +use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; /** * ApiResponseTest Class Doc Comment * - * @category Class */ -// * @description Describes the result of uploading an image resource -/** + * @category Class + * @description Describes the result of uploading an image resource * @package OpenAPI\Server\Tests\Model * @author openapi-generator contributors * @link https://github.com/openapitools/openapi-generator + * @coversDefaultClass \OpenAPI\Server\Model\ApiResponse */ class ApiResponseTest extends TestCase { + protected ApiResponse|MockObject $object; /** * Setup before running any test case @@ -56,6 +58,7 @@ class ApiResponseTest extends TestCase */ public function setUp(): void { + $this->object = $this->getMockBuilder(ApiResponse::class)->getMockForAbstractClass(); } /** @@ -73,31 +76,45 @@ class ApiResponseTest extends TestCase } /** - * Test "ApiResponse" + * @group integration + * @small */ - public function testApiResponse() + public function testTestClassExists(): void { - $testApiResponse = new ApiResponse(); + $this->assertTrue(class_exists(ApiResponse::class)); + $this->assertInstanceOf(ApiResponse::class, $this->object); } /** * Test attribute "code" + * + * @group unit + * @small */ - public function testPropertyCode() + public function testPropertyCode(): void { + $this->markTestSkipped('Test for property code not implemented'); } /** * Test attribute "type" + * + * @group unit + * @small */ - public function testPropertyType() + public function testPropertyType(): void { + $this->markTestSkipped('Test for property type not implemented'); } /** * Test attribute "message" + * + * @group unit + * @small */ - public function testPropertyMessage() + public function testPropertyMessage(): void { + $this->markTestSkipped('Test for property message not implemented'); } } diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/CategoryTest.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/CategoryTest.php index 8b225b838c..83357931e9 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/CategoryTest.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/CategoryTest.php @@ -29,20 +29,22 @@ namespace OpenAPI\Server\Model; +use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; /** * CategoryTest Class Doc Comment * - * @category Class */ -// * @description A category for a pet -/** + * @category Class + * @description A category for a pet * @package OpenAPI\Server\Tests\Model * @author openapi-generator contributors * @link https://github.com/openapitools/openapi-generator + * @coversDefaultClass \OpenAPI\Server\Model\Category */ class CategoryTest extends TestCase { + protected Category|MockObject $object; /** * Setup before running any test case @@ -56,6 +58,7 @@ class CategoryTest extends TestCase */ public function setUp(): void { + $this->object = $this->getMockBuilder(Category::class)->getMockForAbstractClass(); } /** @@ -73,24 +76,34 @@ class CategoryTest extends TestCase } /** - * Test "Category" + * @group integration + * @small */ - public function testCategory() + public function testTestClassExists(): void { - $testCategory = new Category(); + $this->assertTrue(class_exists(Category::class)); + $this->assertInstanceOf(Category::class, $this->object); } /** * Test attribute "id" + * + * @group unit + * @small */ - public function testPropertyId() + public function testPropertyId(): void { + $this->markTestSkipped('Test for property id not implemented'); } /** * Test attribute "name" + * + * @group unit + * @small */ - public function testPropertyName() + public function testPropertyName(): void { + $this->markTestSkipped('Test for property name not implemented'); } } diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/OrderTest.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/OrderTest.php index 8a65c0a511..230058daff 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/OrderTest.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/OrderTest.php @@ -29,20 +29,22 @@ namespace OpenAPI\Server\Model; +use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; /** * OrderTest Class Doc Comment * - * @category Class */ -// * @description An order for a pets from the pet store -/** + * @category Class + * @description An order for a pets from the pet store * @package OpenAPI\Server\Tests\Model * @author openapi-generator contributors * @link https://github.com/openapitools/openapi-generator + * @coversDefaultClass \OpenAPI\Server\Model\Order */ class OrderTest extends TestCase { + protected Order|MockObject $object; /** * Setup before running any test case @@ -56,6 +58,7 @@ class OrderTest extends TestCase */ public function setUp(): void { + $this->object = $this->getMockBuilder(Order::class)->getMockForAbstractClass(); } /** @@ -73,52 +76,78 @@ class OrderTest extends TestCase } /** - * Test "Order" + * @group integration + * @small */ - public function testOrder() + public function testTestClassExists(): void { - $testOrder = new Order(); + $this->assertTrue(class_exists(Order::class)); + $this->assertInstanceOf(Order::class, $this->object); } /** * Test attribute "id" + * + * @group unit + * @small */ - public function testPropertyId() + public function testPropertyId(): void { + $this->markTestSkipped('Test for property id not implemented'); } /** * Test attribute "petId" + * + * @group unit + * @small */ - public function testPropertyPetId() + public function testPropertyPetId(): void { + $this->markTestSkipped('Test for property petId not implemented'); } /** * Test attribute "quantity" + * + * @group unit + * @small */ - public function testPropertyQuantity() + public function testPropertyQuantity(): void { + $this->markTestSkipped('Test for property quantity not implemented'); } /** * Test attribute "shipDate" + * + * @group unit + * @small */ - public function testPropertyShipDate() + public function testPropertyShipDate(): void { + $this->markTestSkipped('Test for property shipDate not implemented'); } /** * Test attribute "status" + * + * @group unit + * @small */ - public function testPropertyStatus() + public function testPropertyStatus(): void { + $this->markTestSkipped('Test for property status not implemented'); } /** * Test attribute "complete" + * + * @group unit + * @small */ - public function testPropertyComplete() + public function testPropertyComplete(): void { + $this->markTestSkipped('Test for property complete not implemented'); } } diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/PetTest.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/PetTest.php index 0c47d89d1a..defee76700 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/PetTest.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/PetTest.php @@ -29,20 +29,22 @@ namespace OpenAPI\Server\Model; +use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; /** * PetTest Class Doc Comment * - * @category Class */ -// * @description A pet for sale in the pet store -/** + * @category Class + * @description A pet for sale in the pet store * @package OpenAPI\Server\Tests\Model * @author openapi-generator contributors * @link https://github.com/openapitools/openapi-generator + * @coversDefaultClass \OpenAPI\Server\Model\Pet */ class PetTest extends TestCase { + protected Pet|MockObject $object; /** * Setup before running any test case @@ -56,6 +58,7 @@ class PetTest extends TestCase */ public function setUp(): void { + $this->object = $this->getMockBuilder(Pet::class)->getMockForAbstractClass(); } /** @@ -73,52 +76,78 @@ class PetTest extends TestCase } /** - * Test "Pet" + * @group integration + * @small */ - public function testPet() + public function testTestClassExists(): void { - $testPet = new Pet(); + $this->assertTrue(class_exists(Pet::class)); + $this->assertInstanceOf(Pet::class, $this->object); } /** * Test attribute "id" + * + * @group unit + * @small */ - public function testPropertyId() + public function testPropertyId(): void { + $this->markTestSkipped('Test for property id not implemented'); } /** * Test attribute "category" + * + * @group unit + * @small */ - public function testPropertyCategory() + public function testPropertyCategory(): void { + $this->markTestSkipped('Test for property category not implemented'); } /** * Test attribute "name" + * + * @group unit + * @small */ - public function testPropertyName() + public function testPropertyName(): void { + $this->markTestSkipped('Test for property name not implemented'); } /** * Test attribute "photoUrls" + * + * @group unit + * @small */ - public function testPropertyPhotoUrls() + public function testPropertyPhotoUrls(): void { + $this->markTestSkipped('Test for property photoUrls not implemented'); } /** * Test attribute "tags" + * + * @group unit + * @small */ - public function testPropertyTags() + public function testPropertyTags(): void { + $this->markTestSkipped('Test for property tags not implemented'); } /** * Test attribute "status" + * + * @group unit + * @small */ - public function testPropertyStatus() + public function testPropertyStatus(): void { + $this->markTestSkipped('Test for property status not implemented'); } } diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/TagTest.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/TagTest.php index 3137561582..1296d5972a 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/TagTest.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/TagTest.php @@ -29,20 +29,22 @@ namespace OpenAPI\Server\Model; +use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; /** * TagTest Class Doc Comment * - * @category Class */ -// * @description A tag for a pet -/** + * @category Class + * @description A tag for a pet * @package OpenAPI\Server\Tests\Model * @author openapi-generator contributors * @link https://github.com/openapitools/openapi-generator + * @coversDefaultClass \OpenAPI\Server\Model\Tag */ class TagTest extends TestCase { + protected Tag|MockObject $object; /** * Setup before running any test case @@ -56,6 +58,7 @@ class TagTest extends TestCase */ public function setUp(): void { + $this->object = $this->getMockBuilder(Tag::class)->getMockForAbstractClass(); } /** @@ -73,24 +76,34 @@ class TagTest extends TestCase } /** - * Test "Tag" + * @group integration + * @small */ - public function testTag() + public function testTestClassExists(): void { - $testTag = new Tag(); + $this->assertTrue(class_exists(Tag::class)); + $this->assertInstanceOf(Tag::class, $this->object); } /** * Test attribute "id" + * + * @group unit + * @small */ - public function testPropertyId() + public function testPropertyId(): void { + $this->markTestSkipped('Test for property id not implemented'); } /** * Test attribute "name" + * + * @group unit + * @small */ - public function testPropertyName() + public function testPropertyName(): void { + $this->markTestSkipped('Test for property name not implemented'); } } diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/UserTest.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/UserTest.php index 0e324a638d..c485d931d9 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/UserTest.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/Model/UserTest.php @@ -29,20 +29,22 @@ namespace OpenAPI\Server\Model; +use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; /** * UserTest Class Doc Comment * - * @category Class */ -// * @description A User who is purchasing from the pet store -/** + * @category Class + * @description A User who is purchasing from the pet store * @package OpenAPI\Server\Tests\Model * @author openapi-generator contributors * @link https://github.com/openapitools/openapi-generator + * @coversDefaultClass \OpenAPI\Server\Model\User */ class UserTest extends TestCase { + protected User|MockObject $object; /** * Setup before running any test case @@ -56,6 +58,7 @@ class UserTest extends TestCase */ public function setUp(): void { + $this->object = $this->getMockBuilder(User::class)->getMockForAbstractClass(); } /** @@ -73,66 +76,100 @@ class UserTest extends TestCase } /** - * Test "User" + * @group integration + * @small */ - public function testUser() + public function testTestClassExists(): void { - $testUser = new User(); + $this->assertTrue(class_exists(User::class)); + $this->assertInstanceOf(User::class, $this->object); } /** * Test attribute "id" + * + * @group unit + * @small */ - public function testPropertyId() + public function testPropertyId(): void { + $this->markTestSkipped('Test for property id not implemented'); } /** * Test attribute "username" + * + * @group unit + * @small */ - public function testPropertyUsername() + public function testPropertyUsername(): void { + $this->markTestSkipped('Test for property username not implemented'); } /** * Test attribute "firstName" + * + * @group unit + * @small */ - public function testPropertyFirstName() + public function testPropertyFirstName(): void { + $this->markTestSkipped('Test for property firstName not implemented'); } /** * Test attribute "lastName" + * + * @group unit + * @small */ - public function testPropertyLastName() + public function testPropertyLastName(): void { + $this->markTestSkipped('Test for property lastName not implemented'); } /** * Test attribute "email" + * + * @group unit + * @small */ - public function testPropertyEmail() + public function testPropertyEmail(): void { + $this->markTestSkipped('Test for property email not implemented'); } /** * Test attribute "password" + * + * @group unit + * @small */ - public function testPropertyPassword() + public function testPropertyPassword(): void { + $this->markTestSkipped('Test for property password not implemented'); } /** * Test attribute "phone" + * + * @group unit + * @small */ - public function testPropertyPhone() + public function testPropertyPhone(): void { + $this->markTestSkipped('Test for property phone not implemented'); } /** * Test attribute "userStatus" + * + * @group unit + * @small */ - public function testPropertyUserStatus() + public function testPropertyUserStatus(): void { + $this->markTestSkipped('Test for property userStatus not implemented'); } } diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/test_config.yml b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/test_config.yml index a06bcfef45..4c7970ab71 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/test_config.yml +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/test_config.yml @@ -5,4 +5,4 @@ framework: secret: "testsecret" test: ~ router: - resource: "%kernel.project_dir%/../Resources/config/routing.yml" + resource: "%kernel.project_dir%/Resources/config/routing.yml" diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/phpunit.xml.dist b/samples/server/petstore/php-symfony/SymfonyBundle-php/phpunit.xml.dist index e754829e62..a12d3c3c87 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/phpunit.xml.dist +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/phpunit.xml.dist @@ -1,24 +1,26 @@ - + stopOnFailure="false" + xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd"> + + + ././Api + ././Model + ././Controller + + - + ./Tests/Api ./Tests/Model ./Tests/Controller - - - ././Api - ././Model - ././Controller - - From 726765af502c0d1f6cd176abd207fc4c4aca1282 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 26 Jun 2022 15:15:22 +0800 Subject: [PATCH 115/212] improve r documentation, readme, code sample (#12700) --- .../src/main/resources/r/README.mustache | 5 +++ .../src/main/resources/r/api_doc.mustache | 12 ++++-- samples/client/petstore/R/README.md | 5 +++ samples/client/petstore/R/docs/FakeApi.md | 8 ++-- samples/client/petstore/R/docs/PetApi.md | 40 ++++++++++++------- samples/client/petstore/R/docs/StoreApi.md | 14 +++++-- samples/client/petstore/R/docs/UserApi.md | 20 ++++++---- 7 files changed, 71 insertions(+), 33 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/r/README.mustache b/modules/openapi-generator/src/main/resources/r/README.mustache index 6f47360315..1da3dffd0c 100644 --- a/modules/openapi-generator/src/main/resources/r/README.mustache +++ b/modules/openapi-generator/src/main/resources/r/README.mustache @@ -52,6 +52,11 @@ library(devtools) install_github("{{{gitUserId}}}/{{{gitRepoId}}}") ``` +To install the package from a local file: +```R +install.packages("{{{packageName}}}_{{{packageVersion}}}.tar.gz", repos = NULL, type = "source") +``` + ### Usage ```R diff --git a/modules/openapi-generator/src/main/resources/r/api_doc.mustache b/modules/openapi-generator/src/main/resources/r/api_doc.mustache index 40b0075334..f5fe834c30 100644 --- a/modules/openapi-generator/src/main/resources/r/api_doc.mustache +++ b/modules/openapi-generator/src/main/resources/r/api_doc.mustache @@ -11,7 +11,7 @@ Method | HTTP request | Description {{#operations}} {{#operation}} # **{{operationId}}** -> {{#returnType}}{{.}} {{/returnType}}{{operationId}}({{#requiredParams}}{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}}{{#defaultValue}}={{{.}}}{{/defaultValue}}{{^defaultValue}}=var.{{{paramName}}}{{/defaultValue}}{{^-last}}, {{/-last}}{{/optionalParams}}) +> {{#returnType}}{{.}} {{/returnType}}{{operationId}}({{#requiredParams}}{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}}{{#defaultValue}} = {{{.}}}{{/defaultValue}}{{^defaultValue}} = var.{{{paramName}}}{{/defaultValue}}{{^-last}}, {{/-last}}{{/optionalParams}}) {{{summary}}}{{#notes}} @@ -49,11 +49,15 @@ api_instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; {{#returnExceptionOnFailure}} {{#useRlangExceptionHandling}} result <- tryCatch( - api_instance${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}}=var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}), + {{#returnType}} + # to save the result into a file, simply add the optional `data_file` parameter, e.g. + # api_instance${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}} = var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}{{#allParams}}{{#-first}}, {{/-first}}{{/allParams}}data_file = "result.txt"), + {{/returnType}} + api_instance${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}} = var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}), ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { {{#returnType}} @@ -68,7 +72,7 @@ if(!is.null(result$ApiException)) { {{/useRlangExceptionHandling}} {{/returnExceptionOnFailure}} {{^useRlangExceptionHandling}} -{{#returnType}}result <- {{/returnType}}api_instance${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}}=var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}) +{{#returnType}}result <- {{/returnType}}api_instance${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}} = var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}) {{#returnType}} dput(result) {{/returnType}} diff --git a/samples/client/petstore/R/README.md b/samples/client/petstore/R/README.md index c853c8087e..eb829f1e42 100644 --- a/samples/client/petstore/R/README.md +++ b/samples/client/petstore/R/README.md @@ -44,6 +44,11 @@ library(devtools) install_github("GIT_USER_ID/GIT_REPO_ID") ``` +To install the package from a local file: +```R +install.packages("petstore_1.0.0.tar.gz", repos = NULL, type = "source") +``` + ### Usage ```R diff --git a/samples/client/petstore/R/docs/FakeApi.md b/samples/client/petstore/R/docs/FakeApi.md index 8de1fc175c..55132bdfcf 100644 --- a/samples/client/petstore/R/docs/FakeApi.md +++ b/samples/client/petstore/R/docs/FakeApi.md @@ -8,7 +8,7 @@ Method | HTTP request | Description # **FakeDataFile** -> User FakeDataFile(dummy, var_data_file=var.var_data_file) +> User FakeDataFile(dummy, var_data_file = var.var_data_file) test data_file to ensure it's escaped correctly @@ -24,11 +24,13 @@ var_var_data_file <- 'var_data_file_example' # character | header data file #test data_file to ensure it's escaped correctly api_instance <- FakeApi$new() result <- tryCatch( - api_instance$FakeDataFile(var_dummy, var_data_file=var_var_data_file), + # to save the result into a file, simply add the optional `data_file` parameter, e.g. + # api_instance$FakeDataFile(var_dummy, var_data_file = var_var_data_file, data_file = "result.txt"), + api_instance$FakeDataFile(var_dummy, var_data_file = var_var_data_file), ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # deserialized response object diff --git a/samples/client/petstore/R/docs/PetApi.md b/samples/client/petstore/R/docs/PetApi.md index 88dd0b503d..d302a3bf70 100644 --- a/samples/client/petstore/R/docs/PetApi.md +++ b/samples/client/petstore/R/docs/PetApi.md @@ -32,11 +32,13 @@ api_instance <- PetApi$new() # Configure OAuth2 access token for authorization: petstore_auth api_instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; result <- tryCatch( + # to save the result into a file, simply add the optional `data_file` parameter, e.g. + # api_instance$AddPet(var_pet, data_file = "result.txt"), api_instance$AddPet(var_pet), ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # deserialized response object @@ -74,7 +76,7 @@ Name | Type | Description | Notes | **405** | Invalid input | - | # **DeletePet** -> DeletePet(pet_id, api_key=var.api_key) +> DeletePet(pet_id, api_key = var.api_key) Deletes a pet @@ -92,11 +94,11 @@ api_instance <- PetApi$new() # Configure OAuth2 access token for authorization: petstore_auth api_instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; result <- tryCatch( - api_instance$DeletePet(var_pet_id, api_key=var_api_key), + api_instance$DeletePet(var_pet_id, api_key = var_api_key), ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # response headers @@ -149,11 +151,13 @@ api_instance <- PetApi$new() # Configure OAuth2 access token for authorization: petstore_auth api_instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; result <- tryCatch( + # to save the result into a file, simply add the optional `data_file` parameter, e.g. + # api_instance$FindPetsByStatus(var_status, data_file = "result.txt"), api_instance$FindPetsByStatus(var_status), ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # deserialized response object @@ -208,11 +212,13 @@ api_instance <- PetApi$new() # Configure OAuth2 access token for authorization: petstore_auth api_instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; result <- tryCatch( + # to save the result into a file, simply add the optional `data_file` parameter, e.g. + # api_instance$FindPetsByTags(var_tags, data_file = "result.txt"), api_instance$FindPetsByTags(var_tags), ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # deserialized response object @@ -267,11 +273,13 @@ api_instance <- PetApi$new() # Configure API key authorization: api_key api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; result <- tryCatch( + # to save the result into a file, simply add the optional `data_file` parameter, e.g. + # api_instance$GetPetById(var_pet_id, data_file = "result.txt"), api_instance$GetPetById(var_pet_id), ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # deserialized response object @@ -327,11 +335,13 @@ api_instance <- PetApi$new() # Configure OAuth2 access token for authorization: petstore_auth api_instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; result <- tryCatch( + # to save the result into a file, simply add the optional `data_file` parameter, e.g. + # api_instance$UpdatePet(var_pet, data_file = "result.txt"), api_instance$UpdatePet(var_pet), ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # deserialized response object @@ -371,7 +381,7 @@ Name | Type | Description | Notes | **405** | Validation exception | - | # **UpdatePetWithForm** -> UpdatePetWithForm(pet_id, name=var.name, status=var.status) +> UpdatePetWithForm(pet_id, name = var.name, status = var.status) Updates a pet in the store with form data @@ -390,11 +400,11 @@ api_instance <- PetApi$new() # Configure OAuth2 access token for authorization: petstore_auth api_instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; result <- tryCatch( - api_instance$UpdatePetWithForm(var_pet_id, name=var_name, status=var_status), + api_instance$UpdatePetWithForm(var_pet_id, name = var_name, status = var_status), ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # response headers @@ -431,7 +441,7 @@ void (empty response body) | **405** | Invalid input | - | # **UploadFile** -> ModelApiResponse UploadFile(pet_id, additional_metadata=var.additional_metadata, file=var.file) +> ModelApiResponse UploadFile(pet_id, additional_metadata = var.additional_metadata, file = var.file) uploads an image @@ -450,11 +460,13 @@ api_instance <- PetApi$new() # Configure OAuth2 access token for authorization: petstore_auth api_instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; result <- tryCatch( - api_instance$UploadFile(var_pet_id, additional_metadata=var_additional_metadata, file=var_file), + # to save the result into a file, simply add the optional `data_file` parameter, e.g. + # api_instance$UploadFile(var_pet_id, additional_metadata = var_additional_metadata, file = var_file, data_file = "result.txt"), + api_instance$UploadFile(var_pet_id, additional_metadata = var_additional_metadata, file = var_file), ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # deserialized response object diff --git a/samples/client/petstore/R/docs/StoreApi.md b/samples/client/petstore/R/docs/StoreApi.md index f62dcf6e76..2caef65f3d 100644 --- a/samples/client/petstore/R/docs/StoreApi.md +++ b/samples/client/petstore/R/docs/StoreApi.md @@ -30,7 +30,7 @@ result <- tryCatch( ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # response headers @@ -82,11 +82,13 @@ api_instance <- StoreApi$new() # Configure API key authorization: api_key api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; result <- tryCatch( + # to save the result into a file, simply add the optional `data_file` parameter, e.g. + # api_instance$GetInventory(data_file = "result.txt"), api_instance$GetInventory(), ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # deserialized response object @@ -135,11 +137,13 @@ var_order_id <- 56 # integer | ID of pet that needs to be fetched #Find purchase order by ID api_instance <- StoreApi$new() result <- tryCatch( + # to save the result into a file, simply add the optional `data_file` parameter, e.g. + # api_instance$GetOrderById(var_order_id, data_file = "result.txt"), api_instance$GetOrderById(var_order_id), ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # deserialized response object @@ -193,11 +197,13 @@ var_order <- Order$new(123, 123, 123, "shipDate_example", "placed", "complete_ex #Place an order for a pet api_instance <- StoreApi$new() result <- tryCatch( + # to save the result into a file, simply add the optional `data_file` parameter, e.g. + # api_instance$PlaceOrder(var_order, data_file = "result.txt"), api_instance$PlaceOrder(var_order), ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # deserialized response object diff --git a/samples/client/petstore/R/docs/UserApi.md b/samples/client/petstore/R/docs/UserApi.md index 62fbbe4970..d292094b7e 100644 --- a/samples/client/petstore/R/docs/UserApi.md +++ b/samples/client/petstore/R/docs/UserApi.md @@ -36,7 +36,7 @@ result <- tryCatch( ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # response headers @@ -92,7 +92,7 @@ result <- tryCatch( ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # response headers @@ -148,7 +148,7 @@ result <- tryCatch( ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # response headers @@ -204,7 +204,7 @@ result <- tryCatch( ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # response headers @@ -255,11 +255,13 @@ var_username <- 'username_example' # character | The name that needs to be fetch #Get user by user name api_instance <- UserApi$new() result <- tryCatch( + # to save the result into a file, simply add the optional `data_file` parameter, e.g. + # api_instance$GetUserByName(var_username, data_file = "result.txt"), api_instance$GetUserByName(var_username), ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # deserialized response object @@ -314,11 +316,13 @@ var_password <- 'password_example' # character | The password for login in clear #Logs user into the system api_instance <- UserApi$new() result <- tryCatch( + # to save the result into a file, simply add the optional `data_file` parameter, e.g. + # api_instance$LoginUser(var_username, var_password, data_file = "result.txt"), api_instance$LoginUser(var_username, var_password), ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # deserialized response object @@ -377,7 +381,7 @@ result <- tryCatch( ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # response headers @@ -431,7 +435,7 @@ result <- tryCatch( ApiException = function(ex) ex ) # In case of error, print the error object -if(!is.null(result$ApiException)) { +if (!is.null(result$ApiException)) { cat(result$ApiException$toString()) } else { # response headers From 55d9231ca9c1db657e100c0db477769b708e5717 Mon Sep 17 00:00:00 2001 From: Bogdan Ilchyshyn Date: Sun, 26 Jun 2022 17:24:13 +1000 Subject: [PATCH 116/212] using import type instead of import for types imports (#12534) --- .../resources/typescript-fetch/apis.mustache | 10 +++++++--- .../typescript-fetch/modelGeneric.mustache | 2 +- .../builds/default-v3.0/apis/AnotherFakeApi.ts | 4 +++- .../builds/default-v3.0/apis/DefaultApi.ts | 4 +++- .../builds/default-v3.0/apis/FakeApi.ts | 18 ++++++++++-------- .../apis/FakeClassnameTags123Api.ts | 4 +++- .../builds/default-v3.0/apis/PetApi.ts | 6 ++++-- .../builds/default-v3.0/apis/StoreApi.ts | 4 +++- .../builds/default-v3.0/apis/UserApi.ts | 4 +++- .../default-v3.0/models/AllOfWithSingleRef.ts | 2 +- .../builds/default-v3.0/models/ArrayTest.ts | 2 +- .../builds/default-v3.0/models/Cat.ts | 4 ++-- .../builds/default-v3.0/models/Dog.ts | 4 ++-- .../builds/default-v3.0/models/EnumTest.ts | 8 ++++---- .../models/FooGetDefaultResponse.ts | 2 +- .../builds/default-v3.0/models/FormatTest.ts | 2 +- ...edPropertiesAndAdditionalPropertiesClass.ts | 2 +- .../models/ObjectWithDeprecatedFields.ts | 2 +- .../models/OuterObjectWithEnumProperty.ts | 2 +- .../builds/default-v3.0/models/Pet.ts | 4 ++-- .../builds/default/apis/PetApi.ts | 6 ++++-- .../builds/default/apis/StoreApi.ts | 4 +++- .../builds/default/apis/UserApi.ts | 4 +++- .../builds/default/models/Pet.ts | 4 ++-- .../builds/enum/apis/DefaultApi.ts | 10 ++++++---- .../builds/enum/models/EnumPatternObject.ts | 4 ++-- .../builds/es6-target/src/apis/PetApi.ts | 6 ++++-- .../builds/es6-target/src/apis/StoreApi.ts | 4 +++- .../builds/es6-target/src/apis/UserApi.ts | 4 +++- .../builds/es6-target/src/models/Pet.ts | 4 ++-- .../builds/multiple-parameters/apis/PetApi.ts | 6 ++++-- .../multiple-parameters/apis/StoreApi.ts | 4 +++- .../builds/multiple-parameters/apis/UserApi.ts | 4 +++- .../builds/multiple-parameters/models/Pet.ts | 4 ++-- .../src/apis/PetApi.ts | 6 ++++-- .../src/apis/StoreApi.ts | 4 +++- .../src/apis/UserApi.ts | 4 +++- .../src/models/Pet.ts | 4 ++-- .../sagas-and-records/src/apis/BehaviorApi.ts | 6 ++++-- .../sagas-and-records/src/apis/PetApi.ts | 14 ++++++++------ .../sagas-and-records/src/apis/PetPartApi.ts | 6 ++++-- .../sagas-and-records/src/apis/StoreApi.ts | 4 +++- .../sagas-and-records/src/apis/UserApi.ts | 6 ++++-- .../src/models/DefaultMetaOnlyResponse.ts | 2 +- .../src/models/FindPetsByStatusResponse.ts | 4 ++-- .../src/models/FindPetsByUserResponse.ts | 4 ++-- .../models/GetBehaviorPermissionsResponse.ts | 2 +- .../src/models/GetBehaviorTypeResponse.ts | 4 ++-- .../src/models/GetMatchingPartsResponse.ts | 4 ++-- .../src/models/GetPetPartTypeResponse.ts | 4 ++-- .../src/models/MatchingParts.ts | 2 +- .../sagas-and-records/src/models/ModelError.ts | 2 +- .../builds/sagas-and-records/src/models/Pet.ts | 8 ++++---- .../src/models/PetRegionsResponse.ts | 2 +- .../src/models/ResponseMeta.ts | 2 +- .../builds/with-interfaces/apis/PetApi.ts | 6 ++++-- .../builds/with-interfaces/apis/StoreApi.ts | 4 +++- .../builds/with-interfaces/apis/UserApi.ts | 4 +++- .../builds/with-interfaces/models/Pet.ts | 4 ++-- .../builds/with-npm-version/src/apis/PetApi.ts | 6 ++++-- .../with-npm-version/src/apis/StoreApi.ts | 4 +++- .../with-npm-version/src/apis/UserApi.ts | 4 +++- .../builds/with-npm-version/src/models/Pet.ts | 4 ++-- .../with-string-enums/apis/DefaultApi.ts | 10 ++++++---- .../models/EnumPatternObject.ts | 4 ++-- .../without-runtime-checks/src/apis/PetApi.ts | 6 +++--- .../src/apis/StoreApi.ts | 4 ++-- .../without-runtime-checks/src/apis/UserApi.ts | 4 ++-- 68 files changed, 192 insertions(+), 124 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/typescript-fetch/apis.mustache b/modules/openapi-generator/src/main/resources/typescript-fetch/apis.mustache index 3e71efcd1e..f494271ad6 100644 --- a/modules/openapi-generator/src/main/resources/typescript-fetch/apis.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-fetch/apis.mustache @@ -4,15 +4,19 @@ import * as runtime from '../runtime'; {{#imports.0}} +import type { + {{#imports}} + {{className}}, + {{/imports}} +} from '../models'; +{{^withoutRuntimeChecks}} import { {{#imports}} - {{className}}, - {{^withoutRuntimeChecks}} {{className}}FromJSON, {{className}}ToJSON, - {{/withoutRuntimeChecks}} {{/imports}} } from '../models'; +{{/withoutRuntimeChecks}} {{/imports.0}} {{#operations}} diff --git a/modules/openapi-generator/src/main/resources/typescript-fetch/modelGeneric.mustache b/modules/openapi-generator/src/main/resources/typescript-fetch/modelGeneric.mustache index 32f534af01..9c6ebc44f3 100644 --- a/modules/openapi-generator/src/main/resources/typescript-fetch/modelGeneric.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-fetch/modelGeneric.mustache @@ -1,8 +1,8 @@ import { exists, mapValues } from '../runtime'; {{#hasImports}} {{#imports}} +import type { {{{.}}} } from './{{.}}'; import { - {{{.}}}, {{.}}FromJSON, {{.}}FromJSONTyped, {{.}}ToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/AnotherFakeApi.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/AnotherFakeApi.ts index d5efb55791..8bb1c571f3 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/AnotherFakeApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/AnotherFakeApi.ts @@ -14,8 +14,10 @@ import * as runtime from '../runtime'; +import type { + Client, +} from '../models'; import { - Client, ClientFromJSON, ClientToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/DefaultApi.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/DefaultApi.ts index 71b1df5310..aae27ec462 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/DefaultApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/DefaultApi.ts @@ -14,8 +14,10 @@ import * as runtime from '../runtime'; +import type { + FooGetDefaultResponse, +} from '../models'; import { - FooGetDefaultResponse, FooGetDefaultResponseFromJSON, FooGetDefaultResponseToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/FakeApi.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/FakeApi.ts index 6ac834f403..f02d35b103 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/FakeApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/FakeApi.ts @@ -14,29 +14,31 @@ import * as runtime from '../runtime'; +import type { + Client, + EnumClass, + FileSchemaTestClass, + HealthCheckResult, + OuterComposite, + OuterObjectWithEnumProperty, + Pet, + User, +} from '../models'; import { - Client, ClientFromJSON, ClientToJSON, - EnumClass, EnumClassFromJSON, EnumClassToJSON, - FileSchemaTestClass, FileSchemaTestClassFromJSON, FileSchemaTestClassToJSON, - HealthCheckResult, HealthCheckResultFromJSON, HealthCheckResultToJSON, - OuterComposite, OuterCompositeFromJSON, OuterCompositeToJSON, - OuterObjectWithEnumProperty, OuterObjectWithEnumPropertyFromJSON, OuterObjectWithEnumPropertyToJSON, - Pet, PetFromJSON, PetToJSON, - User, UserFromJSON, UserToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/FakeClassnameTags123Api.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/FakeClassnameTags123Api.ts index e7766827ee..351c6bfba8 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/FakeClassnameTags123Api.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/FakeClassnameTags123Api.ts @@ -14,8 +14,10 @@ import * as runtime from '../runtime'; +import type { + Client, +} from '../models'; import { - Client, ClientFromJSON, ClientToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/PetApi.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/PetApi.ts index c28b0741ef..3faea0b686 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/PetApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/PetApi.ts @@ -14,11 +14,13 @@ import * as runtime from '../runtime'; +import type { + ModelApiResponse, + Pet, +} from '../models'; import { - ModelApiResponse, ModelApiResponseFromJSON, ModelApiResponseToJSON, - Pet, PetFromJSON, PetToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/StoreApi.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/StoreApi.ts index d37db1c483..d2c11b37b0 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/StoreApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/StoreApi.ts @@ -14,8 +14,10 @@ import * as runtime from '../runtime'; +import type { + Order, +} from '../models'; import { - Order, OrderFromJSON, OrderToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/UserApi.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/UserApi.ts index cb857dd2ce..5598e0818b 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/UserApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/UserApi.ts @@ -14,8 +14,10 @@ import * as runtime from '../runtime'; +import type { + User, +} from '../models'; import { - User, UserFromJSON, UserToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/AllOfWithSingleRef.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/AllOfWithSingleRef.ts index a1a0dec547..61f2a287c8 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/AllOfWithSingleRef.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/AllOfWithSingleRef.ts @@ -13,8 +13,8 @@ */ import { exists, mapValues } from '../runtime'; +import type { SingleRefType } from './SingleRefType'; import { - SingleRefType, SingleRefTypeFromJSON, SingleRefTypeFromJSONTyped, SingleRefTypeToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ArrayTest.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ArrayTest.ts index 170096bc49..30473cdc65 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ArrayTest.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ArrayTest.ts @@ -13,8 +13,8 @@ */ import { exists, mapValues } from '../runtime'; +import type { ReadOnlyFirst } from './ReadOnlyFirst'; import { - ReadOnlyFirst, ReadOnlyFirstFromJSON, ReadOnlyFirstFromJSONTyped, ReadOnlyFirstToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Cat.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Cat.ts index 853ca97876..ef757be469 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Cat.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Cat.ts @@ -13,14 +13,14 @@ */ import { exists, mapValues } from '../runtime'; +import type { Animal } from './Animal'; import { - Animal, AnimalFromJSON, AnimalFromJSONTyped, AnimalToJSON, } from './Animal'; +import type { CatAllOf } from './CatAllOf'; import { - CatAllOf, CatAllOfFromJSON, CatAllOfFromJSONTyped, CatAllOfToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Dog.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Dog.ts index 83bb2b1dbf..3f9eaa609d 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Dog.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Dog.ts @@ -13,14 +13,14 @@ */ import { exists, mapValues } from '../runtime'; +import type { Animal } from './Animal'; import { - Animal, AnimalFromJSON, AnimalFromJSONTyped, AnimalToJSON, } from './Animal'; +import type { DogAllOf } from './DogAllOf'; import { - DogAllOf, DogAllOfFromJSON, DogAllOfFromJSONTyped, DogAllOfToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/EnumTest.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/EnumTest.ts index c3eaad1af1..69e7d4c021 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/EnumTest.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/EnumTest.ts @@ -13,26 +13,26 @@ */ import { exists, mapValues } from '../runtime'; +import type { OuterEnum } from './OuterEnum'; import { - OuterEnum, OuterEnumFromJSON, OuterEnumFromJSONTyped, OuterEnumToJSON, } from './OuterEnum'; +import type { OuterEnumDefaultValue } from './OuterEnumDefaultValue'; import { - OuterEnumDefaultValue, OuterEnumDefaultValueFromJSON, OuterEnumDefaultValueFromJSONTyped, OuterEnumDefaultValueToJSON, } from './OuterEnumDefaultValue'; +import type { OuterEnumInteger } from './OuterEnumInteger'; import { - OuterEnumInteger, OuterEnumIntegerFromJSON, OuterEnumIntegerFromJSONTyped, OuterEnumIntegerToJSON, } from './OuterEnumInteger'; +import type { OuterEnumIntegerDefaultValue } from './OuterEnumIntegerDefaultValue'; import { - OuterEnumIntegerDefaultValue, OuterEnumIntegerDefaultValueFromJSON, OuterEnumIntegerDefaultValueFromJSONTyped, OuterEnumIntegerDefaultValueToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FooGetDefaultResponse.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FooGetDefaultResponse.ts index dc673bcee4..3d49ed834f 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FooGetDefaultResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FooGetDefaultResponse.ts @@ -13,8 +13,8 @@ */ import { exists, mapValues } from '../runtime'; +import type { Foo } from './Foo'; import { - Foo, FooFromJSON, FooFromJSONTyped, FooToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FormatTest.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FormatTest.ts index b36bb3d402..42a4c0fff7 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FormatTest.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/FormatTest.ts @@ -13,8 +13,8 @@ */ import { exists, mapValues } from '../runtime'; +import type { Decimal } from './Decimal'; import { - Decimal, DecimalFromJSON, DecimalFromJSONTyped, DecimalToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/MixedPropertiesAndAdditionalPropertiesClass.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/MixedPropertiesAndAdditionalPropertiesClass.ts index 5eac69a308..56e0a29e43 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/MixedPropertiesAndAdditionalPropertiesClass.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/MixedPropertiesAndAdditionalPropertiesClass.ts @@ -13,8 +13,8 @@ */ import { exists, mapValues } from '../runtime'; +import type { Animal } from './Animal'; import { - Animal, AnimalFromJSON, AnimalFromJSONTyped, AnimalToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ObjectWithDeprecatedFields.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ObjectWithDeprecatedFields.ts index d64a47ecd8..335d6d726d 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ObjectWithDeprecatedFields.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/ObjectWithDeprecatedFields.ts @@ -13,8 +13,8 @@ */ import { exists, mapValues } from '../runtime'; +import type { DeprecatedObject } from './DeprecatedObject'; import { - DeprecatedObject, DeprecatedObjectFromJSON, DeprecatedObjectFromJSONTyped, DeprecatedObjectToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/OuterObjectWithEnumProperty.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/OuterObjectWithEnumProperty.ts index 307a79f053..d9626d5a0d 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/OuterObjectWithEnumProperty.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/OuterObjectWithEnumProperty.ts @@ -13,8 +13,8 @@ */ import { exists, mapValues } from '../runtime'; +import type { OuterEnumInteger } from './OuterEnumInteger'; import { - OuterEnumInteger, OuterEnumIntegerFromJSON, OuterEnumIntegerFromJSONTyped, OuterEnumIntegerToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Pet.ts index 2a3b126e70..f7dc974411 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Pet.ts @@ -13,14 +13,14 @@ */ import { exists, mapValues } from '../runtime'; +import type { Category } from './Category'; import { - Category, CategoryFromJSON, CategoryFromJSONTyped, CategoryToJSON, } from './Category'; +import type { Tag } from './Tag'; import { - Tag, TagFromJSON, TagFromJSONTyped, TagToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/default/apis/PetApi.ts b/samples/client/petstore/typescript-fetch/builds/default/apis/PetApi.ts index 8ca1d3c520..c9c2169c03 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/apis/PetApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/apis/PetApi.ts @@ -14,11 +14,13 @@ import * as runtime from '../runtime'; +import type { + ModelApiResponse, + Pet, +} from '../models'; import { - ModelApiResponse, ModelApiResponseFromJSON, ModelApiResponseToJSON, - Pet, PetFromJSON, PetToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/default/apis/StoreApi.ts b/samples/client/petstore/typescript-fetch/builds/default/apis/StoreApi.ts index 4f9e60bb3c..203c4b9627 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/apis/StoreApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/apis/StoreApi.ts @@ -14,8 +14,10 @@ import * as runtime from '../runtime'; +import type { + Order, +} from '../models'; import { - Order, OrderFromJSON, OrderToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/default/apis/UserApi.ts b/samples/client/petstore/typescript-fetch/builds/default/apis/UserApi.ts index 463e18e7c8..d0341bba88 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/apis/UserApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/apis/UserApi.ts @@ -14,8 +14,10 @@ import * as runtime from '../runtime'; +import type { + User, +} from '../models'; import { - User, UserFromJSON, UserToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/default/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/default/models/Pet.ts index 9d8c7c9d49..73c70f03a3 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/models/Pet.ts @@ -13,14 +13,14 @@ */ import { exists, mapValues } from '../runtime'; +import type { Category } from './Category'; import { - Category, CategoryFromJSON, CategoryFromJSONTyped, CategoryToJSON, } from './Category'; +import type { Tag } from './Tag'; import { - Tag, TagFromJSON, TagFromJSONTyped, TagToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/enum/apis/DefaultApi.ts b/samples/client/petstore/typescript-fetch/builds/enum/apis/DefaultApi.ts index af798de0ed..ee616abdf8 100644 --- a/samples/client/petstore/typescript-fetch/builds/enum/apis/DefaultApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/enum/apis/DefaultApi.ts @@ -14,17 +14,19 @@ import * as runtime from '../runtime'; +import type { + EnumPatternObject, + FakeEnumRequestGetInline200Response, + NumberEnum, + StringEnum, +} from '../models'; import { - EnumPatternObject, EnumPatternObjectFromJSON, EnumPatternObjectToJSON, - FakeEnumRequestGetInline200Response, FakeEnumRequestGetInline200ResponseFromJSON, FakeEnumRequestGetInline200ResponseToJSON, - NumberEnum, NumberEnumFromJSON, NumberEnumToJSON, - StringEnum, StringEnumFromJSON, StringEnumToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/enum/models/EnumPatternObject.ts b/samples/client/petstore/typescript-fetch/builds/enum/models/EnumPatternObject.ts index 2725f3c2b8..ebee6ba47f 100644 --- a/samples/client/petstore/typescript-fetch/builds/enum/models/EnumPatternObject.ts +++ b/samples/client/petstore/typescript-fetch/builds/enum/models/EnumPatternObject.ts @@ -13,14 +13,14 @@ */ import { exists, mapValues } from '../runtime'; +import type { NumberEnum } from './NumberEnum'; import { - NumberEnum, NumberEnumFromJSON, NumberEnumFromJSONTyped, NumberEnumToJSON, } from './NumberEnum'; +import type { StringEnum } from './StringEnum'; import { - StringEnum, StringEnumFromJSON, StringEnumFromJSONTyped, StringEnumToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/PetApi.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/PetApi.ts index 8ca1d3c520..c9c2169c03 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/PetApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/PetApi.ts @@ -14,11 +14,13 @@ import * as runtime from '../runtime'; +import type { + ModelApiResponse, + Pet, +} from '../models'; import { - ModelApiResponse, ModelApiResponseFromJSON, ModelApiResponseToJSON, - Pet, PetFromJSON, PetToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/StoreApi.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/StoreApi.ts index 4f9e60bb3c..203c4b9627 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/StoreApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/StoreApi.ts @@ -14,8 +14,10 @@ import * as runtime from '../runtime'; +import type { + Order, +} from '../models'; import { - Order, OrderFromJSON, OrderToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/UserApi.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/UserApi.ts index 463e18e7c8..d0341bba88 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/UserApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/apis/UserApi.ts @@ -14,8 +14,10 @@ import * as runtime from '../runtime'; +import type { + User, +} from '../models'; import { - User, UserFromJSON, UserToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Pet.ts index 9d8c7c9d49..73c70f03a3 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Pet.ts @@ -13,14 +13,14 @@ */ import { exists, mapValues } from '../runtime'; +import type { Category } from './Category'; import { - Category, CategoryFromJSON, CategoryFromJSONTyped, CategoryToJSON, } from './Category'; +import type { Tag } from './Tag'; import { - Tag, TagFromJSON, TagFromJSONTyped, TagToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/PetApi.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/PetApi.ts index 4e45619704..e20100a32d 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/PetApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/PetApi.ts @@ -14,11 +14,13 @@ import * as runtime from '../runtime'; +import type { + ModelApiResponse, + Pet, +} from '../models'; import { - ModelApiResponse, ModelApiResponseFromJSON, ModelApiResponseToJSON, - Pet, PetFromJSON, PetToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/StoreApi.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/StoreApi.ts index 38accbe04f..d282329daf 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/StoreApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/StoreApi.ts @@ -14,8 +14,10 @@ import * as runtime from '../runtime'; +import type { + Order, +} from '../models'; import { - Order, OrderFromJSON, OrderToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/UserApi.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/UserApi.ts index b575c0e09c..158ea10d59 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/UserApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/apis/UserApi.ts @@ -14,8 +14,10 @@ import * as runtime from '../runtime'; +import type { + User, +} from '../models'; import { - User, UserFromJSON, UserToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Pet.ts index 9d8c7c9d49..73c70f03a3 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/models/Pet.ts @@ -13,14 +13,14 @@ */ import { exists, mapValues } from '../runtime'; +import type { Category } from './Category'; import { - Category, CategoryFromJSON, CategoryFromJSONTyped, CategoryToJSON, } from './Category'; +import type { Tag } from './Tag'; import { - Tag, TagFromJSON, TagFromJSONTyped, TagToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/PetApi.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/PetApi.ts index 5e826e8ccd..4f059beda7 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/PetApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/PetApi.ts @@ -14,11 +14,13 @@ import * as runtime from '../runtime'; +import type { + ModelApiResponse, + Pet, +} from '../models'; import { - ModelApiResponse, ModelApiResponseFromJSON, ModelApiResponseToJSON, - Pet, PetFromJSON, PetToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/StoreApi.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/StoreApi.ts index 0f950c9195..a25702974f 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/StoreApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/StoreApi.ts @@ -14,8 +14,10 @@ import * as runtime from '../runtime'; +import type { + Order, +} from '../models'; import { - Order, OrderFromJSON, OrderToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/UserApi.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/UserApi.ts index e927505a86..a2cb05f96c 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/UserApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/apis/UserApi.ts @@ -14,8 +14,10 @@ import * as runtime from '../runtime'; +import type { + User, +} from '../models'; import { - User, UserFromJSON, UserToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Pet.ts index 9d8c7c9d49..73c70f03a3 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Pet.ts @@ -13,14 +13,14 @@ */ import { exists, mapValues } from '../runtime'; +import type { Category } from './Category'; import { - Category, CategoryFromJSON, CategoryFromJSONTyped, CategoryToJSON, } from './Category'; +import type { Tag } from './Tag'; import { - Tag, TagFromJSON, TagFromJSONTyped, TagToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/BehaviorApi.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/BehaviorApi.ts index b2da563fe4..b33c253af5 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/BehaviorApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/BehaviorApi.ts @@ -14,11 +14,13 @@ import * as runtime from '../runtime'; +import type { + GetBehaviorPermissionsResponse, + GetBehaviorTypeResponse, +} from '../models'; import { - GetBehaviorPermissionsResponse, GetBehaviorPermissionsResponseFromJSON, GetBehaviorPermissionsResponseToJSON, - GetBehaviorTypeResponse, GetBehaviorTypeResponseFromJSON, GetBehaviorTypeResponseToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/PetApi.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/PetApi.ts index 4f6c11ea8b..b9d9e722af 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/PetApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/PetApi.ts @@ -14,23 +14,25 @@ import * as runtime from '../runtime'; +import type { + Category, + FindPetsByStatusResponse, + FindPetsByUserResponse, + ModelApiResponse, + Pet, + PetRegionsResponse, +} from '../models'; import { - Category, CategoryFromJSON, CategoryToJSON, - FindPetsByStatusResponse, FindPetsByStatusResponseFromJSON, FindPetsByStatusResponseToJSON, - FindPetsByUserResponse, FindPetsByUserResponseFromJSON, FindPetsByUserResponseToJSON, - ModelApiResponse, ModelApiResponseFromJSON, ModelApiResponseToJSON, - Pet, PetFromJSON, PetToJSON, - PetRegionsResponse, PetRegionsResponseFromJSON, PetRegionsResponseToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/PetPartApi.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/PetPartApi.ts index dd6425e6d9..693a05ffe6 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/PetPartApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/PetPartApi.ts @@ -14,11 +14,13 @@ import * as runtime from '../runtime'; +import type { + GetMatchingPartsResponse, + GetPetPartTypeResponse, +} from '../models'; import { - GetMatchingPartsResponse, GetMatchingPartsResponseFromJSON, GetMatchingPartsResponseToJSON, - GetPetPartTypeResponse, GetPetPartTypeResponseFromJSON, GetPetPartTypeResponseToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/StoreApi.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/StoreApi.ts index 38accbe04f..d282329daf 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/StoreApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/StoreApi.ts @@ -14,8 +14,10 @@ import * as runtime from '../runtime'; +import type { + Order, +} from '../models'; import { - Order, OrderFromJSON, OrderToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/UserApi.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/UserApi.ts index f2249391b7..9f3b847e02 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/UserApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/apis/UserApi.ts @@ -14,11 +14,13 @@ import * as runtime from '../runtime'; +import type { + DefaultMetaOnlyResponse, + User, +} from '../models'; import { - DefaultMetaOnlyResponse, DefaultMetaOnlyResponseFromJSON, DefaultMetaOnlyResponseToJSON, - User, UserFromJSON, UserToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/DefaultMetaOnlyResponse.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/DefaultMetaOnlyResponse.ts index 15dc30c8ab..6e974ed08d 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/DefaultMetaOnlyResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/DefaultMetaOnlyResponse.ts @@ -13,8 +13,8 @@ */ import { exists, mapValues } from '../runtime'; +import type { ResponseMeta } from './ResponseMeta'; import { - ResponseMeta, ResponseMetaFromJSON, ResponseMetaFromJSONTyped, ResponseMetaToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/FindPetsByStatusResponse.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/FindPetsByStatusResponse.ts index e973c4234a..2107c98467 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/FindPetsByStatusResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/FindPetsByStatusResponse.ts @@ -13,14 +13,14 @@ */ import { exists, mapValues } from '../runtime'; +import type { Pet } from './Pet'; import { - Pet, PetFromJSON, PetFromJSONTyped, PetToJSON, } from './Pet'; +import type { ResponseMeta } from './ResponseMeta'; import { - ResponseMeta, ResponseMetaFromJSON, ResponseMetaFromJSONTyped, ResponseMetaToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/FindPetsByUserResponse.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/FindPetsByUserResponse.ts index c447d2177e..4099b15720 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/FindPetsByUserResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/FindPetsByUserResponse.ts @@ -13,14 +13,14 @@ */ import { exists, mapValues } from '../runtime'; +import type { ResponseMeta } from './ResponseMeta'; import { - ResponseMeta, ResponseMetaFromJSON, ResponseMetaFromJSONTyped, ResponseMetaToJSON, } from './ResponseMeta'; +import type { User } from './User'; import { - User, UserFromJSON, UserFromJSONTyped, UserToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetBehaviorPermissionsResponse.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetBehaviorPermissionsResponse.ts index a014973f3c..ef11201e78 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetBehaviorPermissionsResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetBehaviorPermissionsResponse.ts @@ -13,8 +13,8 @@ */ import { exists, mapValues } from '../runtime'; +import type { ResponseMeta } from './ResponseMeta'; import { - ResponseMeta, ResponseMetaFromJSON, ResponseMetaFromJSONTyped, ResponseMetaToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetBehaviorTypeResponse.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetBehaviorTypeResponse.ts index cc0e16870a..214cef0177 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetBehaviorTypeResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetBehaviorTypeResponse.ts @@ -13,14 +13,14 @@ */ import { exists, mapValues } from '../runtime'; +import type { BehaviorType } from './BehaviorType'; import { - BehaviorType, BehaviorTypeFromJSON, BehaviorTypeFromJSONTyped, BehaviorTypeToJSON, } from './BehaviorType'; +import type { ResponseMeta } from './ResponseMeta'; import { - ResponseMeta, ResponseMetaFromJSON, ResponseMetaFromJSONTyped, ResponseMetaToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetMatchingPartsResponse.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetMatchingPartsResponse.ts index 366d024067..d40586e60f 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetMatchingPartsResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetMatchingPartsResponse.ts @@ -13,14 +13,14 @@ */ import { exists, mapValues } from '../runtime'; +import type { MatchingParts } from './MatchingParts'; import { - MatchingParts, MatchingPartsFromJSON, MatchingPartsFromJSONTyped, MatchingPartsToJSON, } from './MatchingParts'; +import type { ResponseMeta } from './ResponseMeta'; import { - ResponseMeta, ResponseMetaFromJSON, ResponseMetaFromJSONTyped, ResponseMetaToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetPetPartTypeResponse.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetPetPartTypeResponse.ts index b6209dfe4a..01927a668e 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetPetPartTypeResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/GetPetPartTypeResponse.ts @@ -13,14 +13,14 @@ */ import { exists, mapValues } from '../runtime'; +import type { PetPartType } from './PetPartType'; import { - PetPartType, PetPartTypeFromJSON, PetPartTypeFromJSONTyped, PetPartTypeToJSON, } from './PetPartType'; +import type { ResponseMeta } from './ResponseMeta'; import { - ResponseMeta, ResponseMetaFromJSON, ResponseMetaFromJSONTyped, ResponseMetaToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/MatchingParts.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/MatchingParts.ts index 1621a55928..0845256d72 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/MatchingParts.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/MatchingParts.ts @@ -13,8 +13,8 @@ */ import { exists, mapValues } from '../runtime'; +import type { Part } from './Part'; import { - Part, PartFromJSON, PartFromJSONTyped, PartToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ModelError.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ModelError.ts index ceaaa3c9a4..84b2bf87bd 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ModelError.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ModelError.ts @@ -13,8 +13,8 @@ */ import { exists, mapValues } from '../runtime'; +import type { ItemId } from './ItemId'; import { - ItemId, ItemIdFromJSON, ItemIdFromJSONTyped, ItemIdToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Pet.ts index 0a39eeb922..dcf617888b 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/Pet.ts @@ -13,26 +13,26 @@ */ import { exists, mapValues } from '../runtime'; +import type { Category } from './Category'; import { - Category, CategoryFromJSON, CategoryFromJSONTyped, CategoryToJSON, } from './Category'; +import type { DeploymentRequestStatus } from './DeploymentRequestStatus'; import { - DeploymentRequestStatus, DeploymentRequestStatusFromJSON, DeploymentRequestStatusFromJSONTyped, DeploymentRequestStatusToJSON, } from './DeploymentRequestStatus'; +import type { Tag } from './Tag'; import { - Tag, TagFromJSON, TagFromJSONTyped, TagToJSON, } from './Tag'; +import type { WarningCode } from './WarningCode'; import { - WarningCode, WarningCodeFromJSON, WarningCodeFromJSONTyped, WarningCodeToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/PetRegionsResponse.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/PetRegionsResponse.ts index 2fde1f07af..bca0ee3d88 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/PetRegionsResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/PetRegionsResponse.ts @@ -13,8 +13,8 @@ */ import { exists, mapValues } from '../runtime'; +import type { ResponseMeta } from './ResponseMeta'; import { - ResponseMeta, ResponseMetaFromJSON, ResponseMetaFromJSONTyped, ResponseMetaToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ResponseMeta.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ResponseMeta.ts index a2dd4343a4..5ac4b74ecf 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ResponseMeta.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/ResponseMeta.ts @@ -13,8 +13,8 @@ */ import { exists, mapValues } from '../runtime'; +import type { ErrorCode } from './ErrorCode'; import { - ErrorCode, ErrorCodeFromJSON, ErrorCodeFromJSONTyped, ErrorCodeToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/PetApi.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/PetApi.ts index 37fbe15ed5..e90e554939 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/PetApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/PetApi.ts @@ -14,11 +14,13 @@ import * as runtime from '../runtime'; +import type { + ModelApiResponse, + Pet, +} from '../models'; import { - ModelApiResponse, ModelApiResponseFromJSON, ModelApiResponseToJSON, - Pet, PetFromJSON, PetToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/StoreApi.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/StoreApi.ts index e478e1c847..614c70e6c1 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/StoreApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/StoreApi.ts @@ -14,8 +14,10 @@ import * as runtime from '../runtime'; +import type { + Order, +} from '../models'; import { - Order, OrderFromJSON, OrderToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/UserApi.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/UserApi.ts index e809889858..986bc1afed 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/UserApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/apis/UserApi.ts @@ -14,8 +14,10 @@ import * as runtime from '../runtime'; +import type { + User, +} from '../models'; import { - User, UserFromJSON, UserToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Pet.ts index 9d8c7c9d49..73c70f03a3 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/models/Pet.ts @@ -13,14 +13,14 @@ */ import { exists, mapValues } from '../runtime'; +import type { Category } from './Category'; import { - Category, CategoryFromJSON, CategoryFromJSONTyped, CategoryToJSON, } from './Category'; +import type { Tag } from './Tag'; import { - Tag, TagFromJSON, TagFromJSONTyped, TagToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/PetApi.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/PetApi.ts index 8ca1d3c520..c9c2169c03 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/PetApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/PetApi.ts @@ -14,11 +14,13 @@ import * as runtime from '../runtime'; +import type { + ModelApiResponse, + Pet, +} from '../models'; import { - ModelApiResponse, ModelApiResponseFromJSON, ModelApiResponseToJSON, - Pet, PetFromJSON, PetToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/StoreApi.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/StoreApi.ts index 4f9e60bb3c..203c4b9627 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/StoreApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/StoreApi.ts @@ -14,8 +14,10 @@ import * as runtime from '../runtime'; +import type { + Order, +} from '../models'; import { - Order, OrderFromJSON, OrderToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/UserApi.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/UserApi.ts index 463e18e7c8..d0341bba88 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/UserApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/apis/UserApi.ts @@ -14,8 +14,10 @@ import * as runtime from '../runtime'; +import type { + User, +} from '../models'; import { - User, UserFromJSON, UserToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Pet.ts index 9d8c7c9d49..73c70f03a3 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Pet.ts @@ -13,14 +13,14 @@ */ import { exists, mapValues } from '../runtime'; +import type { Category } from './Category'; import { - Category, CategoryFromJSON, CategoryFromJSONTyped, CategoryToJSON, } from './Category'; +import type { Tag } from './Tag'; import { - Tag, TagFromJSON, TagFromJSONTyped, TagToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/with-string-enums/apis/DefaultApi.ts b/samples/client/petstore/typescript-fetch/builds/with-string-enums/apis/DefaultApi.ts index d2781cd565..53db124d12 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-string-enums/apis/DefaultApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-string-enums/apis/DefaultApi.ts @@ -14,17 +14,19 @@ import * as runtime from '../runtime'; +import type { + EnumPatternObject, + FakeEnumRequestGetInline200Response, + NumberEnum, + StringEnum, +} from '../models'; import { - EnumPatternObject, EnumPatternObjectFromJSON, EnumPatternObjectToJSON, - FakeEnumRequestGetInline200Response, FakeEnumRequestGetInline200ResponseFromJSON, FakeEnumRequestGetInline200ResponseToJSON, - NumberEnum, NumberEnumFromJSON, NumberEnumToJSON, - StringEnum, StringEnumFromJSON, StringEnumToJSON, } from '../models'; diff --git a/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/EnumPatternObject.ts b/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/EnumPatternObject.ts index 2725f3c2b8..ebee6ba47f 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/EnumPatternObject.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-string-enums/models/EnumPatternObject.ts @@ -13,14 +13,14 @@ */ import { exists, mapValues } from '../runtime'; +import type { NumberEnum } from './NumberEnum'; import { - NumberEnum, NumberEnumFromJSON, NumberEnumFromJSONTyped, NumberEnumToJSON, } from './NumberEnum'; +import type { StringEnum } from './StringEnum'; import { - StringEnum, StringEnumFromJSON, StringEnumFromJSONTyped, StringEnumToJSON, diff --git a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/PetApi.ts b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/PetApi.ts index cc30c2e735..75cc3a9fff 100644 --- a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/PetApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/PetApi.ts @@ -14,9 +14,9 @@ import * as runtime from '../runtime'; -import { - ModelApiResponse, - Pet, +import type { + ModelApiResponse, + Pet, } from '../models'; export interface AddPetRequest { diff --git a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/StoreApi.ts b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/StoreApi.ts index 9ada048d78..8b395b9828 100644 --- a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/StoreApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/StoreApi.ts @@ -14,8 +14,8 @@ import * as runtime from '../runtime'; -import { - Order, +import type { + Order, } from '../models'; export interface DeleteOrderRequest { diff --git a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/UserApi.ts b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/UserApi.ts index 6e81b4858a..7a0175aec1 100644 --- a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/UserApi.ts +++ b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/apis/UserApi.ts @@ -14,8 +14,8 @@ import * as runtime from '../runtime'; -import { - User, +import type { + User, } from '../models'; export interface CreateUserRequest { From 78380c239d61dd0967b98379222dd7c7b7cfc9a9 Mon Sep 17 00:00:00 2001 From: Beppe Catanese <1771700+gcatanese@users.noreply.github.com> Date: Mon, 27 Jun 2022 06:32:15 +0200 Subject: [PATCH 117/212] Add Adyen (#12702) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 367e3210d9..a74caca1e2 100644 --- a/README.md +++ b/README.md @@ -578,6 +578,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in - [Aalborg University](https://www.aau.dk) - [Adaptant Solutions AG](https://www.adaptant.io/) - [adesso SE](https://www.adesso.de/) +- [Adyen](https://www.adyen.com/) - [Agoda](https://www.agoda.com/) - [Airthings](https://www.airthings.com/) - [Allianz](https://www.allianz.com) From 229b2dcfac40f1f91e4dde8b825f9bd1b7b07d63 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Mon, 27 Jun 2022 12:39:40 +0800 Subject: [PATCH 118/212] add adyen logo (#12704) --- website/src/dynamic/users.yml | 5 +++++ website/static/img/companies/adyen.png | Bin 0 -> 939 bytes 2 files changed, 5 insertions(+) create mode 100644 website/static/img/companies/adyen.png diff --git a/website/src/dynamic/users.yml b/website/src/dynamic/users.yml index 9c93d2a153..522d291fbf 100644 --- a/website/src/dynamic/users.yml +++ b/website/src/dynamic/users.yml @@ -13,6 +13,11 @@ image: "img/companies/adesso.png" infoLink: "https://www.adesso.de/" pinned: false +- + caption: "Adyen" + image: "img/companies/adyen.png" + infoLink: "https://www.adyen.com/" + pinned: false - caption: "Agoda" image: "img/companies/agoda.png" diff --git a/website/static/img/companies/adyen.png b/website/static/img/companies/adyen.png new file mode 100644 index 0000000000000000000000000000000000000000..1c150e2220d1c60efd3085ca110076025c08bf86 GIT binary patch literal 939 zcmeAS@N?(olHy`uVBq!ia0vp^X+W&V!3-p2V)R-V7#J-Ad_r7-T!#M)3=IvTt3p+_ zc{=P*Fy8E|w=-6IRjBnwKjYn@2I~WCwnUk&3pCywX}B%aYGz@HJ#!0d8(TYj2PeOv(B$l#y!?W~;?lD6ipuJm z+PeCNrskH`_Kwc3?w;PhiIe9nT)b@M>h&8oZP~hQ`;MKvcJJAL=-9c-H}BrN|M1z% zS8qRm`}xcbD|&%P%(r+3P)B978;g@4b3G?2v;1+XH){jjV4L-Qd7qS;(3*zwMjE+eD0?r1VevpJkk$zHjzjodjZ7V|kvgNnXRK-NchB*|sU~ndE`VCw01w zT>CV4N-_nQ&D^39{7k~BIZ37H4||$t=I&y{Xs;~^XV;|6NuKt{(DQTK%^9W%*XBq@ zT3#-#UBk8c#q5hVGy8-D1#`m_#aw2Z&%3GapB6X8^3hE3{4~D_m2aQS$%# z&)XFEOiT<&l6ZMnee$yzI>+A_@RZdWeKI`UqA#)R<*dZ0yuXGHIfs7UVr2Lw)OX8- z!Gn3SeSElB^R9!M$Im6c{@TNA`)%eT&zm#q{cDy?Ivi!h`i_I;K+QGQLwA%oo~_=k jb|&uPyyJ`Y8t>(=T9NW8;#>bgP_FZI^>bP0l+XkKmK~G= literal 0 HcmV?d00001 From 9522f6d1e2aa66ea110ba25c3408d5ac47e3a04d Mon Sep 17 00:00:00 2001 From: William Cheng Date: Mon, 27 Jun 2022 19:26:35 +0800 Subject: [PATCH 119/212] add toString method in models (#12706) --- .../src/main/resources/r/modelGeneric.mustache | 11 ++++++++++- samples/client/petstore/R/R/allof_tag_api_response.R | 11 ++++++++++- samples/client/petstore/R/R/animal.R | 11 ++++++++++- samples/client/petstore/R/R/basque_pig.R | 11 ++++++++++- samples/client/petstore/R/R/cat.R | 11 ++++++++++- samples/client/petstore/R/R/cat_all_of.R | 11 ++++++++++- samples/client/petstore/R/R/category.R | 11 ++++++++++- samples/client/petstore/R/R/danish_pig.R | 11 ++++++++++- samples/client/petstore/R/R/dog.R | 11 ++++++++++- samples/client/petstore/R/R/dog_all_of.R | 11 ++++++++++- samples/client/petstore/R/R/model_api_response.R | 11 ++++++++++- samples/client/petstore/R/R/order.R | 11 ++++++++++- samples/client/petstore/R/R/pet.R | 11 ++++++++++- samples/client/petstore/R/R/special.R | 11 ++++++++++- samples/client/petstore/R/R/tag.R | 11 ++++++++++- samples/client/petstore/R/R/update_pet_request.R | 11 ++++++++++- samples/client/petstore/R/R/user.R | 11 ++++++++++- samples/client/petstore/R/test_petstore.R | 3 ++- 18 files changed, 172 insertions(+), 18 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache b/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache index fe1871769b..539025096d 100644 --- a/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache @@ -349,8 +349,17 @@ stop(paste("The JSON input `", input, "` is invalid for {{classname}}: the required field `{{name}}` is missing.")) } {{/requiredVars}} + }, + #' To string (JSON format) + #' + #' @description + #' To string (JSON format) + #' + #' @return String representation of {{{classname}}} + #' @export + toString = function() { + self$toJSONString() } - ) ) {{/isEnum}} diff --git a/samples/client/petstore/R/R/allof_tag_api_response.R b/samples/client/petstore/R/R/allof_tag_api_response.R index 95d2743934..49d7c3872c 100644 --- a/samples/client/petstore/R/R/allof_tag_api_response.R +++ b/samples/client/petstore/R/R/allof_tag_api_response.R @@ -195,8 +195,17 @@ AllofTagApiResponse <- R6::R6Class( #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) + }, + #' To string (JSON format) + #' + #' @description + #' To string (JSON format) + #' + #' @return String representation of AllofTagApiResponse + #' @export + toString = function() { + self$toJSONString() } - ) ) diff --git a/samples/client/petstore/R/R/animal.R b/samples/client/petstore/R/R/animal.R index e5a0cc8d3f..860f528490 100644 --- a/samples/client/petstore/R/R/animal.R +++ b/samples/client/petstore/R/R/animal.R @@ -135,8 +135,17 @@ Animal <- R6::R6Class( } else { stop(paste("The JSON input `", input, "` is invalid for Animal: the required field `className` is missing.")) } + }, + #' To string (JSON format) + #' + #' @description + #' To string (JSON format) + #' + #' @return String representation of Animal + #' @export + toString = function() { + self$toJSONString() } - ) ) diff --git a/samples/client/petstore/R/R/basque_pig.R b/samples/client/petstore/R/R/basque_pig.R index 71f3207d36..04d568cd9c 100644 --- a/samples/client/petstore/R/R/basque_pig.R +++ b/samples/client/petstore/R/R/basque_pig.R @@ -141,8 +141,17 @@ BasquePig <- R6::R6Class( } else { stop(paste("The JSON input `", input, "` is invalid for BasquePig: the required field `color` is missing.")) } + }, + #' To string (JSON format) + #' + #' @description + #' To string (JSON format) + #' + #' @return String representation of BasquePig + #' @export + toString = function() { + self$toJSONString() } - ) ) diff --git a/samples/client/petstore/R/R/cat.R b/samples/client/petstore/R/R/cat.R index f523d54bc0..08d4ff1b9a 100644 --- a/samples/client/petstore/R/R/cat.R +++ b/samples/client/petstore/R/R/cat.R @@ -158,8 +158,17 @@ Cat <- R6::R6Class( } else { stop(paste("The JSON input `", input, "` is invalid for Cat: the required field `className` is missing.")) } + }, + #' To string (JSON format) + #' + #' @description + #' To string (JSON format) + #' + #' @return String representation of Cat + #' @export + toString = function() { + self$toJSONString() } - ) ) diff --git a/samples/client/petstore/R/R/cat_all_of.R b/samples/client/petstore/R/R/cat_all_of.R index 1c2e90f399..1dabfdff72 100644 --- a/samples/client/petstore/R/R/cat_all_of.R +++ b/samples/client/petstore/R/R/cat_all_of.R @@ -107,8 +107,17 @@ CatAllOf <- R6::R6Class( #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) + }, + #' To string (JSON format) + #' + #' @description + #' To string (JSON format) + #' + #' @return String representation of CatAllOf + #' @export + toString = function() { + self$toJSONString() } - ) ) diff --git a/samples/client/petstore/R/R/category.R b/samples/client/petstore/R/R/category.R index 3d4ef8c342..f0b33419e4 100644 --- a/samples/client/petstore/R/R/category.R +++ b/samples/client/petstore/R/R/category.R @@ -129,8 +129,17 @@ Category <- R6::R6Class( #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) + }, + #' To string (JSON format) + #' + #' @description + #' To string (JSON format) + #' + #' @return String representation of Category + #' @export + toString = function() { + self$toJSONString() } - ) ) diff --git a/samples/client/petstore/R/R/danish_pig.R b/samples/client/petstore/R/R/danish_pig.R index 48a087e4c6..716479eb2a 100644 --- a/samples/client/petstore/R/R/danish_pig.R +++ b/samples/client/petstore/R/R/danish_pig.R @@ -141,8 +141,17 @@ DanishPig <- R6::R6Class( } else { stop(paste("The JSON input `", input, "` is invalid for DanishPig: the required field `size` is missing.")) } + }, + #' To string (JSON format) + #' + #' @description + #' To string (JSON format) + #' + #' @return String representation of DanishPig + #' @export + toString = function() { + self$toJSONString() } - ) ) diff --git a/samples/client/petstore/R/R/dog.R b/samples/client/petstore/R/R/dog.R index 75989a1f1e..5ce00cd559 100644 --- a/samples/client/petstore/R/R/dog.R +++ b/samples/client/petstore/R/R/dog.R @@ -158,8 +158,17 @@ Dog <- R6::R6Class( } else { stop(paste("The JSON input `", input, "` is invalid for Dog: the required field `className` is missing.")) } + }, + #' To string (JSON format) + #' + #' @description + #' To string (JSON format) + #' + #' @return String representation of Dog + #' @export + toString = function() { + self$toJSONString() } - ) ) diff --git a/samples/client/petstore/R/R/dog_all_of.R b/samples/client/petstore/R/R/dog_all_of.R index 5252117bd3..e34354cde4 100644 --- a/samples/client/petstore/R/R/dog_all_of.R +++ b/samples/client/petstore/R/R/dog_all_of.R @@ -107,8 +107,17 @@ DogAllOf <- R6::R6Class( #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) + }, + #' To string (JSON format) + #' + #' @description + #' To string (JSON format) + #' + #' @return String representation of DogAllOf + #' @export + toString = function() { + self$toJSONString() } - ) ) diff --git a/samples/client/petstore/R/R/model_api_response.R b/samples/client/petstore/R/R/model_api_response.R index d0d048e307..88ec1289af 100644 --- a/samples/client/petstore/R/R/model_api_response.R +++ b/samples/client/petstore/R/R/model_api_response.R @@ -151,8 +151,17 @@ ModelApiResponse <- R6::R6Class( #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) + }, + #' To string (JSON format) + #' + #' @description + #' To string (JSON format) + #' + #' @return String representation of ModelApiResponse + #' @export + toString = function() { + self$toJSONString() } - ) ) diff --git a/samples/client/petstore/R/R/order.R b/samples/client/petstore/R/R/order.R index 0fd725f36c..e676946ba2 100644 --- a/samples/client/petstore/R/R/order.R +++ b/samples/client/petstore/R/R/order.R @@ -217,8 +217,17 @@ Order <- R6::R6Class( #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) + }, + #' To string (JSON format) + #' + #' @description + #' To string (JSON format) + #' + #' @return String representation of Order + #' @export + toString = function() { + self$toJSONString() } - ) ) diff --git a/samples/client/petstore/R/R/pet.R b/samples/client/petstore/R/R/pet.R index 35519aa48a..fce32f92e5 100644 --- a/samples/client/petstore/R/R/pet.R +++ b/samples/client/petstore/R/R/pet.R @@ -234,8 +234,17 @@ Pet <- R6::R6Class( } else { stop(paste("The JSON input `", input, "` is invalid for Pet: the required field `photoUrls` is missing.")) } + }, + #' To string (JSON format) + #' + #' @description + #' To string (JSON format) + #' + #' @return String representation of Pet + #' @export + toString = function() { + self$toJSONString() } - ) ) diff --git a/samples/client/petstore/R/R/special.R b/samples/client/petstore/R/R/special.R index 2dd59b39e5..aa1db50f99 100644 --- a/samples/client/petstore/R/R/special.R +++ b/samples/client/petstore/R/R/special.R @@ -151,8 +151,17 @@ Special <- R6::R6Class( #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) + }, + #' To string (JSON format) + #' + #' @description + #' To string (JSON format) + #' + #' @return String representation of Special + #' @export + toString = function() { + self$toJSONString() } - ) ) diff --git a/samples/client/petstore/R/R/tag.R b/samples/client/petstore/R/R/tag.R index bffbe797c4..6b0d17a2d0 100644 --- a/samples/client/petstore/R/R/tag.R +++ b/samples/client/petstore/R/R/tag.R @@ -129,8 +129,17 @@ Tag <- R6::R6Class( #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) + }, + #' To string (JSON format) + #' + #' @description + #' To string (JSON format) + #' + #' @return String representation of Tag + #' @export + toString = function() { + self$toJSONString() } - ) ) diff --git a/samples/client/petstore/R/R/update_pet_request.R b/samples/client/petstore/R/R/update_pet_request.R index 8f8706ec07..7a7f602647 100644 --- a/samples/client/petstore/R/R/update_pet_request.R +++ b/samples/client/petstore/R/R/update_pet_request.R @@ -130,8 +130,17 @@ UpdatePetRequest <- R6::R6Class( #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) + }, + #' To string (JSON format) + #' + #' @description + #' To string (JSON format) + #' + #' @return String representation of UpdatePetRequest + #' @export + toString = function() { + self$toJSONString() } - ) ) diff --git a/samples/client/petstore/R/R/user.R b/samples/client/petstore/R/R/user.R index e29ee50081..2016a2dce2 100644 --- a/samples/client/petstore/R/R/user.R +++ b/samples/client/petstore/R/R/user.R @@ -261,8 +261,17 @@ User <- R6::R6Class( #' @export validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) + }, + #' To string (JSON format) + #' + #' @description + #' To string (JSON format) + #' + #' @return String representation of User + #' @export + toString = function() { + self$toJSONString() } - ) ) diff --git a/samples/client/petstore/R/test_petstore.R b/samples/client/petstore/R/test_petstore.R index 130639974f..e75bf24714 100644 --- a/samples/client/petstore/R/test_petstore.R +++ b/samples/client/petstore/R/test_petstore.R @@ -47,7 +47,8 @@ pet <- Pet$new("name_test", ) #jsonlite::minify(pet$toJSONString()) -pet$toJSONString() +#cat(pet$toJSONString()) +toString(pet$toString()) #json <- #'[ From 5cb66a8ab0da89f58d5934aec3a247f35f787d77 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Mon, 27 Jun 2022 19:26:51 +0800 Subject: [PATCH 120/212] [R] Fix empty variable name, fix post process model (#12708) * fix empty variable name, fix post process model * fix empty base name --- .../codegen/languages/RClientCodegen.java | 35 +++++++++++++------ .../src/test/resources/3_0/r/petstore.yaml | 2 ++ samples/client/petstore/R/R/special.R | 24 ++++++++++++- samples/client/petstore/R/docs/Special.md | 1 + 4 files changed, 51 insertions(+), 11 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java index 087681bbe8..fd5d1a870e 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java @@ -325,6 +325,11 @@ public class RClientCodegen extends DefaultCodegen implements CodegenConfig { return "item_" + name; } + if ("".equals(name)) { + LOGGER.warn("Empty item name `` (empty string) has been renamed to `empty_string` to avoid compilation errors."); + return "empty_string"; + } + // don't do anything as we'll put property name inside ` `, e.g. `date-time` return name; } @@ -454,6 +459,17 @@ public class RClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public ModelsMap postProcessModels(ModelsMap objs) { + for (ModelMap mo : objs.getModels()) { + CodegenModel cm = mo.getModel(); + for (CodegenProperty var : cm.vars) { + // check to see if base name is an empty string + if ("".equals(var.baseName)) { + LOGGER.debug("Empty baseName `` (empty string) in the model `{}` has been renamed to `empty_string` to avoid compilation errors.", cm.classname); + var.baseName = "empty_string"; + } + } + } + // remove model imports to avoid error List> imports = objs.getImports(); final String prefix = modelPackage(); @@ -466,16 +482,15 @@ public class RClientCodegen extends DefaultCodegen implements CodegenConfig { // recursively add import for mapping one type to multiple imports List> recursiveImports = objs.getImports(); - if (recursiveImports == null) - return objs; - - ListIterator> listIterator = imports.listIterator(); - while (listIterator.hasNext()) { - String _import = listIterator.next().get("import"); - // if the import package happens to be found in the importMapping (key) - // add the corresponding import package to the list - if (importMapping.containsKey(_import)) { - listIterator.add(createMapping("import", importMapping.get(_import))); + if (recursiveImports != null) { + ListIterator> listIterator = imports.listIterator(); + while (listIterator.hasNext()) { + String _import = listIterator.next().get("import"); + // if the import package happens to be found in the importMapping (key) + // add the corresponding import package to the list + if (importMapping.containsKey(_import)) { + listIterator.add(createMapping("import", importMapping.get(_import))); + } } } diff --git a/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml b/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml index 03985dca6e..22a80bb314 100644 --- a/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml @@ -796,6 +796,8 @@ components: type: string super: type: string + "": + type: string Dog: allOf: - $ref: '#/components/schemas/Animal' diff --git a/samples/client/petstore/R/R/special.R b/samples/client/petstore/R/R/special.R index aa1db50f99..2f14118b02 100644 --- a/samples/client/petstore/R/R/special.R +++ b/samples/client/petstore/R/R/special.R @@ -13,6 +13,7 @@ #' @field item_self integer [optional] #' @field item_private character [optional] #' @field item_super character [optional] +#' @field empty_string character [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -22,6 +23,7 @@ Special <- R6::R6Class( `item_self` = NULL, `item_private` = NULL, `item_super` = NULL, + `empty_string` = NULL, #' Initialize a new Special class. #' #' @description @@ -30,10 +32,11 @@ Special <- R6::R6Class( #' @param item_self item_self #' @param item_private item_private #' @param item_super item_super + #' @param empty_string empty_string #' @param ... Other optional arguments. #' @export initialize = function( - `item_self`=NULL, `item_private`=NULL, `item_super`=NULL, ... + `item_self`=NULL, `item_private`=NULL, `item_super`=NULL, `empty_string`=NULL, ... ) { if (!is.null(`item_self`)) { stopifnot(is.numeric(`item_self`), length(`item_self`) == 1) @@ -47,6 +50,10 @@ Special <- R6::R6Class( stopifnot(is.character(`item_super`), length(`item_super`) == 1) self$`item_super` <- `item_super` } + if (!is.null(`empty_string`)) { + stopifnot(is.character(`empty_string`), length(`empty_string`) == 1) + self$`empty_string` <- `empty_string` + } }, #' To JSON string #' @@ -69,6 +76,10 @@ Special <- R6::R6Class( SpecialObject[['super']] <- self$`item_super` } + if (!is.null(self$`empty_string`)) { + SpecialObject[['empty_string']] <- + self$`empty_string` + } SpecialObject }, @@ -91,6 +102,9 @@ Special <- R6::R6Class( if (!is.null(this_object$`super`)) { self$`item_super` <- this_object$`super` } + if (!is.null(this_object$`empty_string`)) { + self$`empty_string` <- this_object$`empty_string` + } self }, #' To JSON string @@ -122,6 +136,13 @@ Special <- R6::R6Class( "%s" ', self$`item_super` + )}, + if (!is.null(self$`empty_string`)) { + sprintf( + '"empty_string": + "%s" + ', + self$`empty_string` )} ) jsoncontent <- paste(jsoncontent, collapse = ",") @@ -140,6 +161,7 @@ Special <- R6::R6Class( self$`item_self` <- this_object$`item_self` self$`item_private` <- this_object$`item_private` self$`item_super` <- this_object$`item_super` + self$`empty_string` <- this_object$`empty_string` self }, #' Validate JSON input with respect to Special diff --git a/samples/client/petstore/R/docs/Special.md b/samples/client/petstore/R/docs/Special.md index d242562121..9939ec7bde 100644 --- a/samples/client/petstore/R/docs/Special.md +++ b/samples/client/petstore/R/docs/Special.md @@ -8,5 +8,6 @@ Name | Type | Description | Notes **item_self** | **integer** | | [optional] **item_private** | **character** | | [optional] **item_super** | **character** | | [optional] +**empty_string** | **character** | | [optional] From 05ae49698fff965b40e07a584c8397efa5fa37da Mon Sep 17 00:00:00 2001 From: anttikarhu Date: Tue, 28 Jun 2022 18:06:10 +0300 Subject: [PATCH 121/212] 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 --- docs/generators/kotlin.md | 2 ++ .../codegen/languages/KotlinClientCodegen.java | 4 ++++ .../resources/kotlin-client/build.gradle.mustache | 14 ++++++++++++++ 3 files changed, 20 insertions(+) diff --git a/docs/generators/kotlin.md b/docs/generators/kotlin.md index 02289613d8..473ee4ec3d 100644 --- a/docs/generators/kotlin.md +++ b/docs/generators/kotlin.md @@ -26,10 +26,12 @@ These options may be applied as additional-properties (cli) or configOptions (pl |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |camelCase| |generateRoomModels|Generate Android Room database models in addition to API models (JVM Volley library only)| |false| |groupId|Generated artifact package's organization (i.e. maven groupId).| |org.openapitools| +|idea|Add IntellJ Idea plugin and mark Kotlin main and test folders as source folders.| |false| |library|Library template (sub-template) to use|
**jvm-ktor**
Platform: Java Virtual Machine. HTTP client: Ktor 1.6.7. JSON processing: Gson, Jackson (default).
**jvm-okhttp4**
[DEFAULT] Platform: Java Virtual Machine. HTTP client: OkHttp 4.2.0 (Android 5.0+ and Java 8+). JSON processing: Moshi 1.8.0.
**jvm-okhttp3**
Platform: Java Virtual Machine. HTTP client: OkHttp 3.12.4 (Android 2.3+ and Java 7+). JSON processing: Moshi 1.8.0.
**jvm-retrofit2**
Platform: Java Virtual Machine. HTTP client: Retrofit 2.6.2.
**multiplatform**
Platform: Kotlin multiplatform. HTTP client: Ktor 1.6.7. JSON processing: Kotlinx Serialization: 1.2.1.
**jvm-volley**
Platform: JVM for Android. HTTP client: Volley 1.2.1. JSON processing: gson 2.8.9
|jvm-okhttp4| |modelMutable|Create mutable models| |false| |moshiCodeGen|Whether to enable codegen with the Moshi library. Refer to the [official Moshi doc](https://github.com/square/moshi#codegen) for more info.| |false| |omitGradlePluginVersions|Whether to declare Gradle plugin versions in build files.| |false| +|omitGradleWrapper|Whether to omit Gradle wrapper for creating a sub project.| |false| |packageName|Generated artifact package name.| |org.openapitools.client| |parcelizeModels|toggle "@Parcelize" for generated models| |null| |requestDateConverter|JVM-Option. Defines in how to handle date-time objects that are used for a request (as query or parameter)|
**toJson**
[DEFAULT] Date formatter option using a json converter.
**toString**
Use the 'toString'-method of the date-time object to retrieve the related string representation.
|toJson| diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java index b3ddfbaef4..bcdc4f9eef 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java @@ -72,6 +72,8 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen { public static final String GENERATE_ROOM_MODELS = "generateRoomModels"; public static final String ROOM_MODEL_PACKAGE = "roomModelPackage"; public static final String OMIT_GRADLE_PLUGIN_VERSIONS = "omitGradlePluginVersions"; + public static final String OMIT_GRADLE_WRAPPER = "omitGradleWrapper"; + public static final String IDEA = "idea"; public static final String DATE_LIBRARY = "dateLibrary"; public static final String REQUEST_DATE_CONVERTER = "requestDateConverter"; @@ -233,6 +235,8 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen { cliOptions.add(CliOption.newBoolean(USE_RX_JAVA3, "Whether to use the RxJava3 adapter with the retrofit2 library.")); cliOptions.add(CliOption.newBoolean(USE_COROUTINES, "Whether to use the Coroutines adapter with the retrofit2 library.")); cliOptions.add(CliOption.newBoolean(OMIT_GRADLE_PLUGIN_VERSIONS, "Whether to declare Gradle plugin versions in build files.")); + cliOptions.add(CliOption.newBoolean(OMIT_GRADLE_WRAPPER, "Whether to omit Gradle wrapper for creating a sub project.")); + cliOptions.add(CliOption.newBoolean(IDEA, "Add IntellJ Idea plugin and mark Kotlin main and test folders as source folders.")); cliOptions.add(CliOption.newBoolean(MOSHI_CODE_GEN, "Whether to enable codegen with the Moshi library. Refer to the [official Moshi doc](https://github.com/square/moshi#codegen) for more info.")); diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/build.gradle.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/build.gradle.mustache index f4b36562df..ef2426d833 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/build.gradle.mustache @@ -1,10 +1,12 @@ group '{{groupId}}' version '{{artifactVersion}}' +{{^omitGradleWrapper}} wrapper { gradleVersion = '6.8.3' distributionUrl = "https://services.gradle.org/distributions/gradle-$gradleVersion-all.zip" } +{{/omitGradleWrapper}} buildscript { ext.kotlin_version = '1.5.10' @@ -45,6 +47,9 @@ apply plugin: 'kotlin-parcelize' {{#kotlinx_serialization}} apply plugin: 'kotlinx-serialization' {{/kotlinx_serialization}} +{{#idea}} +apply plugin: 'idea' +{{/idea}} repositories { maven { url "https://repo1.maven.org/maven2" } @@ -53,6 +58,15 @@ repositories { test { useJUnitPlatform() } +{{#idea}} + +idea { + module { + sourceDirs += file('src/main/kotlin') + testSourceDirs += file('src/test/kotlin') + } +} +{{/idea}} dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" From 3feb11acbb9c333020ebfcecb2d7017a352ca0db Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 28 Jun 2022 23:43:56 +0800 Subject: [PATCH 122/212] fix nested oneof, fix toStringJSON (#12723) --- .../src/main/resources/r/modelAnyOf.mustache | 16 +- .../main/resources/r/modelGeneric.mustache | 2 +- .../src/main/resources/r/modelOneOf.mustache | 16 +- .../src/test/resources/3_0/r/petstore.yaml | 7 + .../petstore/R/.openapi-generator/FILES | 2 + samples/client/petstore/R/NAMESPACE | 1 + .../petstore/R/R/allof_tag_api_response.R | 2 +- samples/client/petstore/R/R/animal.R | 2 +- samples/client/petstore/R/R/any_of_pig.R | 16 +- samples/client/petstore/R/R/basque_pig.R | 2 +- samples/client/petstore/R/R/cat.R | 2 +- samples/client/petstore/R/R/cat_all_of.R | 2 +- samples/client/petstore/R/R/category.R | 2 +- samples/client/petstore/R/R/danish_pig.R | 2 +- samples/client/petstore/R/R/dog.R | 2 +- samples/client/petstore/R/R/dog_all_of.R | 2 +- .../client/petstore/R/R/model_api_response.R | 2 +- samples/client/petstore/R/R/nested_one_of.R | 147 ++++++++++++++++++ samples/client/petstore/R/R/order.R | 2 +- samples/client/petstore/R/R/pet.R | 2 +- samples/client/petstore/R/R/pig.R | 16 +- samples/client/petstore/R/R/special.R | 2 +- samples/client/petstore/R/R/tag.R | 2 +- .../client/petstore/R/R/update_pet_request.R | 2 +- samples/client/petstore/R/R/user.R | 2 +- samples/client/petstore/R/README.md | 1 + samples/client/petstore/R/docs/NestedOneOf.md | 10 ++ samples/client/petstore/R/test_petstore.R | 16 +- .../R/tests/testthat/test_nested_one_of.R | 20 +++ .../petstore/R/tests/testthat/test_petstore.R | 22 ++- 30 files changed, 292 insertions(+), 32 deletions(-) create mode 100644 samples/client/petstore/R/R/nested_one_of.R create mode 100644 samples/client/petstore/R/docs/NestedOneOf.md create mode 100644 samples/client/petstore/R/tests/testthat/test_nested_one_of.R diff --git a/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache b/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache index 5b0e047fba..d27c5cedbb 100644 --- a/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache @@ -71,13 +71,27 @@ #' #' @return JSON string reprenation of the {{{classname}}}. #' @export - toJSON = function() { + toJSONString = function() { if (!is.null(self$actual_instance)) { self$actual_instance$toJSONString() } else { NULL } }, + #' Serialize {{{classname}}} to JSON. + #' + #' @description + #' Serialize {{{classname}}} to JSON. + #' + #' @return JSON reprenation of the {{{classname}}}. + #' @export + toJSON = function() { + if (!is.null(self$actual_instance)) { + self$actual_instance$toJSON() + } else { + NULL + } + }, #' Validate the input JSON with respect to {{{classname}}}. #' #' @description diff --git a/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache b/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache index 539025096d..d55150d0f7 100644 --- a/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache @@ -266,7 +266,7 @@ {{/vars}} ) jsoncontent <- paste(jsoncontent, collapse = ",") - jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) + as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) }, #' Deserialize JSON string into an instance of {{{classname}}} #' diff --git a/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache b/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache index 2e67fd5e68..d53f32f59f 100644 --- a/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache @@ -86,13 +86,27 @@ #' #' @return JSON string reprenation of the {{{classname}}}. #' @export - toJSON = function() { + toJSONString = function() { if (!is.null(self$actual_instance)) { self$actual_instance$toJSONString() } else { NULL } }, + #' Serialize {{{classname}}} to JSON. + #' + #' @description + #' Serialize {{{classname}}} to JSON. + #' + #' @return JSON reprenation of the {{{classname}}}. + #' @export + toJSON = function() { + if (!is.null(self$actual_instance)) { + self$actual_instance$toJSON() + } else { + NULL + } + }, #' Validate the input JSON with respect to {{{classname}}}. #' #' @description diff --git a/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml b/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml index 22a80bb314..b6c2731285 100644 --- a/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml @@ -863,3 +863,10 @@ components: required: - className - size + NestedOneOf: + type: object + properties: + size: + type: integer + nested_pig: + $ref: '#/components/schemas/Pig' diff --git a/samples/client/petstore/R/.openapi-generator/FILES b/samples/client/petstore/R/.openapi-generator/FILES index 61126f669d..3046316ea3 100644 --- a/samples/client/petstore/R/.openapi-generator/FILES +++ b/samples/client/petstore/R/.openapi-generator/FILES @@ -18,6 +18,7 @@ R/dog.R R/dog_all_of.R R/fake_api.R R/model_api_response.R +R/nested_one_of.R R/order.R R/pet.R R/pet_api.R @@ -41,6 +42,7 @@ docs/Dog.md docs/DogAllOf.md docs/FakeApi.md docs/ModelApiResponse.md +docs/NestedOneOf.md docs/Order.md docs/Pet.md docs/PetApi.md diff --git a/samples/client/petstore/R/NAMESPACE b/samples/client/petstore/R/NAMESPACE index 2f72275d49..d8fc867efa 100644 --- a/samples/client/petstore/R/NAMESPACE +++ b/samples/client/petstore/R/NAMESPACE @@ -23,6 +23,7 @@ export(DanishPig) export(Dog) export(DogAllOf) export(ModelApiResponse) +export(NestedOneOf) export(Order) export(Pet) export(Pig) diff --git a/samples/client/petstore/R/R/allof_tag_api_response.R b/samples/client/petstore/R/R/allof_tag_api_response.R index 49d7c3872c..1b7a67a078 100644 --- a/samples/client/petstore/R/R/allof_tag_api_response.R +++ b/samples/client/petstore/R/R/allof_tag_api_response.R @@ -167,7 +167,7 @@ AllofTagApiResponse <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) + as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) }, #' Deserialize JSON string into an instance of AllofTagApiResponse #' diff --git a/samples/client/petstore/R/R/animal.R b/samples/client/petstore/R/R/animal.R index 860f528490..043e6f5043 100644 --- a/samples/client/petstore/R/R/animal.R +++ b/samples/client/petstore/R/R/animal.R @@ -104,7 +104,7 @@ Animal <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) + as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) }, #' Deserialize JSON string into an instance of Animal #' diff --git a/samples/client/petstore/R/R/any_of_pig.R b/samples/client/petstore/R/R/any_of_pig.R index 23c2410238..73b8e89c6f 100644 --- a/samples/client/petstore/R/R/any_of_pig.R +++ b/samples/client/petstore/R/R/any_of_pig.R @@ -94,13 +94,27 @@ AnyOfPig <- R6::R6Class( #' #' @return JSON string reprenation of the AnyOfPig. #' @export - toJSON = function() { + toJSONString = function() { if (!is.null(self$actual_instance)) { self$actual_instance$toJSONString() } else { NULL } }, + #' Serialize AnyOfPig to JSON. + #' + #' @description + #' Serialize AnyOfPig to JSON. + #' + #' @return JSON reprenation of the AnyOfPig. + #' @export + toJSON = function() { + if (!is.null(self$actual_instance)) { + self$actual_instance$toJSON() + } else { + NULL + } + }, #' Validate the input JSON with respect to AnyOfPig. #' #' @description diff --git a/samples/client/petstore/R/R/basque_pig.R b/samples/client/petstore/R/R/basque_pig.R index 04d568cd9c..ad3a3d8b84 100644 --- a/samples/client/petstore/R/R/basque_pig.R +++ b/samples/client/petstore/R/R/basque_pig.R @@ -104,7 +104,7 @@ BasquePig <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) + as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) }, #' Deserialize JSON string into an instance of BasquePig #' diff --git a/samples/client/petstore/R/R/cat.R b/samples/client/petstore/R/R/cat.R index 08d4ff1b9a..9e70f50a0c 100644 --- a/samples/client/petstore/R/R/cat.R +++ b/samples/client/petstore/R/R/cat.R @@ -126,7 +126,7 @@ Cat <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) + as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) }, #' Deserialize JSON string into an instance of Cat #' diff --git a/samples/client/petstore/R/R/cat_all_of.R b/samples/client/petstore/R/R/cat_all_of.R index 1dabfdff72..cbdad46b9d 100644 --- a/samples/client/petstore/R/R/cat_all_of.R +++ b/samples/client/petstore/R/R/cat_all_of.R @@ -83,7 +83,7 @@ CatAllOf <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) + as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) }, #' Deserialize JSON string into an instance of CatAllOf #' diff --git a/samples/client/petstore/R/R/category.R b/samples/client/petstore/R/R/category.R index f0b33419e4..986a506514 100644 --- a/samples/client/petstore/R/R/category.R +++ b/samples/client/petstore/R/R/category.R @@ -104,7 +104,7 @@ Category <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) + as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) }, #' Deserialize JSON string into an instance of Category #' diff --git a/samples/client/petstore/R/R/danish_pig.R b/samples/client/petstore/R/R/danish_pig.R index 716479eb2a..00caeda1ef 100644 --- a/samples/client/petstore/R/R/danish_pig.R +++ b/samples/client/petstore/R/R/danish_pig.R @@ -104,7 +104,7 @@ DanishPig <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) + as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) }, #' Deserialize JSON string into an instance of DanishPig #' diff --git a/samples/client/petstore/R/R/dog.R b/samples/client/petstore/R/R/dog.R index 5ce00cd559..596e3e74a1 100644 --- a/samples/client/petstore/R/R/dog.R +++ b/samples/client/petstore/R/R/dog.R @@ -126,7 +126,7 @@ Dog <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) + as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) }, #' Deserialize JSON string into an instance of Dog #' diff --git a/samples/client/petstore/R/R/dog_all_of.R b/samples/client/petstore/R/R/dog_all_of.R index e34354cde4..b7e1b355f4 100644 --- a/samples/client/petstore/R/R/dog_all_of.R +++ b/samples/client/petstore/R/R/dog_all_of.R @@ -83,7 +83,7 @@ DogAllOf <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) + as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) }, #' Deserialize JSON string into an instance of DogAllOf #' diff --git a/samples/client/petstore/R/R/model_api_response.R b/samples/client/petstore/R/R/model_api_response.R index 88ec1289af..28477200f6 100644 --- a/samples/client/petstore/R/R/model_api_response.R +++ b/samples/client/petstore/R/R/model_api_response.R @@ -125,7 +125,7 @@ ModelApiResponse <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) + as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) }, #' Deserialize JSON string into an instance of ModelApiResponse #' diff --git a/samples/client/petstore/R/R/nested_one_of.R b/samples/client/petstore/R/R/nested_one_of.R new file mode 100644 index 0000000000..f40db2629a --- /dev/null +++ b/samples/client/petstore/R/R/nested_one_of.R @@ -0,0 +1,147 @@ +#' OpenAPI Petstore +#' +#' This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. +#' +#' The version of the OpenAPI document: 1.0.0 +#' Generated by: https://openapi-generator.tech +#' + +#' @docType class +#' @title NestedOneOf +#' @description NestedOneOf Class +#' @format An \code{R6Class} generator object +#' @field size integer [optional] +#' @field nested_pig \link{Pig} [optional] +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +NestedOneOf <- R6::R6Class( + 'NestedOneOf', + public = list( + `size` = NULL, + `nested_pig` = NULL, + #' Initialize a new NestedOneOf class. + #' + #' @description + #' Initialize a new NestedOneOf class. + #' + #' @param size size + #' @param nested_pig nested_pig + #' @param ... Other optional arguments. + #' @export + initialize = function( + `size`=NULL, `nested_pig`=NULL, ... + ) { + if (!is.null(`size`)) { + stopifnot(is.numeric(`size`), length(`size`) == 1) + self$`size` <- `size` + } + if (!is.null(`nested_pig`)) { + stopifnot(R6::is.R6(`nested_pig`)) + self$`nested_pig` <- `nested_pig` + } + }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return NestedOneOf in JSON format + #' @export + toJSON = function() { + NestedOneOfObject <- list() + if (!is.null(self$`size`)) { + NestedOneOfObject[['size']] <- + self$`size` + } + if (!is.null(self$`nested_pig`)) { + NestedOneOfObject[['nested_pig']] <- + self$`nested_pig`$toJSON() + } + + NestedOneOfObject + }, + #' Deserialize JSON string into an instance of NestedOneOf + #' + #' @description + #' Deserialize JSON string into an instance of NestedOneOf + #' + #' @param input_json the JSON input + #' @return the instance of NestedOneOf + #' @export + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`size`)) { + self$`size` <- this_object$`size` + } + if (!is.null(this_object$`nested_pig`)) { + nested_pig_object <- Pig$new() + nested_pig_object$fromJSON(jsonlite::toJSON(this_object$nested_pig, auto_unbox = TRUE, digits = NA)) + self$`nested_pig` <- nested_pig_object + } + self + }, + #' To JSON string + #' + #' @description + #' To JSON String + #' + #' @return NestedOneOf in JSON format + #' @export + toJSONString = function() { + jsoncontent <- c( + if (!is.null(self$`size`)) { + sprintf( + '"size": + %d + ', + self$`size` + )}, + if (!is.null(self$`nested_pig`)) { + sprintf( + '"nested_pig": + %s + ', + jsonlite::toJSON(self$`nested_pig`$toJSON(), auto_unbox=TRUE, digits = NA) + )} + ) + jsoncontent <- paste(jsoncontent, collapse = ",") + as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) + }, + #' Deserialize JSON string into an instance of NestedOneOf + #' + #' @description + #' Deserialize JSON string into an instance of NestedOneOf + #' + #' @param input_json the JSON input + #' @return the instance of NestedOneOf + #' @export + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`size` <- this_object$`size` + self$`nested_pig` <- Pig$new()$fromJSON(jsonlite::toJSON(this_object$nested_pig, auto_unbox = TRUE, digits = NA)) + self + }, + #' Validate JSON input with respect to NestedOneOf + #' + #' @description + #' Validate JSON input with respect to NestedOneOf and throw an exception if invalid + #' + #' @param input the JSON input + #' @export + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + }, + #' To string (JSON format) + #' + #' @description + #' To string (JSON format) + #' + #' @return String representation of NestedOneOf + #' @export + toString = function() { + self$toJSONString() + } + ) +) + diff --git a/samples/client/petstore/R/R/order.R b/samples/client/petstore/R/R/order.R index e676946ba2..f7ce4aa1cd 100644 --- a/samples/client/petstore/R/R/order.R +++ b/samples/client/petstore/R/R/order.R @@ -188,7 +188,7 @@ Order <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) + as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) }, #' Deserialize JSON string into an instance of Order #' diff --git a/samples/client/petstore/R/R/pet.R b/samples/client/petstore/R/R/pet.R index fce32f92e5..f3345adc04 100644 --- a/samples/client/petstore/R/R/pet.R +++ b/samples/client/petstore/R/R/pet.R @@ -192,7 +192,7 @@ Pet <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) + as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) }, #' Deserialize JSON string into an instance of Pet #' diff --git a/samples/client/petstore/R/R/pig.R b/samples/client/petstore/R/R/pig.R index 4887ec3d26..565df07820 100644 --- a/samples/client/petstore/R/R/pig.R +++ b/samples/client/petstore/R/R/pig.R @@ -110,13 +110,27 @@ Pig <- R6::R6Class( #' #' @return JSON string reprenation of the Pig. #' @export - toJSON = function() { + toJSONString = function() { if (!is.null(self$actual_instance)) { self$actual_instance$toJSONString() } else { NULL } }, + #' Serialize Pig to JSON. + #' + #' @description + #' Serialize Pig to JSON. + #' + #' @return JSON reprenation of the Pig. + #' @export + toJSON = function() { + if (!is.null(self$actual_instance)) { + self$actual_instance$toJSON() + } else { + NULL + } + }, #' Validate the input JSON with respect to Pig. #' #' @description diff --git a/samples/client/petstore/R/R/special.R b/samples/client/petstore/R/R/special.R index 2f14118b02..7d34c26a9a 100644 --- a/samples/client/petstore/R/R/special.R +++ b/samples/client/petstore/R/R/special.R @@ -146,7 +146,7 @@ Special <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) + as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) }, #' Deserialize JSON string into an instance of Special #' diff --git a/samples/client/petstore/R/R/tag.R b/samples/client/petstore/R/R/tag.R index 6b0d17a2d0..e58c9899a1 100644 --- a/samples/client/petstore/R/R/tag.R +++ b/samples/client/petstore/R/R/tag.R @@ -104,7 +104,7 @@ Tag <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) + as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) }, #' Deserialize JSON string into an instance of Tag #' diff --git a/samples/client/petstore/R/R/update_pet_request.R b/samples/client/petstore/R/R/update_pet_request.R index 7a7f602647..2756c970f5 100644 --- a/samples/client/petstore/R/R/update_pet_request.R +++ b/samples/client/petstore/R/R/update_pet_request.R @@ -105,7 +105,7 @@ UpdatePetRequest <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) + as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) }, #' Deserialize JSON string into an instance of UpdatePetRequest #' diff --git a/samples/client/petstore/R/R/user.R b/samples/client/petstore/R/R/user.R index 2016a2dce2..3379f7cfa7 100644 --- a/samples/client/petstore/R/R/user.R +++ b/samples/client/petstore/R/R/user.R @@ -230,7 +230,7 @@ User <- R6::R6Class( )} ) jsoncontent <- paste(jsoncontent, collapse = ",") - jsonlite::minify(paste('{', jsoncontent, '}', sep = "")) + as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) }, #' Deserialize JSON string into an instance of User #' diff --git a/samples/client/petstore/R/README.md b/samples/client/petstore/R/README.md index eb829f1e42..79c2d3f042 100644 --- a/samples/client/petstore/R/README.md +++ b/samples/client/petstore/R/README.md @@ -97,6 +97,7 @@ Class | Method | HTTP request | Description - [Dog](docs/Dog.md) - [DogAllOf](docs/DogAllOf.md) - [ModelApiResponse](docs/ModelApiResponse.md) + - [NestedOneOf](docs/NestedOneOf.md) - [Order](docs/Order.md) - [Pet](docs/Pet.md) - [Pig](docs/Pig.md) diff --git a/samples/client/petstore/R/docs/NestedOneOf.md b/samples/client/petstore/R/docs/NestedOneOf.md new file mode 100644 index 0000000000..ecc2ed8914 --- /dev/null +++ b/samples/client/petstore/R/docs/NestedOneOf.md @@ -0,0 +1,10 @@ +# petstore::NestedOneOf + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**size** | **integer** | | [optional] +**nested_pig** | [**Pig**](Pig.md) | | [optional] + + diff --git a/samples/client/petstore/R/test_petstore.R b/samples/client/petstore/R/test_petstore.R index e75bf24714..ff95be9432 100644 --- a/samples/client/petstore/R/test_petstore.R +++ b/samples/client/petstore/R/test_petstore.R @@ -67,8 +67,8 @@ toString(pet$toString()) ##Pet$my_static_method <- function(x) { x + 2} ##Pet$public_methods$my_static_method(1) # -# basque_pig_json <- -# '{"className2": "BasquePig", "color": "red"}' + basque_pig_json <- + '{"className2": "BasquePig", "color": "red"}' # # danish_pig_json <- # '{"className2": "DanishPig", "size": 7}' @@ -81,8 +81,8 @@ toString(pet$toString()) # ]' # # print("==========") -# pig <- Pig$new() -# basque_pig <- pig$fromJSON(basque_pig_json) + pig <- Pig$new() + basque_pig <- pig$fromJSON(basque_pig_json) # #print(basque_pig$actual_instance$color) # #expect_equal(basque_pig$actual_type, "BasquePig") # pig$fromJSON(danish_pig_json) @@ -93,3 +93,11 @@ toString(pet$toString()) # #dp <- d$validateJSON(danish_pig_json) # # + +# test nested oneOf +nested_oneof <- NestedOneOf$new() +nested_oneof$nested_pig <- pig +nested_oneof$size <- 15 + +cat(nested_oneof$toJSONString()) + diff --git a/samples/client/petstore/R/tests/testthat/test_nested_one_of.R b/samples/client/petstore/R/tests/testthat/test_nested_one_of.R new file mode 100644 index 0000000000..940a7fba2a --- /dev/null +++ b/samples/client/petstore/R/tests/testthat/test_nested_one_of.R @@ -0,0 +1,20 @@ +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate + +context("Test NestedOneOf") + +model_instance <- NestedOneOf$new() + +test_that("size", { + # tests for the property `size` (integer) + + # uncomment below to test the property + #expect_equal(model.instance$`size`, "EXPECTED_RESULT") +}) + +test_that("nested_pig", { + # tests for the property `nested_pig` (Pig) + + # uncomment below to test the property + #expect_equal(model.instance$`nested_pig`, "EXPECTED_RESULT") +}) diff --git a/samples/client/petstore/R/tests/testthat/test_petstore.R b/samples/client/petstore/R/tests/testthat/test_petstore.R index 8c5e1e3944..424fc5c291 100644 --- a/samples/client/petstore/R/tests/testthat/test_petstore.R +++ b/samples/client/petstore/R/tests/testthat/test_petstore.R @@ -16,7 +16,7 @@ result <- pet_api$AddPet(pet) test_that("AddPet", { expect_equal(pet_id, 123321) #expect_equal(result, NULL) - #expect_equal(pet$toJSONString(), '{"id":123321,"category":{"id":450,"name":"test_cat"},"name":"name_test","photoUrls":["photo_test","second test"],"tags":[{"id":123,"name":"tag_test"},{"id":456,"name":"unknown"}],"status":"available"}') + expect_equal(pet$toJSONString(), '{"id":123321,"category":{"id":450,"name":"test_cat"},"name":"name_test","photoUrls":["photo_test","second test"],"tags":[{"id":123,"name":"tag_test"},{"id":456,"name":"unknown"}],"status":"available"}') }) test_that("Test toJSON toJSONString fromJSON fromJSONString", { @@ -154,7 +154,7 @@ test_that("Tests validateJSON", { }) # test object with special item names: self, private, super -test_that("Tests oneOf", { +test_that("Tests special item names", { special_json <- '{"self": 123, "private": "red", "super": "something"}' @@ -168,6 +168,7 @@ test_that("Tests oneOf", { expect_true(grepl('"private"', special$toJSONString())) expect_true(grepl('"self"', special$toJSONString())) expect_true(grepl('"super"', special$toJSONString())) + expect_equal('{"self":123,"private":"red","super":"something"}', special$toJSONString()) # round trip test s1 <- Special$new()$fromJSONString(special_json) @@ -206,13 +207,13 @@ test_that("Tests oneOf", { expect_equal(pig$actual_instance$className, "DanishPig") # test toJSON - expect_equal(danish_pig$toJSON(), original_danish_pig$toJSONString()) + expect_equal(danish_pig$toJSONString(), original_danish_pig$toJSONString()) basque_pig <- pig$fromJSON(basque_pig_json) expect_equal(basque_pig$actual_type, "BasquePig") expect_equal(basque_pig$actual_instance$color, "red") expect_equal(basque_pig$actual_instance$className, "BasquePig") - expect_equal(basque_pig$toJSON(), original_basque_pig$toJSONString()) + expect_equal(basque_pig$toJSONString(), original_basque_pig$toJSONString()) # test exception when no matche found expect_error(pig$fromJSON('{}'), 'No match found when deserializing the payload into Pig with oneOf schemas BasquePig, DanishPig. Details: The JSON input ` \\{\\} ` is invalid for BasquePig: the required field `className` is missing\\., The JSON input ` \\{\\} ` is invalid for DanishPig: the required field `className` is missing\\.') @@ -226,9 +227,16 @@ test_that("Tests oneOf", { expect_equal(pig2$actual_type, "BasquePig") expect_equal(pig2$actual_instance$color, "red") expect_equal(pig2$actual_instance$className, "BasquePig") - expect_equal(pig2$toJSON(), original_basque_pig$toJSONString()) + expect_equal(pig2$toJSONString(), original_basque_pig$toJSONString()) expect_error(Pig$new(instance = basque_pig), 'Failed to initialize Pig with oneOf schemas BasquePig, DanishPig. Provided class name: Pig') + + # test nested oneOf + nested_oneof <- NestedOneOf$new() + nested_oneof$nested_pig <- pig + nested_oneof$size <- 15 + expect_equal(nested_oneof$toJSONString(), '{"size":15,"nested_pig":{"className":"BasquePig","color":"red"}}') + }) test_that("Tests anyOf", { @@ -260,13 +268,13 @@ test_that("Tests anyOf", { expect_equal(pig$actual_instance$className, "DanishPig") # test toJSON - expect_equal(danish_pig$toJSON(), original_danish_pig$toJSONString()) + expect_equal(danish_pig$toJSONString(), original_danish_pig$toJSONString()) basque_pig <- pig$fromJSON(basque_pig_json) expect_equal(basque_pig$actual_type, "BasquePig") expect_equal(basque_pig$actual_instance$color, "red") expect_equal(basque_pig$actual_instance$className, "BasquePig") - expect_equal(basque_pig$toJSON(), original_basque_pig$toJSONString()) + expect_equal(basque_pig$toJSONString(), original_basque_pig$toJSONString()) # test exception when no matche found expect_error(pig$fromJSON('{}'), 'No match found when deserializing the payload into AnyOfPig with anyOf schemas BasquePig, DanishPig. Details: The JSON input ` \\{\\} ` is invalid for BasquePig: the required field `className` is missing\\., The JSON input ` \\{\\} ` is invalid for DanishPig: the required field `className` is missing\\.') From 0232d1cd0023a71c548a8c02be59df69bd760d3b Mon Sep 17 00:00:00 2001 From: William Cheng Date: Wed, 29 Jun 2022 11:01:56 +0800 Subject: [PATCH 123/212] add toString method to oneOf/anyOf objects (#12727) --- .../src/main/resources/r/modelAnyOf.mustache | 24 +++++++++++++++---- .../src/main/resources/r/modelOneOf.mustache | 22 ++++++++++++++--- samples/client/petstore/R/R/any_of_pig.R | 24 +++++++++++++++---- samples/client/petstore/R/R/pig.R | 22 ++++++++++++++--- .../petstore/R/tests/testthat/test_petstore.R | 5 +++- 5 files changed, 82 insertions(+), 15 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache b/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache index d27c5cedbb..06bbe57273 100644 --- a/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache @@ -69,11 +69,11 @@ #' @description #' Serialize {{{classname}}} to JSON string. #' - #' @return JSON string reprenation of the {{{classname}}}. + #' @return JSON string representation of the {{{classname}}}. #' @export toJSONString = function() { if (!is.null(self$actual_instance)) { - self$actual_instance$toJSONString() + as.character(jsonlite::minify((self$actual_instance$toJSONString()))) } else { NULL } @@ -83,7 +83,7 @@ #' @description #' Serialize {{{classname}}} to JSON. #' - #' @return JSON reprenation of the {{{classname}}}. + #' @return JSON representation of the {{{classname}}}. #' @export toJSON = function() { if (!is.null(self$actual_instance)) { @@ -111,6 +111,22 @@ # no error thrown, restore old values self$actual_instance <- actual_instance_bak self$actual_type <- actual_type_bak - } + }, + #' Returns the string representation of the instance. + #' + #' @description + #' Returns the string representation of the instance. + #' + #' @return The string representation of the instance. + #' @export + toString = function() { + jsoncontent <- c( + sprintf('"actual_instance": %s', if (is.null(self$actual_instance)) {NULL} else {self$actual_instance$toJSONString()}), + sprintf('"actual_type": "%s"', self$actual_type), + sprintf('"any_of": "%s"', paste( unlist(self$any_of), collapse=', ')) + ) + jsoncontent <- paste(jsoncontent, collapse = ",") + as.character(jsonlite::prettify(paste('{', jsoncontent, '}', sep = ""))) + } ) ) diff --git a/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache b/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache index d53f32f59f..20077cccdf 100644 --- a/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache @@ -84,11 +84,11 @@ #' @description #' Serialize {{{classname}}} to JSON string. #' - #' @return JSON string reprenation of the {{{classname}}}. + #' @return JSON string representation of the {{{classname}}}. #' @export toJSONString = function() { if (!is.null(self$actual_instance)) { - self$actual_instance$toJSONString() + as.character(jsonlite::minify(self$actual_instance$toJSONString())) } else { NULL } @@ -98,7 +98,7 @@ #' @description #' Serialize {{{classname}}} to JSON. #' - #' @return JSON reprenation of the {{{classname}}}. + #' @return JSON representation of the {{{classname}}}. #' @export toJSON = function() { if (!is.null(self$actual_instance)) { @@ -126,6 +126,22 @@ # no error thrown, restore old values self$actual_instance <- actual_instance_bak self$actual_type <- actual_type_bak + }, + #' Returns the string representation of the instance. + #' + #' @description + #' Returns the string representation of the instance. + #' + #' @return The string representation of the instance. + #' @export + toString = function() { + jsoncontent <- c( + sprintf('"actual_instance": %s', if (is.null(self$actual_instance)) {NULL} else {self$actual_instance$toJSONString()}), + sprintf('"actual_type": "%s"', self$actual_type), + sprintf('"one_of": "%s"', paste( unlist(self$one_of), collapse=', ')) + ) + jsoncontent <- paste(jsoncontent, collapse = ",") + as.character(jsonlite::prettify(paste('{', jsoncontent, '}', sep = ""))) } ) ) diff --git a/samples/client/petstore/R/R/any_of_pig.R b/samples/client/petstore/R/R/any_of_pig.R index 73b8e89c6f..31044e62b1 100644 --- a/samples/client/petstore/R/R/any_of_pig.R +++ b/samples/client/petstore/R/R/any_of_pig.R @@ -92,11 +92,11 @@ AnyOfPig <- R6::R6Class( #' @description #' Serialize AnyOfPig to JSON string. #' - #' @return JSON string reprenation of the AnyOfPig. + #' @return JSON string representation of the AnyOfPig. #' @export toJSONString = function() { if (!is.null(self$actual_instance)) { - self$actual_instance$toJSONString() + as.character(jsonlite::minify((self$actual_instance$toJSONString()))) } else { NULL } @@ -106,7 +106,7 @@ AnyOfPig <- R6::R6Class( #' @description #' Serialize AnyOfPig to JSON. #' - #' @return JSON reprenation of the AnyOfPig. + #' @return JSON representation of the AnyOfPig. #' @export toJSON = function() { if (!is.null(self$actual_instance)) { @@ -134,7 +134,23 @@ AnyOfPig <- R6::R6Class( # no error thrown, restore old values self$actual_instance <- actual_instance_bak self$actual_type <- actual_type_bak - } + }, + #' Returns the string representation of the instance. + #' + #' @description + #' Returns the string representation of the instance. + #' + #' @return The string representation of the instance. + #' @export + toString = function() { + jsoncontent <- c( + sprintf('"actual_instance": %s', if (is.null(self$actual_instance)) {NULL} else {self$actual_instance$toJSONString()}), + sprintf('"actual_type": "%s"', self$actual_type), + sprintf('"any_of": "%s"', paste( unlist(self$any_of), collapse=', ')) + ) + jsoncontent <- paste(jsoncontent, collapse = ",") + as.character(jsonlite::prettify(paste('{', jsoncontent, '}', sep = ""))) + } ) ) diff --git a/samples/client/petstore/R/R/pig.R b/samples/client/petstore/R/R/pig.R index 565df07820..60f7ecbc00 100644 --- a/samples/client/petstore/R/R/pig.R +++ b/samples/client/petstore/R/R/pig.R @@ -108,11 +108,11 @@ Pig <- R6::R6Class( #' @description #' Serialize Pig to JSON string. #' - #' @return JSON string reprenation of the Pig. + #' @return JSON string representation of the Pig. #' @export toJSONString = function() { if (!is.null(self$actual_instance)) { - self$actual_instance$toJSONString() + as.character(jsonlite::minify(self$actual_instance$toJSONString())) } else { NULL } @@ -122,7 +122,7 @@ Pig <- R6::R6Class( #' @description #' Serialize Pig to JSON. #' - #' @return JSON reprenation of the Pig. + #' @return JSON representation of the Pig. #' @export toJSON = function() { if (!is.null(self$actual_instance)) { @@ -150,6 +150,22 @@ Pig <- R6::R6Class( # no error thrown, restore old values self$actual_instance <- actual_instance_bak self$actual_type <- actual_type_bak + }, + #' Returns the string representation of the instance. + #' + #' @description + #' Returns the string representation of the instance. + #' + #' @return The string representation of the instance. + #' @export + toString = function() { + jsoncontent <- c( + sprintf('"actual_instance": %s', if (is.null(self$actual_instance)) {NULL} else {self$actual_instance$toJSONString()}), + sprintf('"actual_type": "%s"', self$actual_type), + sprintf('"one_of": "%s"', paste( unlist(self$one_of), collapse=', ')) + ) + jsoncontent <- paste(jsoncontent, collapse = ",") + as.character(jsonlite::prettify(paste('{', jsoncontent, '}', sep = ""))) } ) ) diff --git a/samples/client/petstore/R/tests/testthat/test_petstore.R b/samples/client/petstore/R/tests/testthat/test_petstore.R index 424fc5c291..7db1cc4dca 100644 --- a/samples/client/petstore/R/tests/testthat/test_petstore.R +++ b/samples/client/petstore/R/tests/testthat/test_petstore.R @@ -236,7 +236,10 @@ test_that("Tests oneOf", { nested_oneof$nested_pig <- pig nested_oneof$size <- 15 expect_equal(nested_oneof$toJSONString(), '{"size":15,"nested_pig":{"className":"BasquePig","color":"red"}}') - + + # test toString + expect_equal(as.character(jsonlite::minify(pig$toString())), "{\"actual_instance\":{\"className\":\"BasquePig\",\"color\":\"red\"},\"actual_type\":\"BasquePig\",\"one_of\":\"BasquePig, DanishPig\"}") + expect_equal(as.character(jsonlite::minify(Pig$new()$toString())), "{\"one_of\":\"BasquePig, DanishPig\"}") }) test_that("Tests anyOf", { From 3a2bbbb8501f7238dba0dc124234e9e0459cdd9e Mon Sep 17 00:00:00 2001 From: Bogdan Ilchyshyn Date: Wed, 29 Jun 2022 15:59:51 +1000 Subject: [PATCH 124/212] support error handling in middleware (#12716) --- .../typescript-fetch/runtime.mustache | 36 ++++++++++++++++++- .../builds/default-v3.0/runtime.ts | 36 ++++++++++++++++++- .../builds/default/runtime.ts | 36 ++++++++++++++++++- .../typescript-fetch/builds/enum/runtime.ts | 36 ++++++++++++++++++- .../builds/es6-target/src/runtime.ts | 36 ++++++++++++++++++- .../builds/multiple-parameters/runtime.ts | 36 ++++++++++++++++++- .../src/runtime.ts | 36 ++++++++++++++++++- .../builds/sagas-and-records/src/runtime.ts | 36 ++++++++++++++++++- .../builds/with-interfaces/runtime.ts | 36 ++++++++++++++++++- .../builds/with-npm-version/src/runtime.ts | 36 ++++++++++++++++++- .../builds/with-string-enums/runtime.ts | 36 ++++++++++++++++++- .../without-runtime-checks/src/runtime.ts | 36 ++++++++++++++++++- 12 files changed, 420 insertions(+), 12 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache b/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache index 5dacb67bf5..d4644d543f 100644 --- a/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache @@ -166,7 +166,25 @@ export class BaseAPI { }) || fetchParams; } } - let response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + let response = undefined; + try { + response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + } catch (e) { + for (const middleware of this.middleware) { + if (middleware.onError) { + response = await middleware.onError({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + error: e, + response: response ? response.clone() : undefined, + }) || response; + } + } + if (response !== undefined) { + throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); + } + } for (const middleware of this.middleware) { if (middleware.post) { response = await middleware.post({ @@ -207,6 +225,13 @@ export class ResponseError extends Error { } } +export class FetchError extends Error { + name: "FetchError" = "FetchError"; + constructor(public cause: unknown, msg?: string) { + super(msg); + } +} + export class RequiredError extends Error { name: "RequiredError" = "RequiredError"; constructor(public field: string, msg?: string) { @@ -315,9 +340,18 @@ export interface ResponseContext { response: Response; } +export interface ErrorContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + error: unknown; + response?: Response; +} + export interface Middleware { pre?(context: RequestContext): Promise; post?(context: ResponseContext): Promise; + onError?(context: ErrorContext): Promise; } export interface ApiResponse { diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/runtime.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/runtime.ts index 1ab0a775e9..01a6b3b2bd 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/runtime.ts @@ -177,7 +177,25 @@ export class BaseAPI { }) || fetchParams; } } - let response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + let response = undefined; + try { + response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + } catch (e) { + for (const middleware of this.middleware) { + if (middleware.onError) { + response = await middleware.onError({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + error: e, + response: response ? response.clone() : undefined, + }) || response; + } + } + if (response !== undefined) { + throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); + } + } for (const middleware of this.middleware) { if (middleware.post) { response = await middleware.post({ @@ -218,6 +236,13 @@ export class ResponseError extends Error { } } +export class FetchError extends Error { + name: "FetchError" = "FetchError"; + constructor(public cause: unknown, msg?: string) { + super(msg); + } +} + export class RequiredError extends Error { name: "RequiredError" = "RequiredError"; constructor(public field: string, msg?: string) { @@ -322,9 +347,18 @@ export interface ResponseContext { response: Response; } +export interface ErrorContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + error: unknown; + response?: Response; +} + export interface Middleware { pre?(context: RequestContext): Promise; post?(context: ResponseContext): Promise; + onError?(context: ErrorContext): Promise; } export interface ApiResponse { diff --git a/samples/client/petstore/typescript-fetch/builds/default/runtime.ts b/samples/client/petstore/typescript-fetch/builds/default/runtime.ts index fd8de02dd8..add595fb79 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/runtime.ts @@ -177,7 +177,25 @@ export class BaseAPI { }) || fetchParams; } } - let response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + let response = undefined; + try { + response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + } catch (e) { + for (const middleware of this.middleware) { + if (middleware.onError) { + response = await middleware.onError({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + error: e, + response: response ? response.clone() : undefined, + }) || response; + } + } + if (response !== undefined) { + throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); + } + } for (const middleware of this.middleware) { if (middleware.post) { response = await middleware.post({ @@ -218,6 +236,13 @@ export class ResponseError extends Error { } } +export class FetchError extends Error { + name: "FetchError" = "FetchError"; + constructor(public cause: unknown, msg?: string) { + super(msg); + } +} + export class RequiredError extends Error { name: "RequiredError" = "RequiredError"; constructor(public field: string, msg?: string) { @@ -322,9 +347,18 @@ export interface ResponseContext { response: Response; } +export interface ErrorContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + error: unknown; + response?: Response; +} + export interface Middleware { pre?(context: RequestContext): Promise; post?(context: ResponseContext): Promise; + onError?(context: ErrorContext): Promise; } export interface ApiResponse { diff --git a/samples/client/petstore/typescript-fetch/builds/enum/runtime.ts b/samples/client/petstore/typescript-fetch/builds/enum/runtime.ts index cd6f5def23..99d8d846c8 100644 --- a/samples/client/petstore/typescript-fetch/builds/enum/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/enum/runtime.ts @@ -177,7 +177,25 @@ export class BaseAPI { }) || fetchParams; } } - let response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + let response = undefined; + try { + response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + } catch (e) { + for (const middleware of this.middleware) { + if (middleware.onError) { + response = await middleware.onError({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + error: e, + response: response ? response.clone() : undefined, + }) || response; + } + } + if (response !== undefined) { + throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); + } + } for (const middleware of this.middleware) { if (middleware.post) { response = await middleware.post({ @@ -218,6 +236,13 @@ export class ResponseError extends Error { } } +export class FetchError extends Error { + name: "FetchError" = "FetchError"; + constructor(public cause: unknown, msg?: string) { + super(msg); + } +} + export class RequiredError extends Error { name: "RequiredError" = "RequiredError"; constructor(public field: string, msg?: string) { @@ -322,9 +347,18 @@ export interface ResponseContext { response: Response; } +export interface ErrorContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + error: unknown; + response?: Response; +} + export interface Middleware { pre?(context: RequestContext): Promise; post?(context: ResponseContext): Promise; + onError?(context: ErrorContext): Promise; } export interface ApiResponse { diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts index fd8de02dd8..add595fb79 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts @@ -177,7 +177,25 @@ export class BaseAPI { }) || fetchParams; } } - let response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + let response = undefined; + try { + response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + } catch (e) { + for (const middleware of this.middleware) { + if (middleware.onError) { + response = await middleware.onError({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + error: e, + response: response ? response.clone() : undefined, + }) || response; + } + } + if (response !== undefined) { + throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); + } + } for (const middleware of this.middleware) { if (middleware.post) { response = await middleware.post({ @@ -218,6 +236,13 @@ export class ResponseError extends Error { } } +export class FetchError extends Error { + name: "FetchError" = "FetchError"; + constructor(public cause: unknown, msg?: string) { + super(msg); + } +} + export class RequiredError extends Error { name: "RequiredError" = "RequiredError"; constructor(public field: string, msg?: string) { @@ -322,9 +347,18 @@ export interface ResponseContext { response: Response; } +export interface ErrorContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + error: unknown; + response?: Response; +} + export interface Middleware { pre?(context: RequestContext): Promise; post?(context: ResponseContext): Promise; + onError?(context: ErrorContext): Promise; } export interface ApiResponse { diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/runtime.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/runtime.ts index fd8de02dd8..add595fb79 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/runtime.ts @@ -177,7 +177,25 @@ export class BaseAPI { }) || fetchParams; } } - let response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + let response = undefined; + try { + response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + } catch (e) { + for (const middleware of this.middleware) { + if (middleware.onError) { + response = await middleware.onError({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + error: e, + response: response ? response.clone() : undefined, + }) || response; + } + } + if (response !== undefined) { + throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); + } + } for (const middleware of this.middleware) { if (middleware.post) { response = await middleware.post({ @@ -218,6 +236,13 @@ export class ResponseError extends Error { } } +export class FetchError extends Error { + name: "FetchError" = "FetchError"; + constructor(public cause: unknown, msg?: string) { + super(msg); + } +} + export class RequiredError extends Error { name: "RequiredError" = "RequiredError"; constructor(public field: string, msg?: string) { @@ -322,9 +347,18 @@ export interface ResponseContext { response: Response; } +export interface ErrorContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + error: unknown; + response?: Response; +} + export interface Middleware { pre?(context: RequestContext): Promise; post?(context: ResponseContext): Promise; + onError?(context: ErrorContext): Promise; } export interface ApiResponse { diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts index fd8de02dd8..add595fb79 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts @@ -177,7 +177,25 @@ export class BaseAPI { }) || fetchParams; } } - let response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + let response = undefined; + try { + response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + } catch (e) { + for (const middleware of this.middleware) { + if (middleware.onError) { + response = await middleware.onError({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + error: e, + response: response ? response.clone() : undefined, + }) || response; + } + } + if (response !== undefined) { + throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); + } + } for (const middleware of this.middleware) { if (middleware.post) { response = await middleware.post({ @@ -218,6 +236,13 @@ export class ResponseError extends Error { } } +export class FetchError extends Error { + name: "FetchError" = "FetchError"; + constructor(public cause: unknown, msg?: string) { + super(msg); + } +} + export class RequiredError extends Error { name: "RequiredError" = "RequiredError"; constructor(public field: string, msg?: string) { @@ -322,9 +347,18 @@ export interface ResponseContext { response: Response; } +export interface ErrorContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + error: unknown; + response?: Response; +} + export interface Middleware { pre?(context: RequestContext): Promise; post?(context: ResponseContext): Promise; + onError?(context: ErrorContext): Promise; } export interface ApiResponse { diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/runtime.ts index fd8de02dd8..add595fb79 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/runtime.ts @@ -177,7 +177,25 @@ export class BaseAPI { }) || fetchParams; } } - let response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + let response = undefined; + try { + response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + } catch (e) { + for (const middleware of this.middleware) { + if (middleware.onError) { + response = await middleware.onError({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + error: e, + response: response ? response.clone() : undefined, + }) || response; + } + } + if (response !== undefined) { + throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); + } + } for (const middleware of this.middleware) { if (middleware.post) { response = await middleware.post({ @@ -218,6 +236,13 @@ export class ResponseError extends Error { } } +export class FetchError extends Error { + name: "FetchError" = "FetchError"; + constructor(public cause: unknown, msg?: string) { + super(msg); + } +} + export class RequiredError extends Error { name: "RequiredError" = "RequiredError"; constructor(public field: string, msg?: string) { @@ -322,9 +347,18 @@ export interface ResponseContext { response: Response; } +export interface ErrorContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + error: unknown; + response?: Response; +} + export interface Middleware { pre?(context: RequestContext): Promise; post?(context: ResponseContext): Promise; + onError?(context: ErrorContext): Promise; } export interface ApiResponse { diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/runtime.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/runtime.ts index fd8de02dd8..add595fb79 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/runtime.ts @@ -177,7 +177,25 @@ export class BaseAPI { }) || fetchParams; } } - let response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + let response = undefined; + try { + response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + } catch (e) { + for (const middleware of this.middleware) { + if (middleware.onError) { + response = await middleware.onError({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + error: e, + response: response ? response.clone() : undefined, + }) || response; + } + } + if (response !== undefined) { + throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); + } + } for (const middleware of this.middleware) { if (middleware.post) { response = await middleware.post({ @@ -218,6 +236,13 @@ export class ResponseError extends Error { } } +export class FetchError extends Error { + name: "FetchError" = "FetchError"; + constructor(public cause: unknown, msg?: string) { + super(msg); + } +} + export class RequiredError extends Error { name: "RequiredError" = "RequiredError"; constructor(public field: string, msg?: string) { @@ -322,9 +347,18 @@ export interface ResponseContext { response: Response; } +export interface ErrorContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + error: unknown; + response?: Response; +} + export interface Middleware { pre?(context: RequestContext): Promise; post?(context: ResponseContext): Promise; + onError?(context: ErrorContext): Promise; } export interface ApiResponse { diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts index fd8de02dd8..add595fb79 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts @@ -177,7 +177,25 @@ export class BaseAPI { }) || fetchParams; } } - let response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + let response = undefined; + try { + response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + } catch (e) { + for (const middleware of this.middleware) { + if (middleware.onError) { + response = await middleware.onError({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + error: e, + response: response ? response.clone() : undefined, + }) || response; + } + } + if (response !== undefined) { + throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); + } + } for (const middleware of this.middleware) { if (middleware.post) { response = await middleware.post({ @@ -218,6 +236,13 @@ export class ResponseError extends Error { } } +export class FetchError extends Error { + name: "FetchError" = "FetchError"; + constructor(public cause: unknown, msg?: string) { + super(msg); + } +} + export class RequiredError extends Error { name: "RequiredError" = "RequiredError"; constructor(public field: string, msg?: string) { @@ -322,9 +347,18 @@ export interface ResponseContext { response: Response; } +export interface ErrorContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + error: unknown; + response?: Response; +} + export interface Middleware { pre?(context: RequestContext): Promise; post?(context: ResponseContext): Promise; + onError?(context: ErrorContext): Promise; } export interface ApiResponse { diff --git a/samples/client/petstore/typescript-fetch/builds/with-string-enums/runtime.ts b/samples/client/petstore/typescript-fetch/builds/with-string-enums/runtime.ts index cd6f5def23..99d8d846c8 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-string-enums/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-string-enums/runtime.ts @@ -177,7 +177,25 @@ export class BaseAPI { }) || fetchParams; } } - let response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + let response = undefined; + try { + response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + } catch (e) { + for (const middleware of this.middleware) { + if (middleware.onError) { + response = await middleware.onError({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + error: e, + response: response ? response.clone() : undefined, + }) || response; + } + } + if (response !== undefined) { + throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); + } + } for (const middleware of this.middleware) { if (middleware.post) { response = await middleware.post({ @@ -218,6 +236,13 @@ export class ResponseError extends Error { } } +export class FetchError extends Error { + name: "FetchError" = "FetchError"; + constructor(public cause: unknown, msg?: string) { + super(msg); + } +} + export class RequiredError extends Error { name: "RequiredError" = "RequiredError"; constructor(public field: string, msg?: string) { @@ -322,9 +347,18 @@ export interface ResponseContext { response: Response; } +export interface ErrorContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + error: unknown; + response?: Response; +} + export interface Middleware { pre?(context: RequestContext): Promise; post?(context: ResponseContext): Promise; + onError?(context: ErrorContext): Promise; } export interface ApiResponse { diff --git a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/runtime.ts index 3e4ccfc28f..55c164497f 100644 --- a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/runtime.ts @@ -177,7 +177,25 @@ export class BaseAPI { }) || fetchParams; } } - let response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + let response = undefined; + try { + response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + } catch (e) { + for (const middleware of this.middleware) { + if (middleware.onError) { + response = await middleware.onError({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + error: e, + response: response ? response.clone() : undefined, + }) || response; + } + } + if (response !== undefined) { + throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); + } + } for (const middleware of this.middleware) { if (middleware.post) { response = await middleware.post({ @@ -218,6 +236,13 @@ export class ResponseError extends Error { } } +export class FetchError extends Error { + name: "FetchError" = "FetchError"; + constructor(public cause: unknown, msg?: string) { + super(msg); + } +} + export class RequiredError extends Error { name: "RequiredError" = "RequiredError"; constructor(public field: string, msg?: string) { @@ -312,9 +337,18 @@ export interface ResponseContext { response: Response; } +export interface ErrorContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + error: unknown; + response?: Response; +} + export interface Middleware { pre?(context: RequestContext): Promise; post?(context: ResponseContext): Promise; + onError?(context: ErrorContext): Promise; } export interface ApiResponse { From 08108cc4ba6b05beb18a0752f0d92df8c7ceaadd Mon Sep 17 00:00:00 2001 From: William Cheng Date: Thu, 30 Jun 2022 23:08:49 +0800 Subject: [PATCH 125/212] add tests for nested oneOf fromJSONString (#12740) --- .../client/petstore/R/tests/testthat/test_petstore.R | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/samples/client/petstore/R/tests/testthat/test_petstore.R b/samples/client/petstore/R/tests/testthat/test_petstore.R index 7db1cc4dca..f4b2df8344 100644 --- a/samples/client/petstore/R/tests/testthat/test_petstore.R +++ b/samples/client/petstore/R/tests/testthat/test_petstore.R @@ -15,7 +15,6 @@ result <- pet_api$AddPet(pet) test_that("AddPet", { expect_equal(pet_id, 123321) - #expect_equal(result, NULL) expect_equal(pet$toJSONString(), '{"id":123321,"category":{"id":450,"name":"test_cat"},"name":"name_test","photoUrls":["photo_test","second test"],"tags":[{"id":123,"name":"tag_test"},{"id":456,"name":"unknown"}],"status":"available"}') }) @@ -228,15 +227,20 @@ test_that("Tests oneOf", { expect_equal(pig2$actual_instance$color, "red") expect_equal(pig2$actual_instance$className, "BasquePig") expect_equal(pig2$toJSONString(), original_basque_pig$toJSONString()) - + expect_error(Pig$new(instance = basque_pig), 'Failed to initialize Pig with oneOf schemas BasquePig, DanishPig. Provided class name: Pig') - # test nested oneOf + # test nested oneOf toJSONString nested_oneof <- NestedOneOf$new() nested_oneof$nested_pig <- pig nested_oneof$size <- 15 expect_equal(nested_oneof$toJSONString(), '{"size":15,"nested_pig":{"className":"BasquePig","color":"red"}}') + # test fromJSONString with nested oneOf + nested_json_str <- '{"size":15,"nested_pig":{"className":"BasquePig","color":"red"}}' + nested_oneof2 <- NestedOneOf$new()$fromJSONString(nested_json_str) + expect_equal(nested_oneof2$toJSONString(), '{"size":15,"nested_pig":{"className":"BasquePig","color":"red"}}') + # test toString expect_equal(as.character(jsonlite::minify(pig$toString())), "{\"actual_instance\":{\"className\":\"BasquePig\",\"color\":\"red\"},\"actual_type\":\"BasquePig\",\"one_of\":\"BasquePig, DanishPig\"}") expect_equal(as.character(jsonlite::minify(Pig$new()$toString())), "{\"one_of\":\"BasquePig, DanishPig\"}") @@ -270,7 +274,7 @@ test_that("Tests anyOf", { expect_equal(pig$actual_instance$size, 7) expect_equal(pig$actual_instance$className, "DanishPig") - # test toJSON + # test toJSONString expect_equal(danish_pig$toJSONString(), original_danish_pig$toJSONString()) basque_pig <- pig$fromJSON(basque_pig_json) From c9824214959900bd0a7f3671e6522dbab1b76fb9 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Thu, 30 Jun 2022 23:09:10 +0800 Subject: [PATCH 126/212] [Go] use EqualFold instead instead of comparing strings in lower case (#12741) * use EqualFold instead in the go client * update samples --- modules/openapi-generator/src/main/resources/go/client.mustache | 2 +- .../openapi-generator/src/main/resources/go/signing.mustache | 2 +- samples/client/petstore/go/go-petstore/client.go | 2 +- .../client/extensions/x-auth-id-alias/go-experimental/client.go | 2 +- samples/openapi3/client/petstore/go/go-petstore/client.go | 2 +- samples/openapi3/client/petstore/go/go-petstore/signing.go | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/go/client.mustache b/modules/openapi-generator/src/main/resources/go/client.mustache index 799553a189..62f75508ba 100644 --- a/modules/openapi-generator/src/main/resources/go/client.mustache +++ b/modules/openapi-generator/src/main/resources/go/client.mustache @@ -111,7 +111,7 @@ func selectHeaderAccept(accepts []string) string { // contains is a case insensitive match, finding needle in a haystack func contains(haystack []string, needle string) bool { for _, a := range haystack { - if strings.ToLower(a) == strings.ToLower(needle) { + if strings.EqualFold(a, needle) { return true } } diff --git a/modules/openapi-generator/src/main/resources/go/signing.mustache b/modules/openapi-generator/src/main/resources/go/signing.mustache index d7171ca535..d8c5b376e9 100644 --- a/modules/openapi-generator/src/main/resources/go/signing.mustache +++ b/modules/openapi-generator/src/main/resources/go/signing.mustache @@ -136,7 +136,7 @@ func (h *HttpSignatureAuth) ContextWithValue(ctx context.Context) (context.Conte } m := make(map[string]bool) for _, h := range h.SignedHeaders { - if strings.ToLower(h) == strings.ToLower(HttpHeaderAuthorization) { + if strings.EqualFold(h, HttpHeaderAuthorization) { return nil, fmt.Errorf("Signed headers cannot include the 'Authorization' header") } m[h] = true diff --git a/samples/client/petstore/go/go-petstore/client.go b/samples/client/petstore/go/go-petstore/client.go index c656e9616c..f872380df9 100644 --- a/samples/client/petstore/go/go-petstore/client.go +++ b/samples/client/petstore/go/go-petstore/client.go @@ -119,7 +119,7 @@ func selectHeaderAccept(accepts []string) string { // contains is a case insensitive match, finding needle in a haystack func contains(haystack []string, needle string) bool { for _, a := range haystack { - if strings.ToLower(a) == strings.ToLower(needle) { + if strings.EqualFold(a, needle) { return true } } diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/client.go b/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/client.go index dc4affb7bd..547180d6b6 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/client.go +++ b/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/client.go @@ -104,7 +104,7 @@ func selectHeaderAccept(accepts []string) string { // contains is a case insensitive match, finding needle in a haystack func contains(haystack []string, needle string) bool { for _, a := range haystack { - if strings.ToLower(a) == strings.ToLower(needle) { + if strings.EqualFold(a, needle) { return true } } diff --git a/samples/openapi3/client/petstore/go/go-petstore/client.go b/samples/openapi3/client/petstore/go/go-petstore/client.go index a2a56c5af9..c6d7fabcb2 100644 --- a/samples/openapi3/client/petstore/go/go-petstore/client.go +++ b/samples/openapi3/client/petstore/go/go-petstore/client.go @@ -122,7 +122,7 @@ func selectHeaderAccept(accepts []string) string { // contains is a case insensitive match, finding needle in a haystack func contains(haystack []string, needle string) bool { for _, a := range haystack { - if strings.ToLower(a) == strings.ToLower(needle) { + if strings.EqualFold(a, needle) { return true } } diff --git a/samples/openapi3/client/petstore/go/go-petstore/signing.go b/samples/openapi3/client/petstore/go/go-petstore/signing.go index f2610ce774..d6dfdbb50f 100644 --- a/samples/openapi3/client/petstore/go/go-petstore/signing.go +++ b/samples/openapi3/client/petstore/go/go-petstore/signing.go @@ -145,7 +145,7 @@ func (h *HttpSignatureAuth) ContextWithValue(ctx context.Context) (context.Conte } m := make(map[string]bool) for _, h := range h.SignedHeaders { - if strings.ToLower(h) == strings.ToLower(HttpHeaderAuthorization) { + if strings.EqualFold(h, HttpHeaderAuthorization) { return nil, fmt.Errorf("Signed headers cannot include the 'Authorization' header") } m[h] = true From 280de38de95a9accc933090b80f0d62e0487b251 Mon Sep 17 00:00:00 2001 From: Anakael Date: Thu, 30 Jun 2022 18:10:17 +0300 Subject: [PATCH 127/212] [csharp-netcore] fix: url escaping (#12739) * fix: url escaping * doc: add Polly to dependencies * Revert "doc: add Polly to dependencies" This reverts commit 29b95ed2c42455e970ac806149c7602980be8f2f. --- .../resources/csharp-netcore/WebRequestPathBuilder.mustache | 6 +++--- .../src/Org.OpenAPITools/Client/WebRequestPathBuilder.cs | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/WebRequestPathBuilder.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/WebRequestPathBuilder.mustache index 30e5181eea..cc811ae4f9 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/WebRequestPathBuilder.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/WebRequestPathBuilder.mustache @@ -1,6 +1,6 @@ {{>partial_header}} +using System; using System.Collections.Generic; -using System.Web; namespace {{packageName}}.Client { @@ -22,7 +22,7 @@ namespace {{packageName}}.Client { foreach (var parameter in parameters) { - _path = _path.Replace("{" + parameter.Key + "}", HttpUtility.UrlEncode(parameter.Value)); + _path = _path.Replace("{" + parameter.Key + "}", Uri.EscapeDataString(parameter.Value)); } } @@ -32,7 +32,7 @@ namespace {{packageName}}.Client { foreach (var value in parameter.Value) { - _query = _query + parameter.Key + "=" + HttpUtility.UrlEncode(value) + "&"; + _query = _query + parameter.Key + "=" + Uri.EscapeDataString(value) + "&"; } } } diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Client/WebRequestPathBuilder.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Client/WebRequestPathBuilder.cs index 62cdf6a1d9..e4af746d7d 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Client/WebRequestPathBuilder.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Client/WebRequestPathBuilder.cs @@ -7,8 +7,8 @@ * Generated by: https://github.com/openapitools/openapi-generator.git */ +using System; using System.Collections.Generic; -using System.Web; namespace Org.OpenAPITools.Client { @@ -30,7 +30,7 @@ namespace Org.OpenAPITools.Client { foreach (var parameter in parameters) { - _path = _path.Replace("{" + parameter.Key + "}", HttpUtility.UrlEncode(parameter.Value)); + _path = _path.Replace("{" + parameter.Key + "}", Uri.EscapeDataString(parameter.Value)); } } @@ -40,7 +40,7 @@ namespace Org.OpenAPITools.Client { foreach (var value in parameter.Value) { - _query = _query + parameter.Key + "=" + HttpUtility.UrlEncode(value) + "&"; + _query = _query + parameter.Key + "=" + Uri.EscapeDataString(value) + "&"; } } } From d0a0b822d6888febbc626cb603aca7d46a8c2ebd Mon Sep 17 00:00:00 2001 From: William Cheng Date: Fri, 1 Jul 2022 13:51:29 +0800 Subject: [PATCH 128/212] [csharp-netcore] Add support for ComVisible, CLSCompliant attributes (#12733) * add support for ComVisible, CLSCompliant attributes in csharp-netcore clients * fix import --- .../libraries/httpclient/model.mustache | 11 +++++++---- .../src/main/resources/csharp-netcore/model.mustache | 11 +++++++---- .../main/resources/csharp-netcore/modelAnyOf.mustache | 6 ++++++ .../main/resources/csharp-netcore/modelEnum.mustache | 6 ++++++ .../resources/csharp-netcore/modelGeneric.mustache | 6 ++++++ .../main/resources/csharp-netcore/modelOneOf.mustache | 6 ++++++ ...points-models-for-testing-with-http-signature.yaml | 2 ++ .../src/Org.OpenAPITools/Model/GmFruit.cs | 1 + .../src/Org.OpenAPITools/Model/NumberOnly.cs | 3 +++ .../src/Org.OpenAPITools/Model/GmFruit.cs | 1 + .../src/Org.OpenAPITools/Model/NumberOnly.cs | 3 +++ .../src/Org.OpenAPITools/Model/GmFruit.cs | 1 + .../src/Org.OpenAPITools/Model/NumberOnly.cs | 3 +++ .../src/Org.OpenAPITools/Model/GmFruit.cs | 1 + .../src/Org.OpenAPITools/Model/NumberOnly.cs | 3 +++ .../src/Org.OpenAPITools/Model/GmFruit.cs | 1 + .../src/Org.OpenAPITools/Model/NumberOnly.cs | 3 +++ .../src/Org.OpenAPITools/Model/GmFruit.cs | 1 + .../src/Org.OpenAPITools/Model/NumberOnly.cs | 3 +++ 19 files changed, 64 insertions(+), 8 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/libraries/httpclient/model.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/libraries/httpclient/model.mustache index 0de1e05e51..f84de7f643 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/libraries/httpclient/model.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/libraries/httpclient/model.mustache @@ -1,19 +1,22 @@ {{>partial_header}} +{{#models}} +{{#model}} using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.IO; +{{#vendorExtensions.x-com-visible}} +using System.Runtime.InteropServices; +{{/vendorExtensions.x-com-visible}} using System.Runtime.Serialization; using System.Text; using System.Text.RegularExpressions; using Newtonsoft.Json; using Newtonsoft.Json.Converters; using Newtonsoft.Json.Linq; -{{#models}} -{{#model}} {{#discriminator}} using JsonSubTypes; {{/discriminator}} @@ -34,11 +37,11 @@ using OpenAPIClientUtils = {{packageName}}.Client.ClientUtils; using System.Reflection; {{/-first}} {{/oneOf}} -{{#aneOf}} +{{#anyOf}} {{#-first}} using System.Reflection; {{/-first}} -{{/aneOf}} +{{/anyOf}} namespace {{packageName}}.{{modelPackage}} { diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/model.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/model.mustache index 339a6d2f76..0d0c0b6835 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/model.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/model.mustache @@ -1,19 +1,22 @@ {{>partial_header}} +{{#models}} +{{#model}} using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.IO; +{{#vendorExtensions.x-com-visible}} +using System.Runtime.InteropServices; +{{/vendorExtensions.x-com-visible}} using System.Runtime.Serialization; using System.Text; using System.Text.RegularExpressions; using Newtonsoft.Json; using Newtonsoft.Json.Converters; using Newtonsoft.Json.Linq; -{{#models}} -{{#model}} {{#discriminator}} using JsonSubTypes; {{/discriminator}} @@ -33,11 +36,11 @@ using OpenAPIClientUtils = {{packageName}}.Client.ClientUtils; using System.Reflection; {{/-first}} {{/oneOf}} -{{#aneOf}} +{{#anyOf}} {{#-first}} using System.Reflection; {{/-first}} -{{/aneOf}} +{{/anyOf}} namespace {{packageName}}.{{modelPackage}} { diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/modelAnyOf.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/modelAnyOf.mustache index d889a3e1fd..a808b9c161 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/modelAnyOf.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/modelAnyOf.mustache @@ -1,6 +1,12 @@ /// /// {{description}}{{^description}}{{classname}}{{/description}} /// + {{#vendorExtensions.x-cls-compliant}} + [CLSCompliant({{{.}}})] + {{/vendorExtensions.x-cls-compliant}} + {{#vendorExtensions.x-com-visible}} + [ComVisible({{{.}}})] + {{/vendorExtensions.x-com-visible}} [JsonConverter(typeof({{classname}}JsonConverter))] [DataContract(Name = "{{{name}}}")] {{>visibility}} partial class {{classname}} : AbstractOpenAPISchema, {{#parent}}{{{.}}}, {{/parent}}IEquatable<{{classname}}>{{#validatable}}, IValidatableObject{{/validatable}} diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/modelEnum.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/modelEnum.mustache index c993fc2cc3..514542d70e 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/modelEnum.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/modelEnum.mustache @@ -4,6 +4,12 @@ {{#description}} /// {{.}} {{/description}} + {{#vendorExtensions.x-cls-compliant}} + [CLSCompliant({{{.}}})] + {{/vendorExtensions.x-cls-compliant}} + {{#vendorExtensions.x-com-visible}} + [ComVisible({{{.}}})] + {{/vendorExtensions.x-com-visible}} {{#allowableValues}} {{#enumVars}} {{#-first}} diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/modelGeneric.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/modelGeneric.mustache index 2fb5ecc51a..a998c81e7c 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/modelGeneric.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/modelGeneric.mustache @@ -1,6 +1,12 @@ /// /// {{description}}{{^description}}{{classname}}{{/description}} /// + {{#vendorExtensions.x-cls-compliant}} + [CLSCompliant({{{vendorExtensions.x-cls-compliant}}})] + {{/vendorExtensions.x-cls-compliant}} + {{#vendorExtensions.x-com-visible}} + [ComVisible({{{vendorExtensions.x-com-visible}}})] + {{/vendorExtensions.x-com-visible}} [DataContract(Name = "{{{name}}}")] {{#discriminator}} [JsonConverter(typeof(JsonSubtypes), "{{{discriminatorName}}}")] diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/modelOneOf.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/modelOneOf.mustache index 272b6cf931..a7756c1604 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/modelOneOf.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/modelOneOf.mustache @@ -2,6 +2,12 @@ /// /// {{description}}{{^description}}{{classname}}{{/description}} /// + {{#vendorExtensions.x-cls-compliant}} + [CLSCompliant({{{.}}})] + {{/vendorExtensions.x-cls-compliant}} + {{#vendorExtensions.x-com-visible}} + [ComVisible({{{.}}})] + {{/vendorExtensions.x-com-visible}} [JsonConverter(typeof({{classname}}JsonConverter))] [DataContract(Name = "{{{name}}}")] {{>visibility}} partial class {{classname}} : AbstractOpenAPISchema, {{#parent}}{{{.}}}, {{/parent}}IEquatable<{{classname}}>{{#validatable}}, IValidatableObject{{/validatable}} diff --git a/modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml b/modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml index 8e46b9e934..4e4d668d05 100644 --- a/modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml @@ -1697,6 +1697,8 @@ components: items: $ref: '#/components/schemas/ReadOnlyFirst' NumberOnly: + x-cls-compliant: true + x-com-visible: true type: object properties: JustNumber: diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Model/GmFruit.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Model/GmFruit.cs index bd8f4435c9..9d97bc6177 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Model/GmFruit.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Model/GmFruit.cs @@ -23,6 +23,7 @@ using Newtonsoft.Json.Linq; using System.ComponentModel.DataAnnotations; using OpenAPIDateConverter = Org.OpenAPITools.Client.OpenAPIDateConverter; using OpenAPIClientUtils = Org.OpenAPITools.Client.ClientUtils; +using System.Reflection; namespace Org.OpenAPITools.Model { diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Model/NumberOnly.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Model/NumberOnly.cs index 8d5098e344..585e3eadb7 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Model/NumberOnly.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Model/NumberOnly.cs @@ -14,6 +14,7 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.IO; +using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.Text; using System.Text.RegularExpressions; @@ -29,6 +30,8 @@ namespace Org.OpenAPITools.Model /// /// NumberOnly /// + [CLSCompliant(true)] + [ComVisible(true)] [DataContract(Name = "NumberOnly")] public partial class NumberOnly : IEquatable, IValidatableObject { diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Model/GmFruit.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Model/GmFruit.cs index e189eff940..2eb305679d 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Model/GmFruit.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Model/GmFruit.cs @@ -24,6 +24,7 @@ using System.ComponentModel.DataAnnotations; using FileParameter = Org.OpenAPITools.Client.FileParameter; using OpenAPIDateConverter = Org.OpenAPITools.Client.OpenAPIDateConverter; using OpenAPIClientUtils = Org.OpenAPITools.Client.ClientUtils; +using System.Reflection; namespace Org.OpenAPITools.Model { diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Model/NumberOnly.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Model/NumberOnly.cs index 15281d7203..e4f90a8e77 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Model/NumberOnly.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Model/NumberOnly.cs @@ -14,6 +14,7 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.IO; +using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.Text; using System.Text.RegularExpressions; @@ -30,6 +31,8 @@ namespace Org.OpenAPITools.Model /// /// NumberOnly /// + [CLSCompliant(true)] + [ComVisible(true)] [DataContract(Name = "NumberOnly")] public partial class NumberOnly : IEquatable, IValidatableObject { diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/src/Org.OpenAPITools/Model/GmFruit.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/src/Org.OpenAPITools/Model/GmFruit.cs index bd8f4435c9..9d97bc6177 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/src/Org.OpenAPITools/Model/GmFruit.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/src/Org.OpenAPITools/Model/GmFruit.cs @@ -23,6 +23,7 @@ using Newtonsoft.Json.Linq; using System.ComponentModel.DataAnnotations; using OpenAPIDateConverter = Org.OpenAPITools.Client.OpenAPIDateConverter; using OpenAPIClientUtils = Org.OpenAPITools.Client.ClientUtils; +using System.Reflection; namespace Org.OpenAPITools.Model { diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/src/Org.OpenAPITools/Model/NumberOnly.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/src/Org.OpenAPITools/Model/NumberOnly.cs index 97f869b0eb..0331e1c8db 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/src/Org.OpenAPITools/Model/NumberOnly.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/src/Org.OpenAPITools/Model/NumberOnly.cs @@ -14,6 +14,7 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.IO; +using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.Text; using System.Text.RegularExpressions; @@ -29,6 +30,8 @@ namespace Org.OpenAPITools.Model /// /// NumberOnly /// + [CLSCompliant(true)] + [ComVisible(true)] [DataContract(Name = "NumberOnly")] public partial class NumberOnly : IEquatable, IValidatableObject { diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/src/Org.OpenAPITools/Model/GmFruit.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/src/Org.OpenAPITools/Model/GmFruit.cs index bd8f4435c9..9d97bc6177 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/src/Org.OpenAPITools/Model/GmFruit.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/src/Org.OpenAPITools/Model/GmFruit.cs @@ -23,6 +23,7 @@ using Newtonsoft.Json.Linq; using System.ComponentModel.DataAnnotations; using OpenAPIDateConverter = Org.OpenAPITools.Client.OpenAPIDateConverter; using OpenAPIClientUtils = Org.OpenAPITools.Client.ClientUtils; +using System.Reflection; namespace Org.OpenAPITools.Model { diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/src/Org.OpenAPITools/Model/NumberOnly.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/src/Org.OpenAPITools/Model/NumberOnly.cs index 97f869b0eb..0331e1c8db 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/src/Org.OpenAPITools/Model/NumberOnly.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/src/Org.OpenAPITools/Model/NumberOnly.cs @@ -14,6 +14,7 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.IO; +using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.Text; using System.Text.RegularExpressions; @@ -29,6 +30,8 @@ namespace Org.OpenAPITools.Model /// /// NumberOnly /// + [CLSCompliant(true)] + [ComVisible(true)] [DataContract(Name = "NumberOnly")] public partial class NumberOnly : IEquatable, IValidatableObject { diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Model/GmFruit.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Model/GmFruit.cs index bd8f4435c9..9d97bc6177 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Model/GmFruit.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Model/GmFruit.cs @@ -23,6 +23,7 @@ using Newtonsoft.Json.Linq; using System.ComponentModel.DataAnnotations; using OpenAPIDateConverter = Org.OpenAPITools.Client.OpenAPIDateConverter; using OpenAPIClientUtils = Org.OpenAPITools.Client.ClientUtils; +using System.Reflection; namespace Org.OpenAPITools.Model { diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Model/NumberOnly.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Model/NumberOnly.cs index 97f869b0eb..0331e1c8db 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Model/NumberOnly.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Model/NumberOnly.cs @@ -14,6 +14,7 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.IO; +using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.Text; using System.Text.RegularExpressions; @@ -29,6 +30,8 @@ namespace Org.OpenAPITools.Model /// /// NumberOnly /// + [CLSCompliant(true)] + [ComVisible(true)] [DataContract(Name = "NumberOnly")] public partial class NumberOnly : IEquatable, IValidatableObject { diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Model/GmFruit.cs b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Model/GmFruit.cs index bd8f4435c9..9d97bc6177 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Model/GmFruit.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Model/GmFruit.cs @@ -23,6 +23,7 @@ using Newtonsoft.Json.Linq; using System.ComponentModel.DataAnnotations; using OpenAPIDateConverter = Org.OpenAPITools.Client.OpenAPIDateConverter; using OpenAPIClientUtils = Org.OpenAPITools.Client.ClientUtils; +using System.Reflection; namespace Org.OpenAPITools.Model { diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Model/NumberOnly.cs b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Model/NumberOnly.cs index 467579e668..d7ad1d2e3e 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Model/NumberOnly.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Model/NumberOnly.cs @@ -14,6 +14,7 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.IO; +using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.Text; using System.Text.RegularExpressions; @@ -29,6 +30,8 @@ namespace Org.OpenAPITools.Model /// /// NumberOnly /// + [CLSCompliant(true)] + [ComVisible(true)] [DataContract(Name = "NumberOnly")] public partial class NumberOnly : IEquatable, IValidatableObject { From 4cf58f5886afd3af15f95e247b0183356b7c9773 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Fri, 1 Jul 2022 13:52:47 +0800 Subject: [PATCH 129/212] support enum integers in powershell client (#12752) --- .../languages/PowerShellClientCodegen.java | 2 +- ...odels-for-testing-with-http-signature.yaml | 40 +++++++++---------- .../powershell/.openapi-generator/FILES | 6 +++ samples/client/petstore/powershell/README.md | 3 ++ .../Model/OuterEnumDefaultValue.ps1 | 26 ++++++++++++ .../src/PSPetstore/Model/OuterEnumInteger.ps1 | 26 ++++++++++++ .../Model/OuterEnumIntegerDefaultValue.ps1 | 26 ++++++++++++ 7 files changed, 108 insertions(+), 21 deletions(-) create mode 100644 samples/client/petstore/powershell/src/PSPetstore/Model/OuterEnumDefaultValue.ps1 create mode 100644 samples/client/petstore/powershell/src/PSPetstore/Model/OuterEnumInteger.ps1 create mode 100644 samples/client/petstore/powershell/src/PSPetstore/Model/OuterEnumIntegerDefaultValue.ps1 diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PowerShellClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PowerShellClientCodegen.java index 89227f989b..79d878b385 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PowerShellClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PowerShellClientCodegen.java @@ -1566,7 +1566,7 @@ public class PowerShellClientCodegen extends DefaultCodegen implements CodegenCo varName = varName.replaceAll("-", "MINUS_"); varName = varName.replaceAll("\\+", "PLUS_"); varName = varName.replaceAll("\\.", "_DOT_"); - return varName; + return "NUMBER_" + varName; } // remove special character diff --git a/modules/openapi-generator/src/test/resources/3_0/powershell/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml b/modules/openapi-generator/src/test/resources/3_0/powershell/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml index 22c23b279c..a2e2981e69 100644 --- a/modules/openapi-generator/src/test/resources/3_0/powershell/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/powershell/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml @@ -1740,26 +1740,26 @@ components: - placed - approved - delivered - #OuterEnumInteger: - # type: integer - # enum: - # - 0 - # - 1 - # - 2 - #OuterEnumDefaultValue: - # type: string - # enum: - # - placed - # - approved - # - delivered - # default: placed - #OuterEnumIntegerDefaultValue: - # type: integer - # enum: - # - 0 - # - 1 - # - 2 - # default: 0 + OuterEnumInteger: + type: integer + enum: + - 0 + - 1 + - 2 + OuterEnumDefaultValue: + type: string + enum: + - placed + - approved + - delivered + default: placed + OuterEnumIntegerDefaultValue: + type: integer + enum: + - 0 + - 1 + - 2 + default: 0 OuterComposite: type: object properties: diff --git a/samples/client/petstore/powershell/.openapi-generator/FILES b/samples/client/petstore/powershell/.openapi-generator/FILES index f6ca4bc67c..1b7323c44b 100644 --- a/samples/client/petstore/powershell/.openapi-generator/FILES +++ b/samples/client/petstore/powershell/.openapi-generator/FILES @@ -52,6 +52,9 @@ docs/ObjectWithDeprecatedFields.md docs/Order.md docs/OuterComposite.md docs/OuterEnum.md +docs/OuterEnumDefaultValue.md +docs/OuterEnumInteger.md +docs/OuterEnumIntegerDefaultValue.md docs/PSAnotherFakeApi.md docs/PSDefaultApi.md docs/PSFakeApi.md @@ -139,6 +142,9 @@ src/PSPetstore/Model/ObjectWithDeprecatedFields.ps1 src/PSPetstore/Model/Order.ps1 src/PSPetstore/Model/OuterComposite.ps1 src/PSPetstore/Model/OuterEnum.ps1 +src/PSPetstore/Model/OuterEnumDefaultValue.ps1 +src/PSPetstore/Model/OuterEnumInteger.ps1 +src/PSPetstore/Model/OuterEnumIntegerDefaultValue.ps1 src/PSPetstore/Model/ParentPet.ps1 src/PSPetstore/Model/Pet.ps1 src/PSPetstore/Model/PetWithRequiredTags.ps1 diff --git a/samples/client/petstore/powershell/README.md b/samples/client/petstore/powershell/README.md index 624961c005..34171d8f12 100644 --- a/samples/client/petstore/powershell/README.md +++ b/samples/client/petstore/powershell/README.md @@ -150,6 +150,9 @@ Class | Method | HTTP request | Description - [PSPetstore/Model.Order](docs/Order.md) - [PSPetstore/Model.OuterComposite](docs/OuterComposite.md) - [PSPetstore/Model.OuterEnum](docs/OuterEnum.md) + - [PSPetstore/Model.OuterEnumDefaultValue](docs/OuterEnumDefaultValue.md) + - [PSPetstore/Model.OuterEnumInteger](docs/OuterEnumInteger.md) + - [PSPetstore/Model.OuterEnumIntegerDefaultValue](docs/OuterEnumIntegerDefaultValue.md) - [PSPetstore/Model.ParentPet](docs/ParentPet.md) - [PSPetstore/Model.Pet](docs/Pet.md) - [PSPetstore/Model.PetWithRequiredTags](docs/PetWithRequiredTags.md) diff --git a/samples/client/petstore/powershell/src/PSPetstore/Model/OuterEnumDefaultValue.ps1 b/samples/client/petstore/powershell/src/PSPetstore/Model/OuterEnumDefaultValue.ps1 new file mode 100644 index 0000000000..2469d1e291 --- /dev/null +++ b/samples/client/petstore/powershell/src/PSPetstore/Model/OuterEnumDefaultValue.ps1 @@ -0,0 +1,26 @@ +# +# OpenAPI Petstore +# This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: "" \ +# Version: 1.0.0 +# Generated by OpenAPI Generator: https://openapi-generator.tech +# + +<# +.SYNOPSIS + +Enum OuterEnumDefaultValue. + +.DESCRIPTION + +No description available. +#> + +enum OuterEnumDefaultValue { + # enum value: "placed" + placed + # enum value: "approved" + approved + # enum value: "delivered" + delivered +} + diff --git a/samples/client/petstore/powershell/src/PSPetstore/Model/OuterEnumInteger.ps1 b/samples/client/petstore/powershell/src/PSPetstore/Model/OuterEnumInteger.ps1 new file mode 100644 index 0000000000..70f68d06e2 --- /dev/null +++ b/samples/client/petstore/powershell/src/PSPetstore/Model/OuterEnumInteger.ps1 @@ -0,0 +1,26 @@ +# +# OpenAPI Petstore +# This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: "" \ +# Version: 1.0.0 +# Generated by OpenAPI Generator: https://openapi-generator.tech +# + +<# +.SYNOPSIS + +Enum OuterEnumInteger. + +.DESCRIPTION + +No description available. +#> + +enum OuterEnumInteger { + # enum value: "0" + NUMBER_0 + # enum value: "1" + NUMBER_1 + # enum value: "2" + NUMBER_2 +} + diff --git a/samples/client/petstore/powershell/src/PSPetstore/Model/OuterEnumIntegerDefaultValue.ps1 b/samples/client/petstore/powershell/src/PSPetstore/Model/OuterEnumIntegerDefaultValue.ps1 new file mode 100644 index 0000000000..ae57281c97 --- /dev/null +++ b/samples/client/petstore/powershell/src/PSPetstore/Model/OuterEnumIntegerDefaultValue.ps1 @@ -0,0 +1,26 @@ +# +# OpenAPI Petstore +# This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: "" \ +# Version: 1.0.0 +# Generated by OpenAPI Generator: https://openapi-generator.tech +# + +<# +.SYNOPSIS + +Enum OuterEnumIntegerDefaultValue. + +.DESCRIPTION + +No description available. +#> + +enum OuterEnumIntegerDefaultValue { + # enum value: "0" + NUMBER_0 + # enum value: "1" + NUMBER_1 + # enum value: "2" + NUMBER_2 +} + From 6158274f65f8bc8b190988f8dbfcd0b295ab3df1 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Fri, 1 Jul 2022 13:46:02 -0700 Subject: [PATCH 130/212] 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 --- CI/circle_parallel.sh | 1 + .../python-experimental_3_0_3_unit_test.yaml | 6 + bin/generate-samples.sh | 2 + .../openapitools/codegen/CodegenModel.java | 1 + .../openapitools/codegen/DefaultCodegen.java | 51 + .../codegen/ObjectWithTypeBooleans.java | 62 + .../openapitools/codegen/SchemaTestCase.java | 14 + .../PythonExperimentalClientCodegen.java | 72 +- .../python-experimental/comma.handlebars | 1 + .../payload_renderer.handlebars | 35 + .../model_templates/schema.handlebars | 2 +- .../model_templates/validations.handlebars | 4 +- .../python-experimental/model_test.handlebars | 35 +- .../python-experimental/schemas.handlebars | 35 +- .../resources/3_0/unit_test_spec/.gitignore | 1 + .../unit_test_spec/3_0_3_unit_test_spec.yaml | 1741 +++++++++++++ .../3_0/unit_test_spec/draft6/LICENSE | 19 + .../draft6/additionalItems.json | 149 ++ .../draft6/additionalProperties.json | 133 + .../3_0/unit_test_spec/draft6/allOf.json | 294 +++ .../3_0/unit_test_spec/draft6/anyOf.json | 215 ++ .../unit_test_spec/draft6/boolean_schema.json | 104 + .../3_0/unit_test_spec/draft6/const.json | 342 +++ .../3_0/unit_test_spec/draft6/contains.json | 129 + .../3_0/unit_test_spec/draft6/default.json | 79 + .../unit_test_spec/draft6/definitions.json | 26 + .../unit_test_spec/draft6/dependencies.json | 248 ++ .../3_0/unit_test_spec/draft6/enum.json | 236 ++ .../draft6/exclusiveMaximum.json | 30 + .../draft6/exclusiveMinimum.json | 30 + .../3_0/unit_test_spec/draft6/format.json | 326 +++ .../3_0/unit_test_spec/draft6/id.json | 53 + .../draft6/infinite-loop-detection.json | 36 + .../3_0/unit_test_spec/draft6/items.json | 250 ++ .../3_0/unit_test_spec/draft6/maxItems.json | 28 + .../3_0/unit_test_spec/draft6/maxLength.json | 33 + .../unit_test_spec/draft6/maxProperties.json | 54 + .../3_0/unit_test_spec/draft6/maximum.json | 54 + .../3_0/unit_test_spec/draft6/minItems.json | 28 + .../3_0/unit_test_spec/draft6/minLength.json | 33 + .../unit_test_spec/draft6/minProperties.json | 38 + .../3_0/unit_test_spec/draft6/minimum.json | 69 + .../3_0/unit_test_spec/draft6/multipleOf.json | 71 + .../3_0/unit_test_spec/draft6/not.json | 117 + .../3_0/unit_test_spec/draft6/oneOf.json | 274 ++ .../draft6/optional/bignum.json | 93 + .../draft6/optional/ecmascript-regex.json | 552 ++++ .../draft6/optional/float-overflow.json | 13 + .../draft6/optional/format/date-time.json | 133 + .../draft6/optional/format/email.json | 83 + .../draft6/optional/format/hostname.json | 98 + .../draft6/optional/format/ipv4.json | 84 + .../draft6/optional/format/ipv6.json | 208 ++ .../draft6/optional/format/json-pointer.json | 198 ++ .../draft6/optional/format/unknown.json | 43 + .../draft6/optional/format/uri-reference.json | 73 + .../draft6/optional/format/uri-template.json | 58 + .../draft6/optional/format/uri.json | 108 + .../draft6/optional/future-keywords.json | 465 ++++ .../draft6/optional/non-bmp-regex.json | 82 + .../3_0/unit_test_spec/draft6/pattern.json | 59 + .../draft6/patternProperties.json | 156 ++ .../3_0/unit_test_spec/draft6/properties.json | 167 ++ .../unit_test_spec/draft6/propertyNames.json | 107 + .../3_0/unit_test_spec/draft6/ref.json | 612 +++++ .../3_0/unit_test_spec/draft6/refRemote.json | 196 ++ .../3_0/unit_test_spec/draft6/required.json | 105 + .../3_0/unit_test_spec/draft6/type.json | 474 ++++ .../unit_test_spec/draft6/uniqueItems.json | 404 +++ .../unit_test_spec/draft6/unknownKeyword.json | 56 + .../unit_test_spec/openapi_additions/ref.json | 220 ++ .../openapi_additions/type.json | 43 + .../3_0/unit_test_spec/spec_writer.py | 391 +++ .../python-experimental/.gitignore | 67 + .../python-experimental/.gitlab-ci.yml | 24 + .../.openapi-generator-ignore | 23 + .../.openapi-generator/FILES | 213 ++ .../.openapi-generator/VERSION | 1 + .../python-experimental/.travis.yml | 13 + .../python-experimental/Makefile | 16 + .../python-experimental/README.md | 154 ++ .../python-experimental/dev-requirements.txt | 2 + ...pertiesAllowsASchemaWhichShouldValidate.md | 11 + ...AdditionalpropertiesAreAllowedByDefault.md | 11 + .../AdditionalpropertiesCanExistByItself.md | 9 + ...nalpropertiesShouldNotLookInApplicators.md | 9 + .../docs/ArrayTypeMatchesArrays.md | 8 + .../docs/BooleanTypeMatchesBooleans.md | 8 + .../python-experimental/docs/ByInt.md | 9 + .../python-experimental/docs/ByNumber.md | 9 + .../python-experimental/docs/BySmallNumber.md | 9 + .../docs/DateTimeFormat.md | 9 + .../python-experimental/docs/EmailFormat.md | 9 + .../docs/EnumWith0DoesNotMatchFalse.md | 8 + .../docs/EnumWith1DoesNotMatchTrue.md | 8 + .../docs/EnumWithEscapedCharacters.md | 8 + .../docs/EnumWithFalseDoesNotMatch0.md | 8 + .../docs/EnumWithTrueDoesNotMatch1.md | 8 + .../docs/EnumsInProperties.md | 11 + .../docs/ForbiddenProperty.md | 10 + .../docs/HostnameFormat.md | 9 + .../docs/IntegerTypeMatchesIntegers.md | 8 + ...ShouldNotRaiseErrorWhenFloatDivisionInf.md | 8 + .../docs/InvalidStringValueForDefault.md | 10 + .../python-experimental/docs/Ipv4Format.md | 9 + .../python-experimental/docs/Ipv6Format.md | 9 + .../docs/JsonPointerFormat.md | 9 + .../docs/MaximumValidation.md | 9 + .../MaximumValidationWithUnsignedInteger.md | 9 + .../docs/MaxitemsValidation.md | 9 + .../docs/MaxlengthValidation.md | 9 + .../Maxproperties0MeansTheObjectIsEmpty.md | 9 + .../docs/MaxpropertiesValidation.md | 9 + .../docs/MinimumValidation.md | 9 + .../MinimumValidationWithSignedInteger.md | 9 + .../docs/MinitemsValidation.md | 9 + .../docs/MinlengthValidation.md | 9 + .../docs/MinpropertiesValidation.md | 9 + .../python-experimental/docs/ModelNot.md | 9 + .../python-experimental/docs/NestedItems.md | 8 + .../docs/NotMoreComplexSchema.md | 9 + .../docs/NulCharactersInStrings.md | 8 + .../docs/NullTypeMatchesOnlyTheNullObject.md | 8 + .../docs/NumberTypeMatchesNumbers.md | 8 + .../docs/ObjectPropertiesValidation.md | 11 + .../docs/PatternIsNotAnchored.md | 9 + .../docs/PatternValidation.md | 9 + .../docs/PropertiesWithEscapedCharacters.md | 15 + .../PropertyNamedRefThatIsNotAReference.md | 10 + .../docs/RefInAdditionalproperties.md | 9 + .../python-experimental/docs/RefInAllof.md | 9 + .../python-experimental/docs/RefInAnyof.md | 9 + .../python-experimental/docs/RefInItems.md | 8 + .../python-experimental/docs/RefInOneof.md | 9 + .../python-experimental/docs/RefInProperty.md | 10 + .../docs/RequiredDefaultValidation.md | 10 + .../docs/RequiredValidation.md | 11 + .../docs/RequiredWithEmptyArray.md | 10 + .../docs/SimpleEnumValidation.md | 8 + .../docs/StringTypeMatchesStrings.md | 8 + ...DoesNotDoAnythingIfThePropertyIsMissing.md | 10 + .../docs/UniqueitemsFalseValidation.md | 9 + .../docs/UniqueitemsValidation.md | 9 + .../python-experimental/docs/UriFormat.md | 9 + .../docs/UriReferenceFormat.md | 9 + .../docs/UriTemplateFormat.md | 9 + .../python-experimental/git_push.sh | 58 + .../python-experimental/pom.xml | 46 + .../python-experimental/requirements.txt | 5 + .../python-experimental/setup.cfg | 2 + .../python-experimental/setup.py | 45 + .../python-experimental/test-requirements.txt | 3 + .../python-experimental/test/__init__.py | 0 ...s_allows_a_schema_which_should_validate.py | 64 + ...tionalproperties_are_allowed_by_default.py | 39 + ...dditionalproperties_can_exist_by_itself.py | 46 + ...operties_should_not_look_in_applicators.py | 38 + .../test/test_array_type_matches_arrays.py | 82 + .../test_boolean_type_matches_booleans.py | 105 + .../python-experimental/test/test_by_int.py | 47 + .../test/test_by_number.py | 47 + .../test/test_by_small_number.py | 40 + .../test/test_date_time_format.py | 69 + .../test/test_email_format.py | 69 + .../test_enum_with0_does_not_match_false.py | 47 + .../test_enum_with1_does_not_match_true.py | 47 + .../test/test_enum_with_escaped_characters.py | 47 + .../test_enum_with_false_does_not_match0.py | 48 + .../test_enum_with_true_does_not_match1.py | 48 + .../test/test_enums_in_properties.py | 93 + .../test/test_forbidden_property.py | 50 + .../test/test_hostname_format.py | 69 + .../test_integer_type_matches_integers.py | 97 + ...not_raise_error_when_float_division_inf.py | 33 + .../test_invalid_string_value_for_default.py | 43 + .../test/test_ipv4_format.py | 69 + .../test/test_ipv6_format.py | 69 + .../test/test_json_pointer_format.py | 69 + .../test/test_maximum_validation.py | 54 + ...aximum_validation_with_unsigned_integer.py | 54 + .../test/test_maxitems_validation.py | 63 + .../test/test_maxlength_validation.py | 61 + ...axproperties0_means_the_object_is_empty.py | 44 + .../test/test_maxproperties_validation.py | 87 + .../test/test_minimum_validation.py | 54 + ..._minimum_validation_with_signed_integer.py | 76 + .../test/test_minitems_validation.py | 60 + .../test/test_minlength_validation.py | 62 + .../test/test_minproperties_validation.py | 78 + .../test/test_model_not.py | 40 + .../test/test_nested_items.py | 129 + .../test/test_not_more_complex_schema.py | 53 + .../test/test_nul_characters_in_strings.py | 40 + ..._null_type_matches_only_the_null_object.py | 106 + .../test/test_number_type_matches_numbers.py | 96 + .../test/test_object_properties_validation.py | 92 + .../test/test_pattern_is_not_anchored.py | 32 + .../test/test_pattern_validation.py | 84 + ...test_properties_with_escaped_characters.py | 66 + ...perty_named_ref_that_is_not_a_reference.py | 46 + .../test/test_ref_in_additionalproperties.py | 52 + .../test/test_ref_in_allof.py | 46 + .../test/test_ref_in_anyof.py | 46 + .../test/test_ref_in_items.py | 50 + .../test/test_ref_in_oneof.py | 46 + .../test/test_ref_in_property.py | 52 + .../test/test_required_default_validation.py | 33 + .../test/test_required_validation.py | 68 + .../test/test_required_with_empty_array.py | 33 + .../test/test_simple_enum_validation.py | 40 + .../test/test_string_type_matches_strings.py | 96 + ..._do_anything_if_the_property_is_missing.py | 54 + .../test/test_uniqueitems_false_validation.py | 246 ++ .../test/test_uniqueitems_validation.py | 427 ++++ .../test/test_uri_format.py | 69 + .../test/test_uri_reference_format.py | 69 + .../test/test_uri_template_format.py | 69 + .../python-experimental/test_python.sh | 33 + .../python-experimental/tox.ini | 9 + .../unit_test_api/__init__.py | 28 + .../unit_test_api/api/__init__.py | 0 .../unit_test_api/api_client.py | 1420 +++++++++++ .../unit_test_api/apis/__init__.py | 0 .../unit_test_api/configuration.py | 440 ++++ .../unit_test_api/exceptions.py | 136 + .../unit_test_api/model/__init__.py | 5 + ...s_allows_a_schema_which_should_validate.py | 97 + ...tionalproperties_are_allowed_by_default.py | 95 + ...dditionalproperties_can_exist_by_itself.py | 91 + ...operties_should_not_look_in_applicators.py | 114 + .../model/array_type_matches_arrays.py | 77 + .../model/boolean_type_matches_booleans.py | 67 + .../unit_test_api/model/by_int.py | 92 + .../unit_test_api/model/by_number.py | 92 + .../unit_test_api/model/by_small_number.py | 92 + .../unit_test_api/model/date_time_format.py | 67 + .../unit_test_api/model/email_format.py | 67 + .../model/enum_with0_does_not_match_false.py | 86 + .../model/enum_with1_does_not_match_true.py | 86 + .../model/enum_with_escaped_characters.py | 92 + .../model/enum_with_false_does_not_match0.py | 86 + .../model/enum_with_true_does_not_match1.py | 86 + .../model/enums_in_properties.py | 127 + .../unit_test_api/model/forbidden_property.py | 132 + .../unit_test_api/model/hostname_format.py | 67 + .../model/integer_type_matches_integers.py | 67 + ...not_raise_error_when_float_division_inf.py | 80 + .../model/invalid_string_value_for_default.py | 100 + .../unit_test_api/model/ipv4_format.py | 67 + .../unit_test_api/model/ipv6_format.py | 67 + .../model/json_pointer_format.py | 67 + .../unit_test_api/model/maximum_validation.py | 92 + ...aximum_validation_with_unsigned_integer.py | 92 + .../model/maxitems_validation.py | 92 + .../model/maxlength_validation.py | 92 + ...axproperties0_means_the_object_is_empty.py | 92 + .../model/maxproperties_validation.py | 92 + .../unit_test_api/model/minimum_validation.py | 92 + .../minimum_validation_with_signed_integer.py | 92 + .../model/minitems_validation.py | 92 + .../model/minlength_validation.py | 92 + .../model/minproperties_validation.py | 92 + .../unit_test_api/model/model_not.py | 112 + .../unit_test_api/model/nested_items.py | 92 + .../model/not_more_complex_schema.py | 133 + .../model/nul_characters_in_strings.py | 86 + .../null_type_matches_only_the_null_object.py | 67 + .../model/number_type_matches_numbers.py | 67 + .../model/object_properties_validation.py | 95 + .../model/pattern_is_not_anchored.py | 94 + .../unit_test_api/model/pattern_validation.py | 94 + .../properties_with_escaped_characters.py | 107 + ...perty_named_ref_that_is_not_a_reference.py | 92 + .../model/ref_in_additionalproperties.py | 97 + .../unit_test_api/model/ref_in_allof.py | 114 + .../unit_test_api/model/ref_in_anyof.py | 114 + .../unit_test_api/model/ref_in_items.py | 83 + .../unit_test_api/model/ref_in_oneof.py | 114 + .../unit_test_api/model/ref_in_property.py | 98 + .../model/required_default_validation.py | 92 + .../model/required_validation.py | 98 + .../model/required_with_empty_array.py | 92 + .../model/simple_enum_validation.py | 98 + .../model/string_type_matches_strings.py | 67 + ..._do_anything_if_the_property_is_missing.py | 101 + .../model/uniqueitems_false_validation.py | 91 + .../model/uniqueitems_validation.py | 92 + .../unit_test_api/model/uri_format.py | 67 + .../model/uri_reference_format.py | 67 + .../model/uri_template_format.py | 67 + .../unit_test_api/models/__init__.py | 77 + .../python-experimental/unit_test_api/rest.py | 253 ++ .../unit_test_api/schemas.py | 2223 +++++++++++++++++ .../python-experimental/docs/StringEnum.md | 4 +- .../fake_api_endpoints/endpoint_parameters.py | 2 +- .../petstore_api/model/format_test.py | 2 +- .../petstore_api/model/model200_response.py | 2 +- .../petstore_api/model/model_return.py | 2 +- .../petstore_api/model/name.py | 2 +- .../object_with_difficultly_named_props.py | 6 +- .../petstore_api/model/string_enum.py | 12 +- .../petstore_api/schemas.py | 35 +- 302 files changed, 26948 insertions(+), 52 deletions(-) create mode 100644 bin/configs/python-experimental_3_0_3_unit_test.yaml create mode 100644 modules/openapi-generator/src/main/java/org/openapitools/codegen/ObjectWithTypeBooleans.java create mode 100644 modules/openapi-generator/src/main/java/org/openapitools/codegen/SchemaTestCase.java create mode 100644 modules/openapi-generator/src/main/resources/python-experimental/comma.handlebars create mode 100644 modules/openapi-generator/src/main/resources/python-experimental/model_templates/payload_renderer.handlebars create mode 100644 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/.gitignore create mode 100644 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/3_0_3_unit_test_spec.yaml create mode 100644 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/LICENSE create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/additionalItems.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/additionalProperties.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/allOf.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/anyOf.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/boolean_schema.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/const.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/contains.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/default.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/definitions.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/dependencies.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/enum.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/exclusiveMaximum.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/exclusiveMinimum.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/format.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/id.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/infinite-loop-detection.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/items.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/maxItems.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/maxLength.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/maxProperties.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/maximum.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/minItems.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/minLength.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/minProperties.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/minimum.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/multipleOf.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/not.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/oneOf.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/bignum.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/ecmascript-regex.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/float-overflow.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/date-time.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/email.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/hostname.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/ipv4.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/ipv6.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/json-pointer.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/unknown.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/uri-reference.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/uri-template.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/uri.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/future-keywords.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/non-bmp-regex.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/pattern.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/patternProperties.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/properties.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/propertyNames.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/ref.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/refRemote.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/required.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/type.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/uniqueItems.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/unknownKeyword.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/openapi_additions/ref.json create mode 100755 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/openapi_additions/type.json create mode 100644 modules/openapi-generator/src/test/resources/3_0/unit_test_spec/spec_writer.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/.gitignore create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/.gitlab-ci.yml create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator-ignore create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/FILES create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/VERSION create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/.travis.yml create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/Makefile create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/README.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/dev-requirements.txt create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AdditionalpropertiesAllowsASchemaWhichShouldValidate.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AdditionalpropertiesAreAllowedByDefault.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AdditionalpropertiesCanExistByItself.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AdditionalpropertiesShouldNotLookInApplicators.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ArrayTypeMatchesArrays.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/BooleanTypeMatchesBooleans.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ByInt.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ByNumber.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/BySmallNumber.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/DateTimeFormat.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EmailFormat.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWith0DoesNotMatchFalse.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWith1DoesNotMatchTrue.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithEscapedCharacters.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithFalseDoesNotMatch0.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithTrueDoesNotMatch1.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumsInProperties.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ForbiddenProperty.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/HostnameFormat.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/IntegerTypeMatchesIntegers.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/InvalidInstanceShouldNotRaiseErrorWhenFloatDivisionInf.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/InvalidStringValueForDefault.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Ipv4Format.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Ipv6Format.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/JsonPointerFormat.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaximumValidation.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaximumValidationWithUnsignedInteger.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaxitemsValidation.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaxlengthValidation.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Maxproperties0MeansTheObjectIsEmpty.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaxpropertiesValidation.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinimumValidation.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinimumValidationWithSignedInteger.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinitemsValidation.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinlengthValidation.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinpropertiesValidation.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ModelNot.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NestedItems.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NotMoreComplexSchema.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NulCharactersInStrings.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NullTypeMatchesOnlyTheNullObject.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NumberTypeMatchesNumbers.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ObjectPropertiesValidation.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/PatternIsNotAnchored.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/PatternValidation.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/PropertiesWithEscapedCharacters.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/PropertyNamedRefThatIsNotAReference.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInAdditionalproperties.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInAllof.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInAnyof.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInItems.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInOneof.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInProperty.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RequiredDefaultValidation.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RequiredValidation.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RequiredWithEmptyArray.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/SimpleEnumValidation.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/StringTypeMatchesStrings.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/TheDefaultKeywordDoesNotDoAnythingIfThePropertyIsMissing.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UniqueitemsFalseValidation.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UniqueitemsValidation.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UriFormat.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UriReferenceFormat.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UriTemplateFormat.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/git_push.sh create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/pom.xml create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/requirements.txt create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/setup.cfg create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/setup.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test-requirements.txt create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/__init__.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_additionalproperties_allows_a_schema_which_should_validate.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_additionalproperties_are_allowed_by_default.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_additionalproperties_can_exist_by_itself.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_additionalproperties_should_not_look_in_applicators.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_array_type_matches_arrays.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_boolean_type_matches_booleans.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_by_int.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_by_number.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_by_small_number.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_date_time_format.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_email_format.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with0_does_not_match_false.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with1_does_not_match_true.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with_escaped_characters.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with_false_does_not_match0.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with_true_does_not_match1.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enums_in_properties.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_forbidden_property.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_hostname_format.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_integer_type_matches_integers.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_invalid_instance_should_not_raise_error_when_float_division_inf.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_invalid_string_value_for_default.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ipv4_format.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ipv6_format.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_json_pointer_format.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maximum_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maximum_validation_with_unsigned_integer.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maxitems_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maxlength_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maxproperties0_means_the_object_is_empty.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maxproperties_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minimum_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minimum_validation_with_signed_integer.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minitems_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minlength_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minproperties_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_model_not.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nested_items.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_not_more_complex_schema.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nul_characters_in_strings.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_null_type_matches_only_the_null_object.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_number_type_matches_numbers.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_object_properties_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_pattern_is_not_anchored.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_pattern_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_properties_with_escaped_characters.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_property_named_ref_that_is_not_a_reference.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_additionalproperties.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_allof.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_anyof.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_items.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_oneof.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_property.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_required_default_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_required_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_required_with_empty_array.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_simple_enum_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_string_type_matches_strings.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_the_default_keyword_does_not_do_anything_if_the_property_is_missing.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uniqueitems_false_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uniqueitems_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uri_format.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uri_reference_format.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uri_template_format.py create mode 100755 samples/openapi3/client/3_0_3_unit_test/python-experimental/test_python.sh create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/tox.ini create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/__init__.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/api/__init__.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/api_client.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/apis/__init__.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/configuration.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/exceptions.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/__init__.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_allows_a_schema_which_should_validate.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_are_allowed_by_default.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_can_exist_by_itself.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_should_not_look_in_applicators.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/array_type_matches_arrays.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/boolean_type_matches_booleans.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_int.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_number.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_small_number.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/date_time_format.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/email_format.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with0_does_not_match_false.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with1_does_not_match_true.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_escaped_characters.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_false_does_not_match0.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_true_does_not_match1.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enums_in_properties.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/forbidden_property.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/hostname_format.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/integer_type_matches_integers.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_instance_should_not_raise_error_when_float_division_inf.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_string_value_for_default.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ipv4_format.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ipv6_format.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/json_pointer_format.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maximum_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maximum_validation_with_unsigned_integer.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxitems_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxlength_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxproperties0_means_the_object_is_empty.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxproperties_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minimum_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minimum_validation_with_signed_integer.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minitems_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minlength_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minproperties_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/model_not.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_items.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/not_more_complex_schema.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nul_characters_in_strings.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/null_type_matches_only_the_null_object.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/number_type_matches_numbers.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/object_properties_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/pattern_is_not_anchored.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/pattern_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/properties_with_escaped_characters.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/property_named_ref_that_is_not_a_reference.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_additionalproperties.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_allof.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_anyof.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_items.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_oneof.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_property.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_default_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_with_empty_array.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/simple_enum_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/string_type_matches_strings.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/the_default_keyword_does_not_do_anything_if_the_property_is_missing.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uniqueitems_false_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uniqueitems_validation.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_format.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_reference_format.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_template_format.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/models/__init__.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/rest.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/schemas.py diff --git a/CI/circle_parallel.sh b/CI/circle_parallel.sh index 183c77c8c6..1d96dae7b1 100755 --- a/CI/circle_parallel.sh +++ b/CI/circle_parallel.sh @@ -80,6 +80,7 @@ elif [ "$NODE_INDEX" = "4" ]; then #mvn --no-snapshot-updates --quiet verify -Psamples.circleci.node4 -Dorg.slf4j.simpleLogger.defaultLogLevel=error (cd samples/openapi3/client/petstore/python && make test) (cd samples/openapi3/client/petstore/python-experimental && make test) + (cd samples/openapi3/client/3_0_3_unit_test/python-experimental && make test) else echo "Running node $NODE_INDEX to test 'samples.circleci.others' defined in pom.xml ..." diff --git a/bin/configs/python-experimental_3_0_3_unit_test.yaml b/bin/configs/python-experimental_3_0_3_unit_test.yaml new file mode 100644 index 0000000000..a6428fb1ad --- /dev/null +++ b/bin/configs/python-experimental_3_0_3_unit_test.yaml @@ -0,0 +1,6 @@ +generatorName: python-experimental +outputDir: samples/openapi3/client/3_0_3_unit_test/python-experimental +inputSpec: modules/openapi-generator/src/test/resources/3_0/unit_test_spec/3_0_3_unit_test_spec.yaml +templateDir: modules/openapi-generator/src/main/resources/python-experimental +additionalProperties: + packageName: unit_test_api diff --git a/bin/generate-samples.sh b/bin/generate-samples.sh index 81c6cc9c6d..483d6dc797 100755 --- a/bin/generate-samples.sh +++ b/bin/generate-samples.sh @@ -55,6 +55,8 @@ else echo "Please press CTRL+C to stop or the script will continue in 5 seconds." sleep 5 + # delete the 3_0_3 python-experimental tests because they are autogenerated our tooling needs to see differences + rm -rf "${root}/samples/openapi3/client/3_0_3_unit_test/python-experimental/test" if [ ${#files[@]} -eq 0 ]; then files=("${root}"/bin/configs/*.yaml) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java index 9033a21b4d..e00e646f56 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java @@ -109,6 +109,7 @@ public class CodegenModel implements IJsonSchemaValidationProperties { public Map vendorExtensions = new HashMap<>(); private CodegenComposedSchemas composedSchemas; private boolean hasMultipleTypes = false; + public HashMap testCases = new HashMap<>(); /** * The type of the value for the additionalProperties keyword in the OAS document. diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index b20c113111..bc93c143f7 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -2696,6 +2696,52 @@ public class DefaultCodegen implements CodegenConfig { setAddProps(schema, m); } + protected String toTestCaseName(String specTestCaseName) { + return specTestCaseName; + } + + /** + * A method that allows generators to pre-process test example payloads + * This can be useful if one needs to change how values like null in string are represnted + * @param data the test data payload + * @return the updated test data payload + */ + protected Object processTestExampleData(Object data) { + return data; + } + + /** + * Processes any test cases if they exist in the components.x-test-examples vendor extensions + * If they exist then cast them to java class instances and return them back in a map + * @param schemaName the component schema name that the test cases are for + * @param vendorExtensions the extensions that may or may not hold the data + */ + private HashMap extractSchemaTestCases(String schemaName, HashMap vendorExtensions) { + String testExamplesKey = "x-schema-test-examples"; + // schemaName to a map of test case name to test case + if (vendorExtensions == null || !vendorExtensions.containsKey(testExamplesKey)) { + return null; + } + HashMap schemaTestCases = new HashMap<>(); + LinkedHashMap schemaNameToTestCases = (LinkedHashMap) vendorExtensions.get(testExamplesKey); + + if (!schemaNameToTestCases.containsKey(schemaName)) { + return null; + } + LinkedHashMap> testNameToTesCase = (LinkedHashMap>) schemaNameToTestCases.get(schemaName); + for (Entry> entry: testNameToTesCase.entrySet()) { + LinkedHashMap testExample = (LinkedHashMap) entry.getValue(); + String nameInSnakeCase = toTestCaseName(entry.getKey()); + Object data = processTestExampleData(testExample.get("data")); + SchemaTestCase testCase = new SchemaTestCase( + (String) testExample.getOrDefault("description", ""), + new ObjectWithTypeBooleans(data), + (boolean) testExample.get("valid") + ); + schemaTestCases.put(nameInSnakeCase, testCase); + } + return schemaTestCases; + } /** * Convert OAS Model object to Codegen Model object. @@ -2721,6 +2767,11 @@ public class DefaultCodegen implements CodegenConfig { CodegenModel m = CodegenModelFactory.newInstance(CodegenModelType.MODEL); ModelUtils.syncValidationProperties(schema, m); + if (openAPI != null) { + HashMap vendorExtensions = (HashMap) openAPI.getComponents().getExtensions(); + HashMap schemaTestCases = extractSchemaTestCases(name, vendorExtensions); + m.testCases = schemaTestCases; + } if (reservedWords.contains(name)) { m.name = escapeReservedWord(name); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/ObjectWithTypeBooleans.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/ObjectWithTypeBooleans.java new file mode 100644 index 0000000000..28038f4691 --- /dev/null +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/ObjectWithTypeBooleans.java @@ -0,0 +1,62 @@ +package org.openapitools.codegen; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.Map; + +public class ObjectWithTypeBooleans { + public boolean isUnboundedInteger; + public boolean isNumber; + public boolean isString; + public boolean isMap; + public boolean isArray; + public boolean isBoolean; + public boolean isNull; + public Object value; + + /** + * A wrapper class that is used to store payloads to be ingested by schemas + * This class includes the payload value in the value property + * Other booleans: isUnboundedInteger/isNumber/isString/isMap/isArray/isBoolean/isNull + * allow generator templates to decide how to render each payload into code + * based upon what type it is. The booleans isX describe the value in value. + * @param value the input payload that is stored + */ + public ObjectWithTypeBooleans(Object value) { + Object usedValue = null; + if (value instanceof Integer){ + this.isUnboundedInteger = true; + this.value = value; + } else if (value instanceof Double || value instanceof Float){ + this.isNumber = true; + this.value = value; + } else if (value instanceof String) { + this.isString = true; + this.value = value; + } else if (value instanceof LinkedHashMap) { + LinkedHashMap castValue = (LinkedHashMap) value; + LinkedHashMap castMap = new LinkedHashMap<>(); + for (Map.Entry entry: castValue.entrySet()) { + ObjectWithTypeBooleans entryKey = new ObjectWithTypeBooleans(entry.getKey()); + ObjectWithTypeBooleans entryValue = new ObjectWithTypeBooleans(entry.getValue()); + castMap.put(entryKey, entryValue); + } + this.value = castMap; + this.isMap = true; + } else if (value instanceof ArrayList) { + ArrayList castList = new ArrayList<>(); + for (Object item: (ArrayList) value) { + castList.add(new ObjectWithTypeBooleans(item)); + } + this.value = castList; + this.isArray = true; + } else if (value instanceof Boolean) { + this.isBoolean = true; + this.value = value; + } else if (value == null) { + this.isNull = true; + this.value = value; + } + } +} + diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/SchemaTestCase.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/SchemaTestCase.java new file mode 100644 index 0000000000..c377fe704e --- /dev/null +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/SchemaTestCase.java @@ -0,0 +1,14 @@ +package org.openapitools.codegen; + +public class SchemaTestCase { + public String description; + public ObjectWithTypeBooleans data; + // true means the test case should pass, false means it should fail + public boolean valid; + + public SchemaTestCase(String description, ObjectWithTypeBooleans data, boolean valid) { + this.description = description; + this.data = data; + this.valid = valid; + } +} diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java index 8657494678..19d2f6db89 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java @@ -19,6 +19,7 @@ package org.openapitools.codegen.languages; import com.github.curiousoddman.rgxgen.RgxGen; import com.github.curiousoddman.rgxgen.config.RgxGenOption; import com.github.curiousoddman.rgxgen.config.RgxGenProperties; +import com.google.common.base.CaseFormat; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.Operation; import io.swagger.v3.oas.models.servers.Server; @@ -848,6 +849,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { // templates use its presence to handle these badly named variables / keys if ((isReservedWord(name) || !isValidPythonVarOrClassName(name)) && !name.equals(cp.name)) { cp.nameInSnakeCase = cp.name; + cp.baseName = (String) processTestExampleData(name); } else { cp.nameInSnakeCase = null; } @@ -1127,7 +1129,8 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { } else if ("bool".equals(datatype)) { return value.substring(0, 1).toUpperCase(Locale.ROOT) + value.substring(1); } else { - return ensureQuotes(value); + String fixedValue = (String) processTestExampleData(value); + return ensureQuotes(fixedValue); } } @@ -1152,6 +1155,67 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { model.dataType = getTypeString(schema, "", "", referencedModelNames); } + protected String toTestCaseName(String specTestCaseName) { + return CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, specTestCaseName); + } + + protected Object processTestExampleData(Object value) { + if (value instanceof Integer){ + return value; + } else if (value instanceof Double || value instanceof Float || value instanceof Boolean){ + return value; + } else if (value instanceof String) { + String stringValue = (String) value; + String backslash = "\\"; + if (stringValue.contains(backslash)) { + stringValue = stringValue.replace(backslash, "\\\\"); + } + String nullChar = "\0"; + if (stringValue.contains(nullChar)) { + stringValue = stringValue.replace(nullChar, "\\x00"); + } + String doubleQuoteChar = "\""; + if (stringValue.contains(doubleQuoteChar)) { + stringValue = stringValue.replace(doubleQuoteChar, "\\\""); + } + String lineSep = System.lineSeparator(); + if (stringValue.contains(lineSep)) { + stringValue = stringValue.replace(lineSep, "\\n"); + } + String carriageReturn = "\r"; + if (stringValue.contains(carriageReturn)) { + stringValue = stringValue.replace(carriageReturn, "\\r"); + } + String tab = "\t"; + if (stringValue.contains(tab)) { + stringValue = stringValue.replace(tab, "\\t"); + } + String formFeed = "\f"; + if (stringValue.contains(formFeed)) { + stringValue = stringValue.replace(formFeed, "\\f"); + } + return stringValue; + } else if (value instanceof LinkedHashMap) { + LinkedHashMap fixedValues = new LinkedHashMap(); + for (Map.Entry entry: ((LinkedHashMap) value).entrySet()) { + String entryKey = (String) processTestExampleData(entry.getKey()); + Object entryValue = processTestExampleData(entry.getValue()); + fixedValues.put(entryKey, entryValue); + } + return fixedValues; + } else if (value instanceof ArrayList) { + ArrayList fixedValues = (ArrayList) value; + for (int i = 0; i < fixedValues.size(); i++) { + Object item = processTestExampleData(fixedValues.get(i)); + fixedValues.set(i, item); + } + return fixedValues; + } else if (value == null) { + return value; + } + return value; + } + /** * Convert OAS Model object to Codegen Model object * We have a custom version of this method so we can: @@ -1388,12 +1452,6 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { * @return quoted string */ private String ensureQuotes(String in) { - Pattern pattern = Pattern.compile("\r\n|\r|\n"); - Matcher matcher = pattern.matcher(in); - if (matcher.find()) { - // if a string has a new line in it add triple quotes to make it a python multiline string - return "'''" + in + "'''"; - } String strPattern = "^['\"].*?['\"]$"; if (in.matches(strPattern)) { return in; diff --git a/modules/openapi-generator/src/main/resources/python-experimental/comma.handlebars b/modules/openapi-generator/src/main/resources/python-experimental/comma.handlebars new file mode 100644 index 0000000000..41622b4720 --- /dev/null +++ b/modules/openapi-generator/src/main/resources/python-experimental/comma.handlebars @@ -0,0 +1 @@ +, \ No newline at end of file diff --git a/modules/openapi-generator/src/main/resources/python-experimental/model_templates/payload_renderer.handlebars b/modules/openapi-generator/src/main/resources/python-experimental/model_templates/payload_renderer.handlebars new file mode 100644 index 0000000000..cc5451785b --- /dev/null +++ b/modules/openapi-generator/src/main/resources/python-experimental/model_templates/payload_renderer.handlebars @@ -0,0 +1,35 @@ +{{#if isMap}} +{ +{{#each value}} +{{#with @key}} + {{> model_templates/payload_renderer endChar=':'}} +{{/with}} +{{#with this}} + {{> model_templates/payload_renderer endChar=','}} +{{/with}} +{{/each}} +}{{endChar}} +{{/if}} +{{#if isArray}} +[ +{{#each value}} + {{> model_templates/payload_renderer endChar=','}} +{{/each}} +]{{endChar}} +{{/if}} +{{#or isNumber isUnboundedInteger}} +{{value}}{{endChar}} +{{/or}} +{{#if isBoolean}} +{{#if value}} +True{{endChar}} +{{else}} +False{{endChar}} +{{/if}} +{{/if}} +{{#if isNull}} +None{{endChar}} +{{/if}} +{{#if isString}} +"{{{value}}}"{{endChar}} +{{/if}} \ No newline at end of file diff --git a/modules/openapi-generator/src/main/resources/python-experimental/model_templates/schema.handlebars b/modules/openapi-generator/src/main/resources/python-experimental/model_templates/schema.handlebars index 7523d39f0e..8b57741841 100644 --- a/modules/openapi-generator/src/main/resources/python-experimental/model_templates/schema.handlebars +++ b/modules/openapi-generator/src/main/resources/python-experimental/model_templates/schema.handlebars @@ -39,7 +39,7 @@ {{/or}} {{/or}} {{#if nameInSnakeCase}} -locals()['{{baseName}}'] = {{name}} +locals()["{{{baseName}}}"] = {{name}} del locals()['{{name}}'] {{/if}} {{/if}} diff --git a/modules/openapi-generator/src/main/resources/python-experimental/model_templates/validations.handlebars b/modules/openapi-generator/src/main/resources/python-experimental/model_templates/validations.handlebars index 2384ac063d..ab8dc2e043 100644 --- a/modules/openapi-generator/src/main/resources/python-experimental/model_templates/validations.handlebars +++ b/modules/openapi-generator/src/main/resources/python-experimental/model_templates/validations.handlebars @@ -14,9 +14,9 @@ _SchemaValidator( {{#if minItems}} min_items={{minItems}}, {{/if}} -{{#if maxProperties}} +{{#neq maxProperties null }} max_properties={{maxProperties}}, -{{/if}} +{{/neq}} {{#if minProperties}} min_properties={{minProperties}}, {{/if}} diff --git a/modules/openapi-generator/src/main/resources/python-experimental/model_test.handlebars b/modules/openapi-generator/src/main/resources/python-experimental/model_test.handlebars index 48a4a7c85a..174fe3a176 100644 --- a/modules/openapi-generator/src/main/resources/python-experimental/model_test.handlebars +++ b/modules/openapi-generator/src/main/resources/python-experimental/model_test.handlebars @@ -8,23 +8,36 @@ import {{packageName}} {{#each models}} {{#with model}} from {{packageName}}.{{modelPackage}}.{{classFilename}} import {{classname}} +from {{packageName}} import configuration class Test{{classname}}(unittest.TestCase): """{{classname}} unit test stubs""" + _configuration = configuration.Configuration() - def setUp(self): - pass - - def tearDown(self): - pass - - def test_{{classname}}(self): - """Test {{classname}}""" - # FIXME: construct object with mandatory attributes with example values - # model = {{classname}}() # noqa: E501 - pass +{{#each testCases}} +{{#with this }} + def test_{{@key}}_{{#if valid}}passes{{else}}fails{{/if}}(self): + # {{description}} +{{#if valid}} + {{classname}}._from_openapi_data( +{{#with data}} + {{> model_templates/payload_renderer endChar=',' }} +{{/with}} + _configuration=self._configuration + ) +{{else}} + with self.assertRaises(({{packageName}}.ApiValueError, {{packageName}}.ApiTypeError)): + {{classname}}._from_openapi_data( +{{#with data}} + {{> model_templates/payload_renderer endChar=','}} +{{/with}} + _configuration=self._configuration + ) +{{/if}} +{{/with}} +{{/each}} {{/with}} {{/each}} diff --git a/modules/openapi-generator/src/main/resources/python-experimental/schemas.handlebars b/modules/openapi-generator/src/main/resources/python-experimental/schemas.handlebars index f9a69ff2b7..9db3075849 100644 --- a/modules/openapi-generator/src/main/resources/python-experimental/schemas.handlebars +++ b/modules/openapi-generator/src/main/resources/python-experimental/schemas.handlebars @@ -194,6 +194,31 @@ class ValidatorBase: path_to_item=validation_metadata.path_to_item ) + @classmethod + def __data_with_boolclass_instead_of_bool(cls, data: typing.Any) -> typing.Any: + """ + In python bool is a subclass of int so 1 == True and 0 == False + This prevents code from being able to see the difference between 1 and True and 0 and False + To fix this swap in BoolClass singletons for True and False so they will differ from integers + """ + if isinstance(data, (list, tuple)): + new_data = [] + for item in data: + new_item = cls.__data_with_boolclass_instead_of_bool(item) + new_data.append(new_item) + return tuple(new_data) + elif isinstance(data, (dict, frozendict)): + new_data = {} + for key, value in data.items(): + new_value = cls.__data_with_boolclass_instead_of_bool(value) + new_data[key] = new_value + return frozendict(new_data) + elif isinstance(data, bool): + if data: + return BoolClass.TRUE + return BoolClass.FALSE + return data + @classmethod def __check_tuple_validations( cls, validations, input_values, @@ -221,10 +246,7 @@ class ValidatorBase: if (cls.__is_json_validation_enabled('uniqueItems', validation_metadata.configuration) and 'unique_items' in validations and validations['unique_items'] and input_values): - unique_items = [] - for item in input_values: - if item not in unique_items: - unique_items.append(item) + unique_items = set(cls.__data_with_boolclass_instead_of_bool(input_values)) if len(input_values) > len(unique_items): cls.__raise_validation_error_message( value=input_values, @@ -1865,8 +1887,9 @@ class IntBase(NumberBase): @classmethod def _validate_format(cls, arg: typing.Optional[decimal.Decimal], validation_metadata: ValidationMetadata): if isinstance(arg, decimal.Decimal): - exponent = arg.as_tuple().exponent - if exponent != 0: + + denominator = arg.as_integer_ratio()[-1] + if denominator != 1: raise ApiValueError( "Invalid value '{}' for type integer at {}".format(arg, validation_metadata.path_to_item) ) diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/.gitignore b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/.gitignore new file mode 100644 index 0000000000..f5e96dbfae --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/.gitignore @@ -0,0 +1 @@ +venv \ No newline at end of file diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/3_0_3_unit_test_spec.yaml b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/3_0_3_unit_test_spec.yaml new file mode 100644 index 0000000000..c2bf8c421b --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/3_0_3_unit_test_spec.yaml @@ -0,0 +1,1741 @@ +openapi: 3.0.3 +info: + title: openapi 3.0.3 sample spec + description: sample spec for testing openapi functionality, built from json schema + tests for draft6 + version: 0.0.1 +paths: {} +components: + schemas: + AdditionalpropertiesAllowsASchemaWhichShouldValidate: + properties: + foo: {} + bar: {} + additionalProperties: + type: boolean + AdditionalpropertiesCanExistByItself: + additionalProperties: + type: boolean + AdditionalpropertiesAreAllowedByDefault: + properties: + foo: {} + bar: {} + AdditionalpropertiesShouldNotLookInApplicators: + allOf: + - properties: + foo: {} + additionalProperties: + type: boolean + InvalidStringValueForDefault: + properties: + bar: + type: string + minLength: 4 + default: bad + TheDefaultKeywordDoesNotDoAnythingIfThePropertyIsMissing: + type: object + properties: + alpha: + type: number + maximum: 3 + default: 5 + SimpleEnumValidation: + enum: + - 1 + - 2 + - 3 + EnumsInProperties: + type: object + properties: + foo: + enum: + - foo + bar: + enum: + - bar + required: + - bar + EnumWithEscapedCharacters: + enum: + - 'foo + + bar' + - "foo\rbar" + EnumWithFalseDoesNotMatch0: + enum: + - false + EnumWithTrueDoesNotMatch1: + enum: + - true + EnumWith0DoesNotMatchFalse: + enum: + - 0 + EnumWith1DoesNotMatchTrue: + enum: + - 1 + NulCharactersInStrings: + enum: + - "hello\0there" + EmailFormat: + format: email + Ipv4Format: + format: ipv4 + Ipv6Format: + format: ipv6 + HostnameFormat: + format: hostname + DateTimeFormat: + format: date-time + JsonPointerFormat: + format: json-pointer + UriFormat: + format: uri + UriReferenceFormat: + format: uri-reference + UriTemplateFormat: + format: uri-template + NestedItems: + type: array + items: + type: array + items: + type: array + items: + type: array + items: + type: number + MaximumValidation: + maximum: 3.0 + MaximumValidationWithUnsignedInteger: + maximum: 300 + MaxitemsValidation: + maxItems: 2 + MaxlengthValidation: + maxLength: 2 + MaxpropertiesValidation: + maxProperties: 2 + Maxproperties0MeansTheObjectIsEmpty: + maxProperties: 0 + MinimumValidation: + minimum: 1.1 + MinimumValidationWithSignedInteger: + minimum: -2 + MinitemsValidation: + minItems: 1 + MinlengthValidation: + minLength: 2 + MinpropertiesValidation: + minProperties: 1 + ByInt: + multipleOf: 2 + ByNumber: + multipleOf: 1.5 + BySmallNumber: + multipleOf: 0.0001 + InvalidInstanceShouldNotRaiseErrorWhenFloatDivisionInf: + type: integer + multipleOf: 0.123456789 + Not: + not: + type: integer + NotMoreComplexSchema: + not: + type: object + properties: + foo: + type: string + ForbiddenProperty: + properties: + foo: + not: {} + PatternValidation: + pattern: ^a*$ + PatternIsNotAnchored: + pattern: a+ + ObjectPropertiesValidation: + properties: + foo: + type: integer + bar: + type: string + PropertiesWithEscapedCharacters: + properties: + ? 'foo + + bar' + : type: number + foo"bar: + type: number + foo\bar: + type: number + "foo\rbar": + type: number + "foo\tbar": + type: number + "foo\fbar": + type: number + PropertyNamedRefThatIsNotAReference: + properties: + $ref: + type: string + RefInAdditionalproperties: + additionalProperties: + $ref: '#/components/schemas/PropertyNamedRefThatIsNotAReference' + RefInItems: + items: + $ref: '#/components/schemas/PropertyNamedRefThatIsNotAReference' + RefInProperty: + properties: + a: + $ref: '#/components/schemas/PropertyNamedRefThatIsNotAReference' + RefInAllof: + allOf: + - $ref: '#/components/schemas/PropertyNamedRefThatIsNotAReference' + RefInOneof: + oneOf: + - $ref: '#/components/schemas/PropertyNamedRefThatIsNotAReference' + RefInAnyof: + anyOf: + - $ref: '#/components/schemas/PropertyNamedRefThatIsNotAReference' + RequiredValidation: + properties: + foo: {} + bar: {} + required: + - foo + RequiredDefaultValidation: + properties: + foo: {} + RequiredWithEmptyArray: + properties: + foo: {} + required: [] + IntegerTypeMatchesIntegers: + type: integer + NumberTypeMatchesNumbers: + type: number + StringTypeMatchesStrings: + type: string + ObjectTypeMatchesObjects: + type: object + BooleanTypeMatchesBooleans: + type: boolean + NullTypeMatchesOnlyTheNullObject: + type: 'null' + ArrayTypeMatchesArrays: + type: array + items: {} + UniqueitemsValidation: + uniqueItems: true + UniqueitemsFalseValidation: + uniqueItems: false + x-schema-test-examples: + AdditionalpropertiesAllowsASchemaWhichShouldValidate: + NoAdditionalPropertiesIsValid: + description: no additional properties is valid + data: + foo: 1 + valid: true + AnAdditionalValidPropertyIsValid: + description: an additional valid property is valid + data: + foo: 1 + bar: 2 + quux: true + valid: true + AnAdditionalInvalidPropertyIsInvalid: + description: an additional invalid property is invalid + data: + foo: 1 + bar: 2 + quux: 12 + valid: false + AdditionalpropertiesCanExistByItself: + AnAdditionalValidPropertyIsValid: + description: an additional valid property is valid + data: + foo: true + valid: true + AnAdditionalInvalidPropertyIsInvalid: + description: an additional invalid property is invalid + data: + foo: 1 + valid: false + AdditionalpropertiesAreAllowedByDefault: + AdditionalPropertiesAreAllowed: + description: additional properties are allowed + data: + foo: 1 + bar: 2 + quux: true + valid: true + AdditionalpropertiesShouldNotLookInApplicators: + PropertiesDefinedInAllofAreNotExamined: + description: properties defined in allOf are not examined + data: + foo: 1 + bar: true + valid: false + InvalidStringValueForDefault: + ValidWhenPropertyIsSpecified: + description: valid when property is specified + data: + bar: good + valid: true + StillValidWhenTheInvalidDefaultIsUsed: + description: still valid when the invalid default is used + data: {} + valid: true + TheDefaultKeywordDoesNotDoAnythingIfThePropertyIsMissing: + AnExplicitPropertyValueIsCheckedAgainstMaximumPassing: + description: an explicit property value is checked against maximum (passing) + data: + alpha: 1 + valid: true + AnExplicitPropertyValueIsCheckedAgainstMaximumFailing: + description: an explicit property value is checked against maximum (failing) + data: + alpha: 5 + valid: false + MissingPropertiesAreNotFilledInWithTheDefault: + description: missing properties are not filled in with the default + data: {} + valid: true + SimpleEnumValidation: + OneOfTheEnumIsValid: + description: one of the enum is valid + data: 1 + valid: true + SomethingElseIsInvalid: + description: something else is invalid + data: 4 + valid: false + EnumsInProperties: + BothPropertiesAreValid: + description: both properties are valid + data: + foo: foo + bar: bar + valid: true + WrongFooValue: + description: wrong foo value + data: + foo: foot + bar: bar + valid: false + WrongBarValue: + description: wrong bar value + data: + foo: foo + bar: bart + valid: false + MissingOptionalPropertyIsValid: + description: missing optional property is valid + data: + bar: bar + valid: true + MissingRequiredPropertyIsInvalid: + description: missing required property is invalid + data: + foo: foo + valid: false + MissingAllPropertiesIsInvalid: + description: missing all properties is invalid + data: {} + valid: false + EnumWithEscapedCharacters: + Member1IsValid: + description: member 1 is valid + data: 'foo + + bar' + valid: true + Member2IsValid: + description: member 2 is valid + data: "foo\rbar" + valid: true + AnotherStringIsInvalid: + description: another string is invalid + data: abc + valid: false + EnumWithFalseDoesNotMatch0: + FalseIsValid: + description: false is valid + data: false + valid: true + IntegerZeroIsInvalid: + description: integer zero is invalid + data: 0 + valid: false + FloatZeroIsInvalid: + description: float zero is invalid + data: 0.0 + valid: false + EnumWithTrueDoesNotMatch1: + TrueIsValid: + description: true is valid + data: true + valid: true + IntegerOneIsInvalid: + description: integer one is invalid + data: 1 + valid: false + FloatOneIsInvalid: + description: float one is invalid + data: 1.0 + valid: false + EnumWith0DoesNotMatchFalse: + FalseIsInvalid: + description: false is invalid + data: false + valid: false + IntegerZeroIsValid: + description: integer zero is valid + data: 0 + valid: true + FloatZeroIsValid: + description: float zero is valid + data: 0.0 + valid: true + EnumWith1DoesNotMatchTrue: + TrueIsInvalid: + description: true is invalid + data: true + valid: false + IntegerOneIsValid: + description: integer one is valid + data: 1 + valid: true + FloatOneIsValid: + description: float one is valid + data: 1.0 + valid: true + NulCharactersInStrings: + MatchStringWithNul: + description: match string with nul + data: "hello\0there" + valid: true + DoNotMatchStringLackingNul: + description: do not match string lacking nul + data: hellothere + valid: false + EmailFormat: + AllStringFormatsIgnoreIntegers: + description: all string formats ignore integers + data: 12 + valid: true + AllStringFormatsIgnoreFloats: + description: all string formats ignore floats + data: 13.7 + valid: true + AllStringFormatsIgnoreObjects: + description: all string formats ignore objects + data: {} + valid: true + AllStringFormatsIgnoreArrays: + description: all string formats ignore arrays + data: [] + valid: true + AllStringFormatsIgnoreBooleans: + description: all string formats ignore booleans + data: false + valid: true + AllStringFormatsIgnoreNulls: + description: all string formats ignore nulls + data: null + valid: true + Ipv4Format: + AllStringFormatsIgnoreIntegers: + description: all string formats ignore integers + data: 12 + valid: true + AllStringFormatsIgnoreFloats: + description: all string formats ignore floats + data: 13.7 + valid: true + AllStringFormatsIgnoreObjects: + description: all string formats ignore objects + data: {} + valid: true + AllStringFormatsIgnoreArrays: + description: all string formats ignore arrays + data: [] + valid: true + AllStringFormatsIgnoreBooleans: + description: all string formats ignore booleans + data: false + valid: true + AllStringFormatsIgnoreNulls: + description: all string formats ignore nulls + data: null + valid: true + Ipv6Format: + AllStringFormatsIgnoreIntegers: + description: all string formats ignore integers + data: 12 + valid: true + AllStringFormatsIgnoreFloats: + description: all string formats ignore floats + data: 13.7 + valid: true + AllStringFormatsIgnoreObjects: + description: all string formats ignore objects + data: {} + valid: true + AllStringFormatsIgnoreArrays: + description: all string formats ignore arrays + data: [] + valid: true + AllStringFormatsIgnoreBooleans: + description: all string formats ignore booleans + data: false + valid: true + AllStringFormatsIgnoreNulls: + description: all string formats ignore nulls + data: null + valid: true + HostnameFormat: + AllStringFormatsIgnoreIntegers: + description: all string formats ignore integers + data: 12 + valid: true + AllStringFormatsIgnoreFloats: + description: all string formats ignore floats + data: 13.7 + valid: true + AllStringFormatsIgnoreObjects: + description: all string formats ignore objects + data: {} + valid: true + AllStringFormatsIgnoreArrays: + description: all string formats ignore arrays + data: [] + valid: true + AllStringFormatsIgnoreBooleans: + description: all string formats ignore booleans + data: false + valid: true + AllStringFormatsIgnoreNulls: + description: all string formats ignore nulls + data: null + valid: true + DateTimeFormat: + AllStringFormatsIgnoreIntegers: + description: all string formats ignore integers + data: 12 + valid: true + AllStringFormatsIgnoreFloats: + description: all string formats ignore floats + data: 13.7 + valid: true + AllStringFormatsIgnoreObjects: + description: all string formats ignore objects + data: {} + valid: true + AllStringFormatsIgnoreArrays: + description: all string formats ignore arrays + data: [] + valid: true + AllStringFormatsIgnoreBooleans: + description: all string formats ignore booleans + data: false + valid: true + AllStringFormatsIgnoreNulls: + description: all string formats ignore nulls + data: null + valid: true + JsonPointerFormat: + AllStringFormatsIgnoreIntegers: + description: all string formats ignore integers + data: 12 + valid: true + AllStringFormatsIgnoreFloats: + description: all string formats ignore floats + data: 13.7 + valid: true + AllStringFormatsIgnoreObjects: + description: all string formats ignore objects + data: {} + valid: true + AllStringFormatsIgnoreArrays: + description: all string formats ignore arrays + data: [] + valid: true + AllStringFormatsIgnoreBooleans: + description: all string formats ignore booleans + data: false + valid: true + AllStringFormatsIgnoreNulls: + description: all string formats ignore nulls + data: null + valid: true + UriFormat: + AllStringFormatsIgnoreIntegers: + description: all string formats ignore integers + data: 12 + valid: true + AllStringFormatsIgnoreFloats: + description: all string formats ignore floats + data: 13.7 + valid: true + AllStringFormatsIgnoreObjects: + description: all string formats ignore objects + data: {} + valid: true + AllStringFormatsIgnoreArrays: + description: all string formats ignore arrays + data: [] + valid: true + AllStringFormatsIgnoreBooleans: + description: all string formats ignore booleans + data: false + valid: true + AllStringFormatsIgnoreNulls: + description: all string formats ignore nulls + data: null + valid: true + UriReferenceFormat: + AllStringFormatsIgnoreIntegers: + description: all string formats ignore integers + data: 12 + valid: true + AllStringFormatsIgnoreFloats: + description: all string formats ignore floats + data: 13.7 + valid: true + AllStringFormatsIgnoreObjects: + description: all string formats ignore objects + data: {} + valid: true + AllStringFormatsIgnoreArrays: + description: all string formats ignore arrays + data: [] + valid: true + AllStringFormatsIgnoreBooleans: + description: all string formats ignore booleans + data: false + valid: true + AllStringFormatsIgnoreNulls: + description: all string formats ignore nulls + data: null + valid: true + UriTemplateFormat: + AllStringFormatsIgnoreIntegers: + description: all string formats ignore integers + data: 12 + valid: true + AllStringFormatsIgnoreFloats: + description: all string formats ignore floats + data: 13.7 + valid: true + AllStringFormatsIgnoreObjects: + description: all string formats ignore objects + data: {} + valid: true + AllStringFormatsIgnoreArrays: + description: all string formats ignore arrays + data: [] + valid: true + AllStringFormatsIgnoreBooleans: + description: all string formats ignore booleans + data: false + valid: true + AllStringFormatsIgnoreNulls: + description: all string formats ignore nulls + data: null + valid: true + NestedItems: + ValidNestedArray: + description: valid nested array + data: + - - - - 1 + - - - 2 + - - 3 + - - - - 4 + - - 5 + - - 6 + valid: true + NestedArrayWithInvalidType: + description: nested array with invalid type + data: + - - - - '1' + - - - 2 + - - 3 + - - - - 4 + - - 5 + - - 6 + valid: false + NotDeepEnough: + description: not deep enough + data: + - - - 1 + - - 2 + - - 3 + - - - 4 + - - 5 + - - 6 + valid: false + MaximumValidation: + BelowTheMaximumIsValid: + description: below the maximum is valid + data: 2.6 + valid: true + BoundaryPointIsValid: + description: boundary point is valid + data: 3.0 + valid: true + AboveTheMaximumIsInvalid: + description: above the maximum is invalid + data: 3.5 + valid: false + IgnoresNonNumbers: + description: ignores non-numbers + data: x + valid: true + MaximumValidationWithUnsignedInteger: + BelowTheMaximumIsInvalid: + description: below the maximum is invalid + data: 299.97 + valid: true + BoundaryPointIntegerIsValid: + description: boundary point integer is valid + data: 300 + valid: true + BoundaryPointFloatIsValid: + description: boundary point float is valid + data: 300.0 + valid: true + AboveTheMaximumIsInvalid: + description: above the maximum is invalid + data: 300.5 + valid: false + MaxitemsValidation: + ShorterIsValid: + description: shorter is valid + data: + - 1 + valid: true + ExactLengthIsValid: + description: exact length is valid + data: + - 1 + - 2 + valid: true + TooLongIsInvalid: + description: too long is invalid + data: + - 1 + - 2 + - 3 + valid: false + IgnoresNonArrays: + description: ignores non-arrays + data: foobar + valid: true + MaxlengthValidation: + ShorterIsValid: + description: shorter is valid + data: f + valid: true + ExactLengthIsValid: + description: exact length is valid + data: fo + valid: true + TooLongIsInvalid: + description: too long is invalid + data: foo + valid: false + IgnoresNonStrings: + description: ignores non-strings + data: 100 + valid: true + TwoSupplementaryUnicodeCodePointsIsLongEnough: + description: two supplementary Unicode code points is long enough + data: "\U0001F4A9\U0001F4A9" + valid: true + MaxpropertiesValidation: + ShorterIsValid: + description: shorter is valid + data: + foo: 1 + valid: true + ExactLengthIsValid: + description: exact length is valid + data: + foo: 1 + bar: 2 + valid: true + TooLongIsInvalid: + description: too long is invalid + data: + foo: 1 + bar: 2 + baz: 3 + valid: false + IgnoresArrays: + description: ignores arrays + data: + - 1 + - 2 + - 3 + valid: true + IgnoresStrings: + description: ignores strings + data: foobar + valid: true + IgnoresOtherNonObjects: + description: ignores other non-objects + data: 12 + valid: true + Maxproperties0MeansTheObjectIsEmpty: + NoPropertiesIsValid: + description: no properties is valid + data: {} + valid: true + OnePropertyIsInvalid: + description: one property is invalid + data: + foo: 1 + valid: false + MinimumValidation: + AboveTheMinimumIsValid: + description: above the minimum is valid + data: 2.6 + valid: true + BoundaryPointIsValid: + description: boundary point is valid + data: 1.1 + valid: true + BelowTheMinimumIsInvalid: + description: below the minimum is invalid + data: 0.6 + valid: false + IgnoresNonNumbers: + description: ignores non-numbers + data: x + valid: true + MinimumValidationWithSignedInteger: + NegativeAboveTheMinimumIsValid: + description: negative above the minimum is valid + data: -1 + valid: true + PositiveAboveTheMinimumIsValid: + description: positive above the minimum is valid + data: 0 + valid: true + BoundaryPointIsValid: + description: boundary point is valid + data: -2 + valid: true + BoundaryPointWithFloatIsValid: + description: boundary point with float is valid + data: -2.0 + valid: true + FloatBelowTheMinimumIsInvalid: + description: float below the minimum is invalid + data: -2.0001 + valid: false + IntBelowTheMinimumIsInvalid: + description: int below the minimum is invalid + data: -3 + valid: false + IgnoresNonNumbers: + description: ignores non-numbers + data: x + valid: true + MinitemsValidation: + LongerIsValid: + description: longer is valid + data: + - 1 + - 2 + valid: true + ExactLengthIsValid: + description: exact length is valid + data: + - 1 + valid: true + TooShortIsInvalid: + description: too short is invalid + data: [] + valid: false + IgnoresNonArrays: + description: ignores non-arrays + data: '' + valid: true + MinlengthValidation: + LongerIsValid: + description: longer is valid + data: foo + valid: true + ExactLengthIsValid: + description: exact length is valid + data: fo + valid: true + TooShortIsInvalid: + description: too short is invalid + data: f + valid: false + IgnoresNonStrings: + description: ignores non-strings + data: 1 + valid: true + OneSupplementaryUnicodeCodePointIsNotLongEnough: + description: one supplementary Unicode code point is not long enough + data: "\U0001F4A9" + valid: false + MinpropertiesValidation: + LongerIsValid: + description: longer is valid + data: + foo: 1 + bar: 2 + valid: true + ExactLengthIsValid: + description: exact length is valid + data: + foo: 1 + valid: true + TooShortIsInvalid: + description: too short is invalid + data: {} + valid: false + IgnoresArrays: + description: ignores arrays + data: [] + valid: true + IgnoresStrings: + description: ignores strings + data: '' + valid: true + IgnoresOtherNonObjects: + description: ignores other non-objects + data: 12 + valid: true + ByInt: + IntByInt: + description: int by int + data: 10 + valid: true + IntByIntFail: + description: int by int fail + data: 7 + valid: false + IgnoresNonNumbers: + description: ignores non-numbers + data: foo + valid: true + ByNumber: + ZeroIsMultipleOfAnything: + description: zero is multiple of anything + data: 0 + valid: true + 45IsMultipleOf15: + description: 4.5 is multiple of 1.5 + data: 4.5 + valid: true + 35IsNotMultipleOf15: + description: 35 is not multiple of 1.5 + data: 35 + valid: false + BySmallNumber: + 00075IsMultipleOf00001: + description: 0.0075 is multiple of 0.0001 + data: 0.0075 + valid: true + 000751IsNotMultipleOf00001: + description: 0.00751 is not multiple of 0.0001 + data: 0.00751 + valid: false + InvalidInstanceShouldNotRaiseErrorWhenFloatDivisionInf: + AlwaysInvalidButNaiveImplementationsMayRaiseAnOverflowError: + description: always invalid, but naive implementations may raise an overflow + error + data: 1.0e+308 + valid: false + Not: + Allowed: + description: allowed + data: foo + valid: true + Disallowed: + description: disallowed + data: 1 + valid: false + NotMoreComplexSchema: + Match: + description: match + data: 1 + valid: true + OtherMatch: + description: other match + data: + foo: 1 + valid: true + Mismatch: + description: mismatch + data: + foo: bar + valid: false + ForbiddenProperty: + PropertyPresent: + description: property present + data: + foo: 1 + bar: 2 + valid: false + PropertyAbsent: + description: property absent + data: + bar: 1 + baz: 2 + valid: true + PatternValidation: + AMatchingPatternIsValid: + description: a matching pattern is valid + data: aaa + valid: true + ANonMatchingPatternIsInvalid: + description: a non-matching pattern is invalid + data: abc + valid: false + IgnoresBooleans: + description: ignores booleans + data: true + valid: true + IgnoresIntegers: + description: ignores integers + data: 123 + valid: true + IgnoresFloats: + description: ignores floats + data: 1.0 + valid: true + IgnoresObjects: + description: ignores objects + data: {} + valid: true + IgnoresArrays: + description: ignores arrays + data: [] + valid: true + IgnoresNull: + description: ignores null + data: null + valid: true + PatternIsNotAnchored: + MatchesASubstring: + description: matches a substring + data: xxaayy + valid: true + ObjectPropertiesValidation: + BothPropertiesPresentAndValidIsValid: + description: both properties present and valid is valid + data: + foo: 1 + bar: baz + valid: true + OnePropertyInvalidIsInvalid: + description: one property invalid is invalid + data: + foo: 1 + bar: {} + valid: false + BothPropertiesInvalidIsInvalid: + description: both properties invalid is invalid + data: + foo: [] + bar: {} + valid: false + DoesnTInvalidateOtherProperties: + description: doesn't invalidate other properties + data: + quux: [] + valid: true + IgnoresArrays: + description: ignores arrays + data: [] + valid: true + IgnoresOtherNonObjects: + description: ignores other non-objects + data: 12 + valid: true + PropertiesWithEscapedCharacters: + ObjectWithAllNumbersIsValid: + description: object with all numbers is valid + data: + ? 'foo + + bar' + : 1 + foo"bar: 1 + foo\bar: 1 + "foo\rbar": 1 + "foo\tbar": 1 + "foo\fbar": 1 + valid: true + ObjectWithStringsIsInvalid: + description: object with strings is invalid + data: + ? 'foo + + bar' + : '1' + foo"bar: '1' + foo\bar: '1' + "foo\rbar": '1' + "foo\tbar": '1' + "foo\fbar": '1' + valid: false + PropertyNamedRefThatIsNotAReference: + PropertyNamedRefValid: + description: property named $ref valid + data: + $ref: a + valid: true + PropertyNamedRefInvalid: + description: property named $ref invalid + data: + $ref: 2 + valid: false + RefInAdditionalproperties: + PropertyNamedRefValid: + description: property named $ref valid + data: + someProp: + $ref: a + valid: true + PropertyNamedRefInvalid: + description: property named $ref invalid + data: + someProp: + $ref: 2 + valid: false + RefInItems: + PropertyNamedRefValid: + description: property named $ref valid + data: + - $ref: a + valid: true + PropertyNamedRefInvalid: + description: property named $ref invalid + data: + - $ref: 2 + valid: false + RefInProperty: + PropertyNamedRefValid: + description: property named $ref valid + data: + a: + $ref: a + valid: true + PropertyNamedRefInvalid: + description: property named $ref invalid + data: + a: + $ref: 2 + valid: false + RefInAllof: + PropertyNamedRefValid: + description: property named $ref valid + data: + $ref: a + valid: true + PropertyNamedRefInvalid: + description: property named $ref invalid + data: + $ref: 2 + valid: false + RefInOneof: + PropertyNamedRefValid: + description: property named $ref valid + data: + $ref: a + valid: true + PropertyNamedRefInvalid: + description: property named $ref invalid + data: + $ref: 2 + valid: false + RefInAnyof: + PropertyNamedRefValid: + description: property named $ref valid + data: + $ref: a + valid: true + PropertyNamedRefInvalid: + description: property named $ref invalid + data: + $ref: 2 + valid: false + RequiredValidation: + PresentRequiredPropertyIsValid: + description: present required property is valid + data: + foo: 1 + valid: true + NonPresentRequiredPropertyIsInvalid: + description: non-present required property is invalid + data: + bar: 1 + valid: false + IgnoresArrays: + description: ignores arrays + data: [] + valid: true + IgnoresStrings: + description: ignores strings + data: '' + valid: true + IgnoresOtherNonObjects: + description: ignores other non-objects + data: 12 + valid: true + RequiredDefaultValidation: + NotRequiredByDefault: + description: not required by default + data: {} + valid: true + RequiredWithEmptyArray: + PropertyNotRequired: + description: property not required + data: {} + valid: true + IntegerTypeMatchesIntegers: + AnIntegerIsAnInteger: + description: an integer is an integer + data: 1 + valid: true + AFloatWithZeroFractionalPartIsAnInteger: + description: a float with zero fractional part is an integer + data: 1.0 + valid: true + AFloatIsNotAnInteger: + description: a float is not an integer + data: 1.1 + valid: false + AStringIsNotAnInteger: + description: a string is not an integer + data: foo + valid: false + AStringIsStillNotAnIntegerEvenIfItLooksLikeOne: + description: a string is still not an integer, even if it looks like one + data: '1' + valid: false + AnObjectIsNotAnInteger: + description: an object is not an integer + data: {} + valid: false + AnArrayIsNotAnInteger: + description: an array is not an integer + data: [] + valid: false + ABooleanIsNotAnInteger: + description: a boolean is not an integer + data: true + valid: false + NullIsNotAnInteger: + description: null is not an integer + data: null + valid: false + NumberTypeMatchesNumbers: + AnIntegerIsANumber: + description: an integer is a number + data: 1 + valid: true + AFloatWithZeroFractionalPartIsANumberAndAnInteger: + description: a float with zero fractional part is a number (and an integer) + data: 1.0 + valid: true + AFloatIsANumber: + description: a float is a number + data: 1.1 + valid: true + AStringIsNotANumber: + description: a string is not a number + data: foo + valid: false + AStringIsStillNotANumberEvenIfItLooksLikeOne: + description: a string is still not a number, even if it looks like one + data: '1' + valid: false + AnObjectIsNotANumber: + description: an object is not a number + data: {} + valid: false + AnArrayIsNotANumber: + description: an array is not a number + data: [] + valid: false + ABooleanIsNotANumber: + description: a boolean is not a number + data: true + valid: false + NullIsNotANumber: + description: null is not a number + data: null + valid: false + StringTypeMatchesStrings: + 1IsNotAString: + description: 1 is not a string + data: 1 + valid: false + AFloatIsNotAString: + description: a float is not a string + data: 1.1 + valid: false + AStringIsAString: + description: a string is a string + data: foo + valid: true + AStringIsStillAStringEvenIfItLooksLikeANumber: + description: a string is still a string, even if it looks like a number + data: '1' + valid: true + AnEmptyStringIsStillAString: + description: an empty string is still a string + data: '' + valid: true + AnObjectIsNotAString: + description: an object is not a string + data: {} + valid: false + AnArrayIsNotAString: + description: an array is not a string + data: [] + valid: false + ABooleanIsNotAString: + description: a boolean is not a string + data: true + valid: false + NullIsNotAString: + description: null is not a string + data: null + valid: false + ObjectTypeMatchesObjects: + AnIntegerIsNotAnObject: + description: an integer is not an object + data: 1 + valid: false + AFloatIsNotAnObject: + description: a float is not an object + data: 1.1 + valid: false + AStringIsNotAnObject: + description: a string is not an object + data: foo + valid: false + AnObjectIsAnObject: + description: an object is an object + data: {} + valid: true + AnArrayIsNotAnObject: + description: an array is not an object + data: [] + valid: false + ABooleanIsNotAnObject: + description: a boolean is not an object + data: true + valid: false + NullIsNotAnObject: + description: null is not an object + data: null + valid: false + BooleanTypeMatchesBooleans: + AnIntegerIsNotABoolean: + description: an integer is not a boolean + data: 1 + valid: false + ZeroIsNotABoolean: + description: zero is not a boolean + data: 0 + valid: false + AFloatIsNotABoolean: + description: a float is not a boolean + data: 1.1 + valid: false + AStringIsNotABoolean: + description: a string is not a boolean + data: foo + valid: false + AnEmptyStringIsNotABoolean: + description: an empty string is not a boolean + data: '' + valid: false + AnObjectIsNotABoolean: + description: an object is not a boolean + data: {} + valid: false + AnArrayIsNotABoolean: + description: an array is not a boolean + data: [] + valid: false + TrueIsABoolean: + description: true is a boolean + data: true + valid: true + FalseIsABoolean: + description: false is a boolean + data: false + valid: true + NullIsNotABoolean: + description: null is not a boolean + data: null + valid: false + NullTypeMatchesOnlyTheNullObject: + AnIntegerIsNotNull: + description: an integer is not null + data: 1 + valid: false + AFloatIsNotNull: + description: a float is not null + data: 1.1 + valid: false + ZeroIsNotNull: + description: zero is not null + data: 0 + valid: false + AStringIsNotNull: + description: a string is not null + data: foo + valid: false + AnEmptyStringIsNotNull: + description: an empty string is not null + data: '' + valid: false + AnObjectIsNotNull: + description: an object is not null + data: {} + valid: false + AnArrayIsNotNull: + description: an array is not null + data: [] + valid: false + TrueIsNotNull: + description: true is not null + data: true + valid: false + FalseIsNotNull: + description: false is not null + data: false + valid: false + NullIsNull: + description: null is null + data: null + valid: true + ArrayTypeMatchesArrays: + AnIntegerIsNotAnArray: + description: an integer is not an array + data: 1 + valid: false + AFloatIsNotAnArray: + description: a float is not an array + data: 1.1 + valid: false + AStringIsNotAnArray: + description: a string is not an array + data: foo + valid: false + AnObjectIsNotAnArray: + description: an object is not an array + data: {} + valid: false + AnArrayIsAnArray: + description: an array is an array + data: [] + valid: true + ABooleanIsNotAnArray: + description: a boolean is not an array + data: true + valid: false + NullIsNotAnArray: + description: null is not an array + data: null + valid: false + UniqueitemsValidation: + UniqueArrayOfIntegersIsValid: + description: unique array of integers is valid + data: + - 1 + - 2 + valid: true + NonUniqueArrayOfIntegersIsInvalid: + description: non-unique array of integers is invalid + data: + - 1 + - 1 + valid: false + NonUniqueArrayOfMoreThanTwoIntegersIsInvalid: + description: non-unique array of more than two integers is invalid + data: + - 1 + - 2 + - 1 + valid: false + NumbersAreUniqueIfMathematicallyUnequal: + description: numbers are unique if mathematically unequal + data: + - 1.0 + - 1.0 + - 1 + valid: false + FalseIsNotEqualToZero: + description: false is not equal to zero + data: + - 0 + - false + valid: true + TrueIsNotEqualToOne: + description: true is not equal to one + data: + - 1 + - true + valid: true + UniqueArrayOfStringsIsValid: + description: unique array of strings is valid + data: + - foo + - bar + - baz + valid: true + NonUniqueArrayOfStringsIsInvalid: + description: non-unique array of strings is invalid + data: + - foo + - bar + - foo + valid: false + UniqueArrayOfObjectsIsValid: + description: unique array of objects is valid + data: + - foo: bar + - foo: baz + valid: true + NonUniqueArrayOfObjectsIsInvalid: + description: non-unique array of objects is invalid + data: + - foo: bar + - foo: bar + valid: false + UniqueArrayOfNestedObjectsIsValid: + description: unique array of nested objects is valid + data: + - foo: + bar: + baz: true + - foo: + bar: + baz: false + valid: true + NonUniqueArrayOfNestedObjectsIsInvalid: + description: non-unique array of nested objects is invalid + data: + - foo: + bar: + baz: true + - foo: + bar: + baz: true + valid: false + UniqueArrayOfArraysIsValid: + description: unique array of arrays is valid + data: + - - foo + - - bar + valid: true + NonUniqueArrayOfArraysIsInvalid: + description: non-unique array of arrays is invalid + data: + - - foo + - - foo + valid: false + NonUniqueArrayOfMoreThanTwoArraysIsInvalid: + description: non-unique array of more than two arrays is invalid + data: + - - foo + - - bar + - - foo + valid: false + 1AndTrueAreUnique: + description: '[1] and [true] are unique' + data: + - - 1 + - - true + valid: true + 0AndFalseAreUnique: + description: '[0] and [false] are unique' + data: + - - 0 + - - false + valid: true + Nested1AndTrueAreUnique: + description: nested [1] and [true] are unique + data: + - - - 1 + - foo + - - - true + - foo + valid: true + Nested0AndFalseAreUnique: + description: nested [0] and [false] are unique + data: + - - - 0 + - foo + - - - false + - foo + valid: true + UniqueHeterogeneousTypesAreValid: + description: unique heterogeneous types are valid + data: + - {} + - - 1 + - true + - null + - 1 + - '{}' + valid: true + NonUniqueHeterogeneousTypesAreInvalid: + description: non-unique heterogeneous types are invalid + data: + - {} + - - 1 + - true + - null + - {} + - 1 + valid: false + DifferentObjectsAreUnique: + description: different objects are unique + data: + - a: 1 + b: 2 + - a: 2 + b: 1 + valid: true + ObjectsAreNonUniqueDespiteKeyOrder: + description: objects are non-unique despite key order + data: + - a: 1 + b: 2 + - b: 2 + a: 1 + valid: false + AFalseAndA0AreUnique: + description: '{"a": false} and {"a": 0} are unique' + data: + - a: false + - a: 0 + valid: true + ATrueAndA1AreUnique: + description: '{"a": true} and {"a": 1} are unique' + data: + - a: true + - a: 1 + valid: true + UniqueitemsFalseValidation: + UniqueArrayOfIntegersIsValid: + description: unique array of integers is valid + data: + - 1 + - 2 + valid: true + NonUniqueArrayOfIntegersIsValid: + description: non-unique array of integers is valid + data: + - 1 + - 1 + valid: true + NumbersAreUniqueIfMathematicallyUnequal: + description: numbers are unique if mathematically unequal + data: + - 1.0 + - 1.0 + - 1 + valid: true + FalseIsNotEqualToZero: + description: false is not equal to zero + data: + - 0 + - false + valid: true + TrueIsNotEqualToOne: + description: true is not equal to one + data: + - 1 + - true + valid: true + UniqueArrayOfObjectsIsValid: + description: unique array of objects is valid + data: + - foo: bar + - foo: baz + valid: true + NonUniqueArrayOfObjectsIsValid: + description: non-unique array of objects is valid + data: + - foo: bar + - foo: bar + valid: true + UniqueArrayOfNestedObjectsIsValid: + description: unique array of nested objects is valid + data: + - foo: + bar: + baz: true + - foo: + bar: + baz: false + valid: true + NonUniqueArrayOfNestedObjectsIsValid: + description: non-unique array of nested objects is valid + data: + - foo: + bar: + baz: true + - foo: + bar: + baz: true + valid: true + UniqueArrayOfArraysIsValid: + description: unique array of arrays is valid + data: + - - foo + - - bar + valid: true + NonUniqueArrayOfArraysIsValid: + description: non-unique array of arrays is valid + data: + - - foo + - - foo + valid: true + 1AndTrueAreUnique: + description: 1 and true are unique + data: + - 1 + - true + valid: true + 0AndFalseAreUnique: + description: 0 and false are unique + data: + - 0 + - false + valid: true + UniqueHeterogeneousTypesAreValid: + description: unique heterogeneous types are valid + data: + - {} + - - 1 + - true + - null + - 1 + valid: true + NonUniqueHeterogeneousTypesAreValid: + description: non-unique heterogeneous types are valid + data: + - {} + - - 1 + - true + - null + - {} + - 1 + valid: true diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/LICENSE b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/LICENSE new file mode 100644 index 0000000000..050eb041f9 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2012 Julian Berman + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/additionalItems.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/additionalItems.json new file mode 100755 index 0000000000..784bc84610 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/additionalItems.json @@ -0,0 +1,149 @@ +[ + { + "description": "additionalItems as schema", + "schema": { + "items": [{}], + "additionalItems": {"type": "integer"} + }, + "tests": [ + { + "description": "additional items match schema", + "data": [ null, 2, 3, 4 ], + "valid": true + }, + { + "description": "additional items do not match schema", + "data": [ null, 2, 3, "foo" ], + "valid": false + } + ] + }, + { + "description": "when items is schema, additionalItems does nothing", + "schema": { + "items": {}, + "additionalItems": false + }, + "tests": [ + { + "description": "all items match schema", + "data": [ 1, 2, 3, 4, 5 ], + "valid": true + } + ] + }, + { + "description": "array of items with no additionalItems permitted", + "schema": { + "items": [{}, {}, {}], + "additionalItems": false + }, + "tests": [ + { + "description": "empty array", + "data": [ ], + "valid": true + }, + { + "description": "fewer number of items present (1)", + "data": [ 1 ], + "valid": true + }, + { + "description": "fewer number of items present (2)", + "data": [ 1, 2 ], + "valid": true + }, + { + "description": "equal number of items present", + "data": [ 1, 2, 3 ], + "valid": true + }, + { + "description": "additional items are not permitted", + "data": [ 1, 2, 3, 4 ], + "valid": false + } + ] + }, + { + "description": "additionalItems as false without items", + "schema": {"additionalItems": false}, + "tests": [ + { + "description": + "items defaults to empty schema so everything is valid", + "data": [ 1, 2, 3, 4, 5 ], + "valid": true + }, + { + "description": "ignores non-arrays", + "data": {"foo" : "bar"}, + "valid": true + } + ] + }, + { + "description": "additionalItems are allowed by default", + "schema": {"items": [{"type": "integer"}]}, + "tests": [ + { + "description": "only the first item is validated", + "data": [1, "foo", false], + "valid": true + } + ] + }, + { + "description": "additionalItems should not look in applicators, valid case", + "schema": { + "allOf": [ + { "items": [ { "type": "integer" } ] } + ], + "additionalItems": { "type": "boolean" } + }, + "tests": [ + { + "description": "items defined in allOf are not examined", + "data": [ 1, null ], + "valid": true + } + ] + }, + { + "description": "additionalItems should not look in applicators, invalid case", + "schema": { + "allOf": [ + { "items": [ { "type": "integer" }, { "type": "string" } ] } + ], + "items": [ {"type": "integer" } ], + "additionalItems": { "type": "boolean" } + }, + "tests": [ + { + "description": "items defined in allOf are not examined", + "data": [ 1, "hello" ], + "valid": false + } + ] + }, + { + "description": "items validation adjusts the starting index for additionalItems", + "schema": { + "items": [ { "type": "string" } ], + "additionalItems": { "type": "integer" } + }, + "tests": [ + { + "description": "valid items", + "data": [ "x", 2, 3 ], + "valid": true + }, + { + "description": "wrong type of second item", + "data": [ "x", "y" ], + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/additionalProperties.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/additionalProperties.json new file mode 100755 index 0000000000..381275a596 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/additionalProperties.json @@ -0,0 +1,133 @@ +[ + { + "description": + "additionalProperties being false does not allow other properties", + "schema": { + "properties": {"foo": {}, "bar": {}}, + "patternProperties": { "^v": {} }, + "additionalProperties": false + }, + "tests": [ + { + "description": "no additional properties is valid", + "data": {"foo": 1}, + "valid": true + }, + { + "description": "an additional property is invalid", + "data": {"foo" : 1, "bar" : 2, "quux" : "boom"}, + "valid": false + }, + { + "description": "ignores arrays", + "data": [1, 2, 3], + "valid": true + }, + { + "description": "ignores strings", + "data": "foobarbaz", + "valid": true + }, + { + "description": "ignores other non-objects", + "data": 12, + "valid": true + }, + { + "description": "patternProperties are not additional properties", + "data": {"foo":1, "vroom": 2}, + "valid": true + } + ] + }, + { + "description": "non-ASCII pattern with additionalProperties", + "schema": { + "patternProperties": {"^á": {}}, + "additionalProperties": false + }, + "tests": [ + { + "description": "matching the pattern is valid", + "data": {"ármányos": 2}, + "valid": true + }, + { + "description": "not matching the pattern is invalid", + "data": {"élmény": 2}, + "valid": false + } + ] + }, + { + "description": + "additionalProperties allows a schema which should validate", + "schema": { + "properties": {"foo": {}, "bar": {}}, + "additionalProperties": {"type": "boolean"} + }, + "tests": [ + { + "description": "no additional properties is valid", + "data": {"foo": 1}, + "valid": true + }, + { + "description": "an additional valid property is valid", + "data": {"foo" : 1, "bar" : 2, "quux" : true}, + "valid": true + }, + { + "description": "an additional invalid property is invalid", + "data": {"foo" : 1, "bar" : 2, "quux" : 12}, + "valid": false + } + ] + }, + { + "description": + "additionalProperties can exist by itself", + "schema": { + "additionalProperties": {"type": "boolean"} + }, + "tests": [ + { + "description": "an additional valid property is valid", + "data": {"foo" : true}, + "valid": true + }, + { + "description": "an additional invalid property is invalid", + "data": {"foo" : 1}, + "valid": false + } + ] + }, + { + "description": "additionalProperties are allowed by default", + "schema": {"properties": {"foo": {}, "bar": {}}}, + "tests": [ + { + "description": "additional properties are allowed", + "data": {"foo": 1, "bar": 2, "quux": true}, + "valid": true + } + ] + }, + { + "description": "additionalProperties should not look in applicators", + "schema": { + "allOf": [ + {"properties": {"foo": {}}} + ], + "additionalProperties": {"type": "boolean"} + }, + "tests": [ + { + "description": "properties defined in allOf are not examined", + "data": {"foo": 1, "bar": true}, + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/allOf.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/allOf.json new file mode 100755 index 0000000000..ec9319e143 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/allOf.json @@ -0,0 +1,294 @@ +[ + { + "description": "allOf", + "schema": { + "allOf": [ + { + "properties": { + "bar": {"type": "integer"} + }, + "required": ["bar"] + }, + { + "properties": { + "foo": {"type": "string"} + }, + "required": ["foo"] + } + ] + }, + "tests": [ + { + "description": "allOf", + "data": {"foo": "baz", "bar": 2}, + "valid": true + }, + { + "description": "mismatch second", + "data": {"foo": "baz"}, + "valid": false + }, + { + "description": "mismatch first", + "data": {"bar": 2}, + "valid": false + }, + { + "description": "wrong type", + "data": {"foo": "baz", "bar": "quux"}, + "valid": false + } + ] + }, + { + "description": "allOf with base schema", + "schema": { + "properties": {"bar": {"type": "integer"}}, + "required": ["bar"], + "allOf" : [ + { + "properties": { + "foo": {"type": "string"} + }, + "required": ["foo"] + }, + { + "properties": { + "baz": {"type": "null"} + }, + "required": ["baz"] + } + ] + }, + "tests": [ + { + "description": "valid", + "data": {"foo": "quux", "bar": 2, "baz": null}, + "valid": true + }, + { + "description": "mismatch base schema", + "data": {"foo": "quux", "baz": null}, + "valid": false + }, + { + "description": "mismatch first allOf", + "data": {"bar": 2, "baz": null}, + "valid": false + }, + { + "description": "mismatch second allOf", + "data": {"foo": "quux", "bar": 2}, + "valid": false + }, + { + "description": "mismatch both", + "data": {"bar": 2}, + "valid": false + } + ] + }, + { + "description": "allOf simple types", + "schema": { + "allOf": [ + {"maximum": 30}, + {"minimum": 20} + ] + }, + "tests": [ + { + "description": "valid", + "data": 25, + "valid": true + }, + { + "description": "mismatch one", + "data": 35, + "valid": false + } + ] + }, + { + "description": "allOf with boolean schemas, all true", + "schema": {"allOf": [true, true]}, + "tests": [ + { + "description": "any value is valid", + "data": "foo", + "valid": true + } + ] + }, + { + "description": "allOf with boolean schemas, some false", + "schema": {"allOf": [true, false]}, + "tests": [ + { + "description": "any value is invalid", + "data": "foo", + "valid": false + } + ] + }, + { + "description": "allOf with boolean schemas, all false", + "schema": {"allOf": [false, false]}, + "tests": [ + { + "description": "any value is invalid", + "data": "foo", + "valid": false + } + ] + }, + { + "description": "allOf with one empty schema", + "schema": { + "allOf": [ + {} + ] + }, + "tests": [ + { + "description": "any data is valid", + "data": 1, + "valid": true + } + ] + }, + { + "description": "allOf with two empty schemas", + "schema": { + "allOf": [ + {}, + {} + ] + }, + "tests": [ + { + "description": "any data is valid", + "data": 1, + "valid": true + } + ] + }, + { + "description": "allOf with the first empty schema", + "schema": { + "allOf": [ + {}, + { "type": "number" } + ] + }, + "tests": [ + { + "description": "number is valid", + "data": 1, + "valid": true + }, + { + "description": "string is invalid", + "data": "foo", + "valid": false + } + ] + }, + { + "description": "allOf with the last empty schema", + "schema": { + "allOf": [ + { "type": "number" }, + {} + ] + }, + "tests": [ + { + "description": "number is valid", + "data": 1, + "valid": true + }, + { + "description": "string is invalid", + "data": "foo", + "valid": false + } + ] + }, + { + "description": "nested allOf, to check validation semantics", + "schema": { + "allOf": [ + { + "allOf": [ + { + "type": "null" + } + ] + } + ] + }, + "tests": [ + { + "description": "null is valid", + "data": null, + "valid": true + }, + { + "description": "anything non-null is invalid", + "data": 123, + "valid": false + } + ] + }, + { + "description": "allOf combined with anyOf, oneOf", + "schema": { + "allOf": [ { "multipleOf": 2 } ], + "anyOf": [ { "multipleOf": 3 } ], + "oneOf": [ { "multipleOf": 5 } ] + }, + "tests": [ + { + "description": "allOf: false, anyOf: false, oneOf: false", + "data": 1, + "valid": false + }, + { + "description": "allOf: false, anyOf: false, oneOf: true", + "data": 5, + "valid": false + }, + { + "description": "allOf: false, anyOf: true, oneOf: false", + "data": 3, + "valid": false + }, + { + "description": "allOf: false, anyOf: true, oneOf: true", + "data": 15, + "valid": false + }, + { + "description": "allOf: true, anyOf: false, oneOf: false", + "data": 2, + "valid": false + }, + { + "description": "allOf: true, anyOf: false, oneOf: true", + "data": 10, + "valid": false + }, + { + "description": "allOf: true, anyOf: true, oneOf: false", + "data": 6, + "valid": false + }, + { + "description": "allOf: true, anyOf: true, oneOf: true", + "data": 30, + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/anyOf.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/anyOf.json new file mode 100755 index 0000000000..b720afa8de --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/anyOf.json @@ -0,0 +1,215 @@ +[ + { + "description": "anyOf", + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "minimum": 2 + } + ] + }, + "tests": [ + { + "description": "first anyOf valid", + "data": 1, + "valid": true + }, + { + "description": "second anyOf valid", + "data": 2.5, + "valid": true + }, + { + "description": "both anyOf valid", + "data": 3, + "valid": true + }, + { + "description": "neither anyOf valid", + "data": 1.5, + "valid": false + } + ] + }, + { + "description": "anyOf with base schema", + "schema": { + "type": "string", + "anyOf" : [ + { + "maxLength": 2 + }, + { + "minLength": 4 + } + ] + }, + "tests": [ + { + "description": "mismatch base schema", + "data": 3, + "valid": false + }, + { + "description": "one anyOf valid", + "data": "foobar", + "valid": true + }, + { + "description": "both anyOf invalid", + "data": "foo", + "valid": false + } + ] + }, + { + "description": "anyOf with boolean schemas, all true", + "schema": {"anyOf": [true, true]}, + "tests": [ + { + "description": "any value is valid", + "data": "foo", + "valid": true + } + ] + }, + { + "description": "anyOf with boolean schemas, some true", + "schema": {"anyOf": [true, false]}, + "tests": [ + { + "description": "any value is valid", + "data": "foo", + "valid": true + } + ] + }, + { + "description": "anyOf with boolean schemas, all false", + "schema": {"anyOf": [false, false]}, + "tests": [ + { + "description": "any value is invalid", + "data": "foo", + "valid": false + } + ] + }, + { + "description": "anyOf complex types", + "schema": { + "anyOf": [ + { + "properties": { + "bar": {"type": "integer"} + }, + "required": ["bar"] + }, + { + "properties": { + "foo": {"type": "string"} + }, + "required": ["foo"] + } + ] + }, + "tests": [ + { + "description": "first anyOf valid (complex)", + "data": {"bar": 2}, + "valid": true + }, + { + "description": "second anyOf valid (complex)", + "data": {"foo": "baz"}, + "valid": true + }, + { + "description": "both anyOf valid (complex)", + "data": {"foo": "baz", "bar": 2}, + "valid": true + }, + { + "description": "neither anyOf valid (complex)", + "data": {"foo": 2, "bar": "quux"}, + "valid": false + } + ] + }, + { + "description": "anyOf with one empty schema", + "schema": { + "anyOf": [ + { "type": "number" }, + {} + ] + }, + "tests": [ + { + "description": "string is valid", + "data": "foo", + "valid": true + }, + { + "description": "number is valid", + "data": 123, + "valid": true + } + ] + }, + { + "description": "nested anyOf, to check validation semantics", + "schema": { + "anyOf": [ + { + "anyOf": [ + { + "type": "null" + } + ] + } + ] + }, + "tests": [ + { + "description": "null is valid", + "data": null, + "valid": true + }, + { + "description": "anything non-null is invalid", + "data": 123, + "valid": false + } + ] + }, + { + "description": "nested anyOf, to check validation semantics", + "schema": { + "anyOf": [ + { + "anyOf": [ + { + "type": "null" + } + ] + } + ] + }, + "tests": [ + { + "description": "null is valid", + "data": null, + "valid": true + }, + { + "description": "anything non-null is invalid", + "data": 123, + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/boolean_schema.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/boolean_schema.json new file mode 100755 index 0000000000..6d40f23f26 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/boolean_schema.json @@ -0,0 +1,104 @@ +[ + { + "description": "boolean schema 'true'", + "schema": true, + "tests": [ + { + "description": "number is valid", + "data": 1, + "valid": true + }, + { + "description": "string is valid", + "data": "foo", + "valid": true + }, + { + "description": "boolean true is valid", + "data": true, + "valid": true + }, + { + "description": "boolean false is valid", + "data": false, + "valid": true + }, + { + "description": "null is valid", + "data": null, + "valid": true + }, + { + "description": "object is valid", + "data": {"foo": "bar"}, + "valid": true + }, + { + "description": "empty object is valid", + "data": {}, + "valid": true + }, + { + "description": "array is valid", + "data": ["foo"], + "valid": true + }, + { + "description": "empty array is valid", + "data": [], + "valid": true + } + ] + }, + { + "description": "boolean schema 'false'", + "schema": false, + "tests": [ + { + "description": "number is invalid", + "data": 1, + "valid": false + }, + { + "description": "string is invalid", + "data": "foo", + "valid": false + }, + { + "description": "boolean true is invalid", + "data": true, + "valid": false + }, + { + "description": "boolean false is invalid", + "data": false, + "valid": false + }, + { + "description": "null is invalid", + "data": null, + "valid": false + }, + { + "description": "object is invalid", + "data": {"foo": "bar"}, + "valid": false + }, + { + "description": "empty object is invalid", + "data": {}, + "valid": false + }, + { + "description": "array is invalid", + "data": ["foo"], + "valid": false + }, + { + "description": "empty array is invalid", + "data": [], + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/const.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/const.json new file mode 100755 index 0000000000..1c2cafcc19 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/const.json @@ -0,0 +1,342 @@ +[ + { + "description": "const validation", + "schema": {"const": 2}, + "tests": [ + { + "description": "same value is valid", + "data": 2, + "valid": true + }, + { + "description": "another value is invalid", + "data": 5, + "valid": false + }, + { + "description": "another type is invalid", + "data": "a", + "valid": false + } + ] + }, + { + "description": "const with object", + "schema": {"const": {"foo": "bar", "baz": "bax"}}, + "tests": [ + { + "description": "same object is valid", + "data": {"foo": "bar", "baz": "bax"}, + "valid": true + }, + { + "description": "same object with different property order is valid", + "data": {"baz": "bax", "foo": "bar"}, + "valid": true + }, + { + "description": "another object is invalid", + "data": {"foo": "bar"}, + "valid": false + }, + { + "description": "another type is invalid", + "data": [1, 2], + "valid": false + } + ] + }, + { + "description": "const with array", + "schema": {"const": [{ "foo": "bar" }]}, + "tests": [ + { + "description": "same array is valid", + "data": [{"foo": "bar"}], + "valid": true + }, + { + "description": "another array item is invalid", + "data": [2], + "valid": false + }, + { + "description": "array with additional items is invalid", + "data": [1, 2, 3], + "valid": false + } + ] + }, + { + "description": "const with null", + "schema": {"const": null}, + "tests": [ + { + "description": "null is valid", + "data": null, + "valid": true + }, + { + "description": "not null is invalid", + "data": 0, + "valid": false + } + ] + }, + { + "description": "const with false does not match 0", + "schema": {"const": false}, + "tests": [ + { + "description": "false is valid", + "data": false, + "valid": true + }, + { + "description": "integer zero is invalid", + "data": 0, + "valid": false + }, + { + "description": "float zero is invalid", + "data": 0.0, + "valid": false + } + ] + }, + { + "description": "const with true does not match 1", + "schema": {"const": true}, + "tests": [ + { + "description": "true is valid", + "data": true, + "valid": true + }, + { + "description": "integer one is invalid", + "data": 1, + "valid": false + }, + { + "description": "float one is invalid", + "data": 1.0, + "valid": false + } + ] + }, + { + "description": "const with [false] does not match [0]", + "schema": {"const": [false]}, + "tests": [ + { + "description": "[false] is valid", + "data": [false], + "valid": true + }, + { + "description": "[0] is invalid", + "data": [0], + "valid": false + }, + { + "description": "[0.0] is invalid", + "data": [0.0], + "valid": false + } + ] + }, + { + "description": "const with [true] does not match [1]", + "schema": {"const": [true]}, + "tests": [ + { + "description": "[true] is valid", + "data": [true], + "valid": true + }, + { + "description": "[1] is invalid", + "data": [1], + "valid": false + }, + { + "description": "[1.0] is invalid", + "data": [1.0], + "valid": false + } + ] + }, + { + "description": "const with {\"a\": false} does not match {\"a\": 0}", + "schema": {"const": {"a": false}}, + "tests": [ + { + "description": "{\"a\": false} is valid", + "data": {"a": false}, + "valid": true + }, + { + "description": "{\"a\": 0} is invalid", + "data": {"a": 0}, + "valid": false + }, + { + "description": "{\"a\": 0.0} is invalid", + "data": {"a": 0.0}, + "valid": false + } + ] + }, + { + "description": "const with {\"a\": true} does not match {\"a\": 1}", + "schema": {"const": {"a": true}}, + "tests": [ + { + "description": "{\"a\": true} is valid", + "data": {"a": true}, + "valid": true + }, + { + "description": "{\"a\": 1} is invalid", + "data": {"a": 1}, + "valid": false + }, + { + "description": "{\"a\": 1.0} is invalid", + "data": {"a": 1.0}, + "valid": false + } + ] + }, + { + "description": "const with 0 does not match other zero-like types", + "schema": {"const": 0}, + "tests": [ + { + "description": "false is invalid", + "data": false, + "valid": false + }, + { + "description": "integer zero is valid", + "data": 0, + "valid": true + }, + { + "description": "float zero is valid", + "data": 0.0, + "valid": true + }, + { + "description": "empty object is invalid", + "data": {}, + "valid": false + }, + { + "description": "empty array is invalid", + "data": [], + "valid": false + }, + { + "description": "empty string is invalid", + "data": "", + "valid": false + } + ] + }, + { + "description": "const with 1 does not match true", + "schema": {"const": 1}, + "tests": [ + { + "description": "true is invalid", + "data": true, + "valid": false + }, + { + "description": "integer one is valid", + "data": 1, + "valid": true + }, + { + "description": "float one is valid", + "data": 1.0, + "valid": true + } + ] + }, + { + "description": "const with -2.0 matches integer and float types", + "schema": {"const": -2.0}, + "tests": [ + { + "description": "integer -2 is valid", + "data": -2, + "valid": true + }, + { + "description": "integer 2 is invalid", + "data": 2, + "valid": false + }, + { + "description": "float -2.0 is valid", + "data": -2.0, + "valid": true + }, + { + "description": "float 2.0 is invalid", + "data": 2.0, + "valid": false + }, + { + "description": "float -2.00001 is invalid", + "data": -2.00001, + "valid": false + } + ] + }, + { + "description": "float and integers are equal up to 64-bit representation limits", + "schema": {"const": 9007199254740992}, + "tests": [ + { + "description": "integer is valid", + "data": 9007199254740992, + "valid": true + }, + { + "description": "integer minus one is invalid", + "data": 9007199254740991, + "valid": false + }, + { + "description": "float is valid", + "data": 9007199254740992.0, + "valid": true + }, + { + "description": "float minus one is invalid", + "data": 9007199254740991.0, + "valid": false + } + ] + }, + { + "description": "nul characters in strings", + "schema": { "const": "hello\u0000there" }, + "tests": [ + { + "description": "match string with nul", + "data": "hello\u0000there", + "valid": true + }, + { + "description": "do not match string lacking nul", + "data": "hellothere", + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/contains.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/contains.json new file mode 100755 index 0000000000..c5471cc021 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/contains.json @@ -0,0 +1,129 @@ +[ + { + "description": "contains keyword validation", + "schema": { + "contains": {"minimum": 5} + }, + "tests": [ + { + "description": "array with item matching schema (5) is valid", + "data": [3, 4, 5], + "valid": true + }, + { + "description": "array with item matching schema (6) is valid", + "data": [3, 4, 6], + "valid": true + }, + { + "description": "array with two items matching schema (5, 6) is valid", + "data": [3, 4, 5, 6], + "valid": true + }, + { + "description": "array without items matching schema is invalid", + "data": [2, 3, 4], + "valid": false + }, + { + "description": "empty array is invalid", + "data": [], + "valid": false + }, + { + "description": "not array is valid", + "data": {}, + "valid": true + } + ] + }, + { + "description": "contains keyword with const keyword", + "schema": { + "contains": { "const": 5 } + }, + "tests": [ + { + "description": "array with item 5 is valid", + "data": [3, 4, 5], + "valid": true + }, + { + "description": "array with two items 5 is valid", + "data": [3, 4, 5, 5], + "valid": true + }, + { + "description": "array without item 5 is invalid", + "data": [1, 2, 3, 4], + "valid": false + } + ] + }, + { + "description": "contains keyword with boolean schema true", + "schema": {"contains": true}, + "tests": [ + { + "description": "any non-empty array is valid", + "data": ["foo"], + "valid": true + }, + { + "description": "empty array is invalid", + "data": [], + "valid": false + } + ] + }, + { + "description": "contains keyword with boolean schema false", + "schema": {"contains": false}, + "tests": [ + { + "description": "any non-empty array is invalid", + "data": ["foo"], + "valid": false + }, + { + "description": "empty array is invalid", + "data": [], + "valid": false + }, + { + "description": "non-arrays are valid", + "data": "contains does not apply to strings", + "valid": true + } + ] + }, + { + "description": "items + contains", + "schema": { + "items": { "multipleOf": 2 }, + "contains": { "multipleOf": 3 } + }, + "tests": [ + { + "description": "matches items, does not match contains", + "data": [ 2, 4, 8 ], + "valid": false + }, + { + "description": "does not match items, matches contains", + "data": [ 3, 6, 9 ], + "valid": false + }, + { + "description": "matches both items and contains", + "data": [ 6, 12 ], + "valid": true + }, + { + "description": "matches neither items nor contains", + "data": [ 1, 5 ], + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/default.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/default.json new file mode 100755 index 0000000000..289a9b66c1 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/default.json @@ -0,0 +1,79 @@ +[ + { + "description": "invalid type for default", + "schema": { + "properties": { + "foo": { + "type": "integer", + "default": [] + } + } + }, + "tests": [ + { + "description": "valid when property is specified", + "data": {"foo": 13}, + "valid": true + }, + { + "description": "still valid when the invalid default is used", + "data": {}, + "valid": true + } + ] + }, + { + "description": "invalid string value for default", + "schema": { + "properties": { + "bar": { + "type": "string", + "minLength": 4, + "default": "bad" + } + } + }, + "tests": [ + { + "description": "valid when property is specified", + "data": {"bar": "good"}, + "valid": true + }, + { + "description": "still valid when the invalid default is used", + "data": {}, + "valid": true + } + ] + }, + { + "description": "the default keyword does not do anything if the property is missing", + "schema": { + "type": "object", + "properties": { + "alpha": { + "type": "number", + "maximum": 3, + "default": 5 + } + } + }, + "tests": [ + { + "description": "an explicit property value is checked against maximum (passing)", + "data": { "alpha": 1 }, + "valid": true + }, + { + "description": "an explicit property value is checked against maximum (failing)", + "data": { "alpha": 5 }, + "valid": false + }, + { + "description": "missing properties are not filled in with the default", + "data": {}, + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/definitions.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/definitions.json new file mode 100755 index 0000000000..d772fde3ec --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/definitions.json @@ -0,0 +1,26 @@ +[ + { + "description": "validate definition against metaschema", + "schema": {"$ref": "http://json-schema.org/draft-06/schema#"}, + "tests": [ + { + "description": "valid definition schema", + "data": { + "definitions": { + "foo": {"type": "integer"} + } + }, + "valid": true + }, + { + "description": "invalid definition schema", + "data": { + "definitions": { + "foo": {"type": 1} + } + }, + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/dependencies.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/dependencies.json new file mode 100755 index 0000000000..a5e54282cc --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/dependencies.json @@ -0,0 +1,248 @@ +[ + { + "description": "dependencies", + "schema": { + "dependencies": {"bar": ["foo"]} + }, + "tests": [ + { + "description": "neither", + "data": {}, + "valid": true + }, + { + "description": "nondependant", + "data": {"foo": 1}, + "valid": true + }, + { + "description": "with dependency", + "data": {"foo": 1, "bar": 2}, + "valid": true + }, + { + "description": "missing dependency", + "data": {"bar": 2}, + "valid": false + }, + { + "description": "ignores arrays", + "data": ["bar"], + "valid": true + }, + { + "description": "ignores strings", + "data": "foobar", + "valid": true + }, + { + "description": "ignores other non-objects", + "data": 12, + "valid": true + } + ] + }, + { + "description": "dependencies with empty array", + "schema": { + "dependencies": {"bar": []} + }, + "tests": [ + { + "description": "empty object", + "data": {}, + "valid": true + }, + { + "description": "object with one property", + "data": {"bar": 2}, + "valid": true + }, + { + "description": "non-object is valid", + "data": 1, + "valid": true + } + ] + }, + { + "description": "multiple dependencies", + "schema": { + "dependencies": {"quux": ["foo", "bar"]} + }, + "tests": [ + { + "description": "neither", + "data": {}, + "valid": true + }, + { + "description": "nondependants", + "data": {"foo": 1, "bar": 2}, + "valid": true + }, + { + "description": "with dependencies", + "data": {"foo": 1, "bar": 2, "quux": 3}, + "valid": true + }, + { + "description": "missing dependency", + "data": {"foo": 1, "quux": 2}, + "valid": false + }, + { + "description": "missing other dependency", + "data": {"bar": 1, "quux": 2}, + "valid": false + }, + { + "description": "missing both dependencies", + "data": {"quux": 1}, + "valid": false + } + ] + }, + { + "description": "multiple dependencies subschema", + "schema": { + "dependencies": { + "bar": { + "properties": { + "foo": {"type": "integer"}, + "bar": {"type": "integer"} + } + } + } + }, + "tests": [ + { + "description": "valid", + "data": {"foo": 1, "bar": 2}, + "valid": true + }, + { + "description": "no dependency", + "data": {"foo": "quux"}, + "valid": true + }, + { + "description": "wrong type", + "data": {"foo": "quux", "bar": 2}, + "valid": false + }, + { + "description": "wrong type other", + "data": {"foo": 2, "bar": "quux"}, + "valid": false + }, + { + "description": "wrong type both", + "data": {"foo": "quux", "bar": "quux"}, + "valid": false + } + ] + }, + { + "description": "dependencies with boolean subschemas", + "schema": { + "dependencies": { + "foo": true, + "bar": false + } + }, + "tests": [ + { + "description": "object with property having schema true is valid", + "data": {"foo": 1}, + "valid": true + }, + { + "description": "object with property having schema false is invalid", + "data": {"bar": 2}, + "valid": false + }, + { + "description": "object with both properties is invalid", + "data": {"foo": 1, "bar": 2}, + "valid": false + }, + { + "description": "empty object is valid", + "data": {}, + "valid": true + } + ] + }, + { + "description": "dependencies with escaped characters", + "schema": { + "dependencies": { + "foo\nbar": ["foo\rbar"], + "foo\tbar": { + "minProperties": 4 + }, + "foo'bar": {"required": ["foo\"bar"]}, + "foo\"bar": ["foo'bar"] + } + }, + "tests": [ + { + "description": "valid object 1", + "data": { + "foo\nbar": 1, + "foo\rbar": 2 + }, + "valid": true + }, + { + "description": "valid object 2", + "data": { + "foo\tbar": 1, + "a": 2, + "b": 3, + "c": 4 + }, + "valid": true + }, + { + "description": "valid object 3", + "data": { + "foo'bar": 1, + "foo\"bar": 2 + }, + "valid": true + }, + { + "description": "invalid object 1", + "data": { + "foo\nbar": 1, + "foo": 2 + }, + "valid": false + }, + { + "description": "invalid object 2", + "data": { + "foo\tbar": 1, + "a": 2 + }, + "valid": false + }, + { + "description": "invalid object 3", + "data": { + "foo'bar": 1 + }, + "valid": false + }, + { + "description": "invalid object 4", + "data": { + "foo\"bar": 2 + }, + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/enum.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/enum.json new file mode 100755 index 0000000000..f085097be7 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/enum.json @@ -0,0 +1,236 @@ +[ + { + "description": "simple enum validation", + "schema": {"enum": [1, 2, 3]}, + "tests": [ + { + "description": "one of the enum is valid", + "data": 1, + "valid": true + }, + { + "description": "something else is invalid", + "data": 4, + "valid": false + } + ] + }, + { + "description": "heterogeneous enum validation", + "schema": {"enum": [6, "foo", [], true, {"foo": 12}]}, + "tests": [ + { + "description": "one of the enum is valid", + "data": [], + "valid": true + }, + { + "description": "something else is invalid", + "data": null, + "valid": false + }, + { + "description": "objects are deep compared", + "data": {"foo": false}, + "valid": false + }, + { + "description": "valid object matches", + "data": {"foo": 12}, + "valid": true + }, + { + "description": "extra properties in object is invalid", + "data": {"foo": 12, "boo": 42}, + "valid": false + } + ] + }, + { + "description": "heterogeneous enum-with-null validation", + "schema": { "enum": [6, null] }, + "tests": [ + { + "description": "null is valid", + "data": null, + "valid": true + }, + { + "description": "number is valid", + "data": 6, + "valid": true + }, + { + "description": "something else is invalid", + "data": "test", + "valid": false + } + ] + }, + { + "description": "enums in properties", + "schema": { + "type":"object", + "properties": { + "foo": {"enum":["foo"]}, + "bar": {"enum":["bar"]} + }, + "required": ["bar"] + }, + "tests": [ + { + "description": "both properties are valid", + "data": {"foo":"foo", "bar":"bar"}, + "valid": true + }, + { + "description": "wrong foo value", + "data": {"foo":"foot", "bar":"bar"}, + "valid": false + }, + { + "description": "wrong bar value", + "data": {"foo":"foo", "bar":"bart"}, + "valid": false + }, + { + "description": "missing optional property is valid", + "data": {"bar":"bar"}, + "valid": true + }, + { + "description": "missing required property is invalid", + "data": {"foo":"foo"}, + "valid": false + }, + { + "description": "missing all properties is invalid", + "data": {}, + "valid": false + } + ] + }, + { + "description": "enum with escaped characters", + "schema": { + "enum": ["foo\nbar", "foo\rbar"] + }, + "tests": [ + { + "description": "member 1 is valid", + "data": "foo\nbar", + "valid": true + }, + { + "description": "member 2 is valid", + "data": "foo\rbar", + "valid": true + }, + { + "description": "another string is invalid", + "data": "abc", + "valid": false + } + ] + }, + { + "description": "enum with false does not match 0", + "schema": {"enum": [false]}, + "tests": [ + { + "description": "false is valid", + "data": false, + "valid": true + }, + { + "description": "integer zero is invalid", + "data": 0, + "valid": false + }, + { + "description": "float zero is invalid", + "data": 0.0, + "valid": false + } + ] + }, + { + "description": "enum with true does not match 1", + "schema": {"enum": [true]}, + "tests": [ + { + "description": "true is valid", + "data": true, + "valid": true + }, + { + "description": "integer one is invalid", + "data": 1, + "valid": false + }, + { + "description": "float one is invalid", + "data": 1.0, + "valid": false + } + ] + }, + { + "description": "enum with 0 does not match false", + "schema": {"enum": [0]}, + "tests": [ + { + "description": "false is invalid", + "data": false, + "valid": false + }, + { + "description": "integer zero is valid", + "data": 0, + "valid": true + }, + { + "description": "float zero is valid", + "data": 0.0, + "valid": true + } + ] + }, + { + "description": "enum with 1 does not match true", + "schema": {"enum": [1]}, + "tests": [ + { + "description": "true is invalid", + "data": true, + "valid": false + }, + { + "description": "integer one is valid", + "data": 1, + "valid": true + }, + { + "description": "float one is valid", + "data": 1.0, + "valid": true + } + ] + }, + { + "description": "nul characters in strings", + "schema": { "enum": [ "hello\u0000there" ] }, + "tests": [ + { + "description": "match string with nul", + "data": "hello\u0000there", + "valid": true + }, + { + "description": "do not match string lacking nul", + "data": "hellothere", + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/exclusiveMaximum.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/exclusiveMaximum.json new file mode 100755 index 0000000000..dc3cd709d3 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/exclusiveMaximum.json @@ -0,0 +1,30 @@ +[ + { + "description": "exclusiveMaximum validation", + "schema": { + "exclusiveMaximum": 3.0 + }, + "tests": [ + { + "description": "below the exclusiveMaximum is valid", + "data": 2.2, + "valid": true + }, + { + "description": "boundary point is invalid", + "data": 3.0, + "valid": false + }, + { + "description": "above the exclusiveMaximum is invalid", + "data": 3.5, + "valid": false + }, + { + "description": "ignores non-numbers", + "data": "x", + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/exclusiveMinimum.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/exclusiveMinimum.json new file mode 100755 index 0000000000..b38d7ecec6 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/exclusiveMinimum.json @@ -0,0 +1,30 @@ +[ + { + "description": "exclusiveMinimum validation", + "schema": { + "exclusiveMinimum": 1.1 + }, + "tests": [ + { + "description": "above the exclusiveMinimum is valid", + "data": 1.2, + "valid": true + }, + { + "description": "boundary point is invalid", + "data": 1.1, + "valid": false + }, + { + "description": "below the exclusiveMinimum is invalid", + "data": 0.6, + "valid": false + }, + { + "description": "ignores non-numbers", + "data": "x", + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/format.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/format.json new file mode 100755 index 0000000000..2df2a9f0a5 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/format.json @@ -0,0 +1,326 @@ +[ + { + "description": "email format", + "schema": { "format": "email" }, + "tests": [ + { + "description": "all string formats ignore integers", + "data": 12, + "valid": true + }, + { + "description": "all string formats ignore floats", + "data": 13.7, + "valid": true + }, + { + "description": "all string formats ignore objects", + "data": {}, + "valid": true + }, + { + "description": "all string formats ignore arrays", + "data": [], + "valid": true + }, + { + "description": "all string formats ignore booleans", + "data": false, + "valid": true + }, + { + "description": "all string formats ignore nulls", + "data": null, + "valid": true + } + ] + }, + { + "description": "ipv4 format", + "schema": { "format": "ipv4" }, + "tests": [ + { + "description": "all string formats ignore integers", + "data": 12, + "valid": true + }, + { + "description": "all string formats ignore floats", + "data": 13.7, + "valid": true + }, + { + "description": "all string formats ignore objects", + "data": {}, + "valid": true + }, + { + "description": "all string formats ignore arrays", + "data": [], + "valid": true + }, + { + "description": "all string formats ignore booleans", + "data": false, + "valid": true + }, + { + "description": "all string formats ignore nulls", + "data": null, + "valid": true + } + ] + }, + { + "description": "ipv6 format", + "schema": { "format": "ipv6" }, + "tests": [ + { + "description": "all string formats ignore integers", + "data": 12, + "valid": true + }, + { + "description": "all string formats ignore floats", + "data": 13.7, + "valid": true + }, + { + "description": "all string formats ignore objects", + "data": {}, + "valid": true + }, + { + "description": "all string formats ignore arrays", + "data": [], + "valid": true + }, + { + "description": "all string formats ignore booleans", + "data": false, + "valid": true + }, + { + "description": "all string formats ignore nulls", + "data": null, + "valid": true + } + ] + }, + { + "description": "hostname format", + "schema": { "format": "hostname" }, + "tests": [ + { + "description": "all string formats ignore integers", + "data": 12, + "valid": true + }, + { + "description": "all string formats ignore floats", + "data": 13.7, + "valid": true + }, + { + "description": "all string formats ignore objects", + "data": {}, + "valid": true + }, + { + "description": "all string formats ignore arrays", + "data": [], + "valid": true + }, + { + "description": "all string formats ignore booleans", + "data": false, + "valid": true + }, + { + "description": "all string formats ignore nulls", + "data": null, + "valid": true + } + ] + }, + { + "description": "date-time format", + "schema": { "format": "date-time" }, + "tests": [ + { + "description": "all string formats ignore integers", + "data": 12, + "valid": true + }, + { + "description": "all string formats ignore floats", + "data": 13.7, + "valid": true + }, + { + "description": "all string formats ignore objects", + "data": {}, + "valid": true + }, + { + "description": "all string formats ignore arrays", + "data": [], + "valid": true + }, + { + "description": "all string formats ignore booleans", + "data": false, + "valid": true + }, + { + "description": "all string formats ignore nulls", + "data": null, + "valid": true + } + ] + }, + { + "description": "json-pointer format", + "schema": { "format": "json-pointer" }, + "tests": [ + { + "description": "all string formats ignore integers", + "data": 12, + "valid": true + }, + { + "description": "all string formats ignore floats", + "data": 13.7, + "valid": true + }, + { + "description": "all string formats ignore objects", + "data": {}, + "valid": true + }, + { + "description": "all string formats ignore arrays", + "data": [], + "valid": true + }, + { + "description": "all string formats ignore booleans", + "data": false, + "valid": true + }, + { + "description": "all string formats ignore nulls", + "data": null, + "valid": true + } + ] + }, + { + "description": "uri format", + "schema": { "format": "uri" }, + "tests": [ + { + "description": "all string formats ignore integers", + "data": 12, + "valid": true + }, + { + "description": "all string formats ignore floats", + "data": 13.7, + "valid": true + }, + { + "description": "all string formats ignore objects", + "data": {}, + "valid": true + }, + { + "description": "all string formats ignore arrays", + "data": [], + "valid": true + }, + { + "description": "all string formats ignore booleans", + "data": false, + "valid": true + }, + { + "description": "all string formats ignore nulls", + "data": null, + "valid": true + } + ] + }, + { + "description": "uri-reference format", + "schema": { "format": "uri-reference" }, + "tests": [ + { + "description": "all string formats ignore integers", + "data": 12, + "valid": true + }, + { + "description": "all string formats ignore floats", + "data": 13.7, + "valid": true + }, + { + "description": "all string formats ignore objects", + "data": {}, + "valid": true + }, + { + "description": "all string formats ignore arrays", + "data": [], + "valid": true + }, + { + "description": "all string formats ignore booleans", + "data": false, + "valid": true + }, + { + "description": "all string formats ignore nulls", + "data": null, + "valid": true + } + ] + }, + { + "description": "uri-template format", + "schema": { "format": "uri-template" }, + "tests": [ + { + "description": "all string formats ignore integers", + "data": 12, + "valid": true + }, + { + "description": "all string formats ignore floats", + "data": 13.7, + "valid": true + }, + { + "description": "all string formats ignore objects", + "data": {}, + "valid": true + }, + { + "description": "all string formats ignore arrays", + "data": [], + "valid": true + }, + { + "description": "all string formats ignore booleans", + "data": false, + "valid": true + }, + { + "description": "all string formats ignore nulls", + "data": null, + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/id.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/id.json new file mode 100755 index 0000000000..b58e0d0071 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/id.json @@ -0,0 +1,53 @@ +[ + { + "description": "id inside an enum is not a real identifier", + "comment": "the implementation must not be confused by an id buried in the enum", + "schema": { + "definitions": { + "id_in_enum": { + "enum": [ + { + "$id": "https://localhost:1234/id/my_identifier.json", + "type": "null" + } + ] + }, + "real_id_in_schema": { + "$id": "https://localhost:1234/id/my_identifier.json", + "type": "string" + }, + "zzz_id_in_const": { + "const": { + "$id": "https://localhost:1234/id/my_identifier.json", + "type": "null" + } + } + }, + "anyOf": [ + { "$ref": "#/definitions/id_in_enum" }, + { "$ref": "https://localhost:1234/id/my_identifier.json" } + ] + }, + "tests": [ + { + "description": "exact match to enum, and type matches", + "data": { + "$id": "https://localhost:1234/id/my_identifier.json", + "type": "null" + }, + "valid": true + }, + { + "description": "match $ref to id", + "data": "a string to match #/definitions/id_in_enum", + "valid": true + }, + { + "description": "no match on enum or $ref to id", + "data": 1, + "valid": false + } + ] + } + +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/infinite-loop-detection.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/infinite-loop-detection.json new file mode 100755 index 0000000000..f98c74fc64 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/infinite-loop-detection.json @@ -0,0 +1,36 @@ +[ + { + "description": "evaluating the same schema location against the same data location twice is not a sign of an infinite loop", + "schema": { + "definitions": { + "int": { "type": "integer" } + }, + "allOf": [ + { + "properties": { + "foo": { + "$ref": "#/definitions/int" + } + } + }, + { + "additionalProperties": { + "$ref": "#/definitions/int" + } + } + ] + }, + "tests": [ + { + "description": "passing case", + "data": { "foo": 1 }, + "valid": true + }, + { + "description": "failing case", + "data": { "foo": "a string" }, + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/items.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/items.json new file mode 100755 index 0000000000..67f11840a2 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/items.json @@ -0,0 +1,250 @@ +[ + { + "description": "a schema given for items", + "schema": { + "items": {"type": "integer"} + }, + "tests": [ + { + "description": "valid items", + "data": [ 1, 2, 3 ], + "valid": true + }, + { + "description": "wrong type of items", + "data": [1, "x"], + "valid": false + }, + { + "description": "ignores non-arrays", + "data": {"foo" : "bar"}, + "valid": true + }, + { + "description": "JavaScript pseudo-array is valid", + "data": { + "0": "invalid", + "length": 1 + }, + "valid": true + } + ] + }, + { + "description": "an array of schemas for items", + "schema": { + "items": [ + {"type": "integer"}, + {"type": "string"} + ] + }, + "tests": [ + { + "description": "correct types", + "data": [ 1, "foo" ], + "valid": true + }, + { + "description": "wrong types", + "data": [ "foo", 1 ], + "valid": false + }, + { + "description": "incomplete array of items", + "data": [ 1 ], + "valid": true + }, + { + "description": "array with additional items", + "data": [ 1, "foo", true ], + "valid": true + }, + { + "description": "empty array", + "data": [ ], + "valid": true + }, + { + "description": "JavaScript pseudo-array is valid", + "data": { + "0": "invalid", + "1": "valid", + "length": 2 + }, + "valid": true + } + ] + }, + { + "description": "items with boolean schema (true)", + "schema": {"items": true}, + "tests": [ + { + "description": "any array is valid", + "data": [ 1, "foo", true ], + "valid": true + }, + { + "description": "empty array is valid", + "data": [], + "valid": true + } + ] + }, + { + "description": "items with boolean schema (false)", + "schema": {"items": false}, + "tests": [ + { + "description": "any non-empty array is invalid", + "data": [ 1, "foo", true ], + "valid": false + }, + { + "description": "empty array is valid", + "data": [], + "valid": true + } + ] + }, + { + "description": "items with boolean schemas", + "schema": { + "items": [true, false] + }, + "tests": [ + { + "description": "array with one item is valid", + "data": [ 1 ], + "valid": true + }, + { + "description": "array with two items is invalid", + "data": [ 1, "foo" ], + "valid": false + }, + { + "description": "empty array is valid", + "data": [], + "valid": true + } + ] + }, + { + "description": "items and subitems", + "schema": { + "definitions": { + "item": { + "type": "array", + "additionalItems": false, + "items": [ + { "$ref": "#/definitions/sub-item" }, + { "$ref": "#/definitions/sub-item" } + ] + }, + "sub-item": { + "type": "object", + "required": ["foo"] + } + }, + "type": "array", + "additionalItems": false, + "items": [ + { "$ref": "#/definitions/item" }, + { "$ref": "#/definitions/item" }, + { "$ref": "#/definitions/item" } + ] + }, + "tests": [ + { + "description": "valid items", + "data": [ + [ {"foo": null}, {"foo": null} ], + [ {"foo": null}, {"foo": null} ], + [ {"foo": null}, {"foo": null} ] + ], + "valid": true + }, + { + "description": "too many items", + "data": [ + [ {"foo": null}, {"foo": null} ], + [ {"foo": null}, {"foo": null} ], + [ {"foo": null}, {"foo": null} ], + [ {"foo": null}, {"foo": null} ] + ], + "valid": false + }, + { + "description": "too many sub-items", + "data": [ + [ {"foo": null}, {"foo": null}, {"foo": null} ], + [ {"foo": null}, {"foo": null} ], + [ {"foo": null}, {"foo": null} ] + ], + "valid": false + }, + { + "description": "wrong item", + "data": [ + {"foo": null}, + [ {"foo": null}, {"foo": null} ], + [ {"foo": null}, {"foo": null} ] + ], + "valid": false + }, + { + "description": "wrong sub-item", + "data": [ + [ {}, {"foo": null} ], + [ {"foo": null}, {"foo": null} ], + [ {"foo": null}, {"foo": null} ] + ], + "valid": false + }, + { + "description": "fewer items is valid", + "data": [ + [ {"foo": null} ], + [ {"foo": null} ] + ], + "valid": true + } + ] + }, + { + "description": "nested items", + "schema": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + }, + "tests": [ + { + "description": "valid nested array", + "data": [[[[1]], [[2],[3]]], [[[4], [5], [6]]]], + "valid": true + }, + { + "description": "nested array with invalid type", + "data": [[[["1"]], [[2],[3]]], [[[4], [5], [6]]]], + "valid": false + }, + { + "description": "not deep enough", + "data": [[[1], [2],[3]], [[4], [5], [6]]], + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/maxItems.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/maxItems.json new file mode 100755 index 0000000000..3b53a6b371 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/maxItems.json @@ -0,0 +1,28 @@ +[ + { + "description": "maxItems validation", + "schema": {"maxItems": 2}, + "tests": [ + { + "description": "shorter is valid", + "data": [1], + "valid": true + }, + { + "description": "exact length is valid", + "data": [1, 2], + "valid": true + }, + { + "description": "too long is invalid", + "data": [1, 2, 3], + "valid": false + }, + { + "description": "ignores non-arrays", + "data": "foobar", + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/maxLength.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/maxLength.json new file mode 100755 index 0000000000..811d35b253 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/maxLength.json @@ -0,0 +1,33 @@ +[ + { + "description": "maxLength validation", + "schema": {"maxLength": 2}, + "tests": [ + { + "description": "shorter is valid", + "data": "f", + "valid": true + }, + { + "description": "exact length is valid", + "data": "fo", + "valid": true + }, + { + "description": "too long is invalid", + "data": "foo", + "valid": false + }, + { + "description": "ignores non-strings", + "data": 100, + "valid": true + }, + { + "description": "two supplementary Unicode code points is long enough", + "data": "\uD83D\uDCA9\uD83D\uDCA9", + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/maxProperties.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/maxProperties.json new file mode 100755 index 0000000000..aa7209f537 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/maxProperties.json @@ -0,0 +1,54 @@ +[ + { + "description": "maxProperties validation", + "schema": {"maxProperties": 2}, + "tests": [ + { + "description": "shorter is valid", + "data": {"foo": 1}, + "valid": true + }, + { + "description": "exact length is valid", + "data": {"foo": 1, "bar": 2}, + "valid": true + }, + { + "description": "too long is invalid", + "data": {"foo": 1, "bar": 2, "baz": 3}, + "valid": false + }, + { + "description": "ignores arrays", + "data": [1, 2, 3], + "valid": true + }, + { + "description": "ignores strings", + "data": "foobar", + "valid": true + }, + { + "description": "ignores other non-objects", + "data": 12, + "valid": true + } + ] + }, + { + "description": "maxProperties = 0 means the object is empty", + "schema": { "maxProperties": 0 }, + "tests": [ + { + "description": "no properties is valid", + "data": {}, + "valid": true + }, + { + "description": "one property is invalid", + "data": { "foo": 1 }, + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/maximum.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/maximum.json new file mode 100755 index 0000000000..6844a39eee --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/maximum.json @@ -0,0 +1,54 @@ +[ + { + "description": "maximum validation", + "schema": {"maximum": 3.0}, + "tests": [ + { + "description": "below the maximum is valid", + "data": 2.6, + "valid": true + }, + { + "description": "boundary point is valid", + "data": 3.0, + "valid": true + }, + { + "description": "above the maximum is invalid", + "data": 3.5, + "valid": false + }, + { + "description": "ignores non-numbers", + "data": "x", + "valid": true + } + ] + }, + { + "description": "maximum validation with unsigned integer", + "schema": {"maximum": 300}, + "tests": [ + { + "description": "below the maximum is invalid", + "data": 299.97, + "valid": true + }, + { + "description": "boundary point integer is valid", + "data": 300, + "valid": true + }, + { + "description": "boundary point float is valid", + "data": 300.00, + "valid": true + }, + { + "description": "above the maximum is invalid", + "data": 300.5, + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/minItems.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/minItems.json new file mode 100755 index 0000000000..ed5118815e --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/minItems.json @@ -0,0 +1,28 @@ +[ + { + "description": "minItems validation", + "schema": {"minItems": 1}, + "tests": [ + { + "description": "longer is valid", + "data": [1, 2], + "valid": true + }, + { + "description": "exact length is valid", + "data": [1], + "valid": true + }, + { + "description": "too short is invalid", + "data": [], + "valid": false + }, + { + "description": "ignores non-arrays", + "data": "", + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/minLength.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/minLength.json new file mode 100755 index 0000000000..3f09158dee --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/minLength.json @@ -0,0 +1,33 @@ +[ + { + "description": "minLength validation", + "schema": {"minLength": 2}, + "tests": [ + { + "description": "longer is valid", + "data": "foo", + "valid": true + }, + { + "description": "exact length is valid", + "data": "fo", + "valid": true + }, + { + "description": "too short is invalid", + "data": "f", + "valid": false + }, + { + "description": "ignores non-strings", + "data": 1, + "valid": true + }, + { + "description": "one supplementary Unicode code point is not long enough", + "data": "\uD83D\uDCA9", + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/minProperties.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/minProperties.json new file mode 100755 index 0000000000..49a0726e01 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/minProperties.json @@ -0,0 +1,38 @@ +[ + { + "description": "minProperties validation", + "schema": {"minProperties": 1}, + "tests": [ + { + "description": "longer is valid", + "data": {"foo": 1, "bar": 2}, + "valid": true + }, + { + "description": "exact length is valid", + "data": {"foo": 1}, + "valid": true + }, + { + "description": "too short is invalid", + "data": {}, + "valid": false + }, + { + "description": "ignores arrays", + "data": [], + "valid": true + }, + { + "description": "ignores strings", + "data": "", + "valid": true + }, + { + "description": "ignores other non-objects", + "data": 12, + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/minimum.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/minimum.json new file mode 100755 index 0000000000..21ae50e0ed --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/minimum.json @@ -0,0 +1,69 @@ +[ + { + "description": "minimum validation", + "schema": {"minimum": 1.1}, + "tests": [ + { + "description": "above the minimum is valid", + "data": 2.6, + "valid": true + }, + { + "description": "boundary point is valid", + "data": 1.1, + "valid": true + }, + { + "description": "below the minimum is invalid", + "data": 0.6, + "valid": false + }, + { + "description": "ignores non-numbers", + "data": "x", + "valid": true + } + ] + }, + { + "description": "minimum validation with signed integer", + "schema": {"minimum": -2}, + "tests": [ + { + "description": "negative above the minimum is valid", + "data": -1, + "valid": true + }, + { + "description": "positive above the minimum is valid", + "data": 0, + "valid": true + }, + { + "description": "boundary point is valid", + "data": -2, + "valid": true + }, + { + "description": "boundary point with float is valid", + "data": -2.0, + "valid": true + }, + { + "description": "float below the minimum is invalid", + "data": -2.0001, + "valid": false + }, + { + "description": "int below the minimum is invalid", + "data": -3, + "valid": false + }, + { + "description": "ignores non-numbers", + "data": "x", + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/multipleOf.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/multipleOf.json new file mode 100755 index 0000000000..faa87cff59 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/multipleOf.json @@ -0,0 +1,71 @@ +[ + { + "description": "by int", + "schema": {"multipleOf": 2}, + "tests": [ + { + "description": "int by int", + "data": 10, + "valid": true + }, + { + "description": "int by int fail", + "data": 7, + "valid": false + }, + { + "description": "ignores non-numbers", + "data": "foo", + "valid": true + } + ] + }, + { + "description": "by number", + "schema": {"multipleOf": 1.5}, + "tests": [ + { + "description": "zero is multiple of anything", + "data": 0, + "valid": true + }, + { + "description": "4.5 is multiple of 1.5", + "data": 4.5, + "valid": true + }, + { + "description": "35 is not multiple of 1.5", + "data": 35, + "valid": false + } + ] + }, + { + "description": "by small number", + "schema": {"multipleOf": 0.0001}, + "tests": [ + { + "description": "0.0075 is multiple of 0.0001", + "data": 0.0075, + "valid": true + }, + { + "description": "0.00751 is not multiple of 0.0001", + "data": 0.00751, + "valid": false + } + ] + }, + { + "description": "invalid instance should not raise error when float division = inf", + "schema": {"type": "integer", "multipleOf": 0.123456789}, + "tests": [ + { + "description": "always invalid, but naive implementations may raise an overflow error", + "data": 1e308, + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/not.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/not.json new file mode 100755 index 0000000000..98de0eda8d --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/not.json @@ -0,0 +1,117 @@ +[ + { + "description": "not", + "schema": { + "not": {"type": "integer"} + }, + "tests": [ + { + "description": "allowed", + "data": "foo", + "valid": true + }, + { + "description": "disallowed", + "data": 1, + "valid": false + } + ] + }, + { + "description": "not multiple types", + "schema": { + "not": {"type": ["integer", "boolean"]} + }, + "tests": [ + { + "description": "valid", + "data": "foo", + "valid": true + }, + { + "description": "mismatch", + "data": 1, + "valid": false + }, + { + "description": "other mismatch", + "data": true, + "valid": false + } + ] + }, + { + "description": "not more complex schema", + "schema": { + "not": { + "type": "object", + "properties": { + "foo": { + "type": "string" + } + } + } + }, + "tests": [ + { + "description": "match", + "data": 1, + "valid": true + }, + { + "description": "other match", + "data": {"foo": 1}, + "valid": true + }, + { + "description": "mismatch", + "data": {"foo": "bar"}, + "valid": false + } + ] + }, + { + "description": "forbidden property", + "schema": { + "properties": { + "foo": { + "not": {} + } + } + }, + "tests": [ + { + "description": "property present", + "data": {"foo": 1, "bar": 2}, + "valid": false + }, + { + "description": "property absent", + "data": {"bar": 1, "baz": 2}, + "valid": true + } + ] + }, + { + "description": "not with boolean schema true", + "schema": {"not": true}, + "tests": [ + { + "description": "any value is invalid", + "data": "foo", + "valid": false + } + ] + }, + { + "description": "not with boolean schema false", + "schema": {"not": false}, + "tests": [ + { + "description": "any value is valid", + "data": "foo", + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/oneOf.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/oneOf.json new file mode 100755 index 0000000000..eeb7ae866a --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/oneOf.json @@ -0,0 +1,274 @@ +[ + { + "description": "oneOf", + "schema": { + "oneOf": [ + { + "type": "integer" + }, + { + "minimum": 2 + } + ] + }, + "tests": [ + { + "description": "first oneOf valid", + "data": 1, + "valid": true + }, + { + "description": "second oneOf valid", + "data": 2.5, + "valid": true + }, + { + "description": "both oneOf valid", + "data": 3, + "valid": false + }, + { + "description": "neither oneOf valid", + "data": 1.5, + "valid": false + } + ] + }, + { + "description": "oneOf with base schema", + "schema": { + "type": "string", + "oneOf" : [ + { + "minLength": 2 + }, + { + "maxLength": 4 + } + ] + }, + "tests": [ + { + "description": "mismatch base schema", + "data": 3, + "valid": false + }, + { + "description": "one oneOf valid", + "data": "foobar", + "valid": true + }, + { + "description": "both oneOf valid", + "data": "foo", + "valid": false + } + ] + }, + { + "description": "oneOf with boolean schemas, all true", + "schema": {"oneOf": [true, true, true]}, + "tests": [ + { + "description": "any value is invalid", + "data": "foo", + "valid": false + } + ] + }, + { + "description": "oneOf with boolean schemas, one true", + "schema": {"oneOf": [true, false, false]}, + "tests": [ + { + "description": "any value is valid", + "data": "foo", + "valid": true + } + ] + }, + { + "description": "oneOf with boolean schemas, more than one true", + "schema": {"oneOf": [true, true, false]}, + "tests": [ + { + "description": "any value is invalid", + "data": "foo", + "valid": false + } + ] + }, + { + "description": "oneOf with boolean schemas, all false", + "schema": {"oneOf": [false, false, false]}, + "tests": [ + { + "description": "any value is invalid", + "data": "foo", + "valid": false + } + ] + }, + { + "description": "oneOf complex types", + "schema": { + "oneOf": [ + { + "properties": { + "bar": {"type": "integer"} + }, + "required": ["bar"] + }, + { + "properties": { + "foo": {"type": "string"} + }, + "required": ["foo"] + } + ] + }, + "tests": [ + { + "description": "first oneOf valid (complex)", + "data": {"bar": 2}, + "valid": true + }, + { + "description": "second oneOf valid (complex)", + "data": {"foo": "baz"}, + "valid": true + }, + { + "description": "both oneOf valid (complex)", + "data": {"foo": "baz", "bar": 2}, + "valid": false + }, + { + "description": "neither oneOf valid (complex)", + "data": {"foo": 2, "bar": "quux"}, + "valid": false + } + ] + }, + { + "description": "oneOf with empty schema", + "schema": { + "oneOf": [ + { "type": "number" }, + {} + ] + }, + "tests": [ + { + "description": "one valid - valid", + "data": "foo", + "valid": true + }, + { + "description": "both valid - invalid", + "data": 123, + "valid": false + } + ] + }, + { + "description": "oneOf with required", + "schema": { + "type": "object", + "oneOf": [ + { "required": ["foo", "bar"] }, + { "required": ["foo", "baz"] } + ] + }, + "tests": [ + { + "description": "both invalid - invalid", + "data": {"bar": 2}, + "valid": false + }, + { + "description": "first valid - valid", + "data": {"foo": 1, "bar": 2}, + "valid": true + }, + { + "description": "second valid - valid", + "data": {"foo": 1, "baz": 3}, + "valid": true + }, + { + "description": "both valid - invalid", + "data": {"foo": 1, "bar": 2, "baz" : 3}, + "valid": false + } + ] + }, + { + "description": "oneOf with missing optional property", + "schema": { + "oneOf": [ + { + "properties": { + "bar": true, + "baz": true + }, + "required": ["bar"] + }, + { + "properties": { + "foo": true + }, + "required": ["foo"] + } + ] + }, + "tests": [ + { + "description": "first oneOf valid", + "data": {"bar": 8}, + "valid": true + }, + { + "description": "second oneOf valid", + "data": {"foo": "foo"}, + "valid": true + }, + { + "description": "both oneOf valid", + "data": {"foo": "foo", "bar": 8}, + "valid": false + }, + { + "description": "neither oneOf valid", + "data": {"baz": "quux"}, + "valid": false + } + ] + }, + { + "description": "nested oneOf, to check validation semantics", + "schema": { + "oneOf": [ + { + "oneOf": [ + { + "type": "null" + } + ] + } + ] + }, + "tests": [ + { + "description": "null is valid", + "data": null, + "valid": true + }, + { + "description": "anything non-null is invalid", + "data": 123, + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/bignum.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/bignum.json new file mode 100755 index 0000000000..3f49226ac3 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/bignum.json @@ -0,0 +1,93 @@ +[ + { + "description": "integer", + "schema": { "type": "integer" }, + "tests": [ + { + "description": "a bignum is an integer", + "data": 12345678910111213141516171819202122232425262728293031, + "valid": true + }, + { + "description": "a negative bignum is an integer", + "data": -12345678910111213141516171819202122232425262728293031, + "valid": true + } + ] + }, + { + "description": "number", + "schema": { "type": "number" }, + "tests": [ + { + "description": "a bignum is a number", + "data": 98249283749234923498293171823948729348710298301928331, + "valid": true + }, + { + "description": "a negative bignum is a number", + "data": -98249283749234923498293171823948729348710298301928331, + "valid": true + } + ] + }, + { + "description": "string", + "schema": { "type": "string" }, + "tests": [ + { + "description": "a bignum is not a string", + "data": 98249283749234923498293171823948729348710298301928331, + "valid": false + } + ] + }, + { + "description": "integer comparison", + "schema": { "maximum": 18446744073709551615 }, + "tests": [ + { + "description": "comparison works for high numbers", + "data": 18446744073709551600, + "valid": true + } + ] + }, + { + "description": "float comparison with high precision", + "schema": { + "exclusiveMaximum": 972783798187987123879878123.18878137 + }, + "tests": [ + { + "description": "comparison works for high numbers", + "data": 972783798187987123879878123.188781371, + "valid": false + } + ] + }, + { + "description": "integer comparison", + "schema": { "minimum": -18446744073709551615 }, + "tests": [ + { + "description": "comparison works for very negative numbers", + "data": -18446744073709551600, + "valid": true + } + ] + }, + { + "description": "float comparison with high precision on negative numbers", + "schema": { + "exclusiveMinimum": -972783798187987123879878123.18878137 + }, + "tests": [ + { + "description": "comparison works for very negative numbers", + "data": -972783798187987123879878123.188781371, + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/ecmascript-regex.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/ecmascript-regex.json new file mode 100755 index 0000000000..1beb0b3a66 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/ecmascript-regex.json @@ -0,0 +1,552 @@ +[ + { + "description": "ECMA 262 regex $ does not match trailing newline", + "schema": { + "type": "string", + "pattern": "^abc$" + }, + "tests": [ + { + "description": "matches in Python, but should not in jsonschema", + "data": "abc\\n", + "valid": false + }, + { + "description": "should match", + "data": "abc", + "valid": true + } + ] + }, + { + "description": "ECMA 262 regex converts \\t to horizontal tab", + "schema": { + "type": "string", + "pattern": "^\\t$" + }, + "tests": [ + { + "description": "does not match", + "data": "\\t", + "valid": false + }, + { + "description": "matches", + "data": "\u0009", + "valid": true + } + ] + }, + { + "description": "ECMA 262 regex escapes control codes with \\c and upper letter", + "schema": { + "type": "string", + "pattern": "^\\cC$" + }, + "tests": [ + { + "description": "does not match", + "data": "\\cC", + "valid": false + }, + { + "description": "matches", + "data": "\u0003", + "valid": true + } + ] + }, + { + "description": "ECMA 262 regex escapes control codes with \\c and lower letter", + "schema": { + "type": "string", + "pattern": "^\\cc$" + }, + "tests": [ + { + "description": "does not match", + "data": "\\cc", + "valid": false + }, + { + "description": "matches", + "data": "\u0003", + "valid": true + } + ] + }, + { + "description": "ECMA 262 \\d matches ascii digits only", + "schema": { + "type": "string", + "pattern": "^\\d$" + }, + "tests": [ + { + "description": "ASCII zero matches", + "data": "0", + "valid": true + }, + { + "description": "NKO DIGIT ZERO does not match (unlike e.g. Python)", + "data": "߀", + "valid": false + }, + { + "description": "NKO DIGIT ZERO (as \\u escape) does not match", + "data": "\u07c0", + "valid": false + } + ] + }, + { + "description": "ECMA 262 \\D matches everything but ascii digits", + "schema": { + "type": "string", + "pattern": "^\\D$" + }, + "tests": [ + { + "description": "ASCII zero does not match", + "data": "0", + "valid": false + }, + { + "description": "NKO DIGIT ZERO matches (unlike e.g. Python)", + "data": "߀", + "valid": true + }, + { + "description": "NKO DIGIT ZERO (as \\u escape) matches", + "data": "\u07c0", + "valid": true + } + ] + }, + { + "description": "ECMA 262 \\w matches ascii letters only", + "schema": { + "type": "string", + "pattern": "^\\w$" + }, + "tests": [ + { + "description": "ASCII 'a' matches", + "data": "a", + "valid": true + }, + { + "description": "latin-1 e-acute does not match (unlike e.g. Python)", + "data": "é", + "valid": false + } + ] + }, + { + "description": "ECMA 262 \\W matches everything but ascii letters", + "schema": { + "type": "string", + "pattern": "^\\W$" + }, + "tests": [ + { + "description": "ASCII 'a' does not match", + "data": "a", + "valid": false + }, + { + "description": "latin-1 e-acute matches (unlike e.g. Python)", + "data": "é", + "valid": true + } + ] + }, + { + "description": "ECMA 262 \\s matches whitespace", + "schema": { + "type": "string", + "pattern": "^\\s$" + }, + "tests": [ + { + "description": "ASCII space matches", + "data": " ", + "valid": true + }, + { + "description": "Character tabulation matches", + "data": "\t", + "valid": true + }, + { + "description": "Line tabulation matches", + "data": "\u000b", + "valid": true + }, + { + "description": "Form feed matches", + "data": "\u000c", + "valid": true + }, + { + "description": "latin-1 non-breaking-space matches", + "data": "\u00a0", + "valid": true + }, + { + "description": "zero-width whitespace matches", + "data": "\ufeff", + "valid": true + }, + { + "description": "line feed matches (line terminator)", + "data": "\u000a", + "valid": true + }, + { + "description": "paragraph separator matches (line terminator)", + "data": "\u2029", + "valid": true + }, + { + "description": "EM SPACE matches (Space_Separator)", + "data": "\u2003", + "valid": true + }, + { + "description": "Non-whitespace control does not match", + "data": "\u0001", + "valid": false + }, + { + "description": "Non-whitespace does not match", + "data": "\u2013", + "valid": false + } + ] + }, + { + "description": "ECMA 262 \\S matches everything but whitespace", + "schema": { + "type": "string", + "pattern": "^\\S$" + }, + "tests": [ + { + "description": "ASCII space does not match", + "data": " ", + "valid": false + }, + { + "description": "Character tabulation does not match", + "data": "\t", + "valid": false + }, + { + "description": "Line tabulation does not match", + "data": "\u000b", + "valid": false + }, + { + "description": "Form feed does not match", + "data": "\u000c", + "valid": false + }, + { + "description": "latin-1 non-breaking-space does not match", + "data": "\u00a0", + "valid": false + }, + { + "description": "zero-width whitespace does not match", + "data": "\ufeff", + "valid": false + }, + { + "description": "line feed does not match (line terminator)", + "data": "\u000a", + "valid": false + }, + { + "description": "paragraph separator does not match (line terminator)", + "data": "\u2029", + "valid": false + }, + { + "description": "EM SPACE does not match (Space_Separator)", + "data": "\u2003", + "valid": false + }, + { + "description": "Non-whitespace control matches", + "data": "\u0001", + "valid": true + }, + { + "description": "Non-whitespace matches", + "data": "\u2013", + "valid": true + } + ] + }, + { + "description": "unicode semantics should be used for all pattern matching", + "schema": { "pattern": "\\p{Letter}cole" }, + "tests": [ + { + "description": "ascii character in json string", + "data": "Les hivers de mon enfance etaient des saisons longues, longues. Nous vivions en trois lieux: l'ecole, l'eglise et la patinoire; mais la vraie vie etait sur la patinoire.", + "valid": true + }, + { + "description": "literal unicode character in json string", + "data": "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'école, l'église et la patinoire; mais la vraie vie était sur la patinoire.", + "valid": true + }, + { + "description": "unicode character in hex format in string", + "data": "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'\u00e9cole, l'église et la patinoire; mais la vraie vie était sur la patinoire.", + "valid": true + }, + { + "description": "unicode matching is case-sensitive", + "data": "LES HIVERS DE MON ENFANCE ÉTAIENT DES SAISONS LONGUES, LONGUES. NOUS VIVIONS EN TROIS LIEUX: L'ÉCOLE, L'ÉGLISE ET LA PATINOIRE; MAIS LA VRAIE VIE ÉTAIT SUR LA PATINOIRE.", + "valid": false + } + ] + }, + { + "description": "\\w in patterns matches [A-Za-z0-9_], not unicode letters", + "schema": { "pattern": "\\wcole" }, + "tests": [ + { + "description": "ascii character in json string", + "data": "Les hivers de mon enfance etaient des saisons longues, longues. Nous vivions en trois lieux: l'ecole, l'eglise et la patinoire; mais la vraie vie etait sur la patinoire.", + "valid": true + }, + { + "description": "literal unicode character in json string", + "data": "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'école, l'église et la patinoire; mais la vraie vie était sur la patinoire.", + "valid": false + }, + { + "description": "unicode character in hex format in string", + "data": "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'\u00e9cole, l'église et la patinoire; mais la vraie vie était sur la patinoire.", + "valid": false + }, + { + "description": "unicode matching is case-sensitive", + "data": "LES HIVERS DE MON ENFANCE ÉTAIENT DES SAISONS LONGUES, LONGUES. NOUS VIVIONS EN TROIS LIEUX: L'ÉCOLE, L'ÉGLISE ET LA PATINOIRE; MAIS LA VRAIE VIE ÉTAIT SUR LA PATINOIRE.", + "valid": false + } + ] + }, + { + "description": "unicode characters do not match ascii ranges", + "schema": { "pattern": "[a-z]cole" }, + "tests": [ + { + "description": "literal unicode character in json string", + "data": "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'école, l'église et la patinoire; mais la vraie vie était sur la patinoire.", + "valid": false + }, + { + "description": "unicode character in hex format in string", + "data": "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'\u00e9cole, l'église et la patinoire; mais la vraie vie était sur la patinoire.", + "valid": false + }, + { + "description": "ascii characters match", + "data": "Les hivers de mon enfance etaient des saisons longues, longues. Nous vivions en trois lieux: l'ecole, l'eglise et la patinoire; mais la vraie vie etait sur la patinoire.", + "valid": true + } + ] + }, + { + "description": "\\d in pattern matches [0-9], not unicode digits", + "schema": { "pattern": "^\\d+$" }, + "tests": [ + { + "description": "ascii digits", + "data": "42", + "valid": true + }, + { + "description": "ascii non-digits", + "data": "-%#", + "valid": false + }, + { + "description": "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)", + "data": "৪২", + "valid": false + } + ] + }, + { + "description": "unicode digits are more than 0 through 9", + "schema": { "pattern": "^\\p{digit}+$" }, + "tests": [ + { + "description": "ascii digits", + "data": "42", + "valid": true + }, + { + "description": "ascii non-digits", + "data": "-%#", + "valid": false + }, + { + "description": "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)", + "data": "৪২", + "valid": true + } + ] + }, + { + "description": "unicode semantics should be used for all patternProperties matching", + "schema": { + "type": "object", + "patternProperties": { + "\\p{Letter}cole": true + }, + "additionalProperties": false + }, + "tests": [ + { + "description": "ascii character in json string", + "data": { "l'ecole": "pas de vraie vie" }, + "valid": true + }, + { + "description": "literal unicode character in json string", + "data": { "l'école": "pas de vraie vie" }, + "valid": true + }, + { + "description": "unicode character in hex format in string", + "data": { "l'\u00e9cole": "pas de vraie vie" }, + "valid": true + }, + { + "description": "unicode matching is case-sensitive", + "data": { "L'ÉCOLE": "PAS DE VRAIE VIE" }, + "valid": false + } + ] + }, + { + "description": "\\w in patternProperties matches [A-Za-z0-9_], not unicode letters", + "schema": { + "type": "object", + "patternProperties": { + "\\wcole": true + }, + "additionalProperties": false + }, + "tests": [ + { + "description": "ascii character in json string", + "data": { "l'ecole": "pas de vraie vie" }, + "valid": true + }, + { + "description": "literal unicode character in json string", + "data": { "l'école": "pas de vraie vie" }, + "valid": false + }, + { + "description": "unicode character in hex format in string", + "data": { "l'\u00e9cole": "pas de vraie vie" }, + "valid": false + }, + { + "description": "unicode matching is case-sensitive", + "data": { "L'ÉCOLE": "PAS DE VRAIE VIE" }, + "valid": false + } + ] + }, + { + "description": "unicode characters do not match ascii ranges", + "schema": { + "type": "object", + "patternProperties": { + "[a-z]cole": true + }, + "additionalProperties": false + }, + "tests": [ + { + "description": "literal unicode character in json string", + "data": { "l'école": "pas de vraie vie" }, + "valid": false + }, + { + "description": "unicode character in hex format in string", + "data": { "l'\u00e9cole": "pas de vraie vie" }, + "valid": false + }, + { + "description": "ascii characters match", + "data": { "l'ecole": "pas de vraie vie" }, + "valid": true + } + ] + }, + { + "description": "\\d in patternProperties matches [0-9], not unicode digits", + "schema": { + "type": "object", + "patternProperties": { + "^\\d+$": true + }, + "additionalProperties": false + }, + "tests": [ + { + "description": "ascii digits", + "data": { "42": "life, the universe, and everything" }, + "valid": true + }, + { + "description": "ascii non-digits", + "data": { "-%#": "spending the year dead for tax reasons" }, + "valid": false + }, + { + "description": "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)", + "data": { "৪২": "khajit has wares if you have coin" }, + "valid": false + } + ] + }, + { + "description": "unicode digits are more than 0 through 9", + "schema": { + "type": "object", + "patternProperties": { + "^\\p{digit}+$": true + }, + "additionalProperties": false + }, + "tests": [ + { + "description": "ascii digits", + "data": { "42": "life, the universe, and everything" }, + "valid": true + }, + { + "description": "ascii non-digits", + "data": { "-%#": "spending the year dead for tax reasons" }, + "valid": false + }, + { + "description": "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)", + "data": { "৪২": "khajit has wares if you have coin" }, + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/float-overflow.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/float-overflow.json new file mode 100755 index 0000000000..52ff9827cf --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/float-overflow.json @@ -0,0 +1,13 @@ +[ + { + "description": "all integers are multiples of 0.5, if overflow is handled", + "schema": {"type": "integer", "multipleOf": 0.5}, + "tests": [ + { + "description": "valid if optional overflow handling is implemented", + "data": 1e308, + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/date-time.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/date-time.json new file mode 100755 index 0000000000..f4f9933555 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/date-time.json @@ -0,0 +1,133 @@ +[ + { + "description": "validation of date-time strings", + "schema": { "format": "date-time" }, + "tests": [ + { + "description": "all string formats ignore integers", + "data": 12, + "valid": true + }, + { + "description": "all string formats ignore floats", + "data": 13.7, + "valid": true + }, + { + "description": "all string formats ignore objects", + "data": {}, + "valid": true + }, + { + "description": "all string formats ignore arrays", + "data": [], + "valid": true + }, + { + "description": "all string formats ignore booleans", + "data": false, + "valid": true + }, + { + "description": "all string formats ignore nulls", + "data": null, + "valid": true + }, + { + "description": "a valid date-time string", + "data": "1963-06-19T08:30:06.283185Z", + "valid": true + }, + { + "description": "a valid date-time string without second fraction", + "data": "1963-06-19T08:30:06Z", + "valid": true + }, + { + "description": "a valid date-time string with plus offset", + "data": "1937-01-01T12:00:27.87+00:20", + "valid": true + }, + { + "description": "a valid date-time string with minus offset", + "data": "1990-12-31T15:59:50.123-08:00", + "valid": true + }, + { + "description": "a valid date-time with a leap second, UTC", + "data": "1998-12-31T23:59:60Z", + "valid": true + }, + { + "description": "a valid date-time with a leap second, with minus offset", + "data": "1998-12-31T15:59:60.123-08:00", + "valid": true + }, + { + "description": "an invalid date-time past leap second, UTC", + "data": "1998-12-31T23:59:61Z", + "valid": false + }, + { + "description": "an invalid date-time with leap second on a wrong minute, UTC", + "data": "1998-12-31T23:58:60Z", + "valid": false + }, + { + "description": "an invalid date-time with leap second on a wrong hour, UTC", + "data": "1998-12-31T22:59:60Z", + "valid": false + }, + { + "description": "an invalid day in date-time string", + "data": "1990-02-31T15:59:59.123-08:00", + "valid": false + }, + { + "description": "an invalid offset in date-time string", + "data": "1990-12-31T15:59:59-24:00", + "valid": false + }, + { + "description": "an invalid closing Z after time-zone offset", + "data": "1963-06-19T08:30:06.28123+01:00Z", + "valid": false + }, + { + "description": "an invalid date-time string", + "data": "06/19/1963 08:30:06 PST", + "valid": false + }, + { + "description": "case-insensitive T and Z", + "data": "1963-06-19t08:30:06.283185z", + "valid": true + }, + { + "description": "only RFC3339 not all of ISO 8601 are valid", + "data": "2013-350T01:01:01", + "valid": false + }, + { + "description": "invalid non-padded month dates", + "data": "1963-6-19T08:30:06.283185Z", + "valid": false + }, + { + "description": "invalid non-padded day dates", + "data": "1963-06-1T08:30:06.283185Z", + "valid": false + }, + { + "description": "non-ascii digits should be rejected in the date portion", + "data": "1963-06-1৪T00:00:00Z", + "valid": false + }, + { + "description": "non-ascii digits should be rejected in the time portion", + "data": "1963-06-11T0৪:00:00Z", + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/email.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/email.json new file mode 100755 index 0000000000..d6761a46ba --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/email.json @@ -0,0 +1,83 @@ +[ + { + "description": "validation of e-mail addresses", + "schema": { "format": "email" }, + "tests": [ + { + "description": "all string formats ignore integers", + "data": 12, + "valid": true + }, + { + "description": "all string formats ignore floats", + "data": 13.7, + "valid": true + }, + { + "description": "all string formats ignore objects", + "data": {}, + "valid": true + }, + { + "description": "all string formats ignore arrays", + "data": [], + "valid": true + }, + { + "description": "all string formats ignore booleans", + "data": false, + "valid": true + }, + { + "description": "all string formats ignore nulls", + "data": null, + "valid": true + }, + { + "description": "a valid e-mail address", + "data": "joe.bloggs@example.com", + "valid": true + }, + { + "description": "an invalid e-mail address", + "data": "2962", + "valid": false + }, + { + "description": "tilde in local part is valid", + "data": "te~st@example.com", + "valid": true + }, + { + "description": "tilde before local part is valid", + "data": "~test@example.com", + "valid": true + }, + { + "description": "tilde after local part is valid", + "data": "test~@example.com", + "valid": true + }, + { + "description": "dot before local part is not valid", + "data": ".test@example.com", + "valid": false + }, + { + "description": "dot after local part is not valid", + "data": "test.@example.com", + "valid": false + }, + { + "description": "two separated dots inside local part are valid", + "data": "te.s.t@example.com", + "valid": true + }, + { + "description": "two subsequent dots inside local part are not valid", + "data": "te..st@example.com", + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/hostname.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/hostname.json new file mode 100755 index 0000000000..8a67fda880 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/hostname.json @@ -0,0 +1,98 @@ +[ + { + "description": "validation of host names", + "schema": { "format": "hostname" }, + "tests": [ + { + "description": "all string formats ignore integers", + "data": 12, + "valid": true + }, + { + "description": "all string formats ignore floats", + "data": 13.7, + "valid": true + }, + { + "description": "all string formats ignore objects", + "data": {}, + "valid": true + }, + { + "description": "all string formats ignore arrays", + "data": [], + "valid": true + }, + { + "description": "all string formats ignore booleans", + "data": false, + "valid": true + }, + { + "description": "all string formats ignore nulls", + "data": null, + "valid": true + }, + { + "description": "a valid host name", + "data": "www.example.com", + "valid": true + }, + { + "description": "a valid punycoded IDN hostname", + "data": "xn--4gbwdl.xn--wgbh1c", + "valid": true + }, + { + "description": "a host name starting with an illegal character", + "data": "-a-host-name-that-starts-with--", + "valid": false + }, + { + "description": "a host name containing illegal characters", + "data": "not_a_valid_host_name", + "valid": false + }, + { + "description": "a host name with a component too long", + "data": "a-vvvvvvvvvvvvvvvveeeeeeeeeeeeeeeerrrrrrrrrrrrrrrryyyyyyyyyyyyyyyy-long-host-name-component", + "valid": false + }, + { + "description": "starts with hyphen", + "data": "-hostname", + "valid": false + }, + { + "description": "ends with hyphen", + "data": "hostname-", + "valid": false + }, + { + "description": "starts with underscore", + "data": "_hostname", + "valid": false + }, + { + "description": "ends with underscore", + "data": "hostname_", + "valid": false + }, + { + "description": "contains underscore", + "data": "host_name", + "valid": false + }, + { + "description": "maximum label length", + "data": "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijk.com", + "valid": true + }, + { + "description": "exceeds maximum label length", + "data": "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl.com", + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/ipv4.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/ipv4.json new file mode 100755 index 0000000000..6b166c70cd --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/ipv4.json @@ -0,0 +1,84 @@ +[ + { + "description": "validation of IP addresses", + "schema": { "format": "ipv4" }, + "tests": [ + { + "description": "all string formats ignore integers", + "data": 12, + "valid": true + }, + { + "description": "all string formats ignore floats", + "data": 13.7, + "valid": true + }, + { + "description": "all string formats ignore objects", + "data": {}, + "valid": true + }, + { + "description": "all string formats ignore arrays", + "data": [], + "valid": true + }, + { + "description": "all string formats ignore booleans", + "data": false, + "valid": true + }, + { + "description": "all string formats ignore nulls", + "data": null, + "valid": true + }, + { + "description": "a valid IP address", + "data": "192.168.0.1", + "valid": true + }, + { + "description": "an IP address with too many components", + "data": "127.0.0.0.1", + "valid": false + }, + { + "description": "an IP address with out-of-range values", + "data": "256.256.256.256", + "valid": false + }, + { + "description": "an IP address without 4 components", + "data": "127.0", + "valid": false + }, + { + "description": "an IP address as an integer", + "data": "0x7f000001", + "valid": false + }, + { + "description": "an IP address as an integer (decimal)", + "data": "2130706433", + "valid": false + }, + { + "description": "leading zeroes should be rejected, as they are treated as octals", + "comment": "see https://sick.codes/universal-netmask-npm-package-used-by-270000-projects-vulnerable-to-octal-input-data-server-side-request-forgery-remote-file-inclusion-local-file-inclusion-and-more-cve-2021-28918/", + "data": "087.10.0.1", + "valid": false + }, + { + "description": "value without leading zero is valid", + "data": "87.10.0.1", + "valid": true + }, + { + "description": "non-ascii digits should be rejected", + "data": "1২7.0.0.1", + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/ipv6.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/ipv6.json new file mode 100755 index 0000000000..6379927b3e --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/ipv6.json @@ -0,0 +1,208 @@ +[ + { + "description": "validation of IPv6 addresses", + "schema": { "format": "ipv6" }, + "tests": [ + { + "description": "all string formats ignore integers", + "data": 12, + "valid": true + }, + { + "description": "all string formats ignore floats", + "data": 13.7, + "valid": true + }, + { + "description": "all string formats ignore objects", + "data": {}, + "valid": true + }, + { + "description": "all string formats ignore arrays", + "data": [], + "valid": true + }, + { + "description": "all string formats ignore booleans", + "data": false, + "valid": true + }, + { + "description": "all string formats ignore nulls", + "data": null, + "valid": true + }, + { + "description": "a valid IPv6 address", + "data": "::1", + "valid": true + }, + { + "description": "an IPv6 address with out-of-range values", + "data": "12345::", + "valid": false + }, + { + "description": "trailing 4 hex symbols is valid", + "data": "::abef", + "valid": true + }, + { + "description": "trailing 5 hex symbols is invalid", + "data": "::abcef", + "valid": false + }, + { + "description": "an IPv6 address with too many components", + "data": "1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1", + "valid": false + }, + { + "description": "an IPv6 address containing illegal characters", + "data": "::laptop", + "valid": false + }, + { + "description": "no digits is valid", + "data": "::", + "valid": true + }, + { + "description": "leading colons is valid", + "data": "::42:ff:1", + "valid": true + }, + { + "description": "trailing colons is valid", + "data": "d6::", + "valid": true + }, + { + "description": "missing leading octet is invalid", + "data": ":2:3:4:5:6:7:8", + "valid": false + }, + { + "description": "missing trailing octet is invalid", + "data": "1:2:3:4:5:6:7:", + "valid": false + }, + { + "description": "missing leading octet with omitted octets later", + "data": ":2:3:4::8", + "valid": false + }, + { + "description": "single set of double colons in the middle is valid", + "data": "1:d6::42", + "valid": true + }, + { + "description": "two sets of double colons is invalid", + "data": "1::d6::42", + "valid": false + }, + { + "description": "mixed format with the ipv4 section as decimal octets", + "data": "1::d6:192.168.0.1", + "valid": true + }, + { + "description": "mixed format with double colons between the sections", + "data": "1:2::192.168.0.1", + "valid": true + }, + { + "description": "mixed format with ipv4 section with octet out of range", + "data": "1::2:192.168.256.1", + "valid": false + }, + { + "description": "mixed format with ipv4 section with a hex octet", + "data": "1::2:192.168.ff.1", + "valid": false + }, + { + "description": "mixed format with leading double colons (ipv4-mapped ipv6 address)", + "data": "::ffff:192.168.0.1", + "valid": true + }, + { + "description": "triple colons is invalid", + "data": "1:2:3:4:5:::8", + "valid": false + }, + { + "description": "8 octets", + "data": "1:2:3:4:5:6:7:8", + "valid": true + }, + { + "description": "insufficient octets without double colons", + "data": "1:2:3:4:5:6:7", + "valid": false + }, + { + "description": "no colons is invalid", + "data": "1", + "valid": false + }, + { + "description": "ipv4 is not ipv6", + "data": "127.0.0.1", + "valid": false + }, + { + "description": "ipv4 segment must have 4 octets", + "data": "1:2:3:4:1.2.3", + "valid": false + }, + { + "description": "leading whitespace is invalid", + "data": " ::1", + "valid": false + }, + { + "description": "trailing whitespace is invalid", + "data": "::1 ", + "valid": false + }, + { + "description": "netmask is not a part of ipv6 address", + "data": "fe80::/64", + "valid": false + }, + { + "description": "zone id is not a part of ipv6 address", + "data": "fe80::a%eth1", + "valid": false + }, + { + "description": "a long valid ipv6", + "data": "1000:1000:1000:1000:1000:1000:255.255.255.255", + "valid": true + }, + { + "description": "a long invalid ipv6, below length limit, first", + "data": "100:100:100:100:100:100:255.255.255.255.255", + "valid": false + }, + { + "description": "a long invalid ipv6, below length limit, second", + "data": "100:100:100:100:100:100:100:255.255.255.255", + "valid": false + }, + { + "description": "non-ascii digits should be rejected", + "data": "1:2:3:4:5:6:7:৪", + "valid": false + }, + { + "description": "non-ascii digits should be rejected in the ipv4 portion also", + "data": "1:2::192.16৪.0.1", + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/json-pointer.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/json-pointer.json new file mode 100755 index 0000000000..a0346b5752 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/json-pointer.json @@ -0,0 +1,198 @@ +[ + { + "description": "validation of JSON-pointers (JSON String Representation)", + "schema": { "format": "json-pointer" }, + "tests": [ + { + "description": "all string formats ignore integers", + "data": 12, + "valid": true + }, + { + "description": "all string formats ignore floats", + "data": 13.7, + "valid": true + }, + { + "description": "all string formats ignore objects", + "data": {}, + "valid": true + }, + { + "description": "all string formats ignore arrays", + "data": [], + "valid": true + }, + { + "description": "all string formats ignore booleans", + "data": false, + "valid": true + }, + { + "description": "all string formats ignore nulls", + "data": null, + "valid": true + }, + { + "description": "a valid JSON-pointer", + "data": "/foo/bar~0/baz~1/%a", + "valid": true + }, + { + "description": "not a valid JSON-pointer (~ not escaped)", + "data": "/foo/bar~", + "valid": false + }, + { + "description": "valid JSON-pointer with empty segment", + "data": "/foo//bar", + "valid": true + }, + { + "description": "valid JSON-pointer with the last empty segment", + "data": "/foo/bar/", + "valid": true + }, + { + "description": "valid JSON-pointer as stated in RFC 6901 #1", + "data": "", + "valid": true + }, + { + "description": "valid JSON-pointer as stated in RFC 6901 #2", + "data": "/foo", + "valid": true + }, + { + "description": "valid JSON-pointer as stated in RFC 6901 #3", + "data": "/foo/0", + "valid": true + }, + { + "description": "valid JSON-pointer as stated in RFC 6901 #4", + "data": "/", + "valid": true + }, + { + "description": "valid JSON-pointer as stated in RFC 6901 #5", + "data": "/a~1b", + "valid": true + }, + { + "description": "valid JSON-pointer as stated in RFC 6901 #6", + "data": "/c%d", + "valid": true + }, + { + "description": "valid JSON-pointer as stated in RFC 6901 #7", + "data": "/e^f", + "valid": true + }, + { + "description": "valid JSON-pointer as stated in RFC 6901 #8", + "data": "/g|h", + "valid": true + }, + { + "description": "valid JSON-pointer as stated in RFC 6901 #9", + "data": "/i\\j", + "valid": true + }, + { + "description": "valid JSON-pointer as stated in RFC 6901 #10", + "data": "/k\"l", + "valid": true + }, + { + "description": "valid JSON-pointer as stated in RFC 6901 #11", + "data": "/ ", + "valid": true + }, + { + "description": "valid JSON-pointer as stated in RFC 6901 #12", + "data": "/m~0n", + "valid": true + }, + { + "description": "valid JSON-pointer used adding to the last array position", + "data": "/foo/-", + "valid": true + }, + { + "description": "valid JSON-pointer (- used as object member name)", + "data": "/foo/-/bar", + "valid": true + }, + { + "description": "valid JSON-pointer (multiple escaped characters)", + "data": "/~1~0~0~1~1", + "valid": true + }, + { + "description": "valid JSON-pointer (escaped with fraction part) #1", + "data": "/~1.1", + "valid": true + }, + { + "description": "valid JSON-pointer (escaped with fraction part) #2", + "data": "/~0.1", + "valid": true + }, + { + "description": "not a valid JSON-pointer (URI Fragment Identifier) #1", + "data": "#", + "valid": false + }, + { + "description": "not a valid JSON-pointer (URI Fragment Identifier) #2", + "data": "#/", + "valid": false + }, + { + "description": "not a valid JSON-pointer (URI Fragment Identifier) #3", + "data": "#a", + "valid": false + }, + { + "description": "not a valid JSON-pointer (some escaped, but not all) #1", + "data": "/~0~", + "valid": false + }, + { + "description": "not a valid JSON-pointer (some escaped, but not all) #2", + "data": "/~0/~", + "valid": false + }, + { + "description": "not a valid JSON-pointer (wrong escape character) #1", + "data": "/~2", + "valid": false + }, + { + "description": "not a valid JSON-pointer (wrong escape character) #2", + "data": "/~-1", + "valid": false + }, + { + "description": "not a valid JSON-pointer (multiple characters not escaped)", + "data": "/~~", + "valid": false + }, + { + "description": "not a valid JSON-pointer (isn't empty nor starts with /) #1", + "data": "a", + "valid": false + }, + { + "description": "not a valid JSON-pointer (isn't empty nor starts with /) #2", + "data": "0", + "valid": false + }, + { + "description": "not a valid JSON-pointer (isn't empty nor starts with /) #3", + "data": "a/a", + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/unknown.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/unknown.json new file mode 100755 index 0000000000..12339ae57d --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/unknown.json @@ -0,0 +1,43 @@ +[ + { + "description": "unknown format", + "schema": { "format": "unknown" }, + "tests": [ + { + "description": "unknown formats ignore integers", + "data": 12, + "valid": true + }, + { + "description": "unknown formats ignore floats", + "data": 13.7, + "valid": true + }, + { + "description": "unknown formats ignore objects", + "data": {}, + "valid": true + }, + { + "description": "unknown formats ignore arrays", + "data": [], + "valid": true + }, + { + "description": "unknown formats ignore booleans", + "data": false, + "valid": true + }, + { + "description": "unknown formats ignore nulls", + "data": null, + "valid": true + }, + { + "description": "unknown formats ignore strings", + "data": "string", + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/uri-reference.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/uri-reference.json new file mode 100755 index 0000000000..7cdf228d8b --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/uri-reference.json @@ -0,0 +1,73 @@ +[ + { + "description": "validation of URI References", + "schema": { "format": "uri-reference" }, + "tests": [ + { + "description": "all string formats ignore integers", + "data": 12, + "valid": true + }, + { + "description": "all string formats ignore floats", + "data": 13.7, + "valid": true + }, + { + "description": "all string formats ignore objects", + "data": {}, + "valid": true + }, + { + "description": "all string formats ignore arrays", + "data": [], + "valid": true + }, + { + "description": "all string formats ignore booleans", + "data": false, + "valid": true + }, + { + "description": "all string formats ignore nulls", + "data": null, + "valid": true + }, + { + "description": "a valid URI", + "data": "http://foo.bar/?baz=qux#quux", + "valid": true + }, + { + "description": "a valid protocol-relative URI Reference", + "data": "//foo.bar/?baz=qux#quux", + "valid": true + }, + { + "description": "a valid relative URI Reference", + "data": "/abc", + "valid": true + }, + { + "description": "an invalid URI Reference", + "data": "\\\\WINDOWS\\fileshare", + "valid": false + }, + { + "description": "a valid URI Reference", + "data": "abc", + "valid": true + }, + { + "description": "a valid URI fragment", + "data": "#fragment", + "valid": true + }, + { + "description": "an invalid URI fragment", + "data": "#frag\\ment", + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/uri-template.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/uri-template.json new file mode 100755 index 0000000000..df355c55aa --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/uri-template.json @@ -0,0 +1,58 @@ +[ + { + "description": "format: uri-template", + "schema": { "format": "uri-template" }, + "tests": [ + { + "description": "all string formats ignore integers", + "data": 12, + "valid": true + }, + { + "description": "all string formats ignore floats", + "data": 13.7, + "valid": true + }, + { + "description": "all string formats ignore objects", + "data": {}, + "valid": true + }, + { + "description": "all string formats ignore arrays", + "data": [], + "valid": true + }, + { + "description": "all string formats ignore booleans", + "data": false, + "valid": true + }, + { + "description": "all string formats ignore nulls", + "data": null, + "valid": true + }, + { + "description": "a valid uri-template", + "data": "http://example.com/dictionary/{term:1}/{term}", + "valid": true + }, + { + "description": "an invalid uri-template", + "data": "http://example.com/dictionary/{term:1}/{term", + "valid": false + }, + { + "description": "a valid uri-template without variables", + "data": "http://example.com/dictionary", + "valid": true + }, + { + "description": "a valid relative uri-template", + "data": "dictionary/{term:1}/{term}", + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/uri.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/uri.json new file mode 100755 index 0000000000..792d71a058 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/format/uri.json @@ -0,0 +1,108 @@ +[ + { + "description": "validation of URIs", + "schema": { "format": "uri" }, + "tests": [ + { + "description": "a valid URL with anchor tag", + "data": "http://foo.bar/?baz=qux#quux", + "valid": true + }, + { + "description": "a valid URL with anchor tag and parentheses", + "data": "http://foo.com/blah_(wikipedia)_blah#cite-1", + "valid": true + }, + { + "description": "a valid URL with URL-encoded stuff", + "data": "http://foo.bar/?q=Test%20URL-encoded%20stuff", + "valid": true + }, + { + "description": "a valid puny-coded URL ", + "data": "http://xn--nw2a.xn--j6w193g/", + "valid": true + }, + { + "description": "a valid URL with many special characters", + "data": "http://-.~_!$&'()*+,;=:%40:80%2f::::::@example.com", + "valid": true + }, + { + "description": "a valid URL based on IPv4", + "data": "http://223.255.255.254", + "valid": true + }, + { + "description": "a valid URL with ftp scheme", + "data": "ftp://ftp.is.co.za/rfc/rfc1808.txt", + "valid": true + }, + { + "description": "a valid URL for a simple text file", + "data": "http://www.ietf.org/rfc/rfc2396.txt", + "valid": true + }, + { + "description": "a valid URL ", + "data": "ldap://[2001:db8::7]/c=GB?objectClass?one", + "valid": true + }, + { + "description": "a valid mailto URI", + "data": "mailto:John.Doe@example.com", + "valid": true + }, + { + "description": "a valid newsgroup URI", + "data": "news:comp.infosystems.www.servers.unix", + "valid": true + }, + { + "description": "a valid tel URI", + "data": "tel:+1-816-555-1212", + "valid": true + }, + { + "description": "a valid URN", + "data": "urn:oasis:names:specification:docbook:dtd:xml:4.1.2", + "valid": true + }, + { + "description": "an invalid protocol-relative URI Reference", + "data": "//foo.bar/?baz=qux#quux", + "valid": false + }, + { + "description": "an invalid relative URI Reference", + "data": "/abc", + "valid": false + }, + { + "description": "an invalid URI", + "data": "\\\\WINDOWS\\fileshare", + "valid": false + }, + { + "description": "an invalid URI though valid URI reference", + "data": "abc", + "valid": false + }, + { + "description": "an invalid URI with spaces", + "data": "http:// shouldfail.com", + "valid": false + }, + { + "description": "an invalid URI with spaces and missing scheme", + "data": ":// should fail", + "valid": false + }, + { + "description": "an invalid URI with comma in scheme", + "data": "bar,baz:foo", + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/future-keywords.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/future-keywords.json new file mode 100755 index 0000000000..af2f791321 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/future-keywords.json @@ -0,0 +1,465 @@ +[ + { + "description": "$dynamicRef without $dynamicAnchor works like $ref", + "schema": { + "properties": { + "foo": {"$dynamicRef": "#"} + }, + "additionalProperties": false + }, + "tests": [ + { + "description": "match", + "data": {"foo": false}, + "valid": true + }, + { + "description": "recursive match", + "data": {"foo": {"foo": false}}, + "valid": true + }, + { + "description": "mismatch", + "data": {"bar": false}, + "valid": false + }, + { + "description": "recursive mismatch (but $dynamicRef is ignored)", + "data": {"foo": {"bar": false}}, + "valid": true + } + ] + }, + { + "description": "prefixItems: an array of schemas for items", + "schema": { + "prefixItems": [ + {"type": "integer"}, + {"type": "string"} + ] + }, + "tests": [ + { + "description": "correct types", + "data": [ 1, "foo" ], + "valid": true + }, + { + "description": "wrong types", + "data": [ "foo", 1 ], + "valid": true + }, + { + "description": "incomplete array of items", + "data": [ 1 ], + "valid": true + }, + { + "description": "array with additional items", + "data": [ 1, "foo", true ], + "valid": true + }, + { + "description": "empty array", + "data": [ ], + "valid": true + }, + { + "description": "JavaScript pseudo-array is valid", + "data": { + "0": "invalid", + "1": "valid", + "length": 2 + }, + "valid": true + } + ] + }, + { + "description": "dependentSchemas: single dependency", + "schema": { + "dependentSchemas": { + "bar": { + "properties": { + "foo": {"type": "integer"}, + "bar": {"type": "integer"} + } + } + } + }, + "tests": [ + { + "description": "valid", + "data": {"foo": 1, "bar": 2}, + "valid": true + }, + { + "description": "no dependency", + "data": {"foo": "quux"}, + "valid": true + }, + { + "description": "wrong type", + "data": {"foo": "quux", "bar": 2}, + "valid": true + }, + { + "description": "wrong type other", + "data": {"foo": 2, "bar": "quux"}, + "valid": true + }, + { + "description": "wrong type both", + "data": {"foo": "quux", "bar": "quux"}, + "valid": true + } + ] + }, + { + "description": "dependentRequired: single dependency", + "schema": {"dependentRequired": {"bar": ["foo"]}}, + "tests": [ + { + "description": "neither", + "data": {}, + "valid": true + }, + { + "description": "nondependant", + "data": {"foo": 1}, + "valid": true + }, + { + "description": "with dependency", + "data": {"foo": 1, "bar": 2}, + "valid": true + }, + { + "description": "missing dependency", + "data": {"bar": 2}, + "valid": true + }, + { + "description": "ignores arrays", + "data": ["bar"], + "valid": true + }, + { + "description": "ignores strings", + "data": "foobar", + "valid": true + }, + { + "description": "ignores other non-objects", + "data": 12, + "valid": true + } + ] + }, + { + "description": "unevaluatedItems false", + "schema": { + "type": "array", + "unevaluatedItems": false + }, + "tests": [ + { + "description": "with no unevaluated items", + "data": [], + "valid": true + }, + { + "description": "with unevaluated items", + "data": ["foo"], + "valid": true + } + ] + }, + { + "description": "unevaluatedProperties schema", + "schema": { + "type": "object", + "unevaluatedProperties": { + "type": "string", + "minLength": 3 + } + }, + "tests": [ + { + "description": "with no unevaluated properties", + "data": {}, + "valid": true + }, + { + "description": "with valid unevaluated properties", + "data": { + "foo": "foo" + }, + "valid": true + }, + { + "description": "with invalid unevaluated properties", + "data": { + "foo": "fo" + }, + "valid": true + } + ] + }, + { + "description": "maxContains with contains", + "schema": { + "contains": {"const": 1}, + "maxContains": 1 + }, + "tests": [ + { + "description": "empty data", + "data": [ ], + "valid": false + }, + { + "description": "all elements match, valid maxContains", + "data": [ 1 ], + "valid": true + }, + { + "description": "all elements match, invalid maxContains", + "data": [ 1, 1 ], + "valid": true + }, + { + "description": "some elements match, valid maxContains", + "data": [ 1, 2 ], + "valid": true + }, + { + "description": "some elements match, invalid maxContains", + "data": [ 1, 2, 1 ], + "valid": true + } + ] + }, + { + "description": "minContains=2 with contains", + "schema": { + "contains": {"const": 1}, + "minContains": 2 + }, + "tests": [ + { + "description": "empty data", + "data": [ ], + "valid": false + }, + { + "description": "all elements match, invalid minContains", + "data": [ 1 ], + "valid": true + }, + { + "description": "some elements match, invalid minContains", + "data": [ 1, 2 ], + "valid": true + }, + { + "description": "all elements match, valid minContains (exactly as needed)", + "data": [ 1, 1 ], + "valid": true + }, + { + "description": "all elements match, valid minContains (more than needed)", + "data": [ 1, 1, 1 ], + "valid": true + }, + { + "description": "some elements match, valid minContains", + "data": [ 1, 2, 1 ], + "valid": true + } + ] + }, + { + "description": "minContains = 0", + "schema": { + "contains": {"const": 1}, + "minContains": 0 + }, + "tests": [ + { + "description": "empty array is valid with minContains=0", + "data": [ ], + "valid": false + }, + { + "description": "minContains = 0 would make contains always pass", + "data": [ 2 ], + "valid": false + } + ] + }, + { + "description": "if with boolean schema true", + "schema": { "if": true, "then": { "const": "then" }, "else": { "const": "else" } }, + "tests": [ + { + "description": "boolean schema true in if (invalid when supported)", + "data": "then", + "valid": true + }, + { + "description": "boolean schema true in if (valid when supported)", + "data": "else", + "valid": true + } + ] + }, + { + "description": "if with boolean schema false", + "schema": { "if": false, "then": { "const": "then" }, "else": { "const": "else" } }, + "tests": [ + { + "description": "boolean schema false in if (invalid when supported)", + "data": "then", + "valid": true + }, + { + "description": "boolean schema false in if (valid when supported)", + "data": "else", + "valid": true + } + ] + }, + { + "description": "$recursiveRef without $recursiveAnchor works like $ref", + "schema": { + "properties": { + "foo": { "$recursiveRef": "#" } + }, + "additionalProperties": false + }, + "tests": [ + { + "description": "match", + "data": {"foo": false}, + "valid": true + }, + { + "description": "recursive match", + "data": { "foo": { "foo": false } }, + "valid": true + }, + { + "description": "mismatch", + "data": { "bar": false }, + "valid": false + }, + { + "description": "recursive mismatch", + "data": { "foo": { "bar": false } }, + "valid": true + } + ] + }, + { + "description": "$recursiveRef without using nesting", + "schema": { + "$id": "http://localhost:4242", + "definitions": { + "myobject": { + "$id": "myobject.json", + "$recursiveAnchor": true, + "anyOf": [ + { "type": "string" }, + { + "type": "object", + "additionalProperties": { "$recursiveRef": "#" } + } + ] + } + }, + "anyOf": [ + { "type": "integer" }, + { "$ref": "#/definitions/myobject" } + ] + }, + "tests": [ + { + "description": "integer matches at the outer level", + "data": 1, + "valid": true + }, + { + "description": "single level match", + "data": { "foo": "hi" }, + "valid": true + }, + { + "description": "integer does not match as a property value", + "data": { "foo": 1 }, + "valid": true + }, + { + "description": "two levels, additionalProperties always matches, 1", + "data": { "foo": { "bar": "hi" } }, + "valid": true + }, + { + "description": "two levels, additionalProperties always matches, 2", + "data": { "foo": { "bar": 1 } }, + "valid": true + } + ] + }, + { + "description": "$recursiveRef with nesting", + "schema": { + "$id": "http://localhost:4242", + "$recursiveAnchor": true, + "definitions": { + "myobject": { + "$id": "myobject.json", + "$recursiveAnchor": true, + "anyOf": [ + { "type": "string" }, + { + "type": "object", + "additionalProperties": { "$recursiveRef": "#" } + } + ] + } + }, + "anyOf": [ + { "type": "integer" }, + { "$ref": "#/definitions/myobject" } + ] + }, + "tests": [ + { + "description": "integer matches at the outer level", + "data": 1, + "valid": true + }, + { + "description": "single level match", + "data": { "foo": "hi" }, + "valid": true + }, + { + "description": "integer now matches as a property value", + "data": { "foo": 1 }, + "valid": true + }, + { + "description": "two levels, properties match with inner definition", + "data": { "foo": { "bar": "hi" } }, + "valid": true + }, + { + "description": "two levels, properties match with $recursiveRef", + "data": { "foo": { "bar": 1 } }, + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/non-bmp-regex.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/non-bmp-regex.json new file mode 100755 index 0000000000..dd67af2b2a --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/optional/non-bmp-regex.json @@ -0,0 +1,82 @@ +[ + { + "description": "Proper UTF-16 surrogate pair handling: pattern", + "comment": "Optional because .Net doesn't correctly handle 32-bit Unicode characters", + "schema": { "pattern": "^🐲*$" }, + "tests": [ + { + "description": "matches empty", + "data": "", + "valid": true + }, + { + "description": "matches single", + "data": "🐲", + "valid": true + }, + { + "description": "matches two", + "data": "🐲🐲", + "valid": true + }, + { + "description": "doesn't match one", + "data": "🐉", + "valid": false + }, + { + "description": "doesn't match two", + "data": "🐉🐉", + "valid": false + }, + { + "description": "doesn't match one ASCII", + "data": "D", + "valid": false + }, + { + "description": "doesn't match two ASCII", + "data": "DD", + "valid": false + } + ] + }, + { + "description": "Proper UTF-16 surrogate pair handling: patternProperties", + "comment": "Optional because .Net doesn't correctly handle 32-bit Unicode characters", + "schema": { + "patternProperties": { + "^🐲*$": { + "type": "integer" + } + } + }, + "tests": [ + { + "description": "matches empty", + "data": { "": 1 }, + "valid": true + }, + { + "description": "matches single", + "data": { "🐲": 1 }, + "valid": true + }, + { + "description": "matches two", + "data": { "🐲🐲": 1 }, + "valid": true + }, + { + "description": "doesn't match one", + "data": { "🐲": "hello" }, + "valid": false + }, + { + "description": "doesn't match two", + "data": { "🐲🐲": "hello" }, + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/pattern.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/pattern.json new file mode 100755 index 0000000000..92db0f971c --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/pattern.json @@ -0,0 +1,59 @@ +[ + { + "description": "pattern validation", + "schema": {"pattern": "^a*$"}, + "tests": [ + { + "description": "a matching pattern is valid", + "data": "aaa", + "valid": true + }, + { + "description": "a non-matching pattern is invalid", + "data": "abc", + "valid": false + }, + { + "description": "ignores booleans", + "data": true, + "valid": true + }, + { + "description": "ignores integers", + "data": 123, + "valid": true + }, + { + "description": "ignores floats", + "data": 1.0, + "valid": true + }, + { + "description": "ignores objects", + "data": {}, + "valid": true + }, + { + "description": "ignores arrays", + "data": [], + "valid": true + }, + { + "description": "ignores null", + "data": null, + "valid": true + } + ] + }, + { + "description": "pattern is not anchored", + "schema": {"pattern": "a+"}, + "tests": [ + { + "description": "matches a substring", + "data": "xxaayy", + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/patternProperties.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/patternProperties.json new file mode 100755 index 0000000000..c10ffcc05d --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/patternProperties.json @@ -0,0 +1,156 @@ +[ + { + "description": + "patternProperties validates properties matching a regex", + "schema": { + "patternProperties": { + "f.*o": {"type": "integer"} + } + }, + "tests": [ + { + "description": "a single valid match is valid", + "data": {"foo": 1}, + "valid": true + }, + { + "description": "multiple valid matches is valid", + "data": {"foo": 1, "foooooo" : 2}, + "valid": true + }, + { + "description": "a single invalid match is invalid", + "data": {"foo": "bar", "fooooo": 2}, + "valid": false + }, + { + "description": "multiple invalid matches is invalid", + "data": {"foo": "bar", "foooooo" : "baz"}, + "valid": false + }, + { + "description": "ignores arrays", + "data": ["foo"], + "valid": true + }, + { + "description": "ignores strings", + "data": "foo", + "valid": true + }, + { + "description": "ignores other non-objects", + "data": 12, + "valid": true + } + ] + }, + { + "description": "multiple simultaneous patternProperties are validated", + "schema": { + "patternProperties": { + "a*": {"type": "integer"}, + "aaa*": {"maximum": 20} + } + }, + "tests": [ + { + "description": "a single valid match is valid", + "data": {"a": 21}, + "valid": true + }, + { + "description": "a simultaneous match is valid", + "data": {"aaaa": 18}, + "valid": true + }, + { + "description": "multiple matches is valid", + "data": {"a": 21, "aaaa": 18}, + "valid": true + }, + { + "description": "an invalid due to one is invalid", + "data": {"a": "bar"}, + "valid": false + }, + { + "description": "an invalid due to the other is invalid", + "data": {"aaaa": 31}, + "valid": false + }, + { + "description": "an invalid due to both is invalid", + "data": {"aaa": "foo", "aaaa": 31}, + "valid": false + } + ] + }, + { + "description": "regexes are not anchored by default and are case sensitive", + "schema": { + "patternProperties": { + "[0-9]{2,}": { "type": "boolean" }, + "X_": { "type": "string" } + } + }, + "tests": [ + { + "description": "non recognized members are ignored", + "data": { "answer 1": "42" }, + "valid": true + }, + { + "description": "recognized members are accounted for", + "data": { "a31b": null }, + "valid": false + }, + { + "description": "regexes are case sensitive", + "data": { "a_x_3": 3 }, + "valid": true + }, + { + "description": "regexes are case sensitive, 2", + "data": { "a_X_3": 3 }, + "valid": false + } + ] + }, + { + "description": "patternProperties with boolean schemas", + "schema": { + "patternProperties": { + "f.*": true, + "b.*": false + } + }, + "tests": [ + { + "description": "object with property matching schema true is valid", + "data": {"foo": 1}, + "valid": true + }, + { + "description": "object with property matching schema false is invalid", + "data": {"bar": 2}, + "valid": false + }, + { + "description": "object with both properties is invalid", + "data": {"foo": 1, "bar": 2}, + "valid": false + }, + { + "description": "object with a property matching both true and false is invalid", + "data": {"foobar":1}, + "valid": false + }, + { + "description": "empty object is valid", + "data": {}, + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/properties.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/properties.json new file mode 100755 index 0000000000..b86c181982 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/properties.json @@ -0,0 +1,167 @@ +[ + { + "description": "object properties validation", + "schema": { + "properties": { + "foo": {"type": "integer"}, + "bar": {"type": "string"} + } + }, + "tests": [ + { + "description": "both properties present and valid is valid", + "data": {"foo": 1, "bar": "baz"}, + "valid": true + }, + { + "description": "one property invalid is invalid", + "data": {"foo": 1, "bar": {}}, + "valid": false + }, + { + "description": "both properties invalid is invalid", + "data": {"foo": [], "bar": {}}, + "valid": false + }, + { + "description": "doesn't invalidate other properties", + "data": {"quux": []}, + "valid": true + }, + { + "description": "ignores arrays", + "data": [], + "valid": true + }, + { + "description": "ignores other non-objects", + "data": 12, + "valid": true + } + ] + }, + { + "description": + "properties, patternProperties, additionalProperties interaction", + "schema": { + "properties": { + "foo": {"type": "array", "maxItems": 3}, + "bar": {"type": "array"} + }, + "patternProperties": {"f.o": {"minItems": 2}}, + "additionalProperties": {"type": "integer"} + }, + "tests": [ + { + "description": "property validates property", + "data": {"foo": [1, 2]}, + "valid": true + }, + { + "description": "property invalidates property", + "data": {"foo": [1, 2, 3, 4]}, + "valid": false + }, + { + "description": "patternProperty invalidates property", + "data": {"foo": []}, + "valid": false + }, + { + "description": "patternProperty validates nonproperty", + "data": {"fxo": [1, 2]}, + "valid": true + }, + { + "description": "patternProperty invalidates nonproperty", + "data": {"fxo": []}, + "valid": false + }, + { + "description": "additionalProperty ignores property", + "data": {"bar": []}, + "valid": true + }, + { + "description": "additionalProperty validates others", + "data": {"quux": 3}, + "valid": true + }, + { + "description": "additionalProperty invalidates others", + "data": {"quux": "foo"}, + "valid": false + } + ] + }, + { + "description": "properties with boolean schema", + "schema": { + "properties": { + "foo": true, + "bar": false + } + }, + "tests": [ + { + "description": "no property present is valid", + "data": {}, + "valid": true + }, + { + "description": "only 'true' property present is valid", + "data": {"foo": 1}, + "valid": true + }, + { + "description": "only 'false' property present is invalid", + "data": {"bar": 2}, + "valid": false + }, + { + "description": "both properties present is invalid", + "data": {"foo": 1, "bar": 2}, + "valid": false + } + ] + }, + { + "description": "properties with escaped characters", + "schema": { + "properties": { + "foo\nbar": {"type": "number"}, + "foo\"bar": {"type": "number"}, + "foo\\bar": {"type": "number"}, + "foo\rbar": {"type": "number"}, + "foo\tbar": {"type": "number"}, + "foo\fbar": {"type": "number"} + } + }, + "tests": [ + { + "description": "object with all numbers is valid", + "data": { + "foo\nbar": 1, + "foo\"bar": 1, + "foo\\bar": 1, + "foo\rbar": 1, + "foo\tbar": 1, + "foo\fbar": 1 + }, + "valid": true + }, + { + "description": "object with strings is invalid", + "data": { + "foo\nbar": "1", + "foo\"bar": "1", + "foo\\bar": "1", + "foo\rbar": "1", + "foo\tbar": "1", + "foo\fbar": "1" + }, + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/propertyNames.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/propertyNames.json new file mode 100755 index 0000000000..f0788e649f --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/propertyNames.json @@ -0,0 +1,107 @@ +[ + { + "description": "propertyNames validation", + "schema": { + "propertyNames": {"maxLength": 3} + }, + "tests": [ + { + "description": "all property names valid", + "data": { + "f": {}, + "foo": {} + }, + "valid": true + }, + { + "description": "some property names invalid", + "data": { + "foo": {}, + "foobar": {} + }, + "valid": false + }, + { + "description": "object without properties is valid", + "data": {}, + "valid": true + }, + { + "description": "ignores arrays", + "data": [1, 2, 3, 4], + "valid": true + }, + { + "description": "ignores strings", + "data": "foobar", + "valid": true + }, + { + "description": "ignores other non-objects", + "data": 12, + "valid": true + } + ] + }, + { + "description": "propertyNames validation with pattern", + "schema": { + "propertyNames": { "pattern": "^a+$" } + }, + "tests": [ + { + "description": "matching property names valid", + "data": { + "a": {}, + "aa": {}, + "aaa": {} + }, + "valid": true + }, + { + "description": "non-matching property name is invalid", + "data": { + "aaA": {} + }, + "valid": false + }, + { + "description": "object without properties is valid", + "data": {}, + "valid": true + } + ] + }, + { + "description": "propertyNames with boolean schema true", + "schema": {"propertyNames": true}, + "tests": [ + { + "description": "object with any properties is valid", + "data": {"foo": 1}, + "valid": true + }, + { + "description": "empty object is valid", + "data": {}, + "valid": true + } + ] + }, + { + "description": "propertyNames with boolean schema false", + "schema": {"propertyNames": false}, + "tests": [ + { + "description": "object with any properties is invalid", + "data": {"foo": 1}, + "valid": false + }, + { + "description": "empty object is valid", + "data": {}, + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/ref.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/ref.json new file mode 100755 index 0000000000..ce5caf674d --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/ref.json @@ -0,0 +1,612 @@ +[ + { + "description": "root pointer ref", + "schema": { + "properties": { + "foo": {"$ref": "#"} + }, + "additionalProperties": false + }, + "tests": [ + { + "description": "match", + "data": {"foo": false}, + "valid": true + }, + { + "description": "recursive match", + "data": {"foo": {"foo": false}}, + "valid": true + }, + { + "description": "mismatch", + "data": {"bar": false}, + "valid": false + }, + { + "description": "recursive mismatch", + "data": {"foo": {"bar": false}}, + "valid": false + } + ] + }, + { + "description": "relative pointer ref to object", + "schema": { + "properties": { + "foo": {"type": "integer"}, + "bar": {"$ref": "#/properties/foo"} + } + }, + "tests": [ + { + "description": "match", + "data": {"bar": 3}, + "valid": true + }, + { + "description": "mismatch", + "data": {"bar": true}, + "valid": false + } + ] + }, + { + "description": "relative pointer ref to array", + "schema": { + "items": [ + {"type": "integer"}, + {"$ref": "#/items/0"} + ] + }, + "tests": [ + { + "description": "match array", + "data": [1, 2], + "valid": true + }, + { + "description": "mismatch array", + "data": [1, "foo"], + "valid": false + } + ] + }, + { + "description": "escaped pointer ref", + "schema": { + "definitions": { + "tilde~field": {"type": "integer"}, + "slash/field": {"type": "integer"}, + "percent%field": {"type": "integer"} + }, + "properties": { + "tilde": {"$ref": "#/definitions/tilde~0field"}, + "slash": {"$ref": "#/definitions/slash~1field"}, + "percent": {"$ref": "#/definitions/percent%25field"} + } + }, + "tests": [ + { + "description": "slash invalid", + "data": {"slash": "aoeu"}, + "valid": false + }, + { + "description": "tilde invalid", + "data": {"tilde": "aoeu"}, + "valid": false + }, + { + "description": "percent invalid", + "data": {"percent": "aoeu"}, + "valid": false + }, + { + "description": "slash valid", + "data": {"slash": 123}, + "valid": true + }, + { + "description": "tilde valid", + "data": {"tilde": 123}, + "valid": true + }, + { + "description": "percent valid", + "data": {"percent": 123}, + "valid": true + } + ] + }, + { + "description": "nested refs", + "schema": { + "definitions": { + "a": {"type": "integer"}, + "b": {"$ref": "#/definitions/a"}, + "c": {"$ref": "#/definitions/b"} + }, + "allOf": [{ "$ref": "#/definitions/c" }] + }, + "tests": [ + { + "description": "nested ref valid", + "data": 5, + "valid": true + }, + { + "description": "nested ref invalid", + "data": "a", + "valid": false + } + ] + }, + { + "description": "ref overrides any sibling keywords", + "schema": { + "definitions": { + "reffed": { + "type": "array" + } + }, + "properties": { + "foo": { + "$ref": "#/definitions/reffed", + "maxItems": 2 + } + } + }, + "tests": [ + { + "description": "ref valid", + "data": { "foo": [] }, + "valid": true + }, + { + "description": "ref valid, maxItems ignored", + "data": { "foo": [ 1, 2, 3] }, + "valid": true + }, + { + "description": "ref invalid", + "data": { "foo": "string" }, + "valid": false + } + ] + }, + { + "description": "$ref prevents a sibling $id from changing the base uri", + "schema": { + "$id": "http://localhost:1234/sibling_id/base/", + "definitions": { + "foo": { + "$id": "http://localhost:1234/sibling_id/foo.json", + "type": "string" + }, + "base_foo": { + "$comment": "this canonical uri is http://localhost:1234/sibling_id/base/foo.json", + "$id": "foo.json", + "type": "number" + } + }, + "allOf": [ + { + "$comment": "$ref resolves to http://localhost:1234/sibling_id/base/foo.json, not http://localhost:1234/sibling_id/foo.json", + "$id": "http://localhost:1234/sibling_id/", + "$ref": "foo.json" + } + ] + }, + "tests": [ + { + "description": "$ref resolves to /definitions/base_foo, data does not validate", + "data": "a", + "valid": false + }, + { + "description": "$ref resolves to /definitions/base_foo, data validates", + "data": 1, + "valid": true + } + ] + }, + { + "description": "remote ref, containing refs itself", + "schema": {"$ref": "http://json-schema.org/draft-06/schema#"}, + "tests": [ + { + "description": "remote ref valid", + "data": {"minLength": 1}, + "valid": true + }, + { + "description": "remote ref invalid", + "data": {"minLength": -1}, + "valid": false + } + ] + }, + { + "description": "property named $ref that is not a reference", + "schema": { + "properties": { + "$ref": {"type": "string"} + } + }, + "tests": [ + { + "description": "property named $ref valid", + "data": {"$ref": "a"}, + "valid": true + }, + { + "description": "property named $ref invalid", + "data": {"$ref": 2}, + "valid": false + } + ] + }, + { + "description": "property named $ref, containing an actual $ref", + "schema": { + "properties": { + "$ref": {"$ref": "#/definitions/is-string"} + }, + "definitions": { + "is-string": { + "type": "string" + } + } + }, + "tests": [ + { + "description": "property named $ref valid", + "data": {"$ref": "a"}, + "valid": true + }, + { + "description": "property named $ref invalid", + "data": {"$ref": 2}, + "valid": false + } + ] + }, + { + "description": "$ref to boolean schema true", + "schema": { + "allOf": [{ "$ref": "#/definitions/bool" }], + "definitions": { + "bool": true + } + }, + "tests": [ + { + "description": "any value is valid", + "data": "foo", + "valid": true + } + ] + }, + { + "description": "$ref to boolean schema false", + "schema": { + "allOf": [{ "$ref": "#/definitions/bool" }], + "definitions": { + "bool": false + } + }, + "tests": [ + { + "description": "any value is invalid", + "data": "foo", + "valid": false + } + ] + }, + { + "description": "Recursive references between schemas", + "schema": { + "$id": "http://localhost:1234/tree", + "description": "tree of nodes", + "type": "object", + "properties": { + "meta": {"type": "string"}, + "nodes": { + "type": "array", + "items": {"$ref": "node"} + } + }, + "required": ["meta", "nodes"], + "definitions": { + "node": { + "$id": "http://localhost:1234/node", + "description": "node", + "type": "object", + "properties": { + "value": {"type": "number"}, + "subtree": {"$ref": "tree"} + }, + "required": ["value"] + } + } + }, + "tests": [ + { + "description": "valid tree", + "data": { + "meta": "root", + "nodes": [ + { + "value": 1, + "subtree": { + "meta": "child", + "nodes": [ + {"value": 1.1}, + {"value": 1.2} + ] + } + }, + { + "value": 2, + "subtree": { + "meta": "child", + "nodes": [ + {"value": 2.1}, + {"value": 2.2} + ] + } + } + ] + }, + "valid": true + }, + { + "description": "invalid tree", + "data": { + "meta": "root", + "nodes": [ + { + "value": 1, + "subtree": { + "meta": "child", + "nodes": [ + {"value": "string is invalid"}, + {"value": 1.2} + ] + } + }, + { + "value": 2, + "subtree": { + "meta": "child", + "nodes": [ + {"value": 2.1}, + {"value": 2.2} + ] + } + } + ] + }, + "valid": false + } + ] + }, + { + "description": "refs with quote", + "schema": { + "properties": { + "foo\"bar": {"$ref": "#/definitions/foo%22bar"} + }, + "definitions": { + "foo\"bar": {"type": "number"} + } + }, + "tests": [ + { + "description": "object with numbers is valid", + "data": { + "foo\"bar": 1 + }, + "valid": true + }, + { + "description": "object with strings is invalid", + "data": { + "foo\"bar": "1" + }, + "valid": false + } + ] + }, + { + "description": "Location-independent identifier", + "schema": { + "allOf": [{ + "$ref": "#foo" + }], + "definitions": { + "A": { + "$id": "#foo", + "type": "integer" + } + } + }, + "tests": [ + { + "data": 1, + "description": "match", + "valid": true + }, + { + "data": "a", + "description": "mismatch", + "valid": false + } + ] + }, + { + "description": "Location-independent identifier with base URI change in subschema", + "schema": { + "$id": "http://localhost:1234/root", + "allOf": [{ + "$ref": "http://localhost:1234/nested.json#foo" + }], + "definitions": { + "A": { + "$id": "nested.json", + "definitions": { + "B": { + "$id": "#foo", + "type": "integer" + } + } + } + } + }, + "tests": [ + { + "data": 1, + "description": "match", + "valid": true + }, + { + "data": "a", + "description": "mismatch", + "valid": false + } + ] + }, + { + "description": "naive replacement of $ref with its destination is not correct", + "schema": { + "definitions": { + "a_string": { "type": "string" } + }, + "enum": [ + { "$ref": "#/definitions/a_string" } + ] + }, + "tests": [ + { + "description": "do not evaluate the $ref inside the enum, matching any string", + "data": "this is a string", + "valid": false + }, + { + "description": "do not evaluate the $ref inside the enum, definition exact match", + "data": { "type": "string" }, + "valid": false + }, + { + "description": "match the enum exactly", + "data": { "$ref": "#/definitions/a_string" }, + "valid": true + } + ] + }, + { + "description": "refs with relative uris and defs", + "schema": { + "$id": "http://example.com/schema-relative-uri-defs1.json", + "properties": { + "foo": { + "$id": "schema-relative-uri-defs2.json", + "definitions": { + "inner": { + "properties": { + "bar": { "type": "string" } + } + } + }, + "allOf": [ { "$ref": "#/definitions/inner" } ] + } + }, + "allOf": [ { "$ref": "schema-relative-uri-defs2.json" } ] + }, + "tests": [ + { + "description": "invalid on inner field", + "data": { + "foo": { + "bar": 1 + }, + "bar": "a" + }, + "valid": false + }, + { + "description": "invalid on outer field", + "data": { + "foo": { + "bar": "a" + }, + "bar": 1 + }, + "valid": false + }, + { + "description": "valid on both fields", + "data": { + "foo": { + "bar": "a" + }, + "bar": "a" + }, + "valid": true + } + ] + }, + { + "description": "relative refs with absolute uris and defs", + "schema": { + "$id": "http://example.com/schema-refs-absolute-uris-defs1.json", + "properties": { + "foo": { + "$id": "http://example.com/schema-refs-absolute-uris-defs2.json", + "definitions": { + "inner": { + "properties": { + "bar": { "type": "string" } + } + } + }, + "allOf": [ { "$ref": "#/definitions/inner" } ] + } + }, + "allOf": [ { "$ref": "schema-refs-absolute-uris-defs2.json" } ] + }, + "tests": [ + { + "description": "invalid on inner field", + "data": { + "foo": { + "bar": 1 + }, + "bar": "a" + }, + "valid": false + }, + { + "description": "invalid on outer field", + "data": { + "foo": { + "bar": "a" + }, + "bar": 1 + }, + "valid": false + }, + { + "description": "valid on both fields", + "data": { + "foo": { + "bar": "a" + }, + "bar": "a" + }, + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/refRemote.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/refRemote.json new file mode 100755 index 0000000000..a2221b2139 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/refRemote.json @@ -0,0 +1,196 @@ +[ + { + "description": "remote ref", + "schema": {"$ref": "http://localhost:1234/integer.json"}, + "tests": [ + { + "description": "remote ref valid", + "data": 1, + "valid": true + }, + { + "description": "remote ref invalid", + "data": "a", + "valid": false + } + ] + }, + { + "description": "fragment within remote ref", + "schema": {"$ref": "http://localhost:1234/subSchemas.json#/integer"}, + "tests": [ + { + "description": "remote fragment valid", + "data": 1, + "valid": true + }, + { + "description": "remote fragment invalid", + "data": "a", + "valid": false + } + ] + }, + { + "description": "ref within remote ref", + "schema": { + "$ref": "http://localhost:1234/subSchemas.json#/refToInteger" + }, + "tests": [ + { + "description": "ref within ref valid", + "data": 1, + "valid": true + }, + { + "description": "ref within ref invalid", + "data": "a", + "valid": false + } + ] + }, + { + "description": "base URI change", + "schema": { + "$id": "http://localhost:1234/", + "items": { + "$id": "baseUriChange/", + "items": {"$ref": "folderInteger.json"} + } + }, + "tests": [ + { + "description": "base URI change ref valid", + "data": [[1]], + "valid": true + }, + { + "description": "base URI change ref invalid", + "data": [["a"]], + "valid": false + } + ] + }, + { + "description": "base URI change - change folder", + "schema": { + "$id": "http://localhost:1234/scope_change_defs1.json", + "type" : "object", + "properties": { + "list": {"$ref": "#/definitions/baz"} + }, + "definitions": { + "baz": { + "$id": "baseUriChangeFolder/", + "type": "array", + "items": {"$ref": "folderInteger.json"} + } + } + }, + "tests": [ + { + "description": "number is valid", + "data": {"list": [1]}, + "valid": true + }, + { + "description": "string is invalid", + "data": {"list": ["a"]}, + "valid": false + } + ] + }, + { + "description": "base URI change - change folder in subschema", + "schema": { + "$id": "http://localhost:1234/scope_change_defs2.json", + "type" : "object", + "properties": { + "list": {"$ref": "#/definitions/baz/definitions/bar"} + }, + "definitions": { + "baz": { + "$id": "baseUriChangeFolderInSubschema/", + "definitions": { + "bar": { + "type": "array", + "items": {"$ref": "folderInteger.json"} + } + } + } + } + }, + "tests": [ + { + "description": "number is valid", + "data": {"list": [1]}, + "valid": true + }, + { + "description": "string is invalid", + "data": {"list": ["a"]}, + "valid": false + } + ] + }, + { + "description": "root ref in remote ref", + "schema": { + "$id": "http://localhost:1234/object", + "type": "object", + "properties": { + "name": {"$ref": "name.json#/definitions/orNull"} + } + }, + "tests": [ + { + "description": "string is valid", + "data": { + "name": "foo" + }, + "valid": true + }, + { + "description": "null is valid", + "data": { + "name": null + }, + "valid": true + }, + { + "description": "object is invalid", + "data": { + "name": { + "name": null + } + }, + "valid": false + } + ] + }, + { + "description": "remote ref with ref to definitions", + "schema": { + "$id": "http://localhost:1234/schema-remote-ref-ref-defs1.json", + "allOf": [ + { "$ref": "ref-and-definitions.json" } + ] + }, + "tests": [ + { + "description": "invalid", + "data": { + "bar": 1 + }, + "valid": false + }, + { + "description": "valid", + "data": { + "bar": "a" + }, + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/required.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/required.json new file mode 100755 index 0000000000..abf18f3459 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/required.json @@ -0,0 +1,105 @@ +[ + { + "description": "required validation", + "schema": { + "properties": { + "foo": {}, + "bar": {} + }, + "required": ["foo"] + }, + "tests": [ + { + "description": "present required property is valid", + "data": {"foo": 1}, + "valid": true + }, + { + "description": "non-present required property is invalid", + "data": {"bar": 1}, + "valid": false + }, + { + "description": "ignores arrays", + "data": [], + "valid": true + }, + { + "description": "ignores strings", + "data": "", + "valid": true + }, + { + "description": "ignores other non-objects", + "data": 12, + "valid": true + } + ] + }, + { + "description": "required default validation", + "schema": { + "properties": { + "foo": {} + } + }, + "tests": [ + { + "description": "not required by default", + "data": {}, + "valid": true + } + ] + }, + { + "description": "required with empty array", + "schema": { + "properties": { + "foo": {} + }, + "required": [] + }, + "tests": [ + { + "description": "property not required", + "data": {}, + "valid": true + } + ] + }, + { + "description": "required with escaped characters", + "schema": { + "required": [ + "foo\nbar", + "foo\"bar", + "foo\\bar", + "foo\rbar", + "foo\tbar", + "foo\fbar" + ] + }, + "tests": [ + { + "description": "object with all properties present is valid", + "data": { + "foo\nbar": 1, + "foo\"bar": 1, + "foo\\bar": 1, + "foo\rbar": 1, + "foo\tbar": 1, + "foo\fbar": 1 + }, + "valid": true + }, + { + "description": "object with some properties missing is invalid", + "data": { + "foo\nbar": "1", + "foo\"bar": "1" + }, + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/type.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/type.json new file mode 100755 index 0000000000..8304647029 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/type.json @@ -0,0 +1,474 @@ +[ + { + "description": "integer type matches integers", + "schema": {"type": "integer"}, + "tests": [ + { + "description": "an integer is an integer", + "data": 1, + "valid": true + }, + { + "description": "a float with zero fractional part is an integer", + "data": 1.0, + "valid": true + }, + { + "description": "a float is not an integer", + "data": 1.1, + "valid": false + }, + { + "description": "a string is not an integer", + "data": "foo", + "valid": false + }, + { + "description": "a string is still not an integer, even if it looks like one", + "data": "1", + "valid": false + }, + { + "description": "an object is not an integer", + "data": {}, + "valid": false + }, + { + "description": "an array is not an integer", + "data": [], + "valid": false + }, + { + "description": "a boolean is not an integer", + "data": true, + "valid": false + }, + { + "description": "null is not an integer", + "data": null, + "valid": false + } + ] + }, + { + "description": "number type matches numbers", + "schema": {"type": "number"}, + "tests": [ + { + "description": "an integer is a number", + "data": 1, + "valid": true + }, + { + "description": "a float with zero fractional part is a number (and an integer)", + "data": 1.0, + "valid": true + }, + { + "description": "a float is a number", + "data": 1.1, + "valid": true + }, + { + "description": "a string is not a number", + "data": "foo", + "valid": false + }, + { + "description": "a string is still not a number, even if it looks like one", + "data": "1", + "valid": false + }, + { + "description": "an object is not a number", + "data": {}, + "valid": false + }, + { + "description": "an array is not a number", + "data": [], + "valid": false + }, + { + "description": "a boolean is not a number", + "data": true, + "valid": false + }, + { + "description": "null is not a number", + "data": null, + "valid": false + } + ] + }, + { + "description": "string type matches strings", + "schema": {"type": "string"}, + "tests": [ + { + "description": "1 is not a string", + "data": 1, + "valid": false + }, + { + "description": "a float is not a string", + "data": 1.1, + "valid": false + }, + { + "description": "a string is a string", + "data": "foo", + "valid": true + }, + { + "description": "a string is still a string, even if it looks like a number", + "data": "1", + "valid": true + }, + { + "description": "an empty string is still a string", + "data": "", + "valid": true + }, + { + "description": "an object is not a string", + "data": {}, + "valid": false + }, + { + "description": "an array is not a string", + "data": [], + "valid": false + }, + { + "description": "a boolean is not a string", + "data": true, + "valid": false + }, + { + "description": "null is not a string", + "data": null, + "valid": false + } + ] + }, + { + "description": "object type matches objects", + "schema": {"type": "object"}, + "tests": [ + { + "description": "an integer is not an object", + "data": 1, + "valid": false + }, + { + "description": "a float is not an object", + "data": 1.1, + "valid": false + }, + { + "description": "a string is not an object", + "data": "foo", + "valid": false + }, + { + "description": "an object is an object", + "data": {}, + "valid": true + }, + { + "description": "an array is not an object", + "data": [], + "valid": false + }, + { + "description": "a boolean is not an object", + "data": true, + "valid": false + }, + { + "description": "null is not an object", + "data": null, + "valid": false + } + ] + }, + { + "description": "array type matches arrays", + "schema": {"type": "array"}, + "tests": [ + { + "description": "an integer is not an array", + "data": 1, + "valid": false + }, + { + "description": "a float is not an array", + "data": 1.1, + "valid": false + }, + { + "description": "a string is not an array", + "data": "foo", + "valid": false + }, + { + "description": "an object is not an array", + "data": {}, + "valid": false + }, + { + "description": "an array is an array", + "data": [], + "valid": true + }, + { + "description": "a boolean is not an array", + "data": true, + "valid": false + }, + { + "description": "null is not an array", + "data": null, + "valid": false + } + ] + }, + { + "description": "boolean type matches booleans", + "schema": {"type": "boolean"}, + "tests": [ + { + "description": "an integer is not a boolean", + "data": 1, + "valid": false + }, + { + "description": "zero is not a boolean", + "data": 0, + "valid": false + }, + { + "description": "a float is not a boolean", + "data": 1.1, + "valid": false + }, + { + "description": "a string is not a boolean", + "data": "foo", + "valid": false + }, + { + "description": "an empty string is not a boolean", + "data": "", + "valid": false + }, + { + "description": "an object is not a boolean", + "data": {}, + "valid": false + }, + { + "description": "an array is not a boolean", + "data": [], + "valid": false + }, + { + "description": "true is a boolean", + "data": true, + "valid": true + }, + { + "description": "false is a boolean", + "data": false, + "valid": true + }, + { + "description": "null is not a boolean", + "data": null, + "valid": false + } + ] + }, + { + "description": "null type matches only the null object", + "schema": {"type": "null"}, + "tests": [ + { + "description": "an integer is not null", + "data": 1, + "valid": false + }, + { + "description": "a float is not null", + "data": 1.1, + "valid": false + }, + { + "description": "zero is not null", + "data": 0, + "valid": false + }, + { + "description": "a string is not null", + "data": "foo", + "valid": false + }, + { + "description": "an empty string is not null", + "data": "", + "valid": false + }, + { + "description": "an object is not null", + "data": {}, + "valid": false + }, + { + "description": "an array is not null", + "data": [], + "valid": false + }, + { + "description": "true is not null", + "data": true, + "valid": false + }, + { + "description": "false is not null", + "data": false, + "valid": false + }, + { + "description": "null is null", + "data": null, + "valid": true + } + ] + }, + { + "description": "multiple types can be specified in an array", + "schema": {"type": ["integer", "string"]}, + "tests": [ + { + "description": "an integer is valid", + "data": 1, + "valid": true + }, + { + "description": "a string is valid", + "data": "foo", + "valid": true + }, + { + "description": "a float is invalid", + "data": 1.1, + "valid": false + }, + { + "description": "an object is invalid", + "data": {}, + "valid": false + }, + { + "description": "an array is invalid", + "data": [], + "valid": false + }, + { + "description": "a boolean is invalid", + "data": true, + "valid": false + }, + { + "description": "null is invalid", + "data": null, + "valid": false + } + ] + }, + { + "description": "type as array with one item", + "schema": { + "type": ["string"] + }, + "tests": [ + { + "description": "string is valid", + "data": "foo", + "valid": true + }, + { + "description": "number is invalid", + "data": 123, + "valid": false + } + ] + }, + { + "description": "type: array or object", + "schema": { + "type": ["array", "object"] + }, + "tests": [ + { + "description": "array is valid", + "data": [1,2,3], + "valid": true + }, + { + "description": "object is valid", + "data": {"foo": 123}, + "valid": true + }, + { + "description": "number is invalid", + "data": 123, + "valid": false + }, + { + "description": "string is invalid", + "data": "foo", + "valid": false + }, + { + "description": "null is invalid", + "data": null, + "valid": false + } + ] + }, + { + "description": "type: array, object or null", + "schema": { + "type": ["array", "object", "null"] + }, + "tests": [ + { + "description": "array is valid", + "data": [1,2,3], + "valid": true + }, + { + "description": "object is valid", + "data": {"foo": 123}, + "valid": true + }, + { + "description": "null is valid", + "data": null, + "valid": true + }, + { + "description": "number is invalid", + "data": 123, + "valid": false + }, + { + "description": "string is invalid", + "data": "foo", + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/uniqueItems.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/uniqueItems.json new file mode 100755 index 0000000000..2ccf666d7d --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/uniqueItems.json @@ -0,0 +1,404 @@ +[ + { + "description": "uniqueItems validation", + "schema": {"uniqueItems": true}, + "tests": [ + { + "description": "unique array of integers is valid", + "data": [1, 2], + "valid": true + }, + { + "description": "non-unique array of integers is invalid", + "data": [1, 1], + "valid": false + }, + { + "description": "non-unique array of more than two integers is invalid", + "data": [1, 2, 1], + "valid": false + }, + { + "description": "numbers are unique if mathematically unequal", + "data": [1.0, 1.00, 1], + "valid": false + }, + { + "description": "false is not equal to zero", + "data": [0, false], + "valid": true + }, + { + "description": "true is not equal to one", + "data": [1, true], + "valid": true + }, + { + "description": "unique array of strings is valid", + "data": ["foo", "bar", "baz"], + "valid": true + }, + { + "description": "non-unique array of strings is invalid", + "data": ["foo", "bar", "foo"], + "valid": false + }, + { + "description": "unique array of objects is valid", + "data": [{"foo": "bar"}, {"foo": "baz"}], + "valid": true + }, + { + "description": "non-unique array of objects is invalid", + "data": [{"foo": "bar"}, {"foo": "bar"}], + "valid": false + }, + { + "description": "unique array of nested objects is valid", + "data": [ + {"foo": {"bar" : {"baz" : true}}}, + {"foo": {"bar" : {"baz" : false}}} + ], + "valid": true + }, + { + "description": "non-unique array of nested objects is invalid", + "data": [ + {"foo": {"bar" : {"baz" : true}}}, + {"foo": {"bar" : {"baz" : true}}} + ], + "valid": false + }, + { + "description": "unique array of arrays is valid", + "data": [["foo"], ["bar"]], + "valid": true + }, + { + "description": "non-unique array of arrays is invalid", + "data": [["foo"], ["foo"]], + "valid": false + }, + { + "description": "non-unique array of more than two arrays is invalid", + "data": [["foo"], ["bar"], ["foo"]], + "valid": false + }, + { + "description": "1 and true are unique", + "data": [1, true], + "valid": true + }, + { + "description": "0 and false are unique", + "data": [0, false], + "valid": true + }, + { + "description": "[1] and [true] are unique", + "data": [[1], [true]], + "valid": true + }, + { + "description": "[0] and [false] are unique", + "data": [[0], [false]], + "valid": true + }, + { + "description": "nested [1] and [true] are unique", + "data": [[[1], "foo"], [[true], "foo"]], + "valid": true + }, + { + "description": "nested [0] and [false] are unique", + "data": [[[0], "foo"], [[false], "foo"]], + "valid": true + }, + { + "description": "unique heterogeneous types are valid", + "data": [{}, [1], true, null, 1, "{}"], + "valid": true + }, + { + "description": "non-unique heterogeneous types are invalid", + "data": [{}, [1], true, null, {}, 1], + "valid": false + }, + { + "description": "different objects are unique", + "data": [{"a": 1, "b": 2}, {"a": 2, "b": 1}], + "valid": true + }, + { + "description": "objects are non-unique despite key order", + "data": [{"a": 1, "b": 2}, {"b": 2, "a": 1}], + "valid": false + }, + { + "description": "{\"a\": false} and {\"a\": 0} are unique", + "data": [{"a": false}, {"a": 0}], + "valid": true + }, + { + "description": "{\"a\": true} and {\"a\": 1} are unique", + "data": [{"a": true}, {"a": 1}], + "valid": true + } + ] + }, + { + "description": "uniqueItems with an array of items", + "schema": { + "items": [{"type": "boolean"}, {"type": "boolean"}], + "uniqueItems": true + }, + "tests": [ + { + "description": "[false, true] from items array is valid", + "data": [false, true], + "valid": true + }, + { + "description": "[true, false] from items array is valid", + "data": [true, false], + "valid": true + }, + { + "description": "[false, false] from items array is not valid", + "data": [false, false], + "valid": false + }, + { + "description": "[true, true] from items array is not valid", + "data": [true, true], + "valid": false + }, + { + "description": "unique array extended from [false, true] is valid", + "data": [false, true, "foo", "bar"], + "valid": true + }, + { + "description": "unique array extended from [true, false] is valid", + "data": [true, false, "foo", "bar"], + "valid": true + }, + { + "description": "non-unique array extended from [false, true] is not valid", + "data": [false, true, "foo", "foo"], + "valid": false + }, + { + "description": "non-unique array extended from [true, false] is not valid", + "data": [true, false, "foo", "foo"], + "valid": false + } + ] + }, + { + "description": "uniqueItems with an array of items and additionalItems=false", + "schema": { + "items": [{"type": "boolean"}, {"type": "boolean"}], + "uniqueItems": true, + "additionalItems": false + }, + "tests": [ + { + "description": "[false, true] from items array is valid", + "data": [false, true], + "valid": true + }, + { + "description": "[true, false] from items array is valid", + "data": [true, false], + "valid": true + }, + { + "description": "[false, false] from items array is not valid", + "data": [false, false], + "valid": false + }, + { + "description": "[true, true] from items array is not valid", + "data": [true, true], + "valid": false + }, + { + "description": "extra items are invalid even if unique", + "data": [false, true, null], + "valid": false + } + ] + }, + { + "description": "uniqueItems=false validation", + "schema": { "uniqueItems": false }, + "tests": [ + { + "description": "unique array of integers is valid", + "data": [1, 2], + "valid": true + }, + { + "description": "non-unique array of integers is valid", + "data": [1, 1], + "valid": true + }, + { + "description": "numbers are unique if mathematically unequal", + "data": [1.0, 1.00, 1], + "valid": true + }, + { + "description": "false is not equal to zero", + "data": [0, false], + "valid": true + }, + { + "description": "true is not equal to one", + "data": [1, true], + "valid": true + }, + { + "description": "unique array of objects is valid", + "data": [{"foo": "bar"}, {"foo": "baz"}], + "valid": true + }, + { + "description": "non-unique array of objects is valid", + "data": [{"foo": "bar"}, {"foo": "bar"}], + "valid": true + }, + { + "description": "unique array of nested objects is valid", + "data": [ + {"foo": {"bar" : {"baz" : true}}}, + {"foo": {"bar" : {"baz" : false}}} + ], + "valid": true + }, + { + "description": "non-unique array of nested objects is valid", + "data": [ + {"foo": {"bar" : {"baz" : true}}}, + {"foo": {"bar" : {"baz" : true}}} + ], + "valid": true + }, + { + "description": "unique array of arrays is valid", + "data": [["foo"], ["bar"]], + "valid": true + }, + { + "description": "non-unique array of arrays is valid", + "data": [["foo"], ["foo"]], + "valid": true + }, + { + "description": "1 and true are unique", + "data": [1, true], + "valid": true + }, + { + "description": "0 and false are unique", + "data": [0, false], + "valid": true + }, + { + "description": "unique heterogeneous types are valid", + "data": [{}, [1], true, null, 1], + "valid": true + }, + { + "description": "non-unique heterogeneous types are valid", + "data": [{}, [1], true, null, {}, 1], + "valid": true + } + ] + }, + { + "description": "uniqueItems=false with an array of items", + "schema": { + "items": [{"type": "boolean"}, {"type": "boolean"}], + "uniqueItems": false + }, + "tests": [ + { + "description": "[false, true] from items array is valid", + "data": [false, true], + "valid": true + }, + { + "description": "[true, false] from items array is valid", + "data": [true, false], + "valid": true + }, + { + "description": "[false, false] from items array is valid", + "data": [false, false], + "valid": true + }, + { + "description": "[true, true] from items array is valid", + "data": [true, true], + "valid": true + }, + { + "description": "unique array extended from [false, true] is valid", + "data": [false, true, "foo", "bar"], + "valid": true + }, + { + "description": "unique array extended from [true, false] is valid", + "data": [true, false, "foo", "bar"], + "valid": true + }, + { + "description": "non-unique array extended from [false, true] is valid", + "data": [false, true, "foo", "foo"], + "valid": true + }, + { + "description": "non-unique array extended from [true, false] is valid", + "data": [true, false, "foo", "foo"], + "valid": true + } + ] + }, + { + "description": "uniqueItems=false with an array of items and additionalItems=false", + "schema": { + "items": [{"type": "boolean"}, {"type": "boolean"}], + "uniqueItems": false, + "additionalItems": false + }, + "tests": [ + { + "description": "[false, true] from items array is valid", + "data": [false, true], + "valid": true + }, + { + "description": "[true, false] from items array is valid", + "data": [true, false], + "valid": true + }, + { + "description": "[false, false] from items array is valid", + "data": [false, false], + "valid": true + }, + { + "description": "[true, true] from items array is valid", + "data": [true, true], + "valid": true + }, + { + "description": "extra items are invalid even if unique", + "data": [false, true, null], + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/unknownKeyword.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/unknownKeyword.json new file mode 100755 index 0000000000..1f58d97e3e --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/draft6/unknownKeyword.json @@ -0,0 +1,56 @@ +[ + { + "description": "$id inside an unknown keyword is not a real identifier", + "comment": "the implementation must not be confused by an $id in locations we do not know how to parse", + "schema": { + "definitions": { + "id_in_unknown0": { + "not": { + "array_of_schemas": [ + { + "$id": "https://localhost:1234/unknownKeyword/my_identifier.json", + "type": "null" + } + ] + } + }, + "real_id_in_schema": { + "$id": "https://localhost:1234/unknownKeyword/my_identifier.json", + "type": "string" + }, + "id_in_unknown1": { + "not": { + "object_of_schemas": { + "foo": { + "$id": "https://localhost:1234/unknownKeyword/my_identifier.json", + "type": "integer" + } + } + } + } + }, + "anyOf": [ + { "$ref": "#/definitions/id_in_unknown0" }, + { "$ref": "#/definitions/id_in_unknown1" }, + { "$ref": "https://localhost:1234/unknownKeyword/my_identifier.json" } + ] + }, + "tests": [ + { + "description": "type matches second anyOf, which has a real schema in it", + "data": "a string", + "valid": true + }, + { + "description": "type matches non-schema in first anyOf", + "data": null, + "valid": false + }, + { + "description": "type matches non-schema in third anyOf", + "data": 1, + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/openapi_additions/ref.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/openapi_additions/ref.json new file mode 100755 index 0000000000..f3e14f6e01 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/openapi_additions/ref.json @@ -0,0 +1,220 @@ +[ + { + "description": "property refs containing component schema", + "schema": { + "properties": { + "foo": {"$ref": "#/components/schemas/PropertyRefsContainingComponentSchema"} + }, + "additionalProperties": false + }, + "tests": [ + { + "description": "match", + "data": {"foo": false}, + "valid": true + }, + { + "description": "recursive match", + "data": {"foo": {"foo": false}}, + "valid": true + }, + { + "description": "mismatch", + "data": {"bar": false}, + "valid": false + }, + { + "description": "recursive mismatch", + "data": {"foo": {"bar": false}}, + "valid": false + } + ] + }, + { + "description": "property refs adjacent property", + "schema": { + "properties": { + "foo": {"type": "integer"}, + "bar": {"$ref": "#/components/schemas/PropertyRefsAdjacentProperty/properties/foo"} + } + }, + "tests": [ + { + "description": "match", + "data": {"bar": 3}, + "valid": true + }, + { + "description": "mismatch", + "data": {"bar": true}, + "valid": false + } + ] + }, + { + "description": "component refs another component", + "schema": { + "$ref": "#/components/schemas/PropertyNamedRefThatIsNotAReference" + }, + "tests": [ + { + "description": "property named $ref valid", + "data": {"$ref": "a"}, + "valid": true + }, + { + "description": "property named $ref invalid", + "data": {"$ref": 2}, + "valid": false + } + ] + }, + { + "description": "ref in additionalProperties", + "schema": { + "additionalProperties": { + "$ref": "#/components/schemas/PropertyNamedRefThatIsNotAReference" + } + }, + "tests": [ + { + "description": "property named $ref valid", + "data": {"someProp": {"$ref": "a"}}, + "valid": true + }, + { + "description": "property named $ref invalid", + "data": {"someProp": {"$ref": 2}}, + "valid": false + } + ] + }, + { + "description": "ref in items", + "schema": { + "items": { + "$ref": "#/components/schemas/PropertyNamedRefThatIsNotAReference" + } + }, + "tests": [ + { + "description": "property named $ref valid", + "data": [{"$ref": "a"}], + "valid": true + }, + { + "description": "property named $ref invalid", + "data": [{"$ref": 2}], + "valid": false + } + ] + }, + { + "description": "ref in property", + "schema": { + "properties": { + "a": { + "$ref": "#/components/schemas/PropertyNamedRefThatIsNotAReference" + } + } + }, + "tests": [ + { + "description": "property named $ref valid", + "data": {"a": {"$ref": "a"}}, + "valid": true + }, + { + "description": "property named $ref invalid", + "data": {"a": {"$ref": 2}}, + "valid": false + } + ] + }, + { + "description": "ref in allOf", + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PropertyNamedRefThatIsNotAReference" + } + ] + }, + "tests": [ + { + "description": "property named $ref valid", + "data": {"$ref": "a"}, + "valid": true + }, + { + "description": "property named $ref invalid", + "data": {"$ref": 2}, + "valid": false + } + ] + }, + { + "description": "ref in oneOf", + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/PropertyNamedRefThatIsNotAReference" + } + ] + }, + "tests": [ + { + "description": "property named $ref valid", + "data": {"$ref": "a"}, + "valid": true + }, + { + "description": "property named $ref invalid", + "data": {"$ref": 2}, + "valid": false + } + ] + }, + { + "description": "ref in anyOf", + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/PropertyNamedRefThatIsNotAReference" + } + ] + }, + "tests": [ + { + "description": "property named $ref valid", + "data": {"$ref": "a"}, + "valid": true + }, + { + "description": "property named $ref invalid", + "data": {"$ref": 2}, + "valid": false + } + ] + }, + { + "description": "ref in not", + "schema": { + "not": { + "$ref": "#/components/schemas/PropertyNamedRefThatIsNotAReference" + } + }, + "tests": [ + { + "description": "property named $ref invalid", + "data": {"$ref": "a"}, + "valid": false + }, + { + "description": "property named $ref valid", + "data": {"$ref": 2}, + "valid": true + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/openapi_additions/type.json b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/openapi_additions/type.json new file mode 100755 index 0000000000..2125a44430 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/openapi_additions/type.json @@ -0,0 +1,43 @@ +[ + { + "description": "array type matches arrays", + "schema": {"type": "array", "items": {}}, + "tests": [ + { + "description": "an integer is not an array", + "data": 1, + "valid": false + }, + { + "description": "a float is not an array", + "data": 1.1, + "valid": false + }, + { + "description": "a string is not an array", + "data": "foo", + "valid": false + }, + { + "description": "an object is not an array", + "data": {}, + "valid": false + }, + { + "description": "an array is an array", + "data": [], + "valid": true + }, + { + "description": "a boolean is not an array", + "data": true, + "valid": false + }, + { + "description": "null is not an array", + "data": null, + "valid": false + } + ] + } +] diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/spec_writer.py b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/spec_writer.py new file mode 100644 index 0000000000..d4cd2c5b7e --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/spec_writer.py @@ -0,0 +1,391 @@ +import dataclasses +import re +import json +import pathlib +import typing + +import yaml + +""" +This file ingests json schemas from +https://github.com/json-schema-org/JSON-Schema-Test-Suite/tree/main/tests +and writes those test schemas and test cases into a sample openapi spec document +That spec document can then be used to write clients or server stubs which +can contain autogenerated tests that use the json schema test cases + +The python-experimental client is the first user of this test spec. + +TODO: +- [DONE] load json file and write it into components/schemas +- [DONE] ensure that examples are being written there +- [DONE] add recursive casting of test examples to ObjectWithTypeBooleans +- [DONE] move processing to defaultCodegen +- [DONE] turn tests on +- add endpoints with those components in: +- request body +- response body +- all parameter types +- add main spec that uses type spec +""" + +@dataclasses.dataclass +class JsonSchemaTestCase: + description: str + data: typing.Union[str, int, float, bool, None, list, dict] + valid: bool + +JsonSchemaDict = typing.TypedDict( + 'JsonSchema', + { + 'additionalProperties': 'JsonSchema', + 'allOf': typing.List['JsonSchema'], + 'anyOf': typing.List['JsonSchema'], + 'default': typing.Any, + 'enum': typing.List[typing.Any], + 'exclusiveMaximum': typing.Union[int, float], + 'exclusiveMinimum': typing.Union[int, float], + 'format': str, + 'items': 'JsonSchema', + 'maximum': typing.Union[int, float], + 'maxItems': int, + 'maxLength': int, + 'maxProperties': int, + 'minimum': typing.Union[int, float], + 'minItems': int, + 'minLength': int, + 'minProperties': int, + 'multipleOf': typing.Union[int, float], + 'not': 'JsonSchema', + 'oneOf': typing.List['JsonSchema'], + 'pattern': str, + 'properties': typing.Dict[str, 'JsonSchema'], + '$ref': str, + 'required': typing.List[str], + 'type': str, + 'uniqueItems': bool, + }, + total=False +) + +JsonSchema = typing.Union['JsonSchemaDict', bool] + +@dataclasses.dataclass +class JsonSchemaTestSchema: + description: str + schema: JsonSchema + tests: typing.List[JsonSchemaTestCase] + comment: typing.Optional[str] = None + + +class ExclusionReason: + v303_does_not_support_array_of_types = 'v3.0.3 does not support type with array of values' + v303_requires_array_have_items = 'v3.0.3 requires that items MUST be present if the type is array' + v303_does_not_support_additionalItems = 'v3.0.3 does not support the additionalItems keyword' + v303_does_not_support_patternProperties = 'v3.0.3 does not support the patternProperties keyword' + v303_does_not_support_const = 'v3.0.3 does not support the const keyword' + v303_does_not_support_boolean_schemas_in_location = 'v3.0.3 does not support boolean schemas in location' + v303_does_not_support_contains = 'v3.0.3 does not support the contains keyword' + v303_does_not_support_definitions = 'v3.0.3 does not support the definitions keyword' + v303_does_not_support_dependencies = 'v3.0.3 does not support the dependencies keyword' + swagger_parser_enum_type_bug = "swagger-parser has a bug where schema type is incorrectly set for an enum, https://github.com/swagger-api/swagger-parser/issues/1761" + swagger_parser_validation_missing_bug = 'swagger-parser has a bug where validations are unset, https://github.com/swagger-api/swagger-parser/issues/1762' + swagger_parser_items_type_bug = "swagger-parser has a bug where schema type is incorrectly set with items, https://github.com/swagger-api/swagger-parser/issues/1763" + v303_does_not_support_id = 'v3.0.3 does not support the $id keyword' + v303_does_not_support_patternProperties = 'v3.0.3 does not support the patternProperties keyword' + v303_does_not_support_propertyNames = 'v3.0.3 does not support the propertyNames keyword' + v303_does_not_support_items_schema_array = 'v3.0.3 does not support an array of schemas for items' + swagger_parser_exception = 'swagger-parser threw and exception for this test case' + ref_location_not_the_same_for_json_and_openapi = 'the location referenced is not the same going from json schema to openapi' + ref_to_adjacent_property_bug = 'Refing an adjacent property does not work, issue at https://github.com/OpenAPITools/openapi-generator/issues/12729' + swagger_parser_anytype_bug = 'Swagger parser sets type incorrectly for this anyType schema https://github.com/swagger-api/swagger-parser/issues/1603' + component_ref_component_bug = 'A component refing another component does not work, issue at https://github.com/OpenAPITools/openapi-generator/issues/12730' + not_running_the_localhost_server = 'the openapo-generator is not running the localhost server needed to serve remoteRef files' + required_vars_missing_for_anytype_schema_bug = 'fails because of a bug where required vars are forgotten, see issue https://github.com/OpenAPITools/openapi-generator/issues/8906' + v303_requires_that_the_default_value_is_an_allowed_type = 'v3.0.3 requires that the default value is an allowed type per the schema' + not_ref_import_missing = 'this test fails because of this open issue https://github.com/OpenAPITools/openapi-generator/issues/12756' + +json_schema_test_draft = 'draft6' +openapi_additions = 'openapi_additions' + +FILEPATH_TO_EXCLUDED_CASE_AND_REASON = { + (json_schema_test_draft, 'default.json'): { + 'invalid type for default': ExclusionReason.v303_requires_that_the_default_value_is_an_allowed_type, + }, + (json_schema_test_draft, 'enum.json'): { + 'heterogeneous enum validation': ExclusionReason.swagger_parser_enum_type_bug, + 'heterogeneous enum-with-null validation': ExclusionReason.swagger_parser_enum_type_bug, + }, + (json_schema_test_draft, 'additionalProperties.json'): { + 'non-ASCII pattern with additionalProperties': ExclusionReason.v303_does_not_support_patternProperties, + 'additionalProperties being false does not allow other properties': ExclusionReason.v303_does_not_support_patternProperties, + }, + (json_schema_test_draft, 'items.json'): { + 'an array of schemas for items': ExclusionReason.v303_does_not_support_array_of_types, + 'items and subitems': ExclusionReason.v303_does_not_support_definitions, + 'items with boolean schema (true)': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + 'items with boolean schemas': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + 'items with boolean schema (false)': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + 'items with boolean schema (false)': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + 'a schema given for items': ExclusionReason.swagger_parser_items_type_bug, + }, + (json_schema_test_draft, 'not.json'): { + 'not with boolean schema true': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + 'not with boolean schema false': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + 'not multiple types': ExclusionReason.v303_does_not_support_array_of_types, + }, + (json_schema_test_draft, 'oneOf.json'): { + 'oneOf with missing optional property': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + }, + (json_schema_test_draft, 'properties.json'): { + 'properties, patternProperties, additionalProperties interaction': ExclusionReason.v303_does_not_support_patternProperties, + 'properties with boolean schema': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + }, + (json_schema_test_draft, 'ref.json'): { + 'relative refs with absolute uris and defs': ExclusionReason.v303_does_not_support_id, + '$ref prevents a sibling $id from changing the base uri': ExclusionReason.v303_does_not_support_id, + 'property named $ref, containing an actual $ref': ExclusionReason.v303_does_not_support_definitions, + 'naive replacement of $ref with its destination is not correct': ExclusionReason.v303_does_not_support_definitions, + 'relative pointer ref to array': ExclusionReason.v303_does_not_support_items_schema_array, + 'ref overrides any sibling keywords': ExclusionReason.v303_does_not_support_definitions, + 'Location-independent identifier with base URI change in subschema': ExclusionReason.v303_does_not_support_definitions, + 'escaped pointer ref': ExclusionReason.v303_does_not_support_definitions, + 'Location-independent identifier': ExclusionReason.v303_does_not_support_definitions, + 'refs with relative uris and defs': ExclusionReason.v303_does_not_support_id, + 'Recursive references between schemas': ExclusionReason.v303_does_not_support_definitions, + 'refs with quote': ExclusionReason.v303_does_not_support_definitions, + 'refs with quote': ExclusionReason.v303_does_not_support_definitions, + '$ref to boolean schema true': ExclusionReason.v303_does_not_support_definitions, + 'Recursive references between schemas': ExclusionReason.v303_does_not_support_id, + 'nested refs': ExclusionReason.v303_does_not_support_definitions, + '$ref to boolean schema false': ExclusionReason.v303_does_not_support_definitions, + 'remote ref, containing refs itself': ExclusionReason.swagger_parser_exception, + 'relative pointer ref to object': ExclusionReason.ref_location_not_the_same_for_json_and_openapi, + 'root pointer ref': ExclusionReason.ref_location_not_the_same_for_json_and_openapi, + }, + (openapi_additions, 'ref.json'): { + 'property refs adjacent property': ExclusionReason.ref_to_adjacent_property_bug, + 'property refs containing component schema': ExclusionReason.swagger_parser_anytype_bug, + 'component refs another component': ExclusionReason.component_ref_component_bug, + 'ref in not': ExclusionReason.not_ref_import_missing + }, + (json_schema_test_draft, 'refRemote.json'): { + 'base URI change - change folder': ExclusionReason.v303_does_not_support_id, + 'base URI change - change folder in subschema': ExclusionReason.v303_does_not_support_definitions, + 'remote ref with ref to definitions': ExclusionReason.v303_does_not_support_id, + 'root ref in remote ref': ExclusionReason.v303_does_not_support_id, + 'base URI change': ExclusionReason.v303_does_not_support_id, + 'remote ref': ExclusionReason.not_running_the_localhost_server, + 'fragment within remote ref': ExclusionReason.not_running_the_localhost_server, + 'ref within remote ref': ExclusionReason.not_running_the_localhost_server, + }, + (json_schema_test_draft, 'required.json'): { + 'required with escaped characters': ExclusionReason.required_vars_missing_for_anytype_schema_bug, + }, + (json_schema_test_draft, 'type.json'): { + 'multiple types can be specified in an array': ExclusionReason.v303_does_not_support_array_of_types, + 'type as array with one item': ExclusionReason.v303_does_not_support_array_of_types, + 'type: array or object': ExclusionReason.v303_does_not_support_array_of_types, + 'type: array, object or null': ExclusionReason.v303_does_not_support_array_of_types, + 'array type matches arrays': ExclusionReason.v303_requires_array_have_items, + }, + (json_schema_test_draft, 'uniqueItems.json'): { + 'uniqueItems with an array of items': ExclusionReason.v303_does_not_support_items_schema_array, + 'uniqueItems=false with an array of items': ExclusionReason.v303_does_not_support_items_schema_array, + 'uniqueItems with an array of items and additionalItems=false': ExclusionReason.v303_does_not_support_items_schema_array, + 'uniqueItems=false with an array of items and additionalItems=false': ExclusionReason.v303_does_not_support_items_schema_array, + }, +} +FILEPATH_TO_EXCLUDE_REASON = { + (json_schema_test_draft, 'additionalItems.json'): ExclusionReason.v303_does_not_support_additionalItems, + (json_schema_test_draft, 'const.json'): ExclusionReason.v303_does_not_support_const, + (json_schema_test_draft, 'boolean_schema.json'): ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + (json_schema_test_draft, 'contains.json'): ExclusionReason.v303_does_not_support_contains, + (json_schema_test_draft, 'definitions.json'): ExclusionReason.v303_does_not_support_definitions, + (json_schema_test_draft, 'dependencies.json'): ExclusionReason.v303_does_not_support_dependencies, + (json_schema_test_draft, 'exclusiveMaximum.json'): ExclusionReason.swagger_parser_validation_missing_bug, + (json_schema_test_draft, 'exclusiveMinimum.json'): ExclusionReason.swagger_parser_validation_missing_bug, + (json_schema_test_draft, 'id.json'): ExclusionReason.v303_does_not_support_id, + (json_schema_test_draft, 'patternProperties.json'): ExclusionReason.v303_does_not_support_patternProperties, + (json_schema_test_draft, 'propertyNames.json'): ExclusionReason.v303_does_not_support_propertyNames, + (json_schema_test_draft, 'unknownKeyword.json'): ExclusionReason.v303_does_not_support_definitions, +} + +JSON_SCHEMA_TEST_FILE_TO_FOLDERS = { + 'additionalItems.json': (json_schema_test_draft,), + 'additionalProperties.json': (json_schema_test_draft,), +# 'allOf.json': (json_schema_test_draft,), # activate later after fixing composition processing +# 'anyOf.json': (json_schema_test_draft,), # activate later after fixing composition processing + 'boolean_schema.json': (json_schema_test_draft,), + 'const.json': (json_schema_test_draft,), + 'contains.json': (json_schema_test_draft,), + 'default.json': (json_schema_test_draft,), + 'definitions.json': (json_schema_test_draft,), + 'dependencies.json': (json_schema_test_draft,), + 'enum.json': (json_schema_test_draft,), + 'exclusiveMaximum.json': (json_schema_test_draft,), + 'exclusiveMinimum.json': (json_schema_test_draft,), + 'format.json': (json_schema_test_draft,), + 'id.json': (json_schema_test_draft,), +# 'infinite-loop-detection.json': (json_schema_test_draft,), # activate after fixing this + 'items.json': (json_schema_test_draft,), + 'maximum.json': (json_schema_test_draft,), + 'maxItems.json': (json_schema_test_draft,), + 'maxLength.json': (json_schema_test_draft,), + 'maxProperties.json': (json_schema_test_draft,), + 'minimum.json': (json_schema_test_draft,), + 'minItems.json': (json_schema_test_draft,), + 'minLength.json': (json_schema_test_draft,), + 'minProperties.json': (json_schema_test_draft,), + 'multipleOf.json': (json_schema_test_draft,), + 'not.json': (json_schema_test_draft,), +# 'oneOf.json': (json_schema_test_draft,), # activate after fixing this + 'pattern.json': (json_schema_test_draft,), + 'patternProperties.json': (json_schema_test_draft,), + 'properties.json': (json_schema_test_draft,), + 'propertyNames.json': (json_schema_test_draft,), + 'ref.json': (json_schema_test_draft, openapi_additions), + 'refRemote.json': (json_schema_test_draft,), + 'required.json': (json_schema_test_draft,), + 'type.json': (json_schema_test_draft, openapi_additions), + 'uniqueItems.json': (json_schema_test_draft,), + 'unknownKeyword.json': (json_schema_test_draft,), +} + +def get_json_schema_test_schemas(file_path: typing.Tuple[str]) -> typing.List[JsonSchemaTestSchema]: + json_schema_test_schemas = [] + filename = file_path[-1] + exclude_file_reason = FILEPATH_TO_EXCLUDE_REASON.get(file_path) + if exclude_file_reason: + print(f'Excluding {file_path} because {exclude_file_reason}') + return + excluded_case_to_reason = FILEPATH_TO_EXCLUDED_CASE_AND_REASON.get(file_path, {}) + path = pathlib.PurePath(*file_path) + with open(path) as json_file: + test_schema_dicts = json.load(json_file) + for test_schema_dict in test_schema_dicts: + test_schema_dict['tests'] = [JsonSchemaTestCase(**t) for t in test_schema_dict['tests']] + json_schema_test_schema = JsonSchemaTestSchema(**test_schema_dict) + test_case_desc = json_schema_test_schema.description + excluded_reason = excluded_case_to_reason.get(test_case_desc) + if excluded_reason: + print(f'Excluding {test_case_desc} because {excluded_reason}') + continue + + json_schema_test_schemas.append(json_schema_test_schema) + + return json_schema_test_schemas + +openapi_version = '3.0.3' + + +@dataclasses.dataclass +class OpenApiDocumentInfo: + title: str + description: str + version: str + +OpenApiSchema = typing.TypedDict( + 'OpenApiSchema', + { + 'type': str, + 'x-test-examples': typing.Dict[str, JsonSchemaTestCase], + 'items': 'OpenApiSchema', + 'properties': typing.Dict[str, 'OpenApiSchema'] + } +) + +@dataclasses.dataclass +class OpenApiExample: + description: str + value: typing.Union[str, int, float, bool, None, list, dict] + +OpenApiComponents = typing.TypedDict( + 'OpenApiComponents', + { + 'schemas': typing.Dict[str, typing.Union[bool, OpenApiSchema]], + 'x-schema-test-examples': typing.Dict[str, typing.Dict[str, JsonSchemaTestCase]] + } +) + +@dataclasses.dataclass +class OpenApiDocument: + openapi: str + info: OpenApiDocumentInfo + paths: typing.Dict[str, typing.Any] + components: OpenApiComponents + + +def get_new_openapi() -> OpenApiDocument: + return OpenApiDocument( + openapi=openapi_version, + info=OpenApiDocumentInfo( + title=f"openapi {openapi_version} sample spec", + description=f"sample spec for testing openapi functionality, built from json schema tests for {json_schema_test_draft}", + version="0.0.1" + ), + paths={}, + components=OpenApiComponents({ + 'schemas': {}, + 'x-schema-test-examples': {} + }) + ) + +def description_to_component_name(descr: str) -> str: + res = ''.join(descr.title().split()) + return re.sub(r'[^A-Za-z0-9 ]+', '', res) + +def get_test_case_name(test: JsonSchemaTestSchema) -> str: + res = ''.join(test.description.title().split()) + return re.sub(r'[^A-Za-z0-9 ]+', '', res) + +def get_component_schemas_and_test_examples(json_schema_test_file: str, folders: typing.Tuple[str]) -> typing.Dict[str, OpenApiSchema]: + component_schemas = {} + component_name_to_test_examples = {} + for folder in folders: + file_path_tuple = (folder, json_schema_test_file) + test_schemas = get_json_schema_test_schemas(file_path_tuple) + if not test_schemas: + continue + for test_schema in test_schemas: + component_name = description_to_component_name(test_schema.description) + if isinstance(test_schema.schema, bool): + component_schemas[component_name] = test_schema.schema + else: + component_schemas[component_name] = OpenApiSchema(**test_schema.schema) + for test in test_schema.tests: + if component_name not in component_name_to_test_examples: + component_name_to_test_examples[component_name] = {} + test_case_name = get_test_case_name(test) + component_name_to_test_examples[component_name][test_case_name] = test + return component_schemas, component_name_to_test_examples + +def write_openapi_spec(): + openapi = get_new_openapi() + for json_schema_test_file, folders in JSON_SCHEMA_TEST_FILE_TO_FOLDERS.items(): + component_schemas, component_name_to_test_examples = ( + get_component_schemas_and_test_examples(json_schema_test_file, folders) + ) + for component_name, schema in component_schemas.items(): + if component_name in openapi.components['schemas']: + raise ValueError('A component schema with that name is already defined!') + openapi.components['schemas'][component_name] = schema + for component_name, test_examples in component_name_to_test_examples.items(): + if component_name in openapi.components['x-schema-test-examples']: + raise ValueError('A component schema test example map with that name is already defined!') + openapi.components['x-schema-test-examples'][component_name] = test_examples + print( + yaml.dump( + dataclasses.asdict(openapi), + sort_keys=False + ) + ) + spec_out = '3_0_3_unit_test_spec.yaml' + with open(spec_out, 'w') as yaml_out: + yaml_out.write( + yaml.dump( + dataclasses.asdict(openapi), + sort_keys=False + ) + ) + +write_openapi_spec() \ No newline at end of file diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/.gitignore b/samples/openapi3/client/3_0_3_unit_test/python-experimental/.gitignore new file mode 100644 index 0000000000..a62e8aba43 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/.gitignore @@ -0,0 +1,67 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt +dev-requirements.txt.log + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ +venv/ +.venv/ +.python-version +.pytest_cache + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +#Ipython Notebook +.ipynb_checkpoints diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/.gitlab-ci.yml b/samples/openapi3/client/3_0_3_unit_test/python-experimental/.gitlab-ci.yml new file mode 100644 index 0000000000..22e33bfaa2 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/.gitlab-ci.yml @@ -0,0 +1,24 @@ +# ref: https://docs.gitlab.com/ee/ci/README.html + +stages: + - test + +.tests: + stage: test + script: + - pip install -r requirements.txt + - pip install -r test-requirements.txt + - pytest --cov=unit_test_api + +test-3.5: + extends: .tests + image: python:3.5-alpine +test-3.6: + extends: .tests + image: python:3.6-alpine +test-3.7: + extends: .tests + image: python:3.7-alpine +test-3.8: + extends: .tests + image: python:3.8-alpine diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator-ignore b/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator-ignore new file mode 100644 index 0000000000..7484ee590a --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/FILES b/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/FILES new file mode 100644 index 0000000000..9d9faaf0c3 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/FILES @@ -0,0 +1,213 @@ +.gitignore +.gitlab-ci.yml +.travis.yml +README.md +docs/AdditionalpropertiesAllowsASchemaWhichShouldValidate.md +docs/AdditionalpropertiesAreAllowedByDefault.md +docs/AdditionalpropertiesCanExistByItself.md +docs/AdditionalpropertiesShouldNotLookInApplicators.md +docs/ArrayTypeMatchesArrays.md +docs/BooleanTypeMatchesBooleans.md +docs/ByInt.md +docs/ByNumber.md +docs/BySmallNumber.md +docs/DateTimeFormat.md +docs/EmailFormat.md +docs/EnumWith0DoesNotMatchFalse.md +docs/EnumWith1DoesNotMatchTrue.md +docs/EnumWithEscapedCharacters.md +docs/EnumWithFalseDoesNotMatch0.md +docs/EnumWithTrueDoesNotMatch1.md +docs/EnumsInProperties.md +docs/ForbiddenProperty.md +docs/HostnameFormat.md +docs/IntegerTypeMatchesIntegers.md +docs/InvalidInstanceShouldNotRaiseErrorWhenFloatDivisionInf.md +docs/InvalidStringValueForDefault.md +docs/Ipv4Format.md +docs/Ipv6Format.md +docs/JsonPointerFormat.md +docs/MaximumValidation.md +docs/MaximumValidationWithUnsignedInteger.md +docs/MaxitemsValidation.md +docs/MaxlengthValidation.md +docs/Maxproperties0MeansTheObjectIsEmpty.md +docs/MaxpropertiesValidation.md +docs/MinimumValidation.md +docs/MinimumValidationWithSignedInteger.md +docs/MinitemsValidation.md +docs/MinlengthValidation.md +docs/MinpropertiesValidation.md +docs/ModelNot.md +docs/NestedItems.md +docs/NotMoreComplexSchema.md +docs/NulCharactersInStrings.md +docs/NullTypeMatchesOnlyTheNullObject.md +docs/NumberTypeMatchesNumbers.md +docs/ObjectPropertiesValidation.md +docs/PatternIsNotAnchored.md +docs/PatternValidation.md +docs/PropertiesWithEscapedCharacters.md +docs/PropertyNamedRefThatIsNotAReference.md +docs/RefInAdditionalproperties.md +docs/RefInAllof.md +docs/RefInAnyof.md +docs/RefInItems.md +docs/RefInOneof.md +docs/RefInProperty.md +docs/RequiredDefaultValidation.md +docs/RequiredValidation.md +docs/RequiredWithEmptyArray.md +docs/SimpleEnumValidation.md +docs/StringTypeMatchesStrings.md +docs/TheDefaultKeywordDoesNotDoAnythingIfThePropertyIsMissing.md +docs/UniqueitemsFalseValidation.md +docs/UniqueitemsValidation.md +docs/UriFormat.md +docs/UriReferenceFormat.md +docs/UriTemplateFormat.md +git_push.sh +requirements.txt +setup.cfg +setup.py +test-requirements.txt +test/__init__.py +test/test_additionalproperties_allows_a_schema_which_should_validate.py +test/test_additionalproperties_are_allowed_by_default.py +test/test_additionalproperties_can_exist_by_itself.py +test/test_additionalproperties_should_not_look_in_applicators.py +test/test_array_type_matches_arrays.py +test/test_boolean_type_matches_booleans.py +test/test_by_int.py +test/test_by_number.py +test/test_by_small_number.py +test/test_date_time_format.py +test/test_email_format.py +test/test_enum_with0_does_not_match_false.py +test/test_enum_with1_does_not_match_true.py +test/test_enum_with_escaped_characters.py +test/test_enum_with_false_does_not_match0.py +test/test_enum_with_true_does_not_match1.py +test/test_enums_in_properties.py +test/test_forbidden_property.py +test/test_hostname_format.py +test/test_integer_type_matches_integers.py +test/test_invalid_instance_should_not_raise_error_when_float_division_inf.py +test/test_invalid_string_value_for_default.py +test/test_ipv4_format.py +test/test_ipv6_format.py +test/test_json_pointer_format.py +test/test_maximum_validation.py +test/test_maximum_validation_with_unsigned_integer.py +test/test_maxitems_validation.py +test/test_maxlength_validation.py +test/test_maxproperties0_means_the_object_is_empty.py +test/test_maxproperties_validation.py +test/test_minimum_validation.py +test/test_minimum_validation_with_signed_integer.py +test/test_minitems_validation.py +test/test_minlength_validation.py +test/test_minproperties_validation.py +test/test_model_not.py +test/test_nested_items.py +test/test_not_more_complex_schema.py +test/test_nul_characters_in_strings.py +test/test_null_type_matches_only_the_null_object.py +test/test_number_type_matches_numbers.py +test/test_object_properties_validation.py +test/test_pattern_is_not_anchored.py +test/test_pattern_validation.py +test/test_properties_with_escaped_characters.py +test/test_property_named_ref_that_is_not_a_reference.py +test/test_ref_in_additionalproperties.py +test/test_ref_in_allof.py +test/test_ref_in_anyof.py +test/test_ref_in_items.py +test/test_ref_in_oneof.py +test/test_ref_in_property.py +test/test_required_default_validation.py +test/test_required_validation.py +test/test_required_with_empty_array.py +test/test_simple_enum_validation.py +test/test_string_type_matches_strings.py +test/test_the_default_keyword_does_not_do_anything_if_the_property_is_missing.py +test/test_uniqueitems_false_validation.py +test/test_uniqueitems_validation.py +test/test_uri_format.py +test/test_uri_reference_format.py +test/test_uri_template_format.py +tox.ini +unit_test_api/__init__.py +unit_test_api/api/__init__.py +unit_test_api/api_client.py +unit_test_api/apis/__init__.py +unit_test_api/configuration.py +unit_test_api/exceptions.py +unit_test_api/model/__init__.py +unit_test_api/model/additionalproperties_allows_a_schema_which_should_validate.py +unit_test_api/model/additionalproperties_are_allowed_by_default.py +unit_test_api/model/additionalproperties_can_exist_by_itself.py +unit_test_api/model/additionalproperties_should_not_look_in_applicators.py +unit_test_api/model/array_type_matches_arrays.py +unit_test_api/model/boolean_type_matches_booleans.py +unit_test_api/model/by_int.py +unit_test_api/model/by_number.py +unit_test_api/model/by_small_number.py +unit_test_api/model/date_time_format.py +unit_test_api/model/email_format.py +unit_test_api/model/enum_with0_does_not_match_false.py +unit_test_api/model/enum_with1_does_not_match_true.py +unit_test_api/model/enum_with_escaped_characters.py +unit_test_api/model/enum_with_false_does_not_match0.py +unit_test_api/model/enum_with_true_does_not_match1.py +unit_test_api/model/enums_in_properties.py +unit_test_api/model/forbidden_property.py +unit_test_api/model/hostname_format.py +unit_test_api/model/integer_type_matches_integers.py +unit_test_api/model/invalid_instance_should_not_raise_error_when_float_division_inf.py +unit_test_api/model/invalid_string_value_for_default.py +unit_test_api/model/ipv4_format.py +unit_test_api/model/ipv6_format.py +unit_test_api/model/json_pointer_format.py +unit_test_api/model/maximum_validation.py +unit_test_api/model/maximum_validation_with_unsigned_integer.py +unit_test_api/model/maxitems_validation.py +unit_test_api/model/maxlength_validation.py +unit_test_api/model/maxproperties0_means_the_object_is_empty.py +unit_test_api/model/maxproperties_validation.py +unit_test_api/model/minimum_validation.py +unit_test_api/model/minimum_validation_with_signed_integer.py +unit_test_api/model/minitems_validation.py +unit_test_api/model/minlength_validation.py +unit_test_api/model/minproperties_validation.py +unit_test_api/model/model_not.py +unit_test_api/model/nested_items.py +unit_test_api/model/not_more_complex_schema.py +unit_test_api/model/nul_characters_in_strings.py +unit_test_api/model/null_type_matches_only_the_null_object.py +unit_test_api/model/number_type_matches_numbers.py +unit_test_api/model/object_properties_validation.py +unit_test_api/model/pattern_is_not_anchored.py +unit_test_api/model/pattern_validation.py +unit_test_api/model/properties_with_escaped_characters.py +unit_test_api/model/property_named_ref_that_is_not_a_reference.py +unit_test_api/model/ref_in_additionalproperties.py +unit_test_api/model/ref_in_allof.py +unit_test_api/model/ref_in_anyof.py +unit_test_api/model/ref_in_items.py +unit_test_api/model/ref_in_oneof.py +unit_test_api/model/ref_in_property.py +unit_test_api/model/required_default_validation.py +unit_test_api/model/required_validation.py +unit_test_api/model/required_with_empty_array.py +unit_test_api/model/simple_enum_validation.py +unit_test_api/model/string_type_matches_strings.py +unit_test_api/model/the_default_keyword_does_not_do_anything_if_the_property_is_missing.py +unit_test_api/model/uniqueitems_false_validation.py +unit_test_api/model/uniqueitems_validation.py +unit_test_api/model/uri_format.py +unit_test_api/model/uri_reference_format.py +unit_test_api/model/uri_template_format.py +unit_test_api/models/__init__.py +unit_test_api/rest.py +unit_test_api/schemas.py diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/VERSION b/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/VERSION new file mode 100644 index 0000000000..89648de331 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/VERSION @@ -0,0 +1 @@ +6.0.1-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/.travis.yml b/samples/openapi3/client/3_0_3_unit_test/python-experimental/.travis.yml new file mode 100644 index 0000000000..a0d79cf14a --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/.travis.yml @@ -0,0 +1,13 @@ +# ref: https://docs.travis-ci.com/user/languages/python +language: python +python: + - "3.5" + - "3.6" + - "3.7" + - "3.8" +# command to install dependencies +install: + - "pip install -r requirements.txt" + - "pip install -r test-requirements.txt" +# command to run tests +script: pytest --cov=unit_test_api diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/Makefile b/samples/openapi3/client/3_0_3_unit_test/python-experimental/Makefile new file mode 100644 index 0000000000..863c380ebe --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/Makefile @@ -0,0 +1,16 @@ +REQUIREMENTS_FILE=dev-requirements.txt +REQUIREMENTS_OUT=dev-requirements.txt.log +SETUP_OUT=*.egg-info +VENV=venv + +clean: + rm -rf $(REQUIREMENTS_OUT) + rm -rf $(SETUP_OUT) + rm -rf $(VENV) + rm -rf .tox + rm -rf .coverage + find . -name "*.py[oc]" -delete + find . -name "__pycache__" -delete + +test: clean + bash ./test_python.sh \ No newline at end of file diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/README.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/README.md new file mode 100644 index 0000000000..a5feaa4ef0 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/README.md @@ -0,0 +1,154 @@ +# unit-test-api +sample spec for testing openapi functionality, built from json schema tests for draft6 + +This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: + +- API version: 0.0.1 +- Package version: 1.0.0 +- Build package: org.openapitools.codegen.languages.PythonExperimentalClientCodegen + +## Requirements. + +Python >=3.9 +v3.9 is needed so one can combine classmethod and property decorators to define +object schema properties as classes + +## Installation & Usage +### pip install + +If the python package is hosted on a repository, you can install directly using: + +```sh +pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git +``` +(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git`) + +Then import the package: +```python +import unit_test_api +``` + +### Setuptools + +Install via [Setuptools](http://pypi.python.org/pypi/setuptools). + +```sh +python setup.py install --user +``` +(or `sudo python setup.py install` to install the package for all users) + +Then import the package: +```python +import unit_test_api +``` + +## Getting Started + +Please follow the [installation procedure](#installation--usage) and then run the following: + +```python + +import time +import unit_test_api +from pprint import pprint +``` + +## Documentation for API Endpoints + +All URIs are relative to *http://localhost* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- + +## Documentation For Models + + - [AdditionalpropertiesAllowsASchemaWhichShouldValidate](docs/AdditionalpropertiesAllowsASchemaWhichShouldValidate.md) + - [AdditionalpropertiesAreAllowedByDefault](docs/AdditionalpropertiesAreAllowedByDefault.md) + - [AdditionalpropertiesCanExistByItself](docs/AdditionalpropertiesCanExistByItself.md) + - [AdditionalpropertiesShouldNotLookInApplicators](docs/AdditionalpropertiesShouldNotLookInApplicators.md) + - [ArrayTypeMatchesArrays](docs/ArrayTypeMatchesArrays.md) + - [BooleanTypeMatchesBooleans](docs/BooleanTypeMatchesBooleans.md) + - [ByInt](docs/ByInt.md) + - [ByNumber](docs/ByNumber.md) + - [BySmallNumber](docs/BySmallNumber.md) + - [DateTimeFormat](docs/DateTimeFormat.md) + - [EmailFormat](docs/EmailFormat.md) + - [EnumWith0DoesNotMatchFalse](docs/EnumWith0DoesNotMatchFalse.md) + - [EnumWith1DoesNotMatchTrue](docs/EnumWith1DoesNotMatchTrue.md) + - [EnumWithEscapedCharacters](docs/EnumWithEscapedCharacters.md) + - [EnumWithFalseDoesNotMatch0](docs/EnumWithFalseDoesNotMatch0.md) + - [EnumWithTrueDoesNotMatch1](docs/EnumWithTrueDoesNotMatch1.md) + - [EnumsInProperties](docs/EnumsInProperties.md) + - [ForbiddenProperty](docs/ForbiddenProperty.md) + - [HostnameFormat](docs/HostnameFormat.md) + - [IntegerTypeMatchesIntegers](docs/IntegerTypeMatchesIntegers.md) + - [InvalidInstanceShouldNotRaiseErrorWhenFloatDivisionInf](docs/InvalidInstanceShouldNotRaiseErrorWhenFloatDivisionInf.md) + - [InvalidStringValueForDefault](docs/InvalidStringValueForDefault.md) + - [Ipv4Format](docs/Ipv4Format.md) + - [Ipv6Format](docs/Ipv6Format.md) + - [JsonPointerFormat](docs/JsonPointerFormat.md) + - [MaximumValidation](docs/MaximumValidation.md) + - [MaximumValidationWithUnsignedInteger](docs/MaximumValidationWithUnsignedInteger.md) + - [MaxitemsValidation](docs/MaxitemsValidation.md) + - [MaxlengthValidation](docs/MaxlengthValidation.md) + - [Maxproperties0MeansTheObjectIsEmpty](docs/Maxproperties0MeansTheObjectIsEmpty.md) + - [MaxpropertiesValidation](docs/MaxpropertiesValidation.md) + - [MinimumValidation](docs/MinimumValidation.md) + - [MinimumValidationWithSignedInteger](docs/MinimumValidationWithSignedInteger.md) + - [MinitemsValidation](docs/MinitemsValidation.md) + - [MinlengthValidation](docs/MinlengthValidation.md) + - [MinpropertiesValidation](docs/MinpropertiesValidation.md) + - [ModelNot](docs/ModelNot.md) + - [NestedItems](docs/NestedItems.md) + - [NotMoreComplexSchema](docs/NotMoreComplexSchema.md) + - [NulCharactersInStrings](docs/NulCharactersInStrings.md) + - [NullTypeMatchesOnlyTheNullObject](docs/NullTypeMatchesOnlyTheNullObject.md) + - [NumberTypeMatchesNumbers](docs/NumberTypeMatchesNumbers.md) + - [ObjectPropertiesValidation](docs/ObjectPropertiesValidation.md) + - [PatternIsNotAnchored](docs/PatternIsNotAnchored.md) + - [PatternValidation](docs/PatternValidation.md) + - [PropertiesWithEscapedCharacters](docs/PropertiesWithEscapedCharacters.md) + - [PropertyNamedRefThatIsNotAReference](docs/PropertyNamedRefThatIsNotAReference.md) + - [RefInAdditionalproperties](docs/RefInAdditionalproperties.md) + - [RefInAllof](docs/RefInAllof.md) + - [RefInAnyof](docs/RefInAnyof.md) + - [RefInItems](docs/RefInItems.md) + - [RefInOneof](docs/RefInOneof.md) + - [RefInProperty](docs/RefInProperty.md) + - [RequiredDefaultValidation](docs/RequiredDefaultValidation.md) + - [RequiredValidation](docs/RequiredValidation.md) + - [RequiredWithEmptyArray](docs/RequiredWithEmptyArray.md) + - [SimpleEnumValidation](docs/SimpleEnumValidation.md) + - [StringTypeMatchesStrings](docs/StringTypeMatchesStrings.md) + - [TheDefaultKeywordDoesNotDoAnythingIfThePropertyIsMissing](docs/TheDefaultKeywordDoesNotDoAnythingIfThePropertyIsMissing.md) + - [UniqueitemsFalseValidation](docs/UniqueitemsFalseValidation.md) + - [UniqueitemsValidation](docs/UniqueitemsValidation.md) + - [UriFormat](docs/UriFormat.md) + - [UriReferenceFormat](docs/UriReferenceFormat.md) + - [UriTemplateFormat](docs/UriTemplateFormat.md) + +## Documentation For Authorization + + All endpoints do not require authorization. + +## Author + + +## Notes for Large OpenAPI documents +If the OpenAPI document is large, imports in unit_test_api.apis and unit_test_api.models may fail with a +RecursionError indicating the maximum recursion limit has been exceeded. In that case, there are a couple of solutions: + +Solution 1: +Use specific imports for apis and models like: +- `from unit_test_api.api.default_api import DefaultApi` +- `from unit_test_api.model.pet import Pet` + +Solution 1: +Before importing the package, adjust the maximum recursion limit as shown below: +``` +import sys +sys.setrecursionlimit(1500) +import unit_test_api +from unit_test_api.apis import * +from unit_test_api.models import * +``` diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/dev-requirements.txt b/samples/openapi3/client/3_0_3_unit_test/python-experimental/dev-requirements.txt new file mode 100644 index 0000000000..ccdfca6294 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/dev-requirements.txt @@ -0,0 +1,2 @@ +tox +flake8 diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AdditionalpropertiesAllowsASchemaWhichShouldValidate.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AdditionalpropertiesAllowsASchemaWhichShouldValidate.md new file mode 100644 index 0000000000..d9981bf45a --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AdditionalpropertiesAllowsASchemaWhichShouldValidate.md @@ -0,0 +1,11 @@ +# AdditionalpropertiesAllowsASchemaWhichShouldValidate + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**foo** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] +**bar** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] +**any string name** | **bool** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AdditionalpropertiesAreAllowedByDefault.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AdditionalpropertiesAreAllowedByDefault.md new file mode 100644 index 0000000000..d5e7d2747e --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AdditionalpropertiesAreAllowedByDefault.md @@ -0,0 +1,11 @@ +# AdditionalpropertiesAreAllowedByDefault + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**foo** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] +**bar** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AdditionalpropertiesCanExistByItself.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AdditionalpropertiesCanExistByItself.md new file mode 100644 index 0000000000..72b091b888 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AdditionalpropertiesCanExistByItself.md @@ -0,0 +1,9 @@ +# AdditionalpropertiesCanExistByItself + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AdditionalpropertiesShouldNotLookInApplicators.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AdditionalpropertiesShouldNotLookInApplicators.md new file mode 100644 index 0000000000..31efeb974b --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AdditionalpropertiesShouldNotLookInApplicators.md @@ -0,0 +1,9 @@ +# AdditionalpropertiesShouldNotLookInApplicators + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ArrayTypeMatchesArrays.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ArrayTypeMatchesArrays.md new file mode 100644 index 0000000000..bf72f2c35b --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ArrayTypeMatchesArrays.md @@ -0,0 +1,8 @@ +# ArrayTypeMatchesArrays + +Type | Description | Notes +------------- | ------------- | ------------- +**[bool, date, datetime, dict, float, int, list, str, none_type]** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/BooleanTypeMatchesBooleans.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/BooleanTypeMatchesBooleans.md new file mode 100644 index 0000000000..fa68a60fd2 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/BooleanTypeMatchesBooleans.md @@ -0,0 +1,8 @@ +# BooleanTypeMatchesBooleans + +Type | Description | Notes +------------- | ------------- | ------------- +**bool** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ByInt.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ByInt.md new file mode 100644 index 0000000000..7e089ed79b --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ByInt.md @@ -0,0 +1,9 @@ +# ByInt + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ByNumber.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ByNumber.md new file mode 100644 index 0000000000..8c272d66b6 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ByNumber.md @@ -0,0 +1,9 @@ +# ByNumber + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/BySmallNumber.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/BySmallNumber.md new file mode 100644 index 0000000000..3671c33f9c --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/BySmallNumber.md @@ -0,0 +1,9 @@ +# BySmallNumber + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/DateTimeFormat.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/DateTimeFormat.md new file mode 100644 index 0000000000..308c3ad9e3 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/DateTimeFormat.md @@ -0,0 +1,9 @@ +# DateTimeFormat + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EmailFormat.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EmailFormat.md new file mode 100644 index 0000000000..25144b9cf4 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EmailFormat.md @@ -0,0 +1,9 @@ +# EmailFormat + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWith0DoesNotMatchFalse.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWith0DoesNotMatchFalse.md new file mode 100644 index 0000000000..d5a6a18701 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWith0DoesNotMatchFalse.md @@ -0,0 +1,8 @@ +# EnumWith0DoesNotMatchFalse + +Type | Description | Notes +------------- | ------------- | ------------- +**float** | | must be one of [0, ] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWith1DoesNotMatchTrue.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWith1DoesNotMatchTrue.md new file mode 100644 index 0000000000..302b358dc6 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWith1DoesNotMatchTrue.md @@ -0,0 +1,8 @@ +# EnumWith1DoesNotMatchTrue + +Type | Description | Notes +------------- | ------------- | ------------- +**float** | | must be one of [1, ] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithEscapedCharacters.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithEscapedCharacters.md new file mode 100644 index 0000000000..df7d014c64 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithEscapedCharacters.md @@ -0,0 +1,8 @@ +# EnumWithEscapedCharacters + +Type | Description | Notes +------------- | ------------- | ------------- +**str** | | must be one of ["foo\nbar", "foo\rbar", ] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithFalseDoesNotMatch0.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithFalseDoesNotMatch0.md new file mode 100644 index 0000000000..f1cef96144 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithFalseDoesNotMatch0.md @@ -0,0 +1,8 @@ +# EnumWithFalseDoesNotMatch0 + +Type | Description | Notes +------------- | ------------- | ------------- +**bool** | | must be one of [False, ] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithTrueDoesNotMatch1.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithTrueDoesNotMatch1.md new file mode 100644 index 0000000000..09723bcb68 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithTrueDoesNotMatch1.md @@ -0,0 +1,8 @@ +# EnumWithTrueDoesNotMatch1 + +Type | Description | Notes +------------- | ------------- | ------------- +**bool** | | must be one of [True, ] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumsInProperties.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumsInProperties.md new file mode 100644 index 0000000000..7b058dabb4 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumsInProperties.md @@ -0,0 +1,11 @@ +# EnumsInProperties + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**foo** | **str** | | [optional] +**bar** | **str** | | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ForbiddenProperty.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ForbiddenProperty.md new file mode 100644 index 0000000000..acb9f23b22 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ForbiddenProperty.md @@ -0,0 +1,10 @@ +# ForbiddenProperty + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**foo** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/HostnameFormat.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/HostnameFormat.md new file mode 100644 index 0000000000..abe7728baa --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/HostnameFormat.md @@ -0,0 +1,9 @@ +# HostnameFormat + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/IntegerTypeMatchesIntegers.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/IntegerTypeMatchesIntegers.md new file mode 100644 index 0000000000..141e17fd9a --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/IntegerTypeMatchesIntegers.md @@ -0,0 +1,8 @@ +# IntegerTypeMatchesIntegers + +Type | Description | Notes +------------- | ------------- | ------------- +**int** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/InvalidInstanceShouldNotRaiseErrorWhenFloatDivisionInf.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/InvalidInstanceShouldNotRaiseErrorWhenFloatDivisionInf.md new file mode 100644 index 0000000000..9acc3f6353 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/InvalidInstanceShouldNotRaiseErrorWhenFloatDivisionInf.md @@ -0,0 +1,8 @@ +# InvalidInstanceShouldNotRaiseErrorWhenFloatDivisionInf + +Type | Description | Notes +------------- | ------------- | ------------- +**int** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/InvalidStringValueForDefault.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/InvalidStringValueForDefault.md new file mode 100644 index 0000000000..ae12943813 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/InvalidStringValueForDefault.md @@ -0,0 +1,10 @@ +# InvalidStringValueForDefault + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bar** | **str** | | [optional] if omitted the server will use the default value of "bad" +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Ipv4Format.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Ipv4Format.md new file mode 100644 index 0000000000..545514e2b8 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Ipv4Format.md @@ -0,0 +1,9 @@ +# Ipv4Format + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Ipv6Format.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Ipv6Format.md new file mode 100644 index 0000000000..84f13f968a --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Ipv6Format.md @@ -0,0 +1,9 @@ +# Ipv6Format + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/JsonPointerFormat.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/JsonPointerFormat.md new file mode 100644 index 0000000000..be35740ae6 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/JsonPointerFormat.md @@ -0,0 +1,9 @@ +# JsonPointerFormat + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaximumValidation.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaximumValidation.md new file mode 100644 index 0000000000..2060e3a0d4 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaximumValidation.md @@ -0,0 +1,9 @@ +# MaximumValidation + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaximumValidationWithUnsignedInteger.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaximumValidationWithUnsignedInteger.md new file mode 100644 index 0000000000..9a20b4b7bc --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaximumValidationWithUnsignedInteger.md @@ -0,0 +1,9 @@ +# MaximumValidationWithUnsignedInteger + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaxitemsValidation.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaxitemsValidation.md new file mode 100644 index 0000000000..8c60872ae0 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaxitemsValidation.md @@ -0,0 +1,9 @@ +# MaxitemsValidation + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaxlengthValidation.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaxlengthValidation.md new file mode 100644 index 0000000000..0f9d27bd44 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaxlengthValidation.md @@ -0,0 +1,9 @@ +# MaxlengthValidation + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Maxproperties0MeansTheObjectIsEmpty.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Maxproperties0MeansTheObjectIsEmpty.md new file mode 100644 index 0000000000..ed97994d65 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Maxproperties0MeansTheObjectIsEmpty.md @@ -0,0 +1,9 @@ +# Maxproperties0MeansTheObjectIsEmpty + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaxpropertiesValidation.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaxpropertiesValidation.md new file mode 100644 index 0000000000..d92c1f77f9 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MaxpropertiesValidation.md @@ -0,0 +1,9 @@ +# MaxpropertiesValidation + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinimumValidation.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinimumValidation.md new file mode 100644 index 0000000000..0a787d59fe --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinimumValidation.md @@ -0,0 +1,9 @@ +# MinimumValidation + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinimumValidationWithSignedInteger.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinimumValidationWithSignedInteger.md new file mode 100644 index 0000000000..e43ddb8171 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinimumValidationWithSignedInteger.md @@ -0,0 +1,9 @@ +# MinimumValidationWithSignedInteger + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinitemsValidation.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinitemsValidation.md new file mode 100644 index 0000000000..14e1884d05 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinitemsValidation.md @@ -0,0 +1,9 @@ +# MinitemsValidation + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinlengthValidation.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinlengthValidation.md new file mode 100644 index 0000000000..c914c02f01 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinlengthValidation.md @@ -0,0 +1,9 @@ +# MinlengthValidation + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinpropertiesValidation.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinpropertiesValidation.md new file mode 100644 index 0000000000..b549f69455 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/MinpropertiesValidation.md @@ -0,0 +1,9 @@ +# MinpropertiesValidation + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ModelNot.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ModelNot.md new file mode 100644 index 0000000000..bac67e7680 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ModelNot.md @@ -0,0 +1,9 @@ +# ModelNot + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NestedItems.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NestedItems.md new file mode 100644 index 0000000000..c64b37b166 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NestedItems.md @@ -0,0 +1,8 @@ +# NestedItems + +Type | Description | Notes +------------- | ------------- | ------------- +**[[[[int, float]]]]** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NotMoreComplexSchema.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NotMoreComplexSchema.md new file mode 100644 index 0000000000..2ea5b209cc --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NotMoreComplexSchema.md @@ -0,0 +1,9 @@ +# NotMoreComplexSchema + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NulCharactersInStrings.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NulCharactersInStrings.md new file mode 100644 index 0000000000..d90b761591 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NulCharactersInStrings.md @@ -0,0 +1,8 @@ +# NulCharactersInStrings + +Type | Description | Notes +------------- | ------------- | ------------- +**str** | | must be one of ["hello\x00there", ] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NullTypeMatchesOnlyTheNullObject.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NullTypeMatchesOnlyTheNullObject.md new file mode 100644 index 0000000000..54a530d1d3 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NullTypeMatchesOnlyTheNullObject.md @@ -0,0 +1,8 @@ +# NullTypeMatchesOnlyTheNullObject + +Type | Description | Notes +------------- | ------------- | ------------- +**none_type** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NumberTypeMatchesNumbers.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NumberTypeMatchesNumbers.md new file mode 100644 index 0000000000..8348aeef2b --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NumberTypeMatchesNumbers.md @@ -0,0 +1,8 @@ +# NumberTypeMatchesNumbers + +Type | Description | Notes +------------- | ------------- | ------------- +**float** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ObjectPropertiesValidation.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ObjectPropertiesValidation.md new file mode 100644 index 0000000000..9307469f5b --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/ObjectPropertiesValidation.md @@ -0,0 +1,11 @@ +# ObjectPropertiesValidation + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**foo** | **int** | | [optional] +**bar** | **str** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/PatternIsNotAnchored.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/PatternIsNotAnchored.md new file mode 100644 index 0000000000..bca3d004ba --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/PatternIsNotAnchored.md @@ -0,0 +1,9 @@ +# PatternIsNotAnchored + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/PatternValidation.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/PatternValidation.md new file mode 100644 index 0000000000..ed358b8156 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/PatternValidation.md @@ -0,0 +1,9 @@ +# PatternValidation + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/PropertiesWithEscapedCharacters.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/PropertiesWithEscapedCharacters.md new file mode 100644 index 0000000000..e585f0e8e1 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/PropertiesWithEscapedCharacters.md @@ -0,0 +1,15 @@ +# PropertiesWithEscapedCharacters + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**foo\nbar** | **int, float** | | [optional] +**foo\"bar** | **int, float** | | [optional] +**foo\\bar** | **int, float** | | [optional] +**foo\rbar** | **int, float** | | [optional] +**foo\tbar** | **int, float** | | [optional] +**foo\fbar** | **int, float** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/PropertyNamedRefThatIsNotAReference.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/PropertyNamedRefThatIsNotAReference.md new file mode 100644 index 0000000000..7f51dc33bb --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/PropertyNamedRefThatIsNotAReference.md @@ -0,0 +1,10 @@ +# PropertyNamedRefThatIsNotAReference + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**$ref** | **str** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInAdditionalproperties.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInAdditionalproperties.md new file mode 100644 index 0000000000..d65f094ff7 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInAdditionalproperties.md @@ -0,0 +1,9 @@ +# RefInAdditionalproperties + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **PropertyNamedRefThatIsNotAReference** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInAllof.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInAllof.md new file mode 100644 index 0000000000..5c193c05ad --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInAllof.md @@ -0,0 +1,9 @@ +# RefInAllof + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInAnyof.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInAnyof.md new file mode 100644 index 0000000000..317cc9a174 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInAnyof.md @@ -0,0 +1,9 @@ +# RefInAnyof + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInItems.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInItems.md new file mode 100644 index 0000000000..618c152215 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInItems.md @@ -0,0 +1,8 @@ +# RefInItems + +Type | Description | Notes +------------- | ------------- | ------------- +**[PropertyNamedRefThatIsNotAReference]** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInOneof.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInOneof.md new file mode 100644 index 0000000000..e063bf5a11 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInOneof.md @@ -0,0 +1,9 @@ +# RefInOneof + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInProperty.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInProperty.md new file mode 100644 index 0000000000..5e912fa825 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RefInProperty.md @@ -0,0 +1,10 @@ +# RefInProperty + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**a** | [**PropertyNamedRefThatIsNotAReference**](PropertyNamedRefThatIsNotAReference.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RequiredDefaultValidation.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RequiredDefaultValidation.md new file mode 100644 index 0000000000..46c719866d --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RequiredDefaultValidation.md @@ -0,0 +1,10 @@ +# RequiredDefaultValidation + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**foo** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RequiredValidation.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RequiredValidation.md new file mode 100644 index 0000000000..31ab7e70c4 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RequiredValidation.md @@ -0,0 +1,11 @@ +# RequiredValidation + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**foo** | **bool, date, datetime, dict, float, int, list, str, none_type** | | +**bar** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RequiredWithEmptyArray.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RequiredWithEmptyArray.md new file mode 100644 index 0000000000..c243bc4b3d --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/RequiredWithEmptyArray.md @@ -0,0 +1,10 @@ +# RequiredWithEmptyArray + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**foo** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/SimpleEnumValidation.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/SimpleEnumValidation.md new file mode 100644 index 0000000000..81e6b4f5e6 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/SimpleEnumValidation.md @@ -0,0 +1,8 @@ +# SimpleEnumValidation + +Type | Description | Notes +------------- | ------------- | ------------- +**float** | | must be one of [1, 2, 3, ] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/StringTypeMatchesStrings.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/StringTypeMatchesStrings.md new file mode 100644 index 0000000000..cd1125671a --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/StringTypeMatchesStrings.md @@ -0,0 +1,8 @@ +# StringTypeMatchesStrings + +Type | Description | Notes +------------- | ------------- | ------------- +**str** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/TheDefaultKeywordDoesNotDoAnythingIfThePropertyIsMissing.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/TheDefaultKeywordDoesNotDoAnythingIfThePropertyIsMissing.md new file mode 100644 index 0000000000..61162c71aa --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/TheDefaultKeywordDoesNotDoAnythingIfThePropertyIsMissing.md @@ -0,0 +1,10 @@ +# TheDefaultKeywordDoesNotDoAnythingIfThePropertyIsMissing + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**alpha** | **int, float** | | [optional] if omitted the server will use the default value of 5 +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UniqueitemsFalseValidation.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UniqueitemsFalseValidation.md new file mode 100644 index 0000000000..99e0a5ba1c --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UniqueitemsFalseValidation.md @@ -0,0 +1,9 @@ +# UniqueitemsFalseValidation + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UniqueitemsValidation.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UniqueitemsValidation.md new file mode 100644 index 0000000000..8cd8bbdc61 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UniqueitemsValidation.md @@ -0,0 +1,9 @@ +# UniqueitemsValidation + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UriFormat.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UriFormat.md new file mode 100644 index 0000000000..45565b815d --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UriFormat.md @@ -0,0 +1,9 @@ +# UriFormat + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UriReferenceFormat.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UriReferenceFormat.md new file mode 100644 index 0000000000..5e3d85e8fd --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UriReferenceFormat.md @@ -0,0 +1,9 @@ +# UriReferenceFormat + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UriTemplateFormat.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UriTemplateFormat.md new file mode 100644 index 0000000000..5b661945b3 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/UriTemplateFormat.md @@ -0,0 +1,9 @@ +# UriTemplateFormat + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/git_push.sh b/samples/openapi3/client/3_0_3_unit_test/python-experimental/git_push.sh new file mode 100644 index 0000000000..ced3be2b0c --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/git_push.sh @@ -0,0 +1,58 @@ +#!/bin/sh +# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ +# +# Usage example: /bin/sh ./git_push.sh wing328 openapi-pestore-perl "minor update" "gitlab.com" + +git_user_id=$1 +git_repo_id=$2 +release_note=$3 +git_host=$4 + +if [ "$git_host" = "" ]; then + git_host="github.com" + echo "[INFO] No command line input provided. Set \$git_host to $git_host" +fi + +if [ "$git_user_id" = "" ]; then + git_user_id="GIT_USER_ID" + echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" +fi + +if [ "$git_repo_id" = "" ]; then + git_repo_id="GIT_REPO_ID" + echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" +fi + +if [ "$release_note" = "" ]; then + release_note="Minor update" + echo "[INFO] No command line input provided. Set \$release_note to $release_note" +fi + +# Initialize the local directory as a Git repository +git init + +# Adds the files in the local repository and stages them for commit. +git add . + +# Commits the tracked changes and prepares them to be pushed to a remote repository. +git commit -m "$release_note" + +# Sets the new remote +git_remote=`git remote` +if [ "$git_remote" = "" ]; then # git remote not defined + + if [ "$GIT_TOKEN" = "" ]; then + echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." + git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git + else + git remote add origin https://${git_user_id}:${GIT_TOKEN}@${git_host}/${git_user_id}/${git_repo_id}.git + fi + +fi + +git pull origin master + +# Pushes (Forces) the changes in the local repository up to the remote repository +echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" +git push origin master 2>&1 | grep -v 'To https' + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/pom.xml b/samples/openapi3/client/3_0_3_unit_test/python-experimental/pom.xml new file mode 100644 index 0000000000..5352ff0ac5 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/pom.xml @@ -0,0 +1,46 @@ + + 4.0.0 + org.openapitools + PythonExperimental303UnitTests + pom + 1.0-SNAPSHOT + Python Experimental OpenAPI3 Unit Test Api Client + + + + maven-dependency-plugin + + + package + + copy-dependencies + + + ${project.build.directory} + + + + + + org.codehaus.mojo + exec-maven-plugin + 1.2.1 + + + test + integration-test + + exec + + + make + + test + + + + + + + + \ No newline at end of file diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/requirements.txt b/samples/openapi3/client/3_0_3_unit_test/python-experimental/requirements.txt new file mode 100644 index 0000000000..c9227e58a1 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/requirements.txt @@ -0,0 +1,5 @@ +certifi >= 14.05.14 +frozendict >= 2.0.3 +python_dateutil >= 2.5.3 +setuptools >= 21.0.0 +urllib3 >= 1.15.1 diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/setup.cfg b/samples/openapi3/client/3_0_3_unit_test/python-experimental/setup.cfg new file mode 100644 index 0000000000..11433ee875 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/setup.cfg @@ -0,0 +1,2 @@ +[flake8] +max-line-length=99 diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/setup.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/setup.py new file mode 100644 index 0000000000..bac2d32398 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/setup.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +from setuptools import setup, find_packages # noqa: H301 + +NAME = "unit-test-api" +VERSION = "1.0.0" +# To install the library, run the following +# +# python setup.py install +# +# prerequisite: setuptools +# http://pypi.python.org/pypi/setuptools + +REQUIRES = [ + "urllib3 >= 1.15", + "certifi", + "python-dateutil", + "frozendict >= 2.0.3", +] + +setup( + name=NAME, + version=VERSION, + description="openapi 3.0.3 sample spec", + author="OpenAPI Generator community", + author_email="team@openapitools.org", + url="", + keywords=["OpenAPI", "OpenAPI-Generator", "openapi 3.0.3 sample spec"], + python_requires=">=3.9", + install_requires=REQUIRES, + packages=find_packages(exclude=["test", "tests"]), + include_package_data=True, + long_description="""\ + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + """ +) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test-requirements.txt b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test-requirements.txt new file mode 100644 index 0000000000..2d88b03419 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test-requirements.txt @@ -0,0 +1,3 @@ +pytest~=4.6.7 # needed for python 3.4 +pytest-cov>=2.8.1 +pytest-randomly==1.2.3 # needed for python 3.4 diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/__init__.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_additionalproperties_allows_a_schema_which_should_validate.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_additionalproperties_allows_a_schema_which_should_validate.py new file mode 100644 index 0000000000..9d9c82d710 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_additionalproperties_allows_a_schema_which_should_validate.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.additionalproperties_allows_a_schema_which_should_validate import AdditionalpropertiesAllowsASchemaWhichShouldValidate +from unit_test_api import configuration + + +class TestAdditionalpropertiesAllowsASchemaWhichShouldValidate(unittest.TestCase): + """AdditionalpropertiesAllowsASchemaWhichShouldValidate unit test stubs""" + _configuration = configuration.Configuration() + + def test_no_additional_properties_is_valid_passes(self): + # no additional properties is valid + AdditionalpropertiesAllowsASchemaWhichShouldValidate._from_openapi_data( + { + "foo": + 1, + }, + _configuration=self._configuration + ) + + def test_an_additional_invalid_property_is_invalid_fails(self): + # an additional invalid property is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AdditionalpropertiesAllowsASchemaWhichShouldValidate._from_openapi_data( + { + "foo": + 1, + "bar": + 2, + "quux": + 12, + }, + _configuration=self._configuration + ) + + def test_an_additional_valid_property_is_valid_passes(self): + # an additional valid property is valid + AdditionalpropertiesAllowsASchemaWhichShouldValidate._from_openapi_data( + { + "foo": + 1, + "bar": + 2, + "quux": + True, + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_additionalproperties_are_allowed_by_default.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_additionalproperties_are_allowed_by_default.py new file mode 100644 index 0000000000..e52b193fdb --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_additionalproperties_are_allowed_by_default.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.additionalproperties_are_allowed_by_default import AdditionalpropertiesAreAllowedByDefault +from unit_test_api import configuration + + +class TestAdditionalpropertiesAreAllowedByDefault(unittest.TestCase): + """AdditionalpropertiesAreAllowedByDefault unit test stubs""" + _configuration = configuration.Configuration() + + def test_additional_properties_are_allowed_passes(self): + # additional properties are allowed + AdditionalpropertiesAreAllowedByDefault._from_openapi_data( + { + "foo": + 1, + "bar": + 2, + "quux": + True, + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_additionalproperties_can_exist_by_itself.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_additionalproperties_can_exist_by_itself.py new file mode 100644 index 0000000000..3a6473f23b --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_additionalproperties_can_exist_by_itself.py @@ -0,0 +1,46 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.additionalproperties_can_exist_by_itself import AdditionalpropertiesCanExistByItself +from unit_test_api import configuration + + +class TestAdditionalpropertiesCanExistByItself(unittest.TestCase): + """AdditionalpropertiesCanExistByItself unit test stubs""" + _configuration = configuration.Configuration() + + def test_an_additional_invalid_property_is_invalid_fails(self): + # an additional invalid property is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AdditionalpropertiesCanExistByItself._from_openapi_data( + { + "foo": + 1, + }, + _configuration=self._configuration + ) + + def test_an_additional_valid_property_is_valid_passes(self): + # an additional valid property is valid + AdditionalpropertiesCanExistByItself._from_openapi_data( + { + "foo": + True, + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_additionalproperties_should_not_look_in_applicators.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_additionalproperties_should_not_look_in_applicators.py new file mode 100644 index 0000000000..f296b2ad62 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_additionalproperties_should_not_look_in_applicators.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.additionalproperties_should_not_look_in_applicators import AdditionalpropertiesShouldNotLookInApplicators +from unit_test_api import configuration + + +class TestAdditionalpropertiesShouldNotLookInApplicators(unittest.TestCase): + """AdditionalpropertiesShouldNotLookInApplicators unit test stubs""" + _configuration = configuration.Configuration() + + def test_properties_defined_in_allof_are_not_examined_fails(self): + # properties defined in allOf are not examined + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AdditionalpropertiesShouldNotLookInApplicators._from_openapi_data( + { + "foo": + 1, + "bar": + True, + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_array_type_matches_arrays.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_array_type_matches_arrays.py new file mode 100644 index 0000000000..b8bc156e18 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_array_type_matches_arrays.py @@ -0,0 +1,82 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.array_type_matches_arrays import ArrayTypeMatchesArrays +from unit_test_api import configuration + + +class TestArrayTypeMatchesArrays(unittest.TestCase): + """ArrayTypeMatchesArrays unit test stubs""" + _configuration = configuration.Configuration() + + def test_a_float_is_not_an_array_fails(self): + # a float is not an array + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + ArrayTypeMatchesArrays._from_openapi_data( + 1.1, + _configuration=self._configuration + ) + + def test_a_boolean_is_not_an_array_fails(self): + # a boolean is not an array + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + ArrayTypeMatchesArrays._from_openapi_data( + True, + _configuration=self._configuration + ) + + def test_null_is_not_an_array_fails(self): + # null is not an array + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + ArrayTypeMatchesArrays._from_openapi_data( + None, + _configuration=self._configuration + ) + + def test_an_object_is_not_an_array_fails(self): + # an object is not an array + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + ArrayTypeMatchesArrays._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + def test_a_string_is_not_an_array_fails(self): + # a string is not an array + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + ArrayTypeMatchesArrays._from_openapi_data( + "foo", + _configuration=self._configuration + ) + + def test_an_array_is_an_array_passes(self): + # an array is an array + ArrayTypeMatchesArrays._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + def test_an_integer_is_not_an_array_fails(self): + # an integer is not an array + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + ArrayTypeMatchesArrays._from_openapi_data( + 1, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_boolean_type_matches_booleans.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_boolean_type_matches_booleans.py new file mode 100644 index 0000000000..3ffb73ed95 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_boolean_type_matches_booleans.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.boolean_type_matches_booleans import BooleanTypeMatchesBooleans +from unit_test_api import configuration + + +class TestBooleanTypeMatchesBooleans(unittest.TestCase): + """BooleanTypeMatchesBooleans unit test stubs""" + _configuration = configuration.Configuration() + + def test_an_empty_string_is_not_a_boolean_fails(self): + # an empty string is not a boolean + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + BooleanTypeMatchesBooleans._from_openapi_data( + "", + _configuration=self._configuration + ) + + def test_a_float_is_not_a_boolean_fails(self): + # a float is not a boolean + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + BooleanTypeMatchesBooleans._from_openapi_data( + 1.1, + _configuration=self._configuration + ) + + def test_null_is_not_a_boolean_fails(self): + # null is not a boolean + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + BooleanTypeMatchesBooleans._from_openapi_data( + None, + _configuration=self._configuration + ) + + def test_zero_is_not_a_boolean_fails(self): + # zero is not a boolean + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + BooleanTypeMatchesBooleans._from_openapi_data( + 0, + _configuration=self._configuration + ) + + def test_an_array_is_not_a_boolean_fails(self): + # an array is not a boolean + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + BooleanTypeMatchesBooleans._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + def test_a_string_is_not_a_boolean_fails(self): + # a string is not a boolean + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + BooleanTypeMatchesBooleans._from_openapi_data( + "foo", + _configuration=self._configuration + ) + + def test_false_is_a_boolean_passes(self): + # false is a boolean + BooleanTypeMatchesBooleans._from_openapi_data( + False, + _configuration=self._configuration + ) + + def test_an_integer_is_not_a_boolean_fails(self): + # an integer is not a boolean + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + BooleanTypeMatchesBooleans._from_openapi_data( + 1, + _configuration=self._configuration + ) + + def test_true_is_a_boolean_passes(self): + # true is a boolean + BooleanTypeMatchesBooleans._from_openapi_data( + True, + _configuration=self._configuration + ) + + def test_an_object_is_not_a_boolean_fails(self): + # an object is not a boolean + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + BooleanTypeMatchesBooleans._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_by_int.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_by_int.py new file mode 100644 index 0000000000..26254a7aaa --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_by_int.py @@ -0,0 +1,47 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.by_int import ByInt +from unit_test_api import configuration + + +class TestByInt(unittest.TestCase): + """ByInt unit test stubs""" + _configuration = configuration.Configuration() + + def test_int_by_int_fail_fails(self): + # int by int fail + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + ByInt._from_openapi_data( + 7, + _configuration=self._configuration + ) + + def test_int_by_int_passes(self): + # int by int + ByInt._from_openapi_data( + 10, + _configuration=self._configuration + ) + + def test_ignores_non_numbers_passes(self): + # ignores non-numbers + ByInt._from_openapi_data( + "foo", + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_by_number.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_by_number.py new file mode 100644 index 0000000000..928b8f3c64 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_by_number.py @@ -0,0 +1,47 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.by_number import ByNumber +from unit_test_api import configuration + + +class TestByNumber(unittest.TestCase): + """ByNumber unit test stubs""" + _configuration = configuration.Configuration() + + def test_45_is_multiple_of15_passes(self): + # 4.5 is multiple of 1.5 + ByNumber._from_openapi_data( + 4.5, + _configuration=self._configuration + ) + + def test_35_is_not_multiple_of15_fails(self): + # 35 is not multiple of 1.5 + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + ByNumber._from_openapi_data( + 35, + _configuration=self._configuration + ) + + def test_zero_is_multiple_of_anything_passes(self): + # zero is multiple of anything + ByNumber._from_openapi_data( + 0, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_by_small_number.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_by_small_number.py new file mode 100644 index 0000000000..cc683feebe --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_by_small_number.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.by_small_number import BySmallNumber +from unit_test_api import configuration + + +class TestBySmallNumber(unittest.TestCase): + """BySmallNumber unit test stubs""" + _configuration = configuration.Configuration() + + def test_000751_is_not_multiple_of00001_fails(self): + # 0.00751 is not multiple of 0.0001 + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + BySmallNumber._from_openapi_data( + 0.00751, + _configuration=self._configuration + ) + + def test_00075_is_multiple_of00001_passes(self): + # 0.0075 is multiple of 0.0001 + BySmallNumber._from_openapi_data( + 0.0075, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_date_time_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_date_time_format.py new file mode 100644 index 0000000000..b3a2b15437 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_date_time_format.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.date_time_format import DateTimeFormat +from unit_test_api import configuration + + +class TestDateTimeFormat(unittest.TestCase): + """DateTimeFormat unit test stubs""" + _configuration = configuration.Configuration() + + def test_all_string_formats_ignore_objects_passes(self): + # all string formats ignore objects + DateTimeFormat._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_booleans_passes(self): + # all string formats ignore booleans + DateTimeFormat._from_openapi_data( + False, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_integers_passes(self): + # all string formats ignore integers + DateTimeFormat._from_openapi_data( + 12, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_floats_passes(self): + # all string formats ignore floats + DateTimeFormat._from_openapi_data( + 13.7, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_arrays_passes(self): + # all string formats ignore arrays + DateTimeFormat._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_nulls_passes(self): + # all string formats ignore nulls + DateTimeFormat._from_openapi_data( + None, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_email_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_email_format.py new file mode 100644 index 0000000000..c6b2d51c19 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_email_format.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.email_format import EmailFormat +from unit_test_api import configuration + + +class TestEmailFormat(unittest.TestCase): + """EmailFormat unit test stubs""" + _configuration = configuration.Configuration() + + def test_all_string_formats_ignore_objects_passes(self): + # all string formats ignore objects + EmailFormat._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_booleans_passes(self): + # all string formats ignore booleans + EmailFormat._from_openapi_data( + False, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_integers_passes(self): + # all string formats ignore integers + EmailFormat._from_openapi_data( + 12, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_floats_passes(self): + # all string formats ignore floats + EmailFormat._from_openapi_data( + 13.7, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_arrays_passes(self): + # all string formats ignore arrays + EmailFormat._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_nulls_passes(self): + # all string formats ignore nulls + EmailFormat._from_openapi_data( + None, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with0_does_not_match_false.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with0_does_not_match_false.py new file mode 100644 index 0000000000..f2917a571b --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with0_does_not_match_false.py @@ -0,0 +1,47 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.enum_with0_does_not_match_false import EnumWith0DoesNotMatchFalse +from unit_test_api import configuration + + +class TestEnumWith0DoesNotMatchFalse(unittest.TestCase): + """EnumWith0DoesNotMatchFalse unit test stubs""" + _configuration = configuration.Configuration() + + def test_integer_zero_is_valid_passes(self): + # integer zero is valid + EnumWith0DoesNotMatchFalse._from_openapi_data( + 0, + _configuration=self._configuration + ) + + def test_float_zero_is_valid_passes(self): + # float zero is valid + EnumWith0DoesNotMatchFalse._from_openapi_data( + 0.0, + _configuration=self._configuration + ) + + def test_false_is_invalid_fails(self): + # false is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + EnumWith0DoesNotMatchFalse._from_openapi_data( + False, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with1_does_not_match_true.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with1_does_not_match_true.py new file mode 100644 index 0000000000..8b49818076 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with1_does_not_match_true.py @@ -0,0 +1,47 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.enum_with1_does_not_match_true import EnumWith1DoesNotMatchTrue +from unit_test_api import configuration + + +class TestEnumWith1DoesNotMatchTrue(unittest.TestCase): + """EnumWith1DoesNotMatchTrue unit test stubs""" + _configuration = configuration.Configuration() + + def test_true_is_invalid_fails(self): + # true is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + EnumWith1DoesNotMatchTrue._from_openapi_data( + True, + _configuration=self._configuration + ) + + def test_integer_one_is_valid_passes(self): + # integer one is valid + EnumWith1DoesNotMatchTrue._from_openapi_data( + 1, + _configuration=self._configuration + ) + + def test_float_one_is_valid_passes(self): + # float one is valid + EnumWith1DoesNotMatchTrue._from_openapi_data( + 1.0, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with_escaped_characters.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with_escaped_characters.py new file mode 100644 index 0000000000..658588f2b0 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with_escaped_characters.py @@ -0,0 +1,47 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.enum_with_escaped_characters import EnumWithEscapedCharacters +from unit_test_api import configuration + + +class TestEnumWithEscapedCharacters(unittest.TestCase): + """EnumWithEscapedCharacters unit test stubs""" + _configuration = configuration.Configuration() + + def test_member2_is_valid_passes(self): + # member 2 is valid + EnumWithEscapedCharacters._from_openapi_data( + "foo\rbar", + _configuration=self._configuration + ) + + def test_member1_is_valid_passes(self): + # member 1 is valid + EnumWithEscapedCharacters._from_openapi_data( + "foo\nbar", + _configuration=self._configuration + ) + + def test_another_string_is_invalid_fails(self): + # another string is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + EnumWithEscapedCharacters._from_openapi_data( + "abc", + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with_false_does_not_match0.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with_false_does_not_match0.py new file mode 100644 index 0000000000..c62d5f7909 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with_false_does_not_match0.py @@ -0,0 +1,48 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.enum_with_false_does_not_match0 import EnumWithFalseDoesNotMatch0 +from unit_test_api import configuration + + +class TestEnumWithFalseDoesNotMatch0(unittest.TestCase): + """EnumWithFalseDoesNotMatch0 unit test stubs""" + _configuration = configuration.Configuration() + + def test_false_is_valid_passes(self): + # false is valid + EnumWithFalseDoesNotMatch0._from_openapi_data( + False, + _configuration=self._configuration + ) + + def test_float_zero_is_invalid_fails(self): + # float zero is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + EnumWithFalseDoesNotMatch0._from_openapi_data( + 0.0, + _configuration=self._configuration + ) + + def test_integer_zero_is_invalid_fails(self): + # integer zero is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + EnumWithFalseDoesNotMatch0._from_openapi_data( + 0, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with_true_does_not_match1.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with_true_does_not_match1.py new file mode 100644 index 0000000000..9339856f4f --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enum_with_true_does_not_match1.py @@ -0,0 +1,48 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.enum_with_true_does_not_match1 import EnumWithTrueDoesNotMatch1 +from unit_test_api import configuration + + +class TestEnumWithTrueDoesNotMatch1(unittest.TestCase): + """EnumWithTrueDoesNotMatch1 unit test stubs""" + _configuration = configuration.Configuration() + + def test_float_one_is_invalid_fails(self): + # float one is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + EnumWithTrueDoesNotMatch1._from_openapi_data( + 1.0, + _configuration=self._configuration + ) + + def test_true_is_valid_passes(self): + # true is valid + EnumWithTrueDoesNotMatch1._from_openapi_data( + True, + _configuration=self._configuration + ) + + def test_integer_one_is_invalid_fails(self): + # integer one is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + EnumWithTrueDoesNotMatch1._from_openapi_data( + 1, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enums_in_properties.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enums_in_properties.py new file mode 100644 index 0000000000..87c5112a3f --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_enums_in_properties.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.enums_in_properties import EnumsInProperties +from unit_test_api import configuration + + +class TestEnumsInProperties(unittest.TestCase): + """EnumsInProperties unit test stubs""" + _configuration = configuration.Configuration() + + def test_missing_optional_property_is_valid_passes(self): + # missing optional property is valid + EnumsInProperties._from_openapi_data( + { + "bar": + "bar", + }, + _configuration=self._configuration + ) + + def test_wrong_foo_value_fails(self): + # wrong foo value + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + EnumsInProperties._from_openapi_data( + { + "foo": + "foot", + "bar": + "bar", + }, + _configuration=self._configuration + ) + + def test_both_properties_are_valid_passes(self): + # both properties are valid + EnumsInProperties._from_openapi_data( + { + "foo": + "foo", + "bar": + "bar", + }, + _configuration=self._configuration + ) + + def test_wrong_bar_value_fails(self): + # wrong bar value + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + EnumsInProperties._from_openapi_data( + { + "foo": + "foo", + "bar": + "bart", + }, + _configuration=self._configuration + ) + + def test_missing_all_properties_is_invalid_fails(self): + # missing all properties is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + EnumsInProperties._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + def test_missing_required_property_is_invalid_fails(self): + # missing required property is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + EnumsInProperties._from_openapi_data( + { + "foo": + "foo", + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_forbidden_property.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_forbidden_property.py new file mode 100644 index 0000000000..b48d39902f --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_forbidden_property.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.forbidden_property import ForbiddenProperty +from unit_test_api import configuration + + +class TestForbiddenProperty(unittest.TestCase): + """ForbiddenProperty unit test stubs""" + _configuration = configuration.Configuration() + + def test_property_present_fails(self): + # property present + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + ForbiddenProperty._from_openapi_data( + { + "foo": + 1, + "bar": + 2, + }, + _configuration=self._configuration + ) + + def test_property_absent_passes(self): + # property absent + ForbiddenProperty._from_openapi_data( + { + "bar": + 1, + "baz": + 2, + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_hostname_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_hostname_format.py new file mode 100644 index 0000000000..32a6f0d003 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_hostname_format.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.hostname_format import HostnameFormat +from unit_test_api import configuration + + +class TestHostnameFormat(unittest.TestCase): + """HostnameFormat unit test stubs""" + _configuration = configuration.Configuration() + + def test_all_string_formats_ignore_objects_passes(self): + # all string formats ignore objects + HostnameFormat._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_booleans_passes(self): + # all string formats ignore booleans + HostnameFormat._from_openapi_data( + False, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_integers_passes(self): + # all string formats ignore integers + HostnameFormat._from_openapi_data( + 12, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_floats_passes(self): + # all string formats ignore floats + HostnameFormat._from_openapi_data( + 13.7, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_arrays_passes(self): + # all string formats ignore arrays + HostnameFormat._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_nulls_passes(self): + # all string formats ignore nulls + HostnameFormat._from_openapi_data( + None, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_integer_type_matches_integers.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_integer_type_matches_integers.py new file mode 100644 index 0000000000..ecf83a0586 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_integer_type_matches_integers.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.integer_type_matches_integers import IntegerTypeMatchesIntegers +from unit_test_api import configuration + + +class TestIntegerTypeMatchesIntegers(unittest.TestCase): + """IntegerTypeMatchesIntegers unit test stubs""" + _configuration = configuration.Configuration() + + def test_an_object_is_not_an_integer_fails(self): + # an object is not an integer + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + IntegerTypeMatchesIntegers._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + def test_a_string_is_not_an_integer_fails(self): + # a string is not an integer + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + IntegerTypeMatchesIntegers._from_openapi_data( + "foo", + _configuration=self._configuration + ) + + def test_null_is_not_an_integer_fails(self): + # null is not an integer + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + IntegerTypeMatchesIntegers._from_openapi_data( + None, + _configuration=self._configuration + ) + + def test_a_float_with_zero_fractional_part_is_an_integer_passes(self): + # a float with zero fractional part is an integer + IntegerTypeMatchesIntegers._from_openapi_data( + 1.0, + _configuration=self._configuration + ) + + def test_a_float_is_not_an_integer_fails(self): + # a float is not an integer + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + IntegerTypeMatchesIntegers._from_openapi_data( + 1.1, + _configuration=self._configuration + ) + + def test_a_boolean_is_not_an_integer_fails(self): + # a boolean is not an integer + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + IntegerTypeMatchesIntegers._from_openapi_data( + True, + _configuration=self._configuration + ) + + def test_an_integer_is_an_integer_passes(self): + # an integer is an integer + IntegerTypeMatchesIntegers._from_openapi_data( + 1, + _configuration=self._configuration + ) + + def test_a_string_is_still_not_an_integer_even_if_it_looks_like_one_fails(self): + # a string is still not an integer, even if it looks like one + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + IntegerTypeMatchesIntegers._from_openapi_data( + "1", + _configuration=self._configuration + ) + + def test_an_array_is_not_an_integer_fails(self): + # an array is not an integer + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + IntegerTypeMatchesIntegers._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_invalid_instance_should_not_raise_error_when_float_division_inf.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_invalid_instance_should_not_raise_error_when_float_division_inf.py new file mode 100644 index 0000000000..67ce05d42f --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_invalid_instance_should_not_raise_error_when_float_division_inf.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.invalid_instance_should_not_raise_error_when_float_division_inf import InvalidInstanceShouldNotRaiseErrorWhenFloatDivisionInf +from unit_test_api import configuration + + +class TestInvalidInstanceShouldNotRaiseErrorWhenFloatDivisionInf(unittest.TestCase): + """InvalidInstanceShouldNotRaiseErrorWhenFloatDivisionInf unit test stubs""" + _configuration = configuration.Configuration() + + def test_always_invalid_but_naive_implementations_may_raise_an_overflow_error_fails(self): + # always invalid, but naive implementations may raise an overflow error + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + InvalidInstanceShouldNotRaiseErrorWhenFloatDivisionInf._from_openapi_data( + 1.0E308, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_invalid_string_value_for_default.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_invalid_string_value_for_default.py new file mode 100644 index 0000000000..50f165727b --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_invalid_string_value_for_default.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.invalid_string_value_for_default import InvalidStringValueForDefault +from unit_test_api import configuration + + +class TestInvalidStringValueForDefault(unittest.TestCase): + """InvalidStringValueForDefault unit test stubs""" + _configuration = configuration.Configuration() + + def test_valid_when_property_is_specified_passes(self): + # valid when property is specified + InvalidStringValueForDefault._from_openapi_data( + { + "bar": + "good", + }, + _configuration=self._configuration + ) + + def test_still_valid_when_the_invalid_default_is_used_passes(self): + # still valid when the invalid default is used + InvalidStringValueForDefault._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ipv4_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ipv4_format.py new file mode 100644 index 0000000000..cd4cd9a69d --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ipv4_format.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.ipv4_format import Ipv4Format +from unit_test_api import configuration + + +class TestIpv4Format(unittest.TestCase): + """Ipv4Format unit test stubs""" + _configuration = configuration.Configuration() + + def test_all_string_formats_ignore_objects_passes(self): + # all string formats ignore objects + Ipv4Format._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_booleans_passes(self): + # all string formats ignore booleans + Ipv4Format._from_openapi_data( + False, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_integers_passes(self): + # all string formats ignore integers + Ipv4Format._from_openapi_data( + 12, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_floats_passes(self): + # all string formats ignore floats + Ipv4Format._from_openapi_data( + 13.7, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_arrays_passes(self): + # all string formats ignore arrays + Ipv4Format._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_nulls_passes(self): + # all string formats ignore nulls + Ipv4Format._from_openapi_data( + None, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ipv6_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ipv6_format.py new file mode 100644 index 0000000000..e9e10a4890 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ipv6_format.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.ipv6_format import Ipv6Format +from unit_test_api import configuration + + +class TestIpv6Format(unittest.TestCase): + """Ipv6Format unit test stubs""" + _configuration = configuration.Configuration() + + def test_all_string_formats_ignore_objects_passes(self): + # all string formats ignore objects + Ipv6Format._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_booleans_passes(self): + # all string formats ignore booleans + Ipv6Format._from_openapi_data( + False, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_integers_passes(self): + # all string formats ignore integers + Ipv6Format._from_openapi_data( + 12, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_floats_passes(self): + # all string formats ignore floats + Ipv6Format._from_openapi_data( + 13.7, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_arrays_passes(self): + # all string formats ignore arrays + Ipv6Format._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_nulls_passes(self): + # all string formats ignore nulls + Ipv6Format._from_openapi_data( + None, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_json_pointer_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_json_pointer_format.py new file mode 100644 index 0000000000..f20c6aff94 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_json_pointer_format.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.json_pointer_format import JsonPointerFormat +from unit_test_api import configuration + + +class TestJsonPointerFormat(unittest.TestCase): + """JsonPointerFormat unit test stubs""" + _configuration = configuration.Configuration() + + def test_all_string_formats_ignore_objects_passes(self): + # all string formats ignore objects + JsonPointerFormat._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_booleans_passes(self): + # all string formats ignore booleans + JsonPointerFormat._from_openapi_data( + False, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_integers_passes(self): + # all string formats ignore integers + JsonPointerFormat._from_openapi_data( + 12, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_floats_passes(self): + # all string formats ignore floats + JsonPointerFormat._from_openapi_data( + 13.7, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_arrays_passes(self): + # all string formats ignore arrays + JsonPointerFormat._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_nulls_passes(self): + # all string formats ignore nulls + JsonPointerFormat._from_openapi_data( + None, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maximum_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maximum_validation.py new file mode 100644 index 0000000000..5c0e51f822 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maximum_validation.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.maximum_validation import MaximumValidation +from unit_test_api import configuration + + +class TestMaximumValidation(unittest.TestCase): + """MaximumValidation unit test stubs""" + _configuration = configuration.Configuration() + + def test_below_the_maximum_is_valid_passes(self): + # below the maximum is valid + MaximumValidation._from_openapi_data( + 2.6, + _configuration=self._configuration + ) + + def test_boundary_point_is_valid_passes(self): + # boundary point is valid + MaximumValidation._from_openapi_data( + 3.0, + _configuration=self._configuration + ) + + def test_above_the_maximum_is_invalid_fails(self): + # above the maximum is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + MaximumValidation._from_openapi_data( + 3.5, + _configuration=self._configuration + ) + + def test_ignores_non_numbers_passes(self): + # ignores non-numbers + MaximumValidation._from_openapi_data( + "x", + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maximum_validation_with_unsigned_integer.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maximum_validation_with_unsigned_integer.py new file mode 100644 index 0000000000..4bc8a4f837 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maximum_validation_with_unsigned_integer.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.maximum_validation_with_unsigned_integer import MaximumValidationWithUnsignedInteger +from unit_test_api import configuration + + +class TestMaximumValidationWithUnsignedInteger(unittest.TestCase): + """MaximumValidationWithUnsignedInteger unit test stubs""" + _configuration = configuration.Configuration() + + def test_below_the_maximum_is_invalid_passes(self): + # below the maximum is invalid + MaximumValidationWithUnsignedInteger._from_openapi_data( + 299.97, + _configuration=self._configuration + ) + + def test_above_the_maximum_is_invalid_fails(self): + # above the maximum is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + MaximumValidationWithUnsignedInteger._from_openapi_data( + 300.5, + _configuration=self._configuration + ) + + def test_boundary_point_integer_is_valid_passes(self): + # boundary point integer is valid + MaximumValidationWithUnsignedInteger._from_openapi_data( + 300, + _configuration=self._configuration + ) + + def test_boundary_point_float_is_valid_passes(self): + # boundary point float is valid + MaximumValidationWithUnsignedInteger._from_openapi_data( + 300.0, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maxitems_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maxitems_validation.py new file mode 100644 index 0000000000..10804599c3 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maxitems_validation.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.maxitems_validation import MaxitemsValidation +from unit_test_api import configuration + + +class TestMaxitemsValidation(unittest.TestCase): + """MaxitemsValidation unit test stubs""" + _configuration = configuration.Configuration() + + def test_too_long_is_invalid_fails(self): + # too long is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + MaxitemsValidation._from_openapi_data( + [ + 1, + 2, + 3, + ], + _configuration=self._configuration + ) + + def test_ignores_non_arrays_passes(self): + # ignores non-arrays + MaxitemsValidation._from_openapi_data( + "foobar", + _configuration=self._configuration + ) + + def test_shorter_is_valid_passes(self): + # shorter is valid + MaxitemsValidation._from_openapi_data( + [ + 1, + ], + _configuration=self._configuration + ) + + def test_exact_length_is_valid_passes(self): + # exact length is valid + MaxitemsValidation._from_openapi_data( + [ + 1, + 2, + ], + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maxlength_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maxlength_validation.py new file mode 100644 index 0000000000..e5871ed0f1 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maxlength_validation.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.maxlength_validation import MaxlengthValidation +from unit_test_api import configuration + + +class TestMaxlengthValidation(unittest.TestCase): + """MaxlengthValidation unit test stubs""" + _configuration = configuration.Configuration() + + def test_too_long_is_invalid_fails(self): + # too long is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + MaxlengthValidation._from_openapi_data( + "foo", + _configuration=self._configuration + ) + + def test_ignores_non_strings_passes(self): + # ignores non-strings + MaxlengthValidation._from_openapi_data( + 100, + _configuration=self._configuration + ) + + def test_shorter_is_valid_passes(self): + # shorter is valid + MaxlengthValidation._from_openapi_data( + "f", + _configuration=self._configuration + ) + + def test_two_supplementary_unicode_code_points_is_long_enough_passes(self): + # two supplementary Unicode code points is long enough + MaxlengthValidation._from_openapi_data( + "💩💩", + _configuration=self._configuration + ) + + def test_exact_length_is_valid_passes(self): + # exact length is valid + MaxlengthValidation._from_openapi_data( + "fo", + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maxproperties0_means_the_object_is_empty.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maxproperties0_means_the_object_is_empty.py new file mode 100644 index 0000000000..57764ac4a8 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maxproperties0_means_the_object_is_empty.py @@ -0,0 +1,44 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.maxproperties0_means_the_object_is_empty import Maxproperties0MeansTheObjectIsEmpty +from unit_test_api import configuration + + +class TestMaxproperties0MeansTheObjectIsEmpty(unittest.TestCase): + """Maxproperties0MeansTheObjectIsEmpty unit test stubs""" + _configuration = configuration.Configuration() + + def test_no_properties_is_valid_passes(self): + # no properties is valid + Maxproperties0MeansTheObjectIsEmpty._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + def test_one_property_is_invalid_fails(self): + # one property is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + Maxproperties0MeansTheObjectIsEmpty._from_openapi_data( + { + "foo": + 1, + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maxproperties_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maxproperties_validation.py new file mode 100644 index 0000000000..cd87cbfc64 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_maxproperties_validation.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.maxproperties_validation import MaxpropertiesValidation +from unit_test_api import configuration + + +class TestMaxpropertiesValidation(unittest.TestCase): + """MaxpropertiesValidation unit test stubs""" + _configuration = configuration.Configuration() + + def test_too_long_is_invalid_fails(self): + # too long is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + MaxpropertiesValidation._from_openapi_data( + { + "foo": + 1, + "bar": + 2, + "baz": + 3, + }, + _configuration=self._configuration + ) + + def test_ignores_arrays_passes(self): + # ignores arrays + MaxpropertiesValidation._from_openapi_data( + [ + 1, + 2, + 3, + ], + _configuration=self._configuration + ) + + def test_ignores_other_non_objects_passes(self): + # ignores other non-objects + MaxpropertiesValidation._from_openapi_data( + 12, + _configuration=self._configuration + ) + + def test_ignores_strings_passes(self): + # ignores strings + MaxpropertiesValidation._from_openapi_data( + "foobar", + _configuration=self._configuration + ) + + def test_shorter_is_valid_passes(self): + # shorter is valid + MaxpropertiesValidation._from_openapi_data( + { + "foo": + 1, + }, + _configuration=self._configuration + ) + + def test_exact_length_is_valid_passes(self): + # exact length is valid + MaxpropertiesValidation._from_openapi_data( + { + "foo": + 1, + "bar": + 2, + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minimum_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minimum_validation.py new file mode 100644 index 0000000000..d72abd6e1f --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minimum_validation.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.minimum_validation import MinimumValidation +from unit_test_api import configuration + + +class TestMinimumValidation(unittest.TestCase): + """MinimumValidation unit test stubs""" + _configuration = configuration.Configuration() + + def test_boundary_point_is_valid_passes(self): + # boundary point is valid + MinimumValidation._from_openapi_data( + 1.1, + _configuration=self._configuration + ) + + def test_below_the_minimum_is_invalid_fails(self): + # below the minimum is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + MinimumValidation._from_openapi_data( + 0.6, + _configuration=self._configuration + ) + + def test_above_the_minimum_is_valid_passes(self): + # above the minimum is valid + MinimumValidation._from_openapi_data( + 2.6, + _configuration=self._configuration + ) + + def test_ignores_non_numbers_passes(self): + # ignores non-numbers + MinimumValidation._from_openapi_data( + "x", + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minimum_validation_with_signed_integer.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minimum_validation_with_signed_integer.py new file mode 100644 index 0000000000..d4f2307a2a --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minimum_validation_with_signed_integer.py @@ -0,0 +1,76 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.minimum_validation_with_signed_integer import MinimumValidationWithSignedInteger +from unit_test_api import configuration + + +class TestMinimumValidationWithSignedInteger(unittest.TestCase): + """MinimumValidationWithSignedInteger unit test stubs""" + _configuration = configuration.Configuration() + + def test_boundary_point_is_valid_passes(self): + # boundary point is valid + MinimumValidationWithSignedInteger._from_openapi_data( + -2, + _configuration=self._configuration + ) + + def test_positive_above_the_minimum_is_valid_passes(self): + # positive above the minimum is valid + MinimumValidationWithSignedInteger._from_openapi_data( + 0, + _configuration=self._configuration + ) + + def test_int_below_the_minimum_is_invalid_fails(self): + # int below the minimum is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + MinimumValidationWithSignedInteger._from_openapi_data( + -3, + _configuration=self._configuration + ) + + def test_float_below_the_minimum_is_invalid_fails(self): + # float below the minimum is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + MinimumValidationWithSignedInteger._from_openapi_data( + -2.0001, + _configuration=self._configuration + ) + + def test_boundary_point_with_float_is_valid_passes(self): + # boundary point with float is valid + MinimumValidationWithSignedInteger._from_openapi_data( + -2.0, + _configuration=self._configuration + ) + + def test_negative_above_the_minimum_is_valid_passes(self): + # negative above the minimum is valid + MinimumValidationWithSignedInteger._from_openapi_data( + -1, + _configuration=self._configuration + ) + + def test_ignores_non_numbers_passes(self): + # ignores non-numbers + MinimumValidationWithSignedInteger._from_openapi_data( + "x", + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minitems_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minitems_validation.py new file mode 100644 index 0000000000..bca2643fcc --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minitems_validation.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.minitems_validation import MinitemsValidation +from unit_test_api import configuration + + +class TestMinitemsValidation(unittest.TestCase): + """MinitemsValidation unit test stubs""" + _configuration = configuration.Configuration() + + def test_too_short_is_invalid_fails(self): + # too short is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + MinitemsValidation._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + def test_ignores_non_arrays_passes(self): + # ignores non-arrays + MinitemsValidation._from_openapi_data( + "", + _configuration=self._configuration + ) + + def test_longer_is_valid_passes(self): + # longer is valid + MinitemsValidation._from_openapi_data( + [ + 1, + 2, + ], + _configuration=self._configuration + ) + + def test_exact_length_is_valid_passes(self): + # exact length is valid + MinitemsValidation._from_openapi_data( + [ + 1, + ], + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minlength_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minlength_validation.py new file mode 100644 index 0000000000..515b2958eb --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minlength_validation.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.minlength_validation import MinlengthValidation +from unit_test_api import configuration + + +class TestMinlengthValidation(unittest.TestCase): + """MinlengthValidation unit test stubs""" + _configuration = configuration.Configuration() + + def test_too_short_is_invalid_fails(self): + # too short is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + MinlengthValidation._from_openapi_data( + "f", + _configuration=self._configuration + ) + + def test_one_supplementary_unicode_code_point_is_not_long_enough_fails(self): + # one supplementary Unicode code point is not long enough + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + MinlengthValidation._from_openapi_data( + "💩", + _configuration=self._configuration + ) + + def test_longer_is_valid_passes(self): + # longer is valid + MinlengthValidation._from_openapi_data( + "foo", + _configuration=self._configuration + ) + + def test_ignores_non_strings_passes(self): + # ignores non-strings + MinlengthValidation._from_openapi_data( + 1, + _configuration=self._configuration + ) + + def test_exact_length_is_valid_passes(self): + # exact length is valid + MinlengthValidation._from_openapi_data( + "fo", + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minproperties_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minproperties_validation.py new file mode 100644 index 0000000000..b8202eb346 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_minproperties_validation.py @@ -0,0 +1,78 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.minproperties_validation import MinpropertiesValidation +from unit_test_api import configuration + + +class TestMinpropertiesValidation(unittest.TestCase): + """MinpropertiesValidation unit test stubs""" + _configuration = configuration.Configuration() + + def test_ignores_arrays_passes(self): + # ignores arrays + MinpropertiesValidation._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + def test_ignores_other_non_objects_passes(self): + # ignores other non-objects + MinpropertiesValidation._from_openapi_data( + 12, + _configuration=self._configuration + ) + + def test_too_short_is_invalid_fails(self): + # too short is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + MinpropertiesValidation._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + def test_ignores_strings_passes(self): + # ignores strings + MinpropertiesValidation._from_openapi_data( + "", + _configuration=self._configuration + ) + + def test_longer_is_valid_passes(self): + # longer is valid + MinpropertiesValidation._from_openapi_data( + { + "foo": + 1, + "bar": + 2, + }, + _configuration=self._configuration + ) + + def test_exact_length_is_valid_passes(self): + # exact length is valid + MinpropertiesValidation._from_openapi_data( + { + "foo": + 1, + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_model_not.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_model_not.py new file mode 100644 index 0000000000..7bc1095617 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_model_not.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.model_not import ModelNot +from unit_test_api import configuration + + +class TestModelNot(unittest.TestCase): + """ModelNot unit test stubs""" + _configuration = configuration.Configuration() + + def test_allowed_passes(self): + # allowed + ModelNot._from_openapi_data( + "foo", + _configuration=self._configuration + ) + + def test_disallowed_fails(self): + # disallowed + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + ModelNot._from_openapi_data( + 1, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nested_items.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nested_items.py new file mode 100644 index 0000000000..e6d42516d3 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nested_items.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.nested_items import NestedItems +from unit_test_api import configuration + + +class TestNestedItems(unittest.TestCase): + """NestedItems unit test stubs""" + _configuration = configuration.Configuration() + + def test_valid_nested_array_passes(self): + # valid nested array + NestedItems._from_openapi_data( + [ + [ + [ + [ + 1, + ], + ], + [ + [ + 2, + ], + [ + 3, + ], + ], + ], + [ + [ + [ + 4, + ], + [ + 5, + ], + [ + 6, + ], + ], + ], + ], + _configuration=self._configuration + ) + + def test_nested_array_with_invalid_type_fails(self): + # nested array with invalid type + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NestedItems._from_openapi_data( + [ + [ + [ + [ + "1", + ], + ], + [ + [ + 2, + ], + [ + 3, + ], + ], + ], + [ + [ + [ + 4, + ], + [ + 5, + ], + [ + 6, + ], + ], + ], + ], + _configuration=self._configuration + ) + + def test_not_deep_enough_fails(self): + # not deep enough + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NestedItems._from_openapi_data( + [ + [ + [ + 1, + ], + [ + 2, + ], + [ + 3, + ], + ], + [ + [ + 4, + ], + [ + 5, + ], + [ + 6, + ], + ], + ], + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_not_more_complex_schema.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_not_more_complex_schema.py new file mode 100644 index 0000000000..b7ab21dadd --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_not_more_complex_schema.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.not_more_complex_schema import NotMoreComplexSchema +from unit_test_api import configuration + + +class TestNotMoreComplexSchema(unittest.TestCase): + """NotMoreComplexSchema unit test stubs""" + _configuration = configuration.Configuration() + + def test_other_match_passes(self): + # other match + NotMoreComplexSchema._from_openapi_data( + { + "foo": + 1, + }, + _configuration=self._configuration + ) + + def test_mismatch_fails(self): + # mismatch + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NotMoreComplexSchema._from_openapi_data( + { + "foo": + "bar", + }, + _configuration=self._configuration + ) + + def test_match_passes(self): + # match + NotMoreComplexSchema._from_openapi_data( + 1, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nul_characters_in_strings.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nul_characters_in_strings.py new file mode 100644 index 0000000000..5f9465d868 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nul_characters_in_strings.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.nul_characters_in_strings import NulCharactersInStrings +from unit_test_api import configuration + + +class TestNulCharactersInStrings(unittest.TestCase): + """NulCharactersInStrings unit test stubs""" + _configuration = configuration.Configuration() + + def test_match_string_with_nul_passes(self): + # match string with nul + NulCharactersInStrings._from_openapi_data( + "hello\x00there", + _configuration=self._configuration + ) + + def test_do_not_match_string_lacking_nul_fails(self): + # do not match string lacking nul + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NulCharactersInStrings._from_openapi_data( + "hellothere", + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_null_type_matches_only_the_null_object.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_null_type_matches_only_the_null_object.py new file mode 100644 index 0000000000..0057f89b2b --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_null_type_matches_only_the_null_object.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.null_type_matches_only_the_null_object import NullTypeMatchesOnlyTheNullObject +from unit_test_api import configuration + + +class TestNullTypeMatchesOnlyTheNullObject(unittest.TestCase): + """NullTypeMatchesOnlyTheNullObject unit test stubs""" + _configuration = configuration.Configuration() + + def test_a_float_is_not_null_fails(self): + # a float is not null + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NullTypeMatchesOnlyTheNullObject._from_openapi_data( + 1.1, + _configuration=self._configuration + ) + + def test_an_object_is_not_null_fails(self): + # an object is not null + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NullTypeMatchesOnlyTheNullObject._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + def test_false_is_not_null_fails(self): + # false is not null + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NullTypeMatchesOnlyTheNullObject._from_openapi_data( + False, + _configuration=self._configuration + ) + + def test_an_integer_is_not_null_fails(self): + # an integer is not null + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NullTypeMatchesOnlyTheNullObject._from_openapi_data( + 1, + _configuration=self._configuration + ) + + def test_true_is_not_null_fails(self): + # true is not null + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NullTypeMatchesOnlyTheNullObject._from_openapi_data( + True, + _configuration=self._configuration + ) + + def test_zero_is_not_null_fails(self): + # zero is not null + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NullTypeMatchesOnlyTheNullObject._from_openapi_data( + 0, + _configuration=self._configuration + ) + + def test_an_empty_string_is_not_null_fails(self): + # an empty string is not null + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NullTypeMatchesOnlyTheNullObject._from_openapi_data( + "", + _configuration=self._configuration + ) + + def test_null_is_null_passes(self): + # null is null + NullTypeMatchesOnlyTheNullObject._from_openapi_data( + None, + _configuration=self._configuration + ) + + def test_an_array_is_not_null_fails(self): + # an array is not null + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NullTypeMatchesOnlyTheNullObject._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + def test_a_string_is_not_null_fails(self): + # a string is not null + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NullTypeMatchesOnlyTheNullObject._from_openapi_data( + "foo", + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_number_type_matches_numbers.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_number_type_matches_numbers.py new file mode 100644 index 0000000000..c71c9a01f7 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_number_type_matches_numbers.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.number_type_matches_numbers import NumberTypeMatchesNumbers +from unit_test_api import configuration + + +class TestNumberTypeMatchesNumbers(unittest.TestCase): + """NumberTypeMatchesNumbers unit test stubs""" + _configuration = configuration.Configuration() + + def test_an_array_is_not_a_number_fails(self): + # an array is not a number + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NumberTypeMatchesNumbers._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + def test_null_is_not_a_number_fails(self): + # null is not a number + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NumberTypeMatchesNumbers._from_openapi_data( + None, + _configuration=self._configuration + ) + + def test_an_object_is_not_a_number_fails(self): + # an object is not a number + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NumberTypeMatchesNumbers._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + def test_a_boolean_is_not_a_number_fails(self): + # a boolean is not a number + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NumberTypeMatchesNumbers._from_openapi_data( + True, + _configuration=self._configuration + ) + + def test_a_float_is_a_number_passes(self): + # a float is a number + NumberTypeMatchesNumbers._from_openapi_data( + 1.1, + _configuration=self._configuration + ) + + def test_a_string_is_still_not_a_number_even_if_it_looks_like_one_fails(self): + # a string is still not a number, even if it looks like one + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NumberTypeMatchesNumbers._from_openapi_data( + "1", + _configuration=self._configuration + ) + + def test_a_string_is_not_a_number_fails(self): + # a string is not a number + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NumberTypeMatchesNumbers._from_openapi_data( + "foo", + _configuration=self._configuration + ) + + def test_an_integer_is_a_number_passes(self): + # an integer is a number + NumberTypeMatchesNumbers._from_openapi_data( + 1, + _configuration=self._configuration + ) + + def test_a_float_with_zero_fractional_part_is_a_number_and_an_integer_passes(self): + # a float with zero fractional part is a number (and an integer) + NumberTypeMatchesNumbers._from_openapi_data( + 1.0, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_object_properties_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_object_properties_validation.py new file mode 100644 index 0000000000..f4e44b15ad --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_object_properties_validation.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.object_properties_validation import ObjectPropertiesValidation +from unit_test_api import configuration + + +class TestObjectPropertiesValidation(unittest.TestCase): + """ObjectPropertiesValidation unit test stubs""" + _configuration = configuration.Configuration() + + def test_ignores_arrays_passes(self): + # ignores arrays + ObjectPropertiesValidation._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + def test_ignores_other_non_objects_passes(self): + # ignores other non-objects + ObjectPropertiesValidation._from_openapi_data( + 12, + _configuration=self._configuration + ) + + def test_one_property_invalid_is_invalid_fails(self): + # one property invalid is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + ObjectPropertiesValidation._from_openapi_data( + { + "foo": + 1, + "bar": + { + }, + }, + _configuration=self._configuration + ) + + def test_both_properties_present_and_valid_is_valid_passes(self): + # both properties present and valid is valid + ObjectPropertiesValidation._from_openapi_data( + { + "foo": + 1, + "bar": + "baz", + }, + _configuration=self._configuration + ) + + def test_doesn_t_invalidate_other_properties_passes(self): + # doesn't invalidate other properties + ObjectPropertiesValidation._from_openapi_data( + { + "quux": + [ + ], + }, + _configuration=self._configuration + ) + + def test_both_properties_invalid_is_invalid_fails(self): + # both properties invalid is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + ObjectPropertiesValidation._from_openapi_data( + { + "foo": + [ + ], + "bar": + { + }, + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_pattern_is_not_anchored.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_pattern_is_not_anchored.py new file mode 100644 index 0000000000..15eb5c2558 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_pattern_is_not_anchored.py @@ -0,0 +1,32 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.pattern_is_not_anchored import PatternIsNotAnchored +from unit_test_api import configuration + + +class TestPatternIsNotAnchored(unittest.TestCase): + """PatternIsNotAnchored unit test stubs""" + _configuration = configuration.Configuration() + + def test_matches_a_substring_passes(self): + # matches a substring + PatternIsNotAnchored._from_openapi_data( + "xxaayy", + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_pattern_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_pattern_validation.py new file mode 100644 index 0000000000..fc76731c83 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_pattern_validation.py @@ -0,0 +1,84 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.pattern_validation import PatternValidation +from unit_test_api import configuration + + +class TestPatternValidation(unittest.TestCase): + """PatternValidation unit test stubs""" + _configuration = configuration.Configuration() + + def test_ignores_arrays_passes(self): + # ignores arrays + PatternValidation._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + def test_ignores_objects_passes(self): + # ignores objects + PatternValidation._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + def test_ignores_null_passes(self): + # ignores null + PatternValidation._from_openapi_data( + None, + _configuration=self._configuration + ) + + def test_ignores_floats_passes(self): + # ignores floats + PatternValidation._from_openapi_data( + 1.0, + _configuration=self._configuration + ) + + def test_a_non_matching_pattern_is_invalid_fails(self): + # a non-matching pattern is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + PatternValidation._from_openapi_data( + "abc", + _configuration=self._configuration + ) + + def test_ignores_booleans_passes(self): + # ignores booleans + PatternValidation._from_openapi_data( + True, + _configuration=self._configuration + ) + + def test_a_matching_pattern_is_valid_passes(self): + # a matching pattern is valid + PatternValidation._from_openapi_data( + "aaa", + _configuration=self._configuration + ) + + def test_ignores_integers_passes(self): + # ignores integers + PatternValidation._from_openapi_data( + 123, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_properties_with_escaped_characters.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_properties_with_escaped_characters.py new file mode 100644 index 0000000000..d7a0c7b919 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_properties_with_escaped_characters.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.properties_with_escaped_characters import PropertiesWithEscapedCharacters +from unit_test_api import configuration + + +class TestPropertiesWithEscapedCharacters(unittest.TestCase): + """PropertiesWithEscapedCharacters unit test stubs""" + _configuration = configuration.Configuration() + + def test_object_with_all_numbers_is_valid_passes(self): + # object with all numbers is valid + PropertiesWithEscapedCharacters._from_openapi_data( + { + "foo\nbar": + 1, + "foo\"bar": + 1, + "foo\\bar": + 1, + "foo\rbar": + 1, + "foo\tbar": + 1, + "foo\fbar": + 1, + }, + _configuration=self._configuration + ) + + def test_object_with_strings_is_invalid_fails(self): + # object with strings is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + PropertiesWithEscapedCharacters._from_openapi_data( + { + "foo\nbar": + "1", + "foo\"bar": + "1", + "foo\\bar": + "1", + "foo\rbar": + "1", + "foo\tbar": + "1", + "foo\fbar": + "1", + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_property_named_ref_that_is_not_a_reference.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_property_named_ref_that_is_not_a_reference.py new file mode 100644 index 0000000000..2599fd45d4 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_property_named_ref_that_is_not_a_reference.py @@ -0,0 +1,46 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.property_named_ref_that_is_not_a_reference import PropertyNamedRefThatIsNotAReference +from unit_test_api import configuration + + +class TestPropertyNamedRefThatIsNotAReference(unittest.TestCase): + """PropertyNamedRefThatIsNotAReference unit test stubs""" + _configuration = configuration.Configuration() + + def test_property_named_ref_valid_passes(self): + # property named $ref valid + PropertyNamedRefThatIsNotAReference._from_openapi_data( + { + "$ref": + "a", + }, + _configuration=self._configuration + ) + + def test_property_named_ref_invalid_fails(self): + # property named $ref invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + PropertyNamedRefThatIsNotAReference._from_openapi_data( + { + "$ref": + 2, + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_additionalproperties.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_additionalproperties.py new file mode 100644 index 0000000000..3079918ced --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_additionalproperties.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.ref_in_additionalproperties import RefInAdditionalproperties +from unit_test_api import configuration + + +class TestRefInAdditionalproperties(unittest.TestCase): + """RefInAdditionalproperties unit test stubs""" + _configuration = configuration.Configuration() + + def test_property_named_ref_valid_passes(self): + # property named $ref valid + RefInAdditionalproperties._from_openapi_data( + { + "someProp": + { + "$ref": + "a", + }, + }, + _configuration=self._configuration + ) + + def test_property_named_ref_invalid_fails(self): + # property named $ref invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + RefInAdditionalproperties._from_openapi_data( + { + "someProp": + { + "$ref": + 2, + }, + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_allof.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_allof.py new file mode 100644 index 0000000000..a1bcc36509 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_allof.py @@ -0,0 +1,46 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.ref_in_allof import RefInAllof +from unit_test_api import configuration + + +class TestRefInAllof(unittest.TestCase): + """RefInAllof unit test stubs""" + _configuration = configuration.Configuration() + + def test_property_named_ref_valid_passes(self): + # property named $ref valid + RefInAllof._from_openapi_data( + { + "$ref": + "a", + }, + _configuration=self._configuration + ) + + def test_property_named_ref_invalid_fails(self): + # property named $ref invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + RefInAllof._from_openapi_data( + { + "$ref": + 2, + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_anyof.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_anyof.py new file mode 100644 index 0000000000..33ece563af --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_anyof.py @@ -0,0 +1,46 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.ref_in_anyof import RefInAnyof +from unit_test_api import configuration + + +class TestRefInAnyof(unittest.TestCase): + """RefInAnyof unit test stubs""" + _configuration = configuration.Configuration() + + def test_property_named_ref_valid_passes(self): + # property named $ref valid + RefInAnyof._from_openapi_data( + { + "$ref": + "a", + }, + _configuration=self._configuration + ) + + def test_property_named_ref_invalid_fails(self): + # property named $ref invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + RefInAnyof._from_openapi_data( + { + "$ref": + 2, + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_items.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_items.py new file mode 100644 index 0000000000..1cc69e3556 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_items.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.ref_in_items import RefInItems +from unit_test_api import configuration + + +class TestRefInItems(unittest.TestCase): + """RefInItems unit test stubs""" + _configuration = configuration.Configuration() + + def test_property_named_ref_valid_passes(self): + # property named $ref valid + RefInItems._from_openapi_data( + [ + { + "$ref": + "a", + }, + ], + _configuration=self._configuration + ) + + def test_property_named_ref_invalid_fails(self): + # property named $ref invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + RefInItems._from_openapi_data( + [ + { + "$ref": + 2, + }, + ], + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_oneof.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_oneof.py new file mode 100644 index 0000000000..f063204479 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_oneof.py @@ -0,0 +1,46 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.ref_in_oneof import RefInOneof +from unit_test_api import configuration + + +class TestRefInOneof(unittest.TestCase): + """RefInOneof unit test stubs""" + _configuration = configuration.Configuration() + + def test_property_named_ref_valid_passes(self): + # property named $ref valid + RefInOneof._from_openapi_data( + { + "$ref": + "a", + }, + _configuration=self._configuration + ) + + def test_property_named_ref_invalid_fails(self): + # property named $ref invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + RefInOneof._from_openapi_data( + { + "$ref": + 2, + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_property.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_property.py new file mode 100644 index 0000000000..da213d35ed --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_ref_in_property.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.ref_in_property import RefInProperty +from unit_test_api import configuration + + +class TestRefInProperty(unittest.TestCase): + """RefInProperty unit test stubs""" + _configuration = configuration.Configuration() + + def test_property_named_ref_valid_passes(self): + # property named $ref valid + RefInProperty._from_openapi_data( + { + "a": + { + "$ref": + "a", + }, + }, + _configuration=self._configuration + ) + + def test_property_named_ref_invalid_fails(self): + # property named $ref invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + RefInProperty._from_openapi_data( + { + "a": + { + "$ref": + 2, + }, + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_required_default_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_required_default_validation.py new file mode 100644 index 0000000000..c17d16842b --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_required_default_validation.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.required_default_validation import RequiredDefaultValidation +from unit_test_api import configuration + + +class TestRequiredDefaultValidation(unittest.TestCase): + """RequiredDefaultValidation unit test stubs""" + _configuration = configuration.Configuration() + + def test_not_required_by_default_passes(self): + # not required by default + RequiredDefaultValidation._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_required_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_required_validation.py new file mode 100644 index 0000000000..559f0be8d5 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_required_validation.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.required_validation import RequiredValidation +from unit_test_api import configuration + + +class TestRequiredValidation(unittest.TestCase): + """RequiredValidation unit test stubs""" + _configuration = configuration.Configuration() + + def test_ignores_arrays_passes(self): + # ignores arrays + RequiredValidation._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + def test_present_required_property_is_valid_passes(self): + # present required property is valid + RequiredValidation._from_openapi_data( + { + "foo": + 1, + }, + _configuration=self._configuration + ) + + def test_ignores_other_non_objects_passes(self): + # ignores other non-objects + RequiredValidation._from_openapi_data( + 12, + _configuration=self._configuration + ) + + def test_ignores_strings_passes(self): + # ignores strings + RequiredValidation._from_openapi_data( + "", + _configuration=self._configuration + ) + + def test_non_present_required_property_is_invalid_fails(self): + # non-present required property is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + RequiredValidation._from_openapi_data( + { + "bar": + 1, + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_required_with_empty_array.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_required_with_empty_array.py new file mode 100644 index 0000000000..aced932c70 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_required_with_empty_array.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.required_with_empty_array import RequiredWithEmptyArray +from unit_test_api import configuration + + +class TestRequiredWithEmptyArray(unittest.TestCase): + """RequiredWithEmptyArray unit test stubs""" + _configuration = configuration.Configuration() + + def test_property_not_required_passes(self): + # property not required + RequiredWithEmptyArray._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_simple_enum_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_simple_enum_validation.py new file mode 100644 index 0000000000..56d2746b84 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_simple_enum_validation.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.simple_enum_validation import SimpleEnumValidation +from unit_test_api import configuration + + +class TestSimpleEnumValidation(unittest.TestCase): + """SimpleEnumValidation unit test stubs""" + _configuration = configuration.Configuration() + + def test_something_else_is_invalid_fails(self): + # something else is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + SimpleEnumValidation._from_openapi_data( + 4, + _configuration=self._configuration + ) + + def test_one_of_the_enum_is_valid_passes(self): + # one of the enum is valid + SimpleEnumValidation._from_openapi_data( + 1, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_string_type_matches_strings.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_string_type_matches_strings.py new file mode 100644 index 0000000000..807e2afe1c --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_string_type_matches_strings.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.string_type_matches_strings import StringTypeMatchesStrings +from unit_test_api import configuration + + +class TestStringTypeMatchesStrings(unittest.TestCase): + """StringTypeMatchesStrings unit test stubs""" + _configuration = configuration.Configuration() + + def test_1_is_not_a_string_fails(self): + # 1 is not a string + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + StringTypeMatchesStrings._from_openapi_data( + 1, + _configuration=self._configuration + ) + + def test_a_string_is_still_a_string_even_if_it_looks_like_a_number_passes(self): + # a string is still a string, even if it looks like a number + StringTypeMatchesStrings._from_openapi_data( + "1", + _configuration=self._configuration + ) + + def test_an_empty_string_is_still_a_string_passes(self): + # an empty string is still a string + StringTypeMatchesStrings._from_openapi_data( + "", + _configuration=self._configuration + ) + + def test_a_float_is_not_a_string_fails(self): + # a float is not a string + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + StringTypeMatchesStrings._from_openapi_data( + 1.1, + _configuration=self._configuration + ) + + def test_an_object_is_not_a_string_fails(self): + # an object is not a string + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + StringTypeMatchesStrings._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + def test_an_array_is_not_a_string_fails(self): + # an array is not a string + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + StringTypeMatchesStrings._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + def test_a_boolean_is_not_a_string_fails(self): + # a boolean is not a string + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + StringTypeMatchesStrings._from_openapi_data( + True, + _configuration=self._configuration + ) + + def test_null_is_not_a_string_fails(self): + # null is not a string + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + StringTypeMatchesStrings._from_openapi_data( + None, + _configuration=self._configuration + ) + + def test_a_string_is_a_string_passes(self): + # a string is a string + StringTypeMatchesStrings._from_openapi_data( + "foo", + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_the_default_keyword_does_not_do_anything_if_the_property_is_missing.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_the_default_keyword_does_not_do_anything_if_the_property_is_missing.py new file mode 100644 index 0000000000..4f8e583c41 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_the_default_keyword_does_not_do_anything_if_the_property_is_missing.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.the_default_keyword_does_not_do_anything_if_the_property_is_missing import TheDefaultKeywordDoesNotDoAnythingIfThePropertyIsMissing +from unit_test_api import configuration + + +class TestTheDefaultKeywordDoesNotDoAnythingIfThePropertyIsMissing(unittest.TestCase): + """TheDefaultKeywordDoesNotDoAnythingIfThePropertyIsMissing unit test stubs""" + _configuration = configuration.Configuration() + + def test_missing_properties_are_not_filled_in_with_the_default_passes(self): + # missing properties are not filled in with the default + TheDefaultKeywordDoesNotDoAnythingIfThePropertyIsMissing._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + def test_an_explicit_property_value_is_checked_against_maximum_passing_passes(self): + # an explicit property value is checked against maximum (passing) + TheDefaultKeywordDoesNotDoAnythingIfThePropertyIsMissing._from_openapi_data( + { + "alpha": + 1, + }, + _configuration=self._configuration + ) + + def test_an_explicit_property_value_is_checked_against_maximum_failing_fails(self): + # an explicit property value is checked against maximum (failing) + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + TheDefaultKeywordDoesNotDoAnythingIfThePropertyIsMissing._from_openapi_data( + { + "alpha": + 5, + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uniqueitems_false_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uniqueitems_false_validation.py new file mode 100644 index 0000000000..afe2f481d7 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uniqueitems_false_validation.py @@ -0,0 +1,246 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.uniqueitems_false_validation import UniqueitemsFalseValidation +from unit_test_api import configuration + + +class TestUniqueitemsFalseValidation(unittest.TestCase): + """UniqueitemsFalseValidation unit test stubs""" + _configuration = configuration.Configuration() + + def test_non_unique_array_of_integers_is_valid_passes(self): + # non-unique array of integers is valid + UniqueitemsFalseValidation._from_openapi_data( + [ + 1, + 1, + ], + _configuration=self._configuration + ) + + def test_unique_array_of_objects_is_valid_passes(self): + # unique array of objects is valid + UniqueitemsFalseValidation._from_openapi_data( + [ + { + "foo": + "bar", + }, + { + "foo": + "baz", + }, + ], + _configuration=self._configuration + ) + + def test_non_unique_array_of_nested_objects_is_valid_passes(self): + # non-unique array of nested objects is valid + UniqueitemsFalseValidation._from_openapi_data( + [ + { + "foo": + { + "bar": + { + "baz": + True, + }, + }, + }, + { + "foo": + { + "bar": + { + "baz": + True, + }, + }, + }, + ], + _configuration=self._configuration + ) + + def test_non_unique_array_of_objects_is_valid_passes(self): + # non-unique array of objects is valid + UniqueitemsFalseValidation._from_openapi_data( + [ + { + "foo": + "bar", + }, + { + "foo": + "bar", + }, + ], + _configuration=self._configuration + ) + + def test_1_and_true_are_unique_passes(self): + # 1 and true are unique + UniqueitemsFalseValidation._from_openapi_data( + [ + 1, + True, + ], + _configuration=self._configuration + ) + + def test_unique_array_of_integers_is_valid_passes(self): + # unique array of integers is valid + UniqueitemsFalseValidation._from_openapi_data( + [ + 1, + 2, + ], + _configuration=self._configuration + ) + + def test_non_unique_array_of_arrays_is_valid_passes(self): + # non-unique array of arrays is valid + UniqueitemsFalseValidation._from_openapi_data( + [ + [ + "foo", + ], + [ + "foo", + ], + ], + _configuration=self._configuration + ) + + def test_numbers_are_unique_if_mathematically_unequal_passes(self): + # numbers are unique if mathematically unequal + UniqueitemsFalseValidation._from_openapi_data( + [ + 1.0, + 1.0, + 1, + ], + _configuration=self._configuration + ) + + def test_false_is_not_equal_to_zero_passes(self): + # false is not equal to zero + UniqueitemsFalseValidation._from_openapi_data( + [ + 0, + False, + ], + _configuration=self._configuration + ) + + def test_unique_array_of_nested_objects_is_valid_passes(self): + # unique array of nested objects is valid + UniqueitemsFalseValidation._from_openapi_data( + [ + { + "foo": + { + "bar": + { + "baz": + True, + }, + }, + }, + { + "foo": + { + "bar": + { + "baz": + False, + }, + }, + }, + ], + _configuration=self._configuration + ) + + def test_0_and_false_are_unique_passes(self): + # 0 and false are unique + UniqueitemsFalseValidation._from_openapi_data( + [ + 0, + False, + ], + _configuration=self._configuration + ) + + def test_unique_array_of_arrays_is_valid_passes(self): + # unique array of arrays is valid + UniqueitemsFalseValidation._from_openapi_data( + [ + [ + "foo", + ], + [ + "bar", + ], + ], + _configuration=self._configuration + ) + + def test_true_is_not_equal_to_one_passes(self): + # true is not equal to one + UniqueitemsFalseValidation._from_openapi_data( + [ + 1, + True, + ], + _configuration=self._configuration + ) + + def test_non_unique_heterogeneous_types_are_valid_passes(self): + # non-unique heterogeneous types are valid + UniqueitemsFalseValidation._from_openapi_data( + [ + { + }, + [ + 1, + ], + True, + None, + { + }, + 1, + ], + _configuration=self._configuration + ) + + def test_unique_heterogeneous_types_are_valid_passes(self): + # unique heterogeneous types are valid + UniqueitemsFalseValidation._from_openapi_data( + [ + { + }, + [ + 1, + ], + True, + None, + 1, + ], + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uniqueitems_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uniqueitems_validation.py new file mode 100644 index 0000000000..f4032887b6 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uniqueitems_validation.py @@ -0,0 +1,427 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.uniqueitems_validation import UniqueitemsValidation +from unit_test_api import configuration + + +class TestUniqueitemsValidation(unittest.TestCase): + """UniqueitemsValidation unit test stubs""" + _configuration = configuration.Configuration() + + def test_unique_array_of_objects_is_valid_passes(self): + # unique array of objects is valid + UniqueitemsValidation._from_openapi_data( + [ + { + "foo": + "bar", + }, + { + "foo": + "baz", + }, + ], + _configuration=self._configuration + ) + + def test_a_true_and_a1_are_unique_passes(self): + # {"a": true} and {"a": 1} are unique + UniqueitemsValidation._from_openapi_data( + [ + { + "a": + True, + }, + { + "a": + 1, + }, + ], + _configuration=self._configuration + ) + + def test_non_unique_heterogeneous_types_are_invalid_fails(self): + # non-unique heterogeneous types are invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + UniqueitemsValidation._from_openapi_data( + [ + { + }, + [ + 1, + ], + True, + None, + { + }, + 1, + ], + _configuration=self._configuration + ) + + def test_nested0_and_false_are_unique_passes(self): + # nested [0] and [false] are unique + UniqueitemsValidation._from_openapi_data( + [ + [ + [ + 0, + ], + "foo", + ], + [ + [ + False, + ], + "foo", + ], + ], + _configuration=self._configuration + ) + + def test_a_false_and_a0_are_unique_passes(self): + # {"a": false} and {"a": 0} are unique + UniqueitemsValidation._from_openapi_data( + [ + { + "a": + False, + }, + { + "a": + 0, + }, + ], + _configuration=self._configuration + ) + + def test_numbers_are_unique_if_mathematically_unequal_fails(self): + # numbers are unique if mathematically unequal + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + UniqueitemsValidation._from_openapi_data( + [ + 1.0, + 1.0, + 1, + ], + _configuration=self._configuration + ) + + def test_false_is_not_equal_to_zero_passes(self): + # false is not equal to zero + UniqueitemsValidation._from_openapi_data( + [ + 0, + False, + ], + _configuration=self._configuration + ) + + def test_0_and_false_are_unique_passes(self): + # [0] and [false] are unique + UniqueitemsValidation._from_openapi_data( + [ + [ + 0, + ], + [ + False, + ], + ], + _configuration=self._configuration + ) + + def test_unique_array_of_arrays_is_valid_passes(self): + # unique array of arrays is valid + UniqueitemsValidation._from_openapi_data( + [ + [ + "foo", + ], + [ + "bar", + ], + ], + _configuration=self._configuration + ) + + def test_non_unique_array_of_nested_objects_is_invalid_fails(self): + # non-unique array of nested objects is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + UniqueitemsValidation._from_openapi_data( + [ + { + "foo": + { + "bar": + { + "baz": + True, + }, + }, + }, + { + "foo": + { + "bar": + { + "baz": + True, + }, + }, + }, + ], + _configuration=self._configuration + ) + + def test_non_unique_array_of_more_than_two_integers_is_invalid_fails(self): + # non-unique array of more than two integers is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + UniqueitemsValidation._from_openapi_data( + [ + 1, + 2, + 1, + ], + _configuration=self._configuration + ) + + def test_true_is_not_equal_to_one_passes(self): + # true is not equal to one + UniqueitemsValidation._from_openapi_data( + [ + 1, + True, + ], + _configuration=self._configuration + ) + + def test_objects_are_non_unique_despite_key_order_fails(self): + # objects are non-unique despite key order + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + UniqueitemsValidation._from_openapi_data( + [ + { + "a": + 1, + "b": + 2, + }, + { + "b": + 2, + "a": + 1, + }, + ], + _configuration=self._configuration + ) + + def test_unique_array_of_strings_is_valid_passes(self): + # unique array of strings is valid + UniqueitemsValidation._from_openapi_data( + [ + "foo", + "bar", + "baz", + ], + _configuration=self._configuration + ) + + def test_1_and_true_are_unique_passes(self): + # [1] and [true] are unique + UniqueitemsValidation._from_openapi_data( + [ + [ + 1, + ], + [ + True, + ], + ], + _configuration=self._configuration + ) + + def test_different_objects_are_unique_passes(self): + # different objects are unique + UniqueitemsValidation._from_openapi_data( + [ + { + "a": + 1, + "b": + 2, + }, + { + "a": + 2, + "b": + 1, + }, + ], + _configuration=self._configuration + ) + + def test_unique_array_of_integers_is_valid_passes(self): + # unique array of integers is valid + UniqueitemsValidation._from_openapi_data( + [ + 1, + 2, + ], + _configuration=self._configuration + ) + + def test_non_unique_array_of_more_than_two_arrays_is_invalid_fails(self): + # non-unique array of more than two arrays is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + UniqueitemsValidation._from_openapi_data( + [ + [ + "foo", + ], + [ + "bar", + ], + [ + "foo", + ], + ], + _configuration=self._configuration + ) + + def test_non_unique_array_of_objects_is_invalid_fails(self): + # non-unique array of objects is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + UniqueitemsValidation._from_openapi_data( + [ + { + "foo": + "bar", + }, + { + "foo": + "bar", + }, + ], + _configuration=self._configuration + ) + + def test_unique_array_of_nested_objects_is_valid_passes(self): + # unique array of nested objects is valid + UniqueitemsValidation._from_openapi_data( + [ + { + "foo": + { + "bar": + { + "baz": + True, + }, + }, + }, + { + "foo": + { + "bar": + { + "baz": + False, + }, + }, + }, + ], + _configuration=self._configuration + ) + + def test_non_unique_array_of_arrays_is_invalid_fails(self): + # non-unique array of arrays is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + UniqueitemsValidation._from_openapi_data( + [ + [ + "foo", + ], + [ + "foo", + ], + ], + _configuration=self._configuration + ) + + def test_non_unique_array_of_strings_is_invalid_fails(self): + # non-unique array of strings is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + UniqueitemsValidation._from_openapi_data( + [ + "foo", + "bar", + "foo", + ], + _configuration=self._configuration + ) + + def test_nested1_and_true_are_unique_passes(self): + # nested [1] and [true] are unique + UniqueitemsValidation._from_openapi_data( + [ + [ + [ + 1, + ], + "foo", + ], + [ + [ + True, + ], + "foo", + ], + ], + _configuration=self._configuration + ) + + def test_unique_heterogeneous_types_are_valid_passes(self): + # unique heterogeneous types are valid + UniqueitemsValidation._from_openapi_data( + [ + { + }, + [ + 1, + ], + True, + None, + 1, + "{}", + ], + _configuration=self._configuration + ) + + def test_non_unique_array_of_integers_is_invalid_fails(self): + # non-unique array of integers is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + UniqueitemsValidation._from_openapi_data( + [ + 1, + 1, + ], + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uri_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uri_format.py new file mode 100644 index 0000000000..2f6def9024 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uri_format.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.uri_format import UriFormat +from unit_test_api import configuration + + +class TestUriFormat(unittest.TestCase): + """UriFormat unit test stubs""" + _configuration = configuration.Configuration() + + def test_all_string_formats_ignore_objects_passes(self): + # all string formats ignore objects + UriFormat._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_booleans_passes(self): + # all string formats ignore booleans + UriFormat._from_openapi_data( + False, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_integers_passes(self): + # all string formats ignore integers + UriFormat._from_openapi_data( + 12, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_floats_passes(self): + # all string formats ignore floats + UriFormat._from_openapi_data( + 13.7, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_arrays_passes(self): + # all string formats ignore arrays + UriFormat._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_nulls_passes(self): + # all string formats ignore nulls + UriFormat._from_openapi_data( + None, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uri_reference_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uri_reference_format.py new file mode 100644 index 0000000000..c5508b68bc --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uri_reference_format.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.uri_reference_format import UriReferenceFormat +from unit_test_api import configuration + + +class TestUriReferenceFormat(unittest.TestCase): + """UriReferenceFormat unit test stubs""" + _configuration = configuration.Configuration() + + def test_all_string_formats_ignore_objects_passes(self): + # all string formats ignore objects + UriReferenceFormat._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_booleans_passes(self): + # all string formats ignore booleans + UriReferenceFormat._from_openapi_data( + False, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_integers_passes(self): + # all string formats ignore integers + UriReferenceFormat._from_openapi_data( + 12, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_floats_passes(self): + # all string formats ignore floats + UriReferenceFormat._from_openapi_data( + 13.7, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_arrays_passes(self): + # all string formats ignore arrays + UriReferenceFormat._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_nulls_passes(self): + # all string formats ignore nulls + UriReferenceFormat._from_openapi_data( + None, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uri_template_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uri_template_format.py new file mode 100644 index 0000000000..456c0794ad --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_uri_template_format.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.uri_template_format import UriTemplateFormat +from unit_test_api import configuration + + +class TestUriTemplateFormat(unittest.TestCase): + """UriTemplateFormat unit test stubs""" + _configuration = configuration.Configuration() + + def test_all_string_formats_ignore_objects_passes(self): + # all string formats ignore objects + UriTemplateFormat._from_openapi_data( + { + }, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_booleans_passes(self): + # all string formats ignore booleans + UriTemplateFormat._from_openapi_data( + False, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_integers_passes(self): + # all string formats ignore integers + UriTemplateFormat._from_openapi_data( + 12, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_floats_passes(self): + # all string formats ignore floats + UriTemplateFormat._from_openapi_data( + 13.7, + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_arrays_passes(self): + # all string formats ignore arrays + UriTemplateFormat._from_openapi_data( + [ + ], + _configuration=self._configuration + ) + + def test_all_string_formats_ignore_nulls_passes(self): + # all string formats ignore nulls + UriTemplateFormat._from_openapi_data( + None, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test_python.sh b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test_python.sh new file mode 100755 index 0000000000..9728a9b531 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test_python.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +REQUIREMENTS_FILE=dev-requirements.txt +REQUIREMENTS_OUT=dev-requirements.txt.log +SETUP_OUT=*.egg-info +VENV=venv +DEACTIVE=false + +export LC_ALL=en_US.UTF-8 +export LANG=en_US.UTF-8 + +### set virtualenv +if [ -z "$VENVV" ]; then + python3 -m venv $VENV + source $VENV/bin/activate + DEACTIVE=true +fi + +### install dependencies +pip install -r $REQUIREMENTS_FILE | tee -a $REQUIREMENTS_OUT +### locally install the package, needed for pycharm problem checking +pip install -e . + +### run tests +tox || exit 1 + +### static analysis of code +#flake8 --show-source petstore_api/ + +### deactivate virtualenv +#if [ $DEACTIVE == true ]; then +# deactivate +#fi diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/tox.ini b/samples/openapi3/client/3_0_3_unit_test/python-experimental/tox.ini new file mode 100644 index 0000000000..e4093b56ea --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/tox.ini @@ -0,0 +1,9 @@ +[tox] +envlist = py39 + +[testenv] +deps=-r{toxinidir}/requirements.txt + -r{toxinidir}/test-requirements.txt + +commands= + pytest --cov=unit_test_api diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/__init__.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/__init__.py new file mode 100644 index 0000000000..5ca6e989be --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/__init__.py @@ -0,0 +1,28 @@ +# coding: utf-8 + +# flake8: noqa + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +__version__ = "1.0.0" + +# import ApiClient +from unit_test_api.api_client import ApiClient + +# import Configuration +from unit_test_api.configuration import Configuration + +# import exceptions +from unit_test_api.exceptions import OpenApiException +from unit_test_api.exceptions import ApiAttributeError +from unit_test_api.exceptions import ApiTypeError +from unit_test_api.exceptions import ApiValueError +from unit_test_api.exceptions import ApiKeyError +from unit_test_api.exceptions import ApiException diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/api/__init__.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/api/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/api_client.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/api_client.py new file mode 100644 index 0000000000..66e52cba29 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/api_client.py @@ -0,0 +1,1420 @@ +# coding: utf-8 +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +from dataclasses import dataclass +from decimal import Decimal +import enum +import email +import json +import os +import io +import atexit +from multiprocessing.pool import ThreadPool +import re +import tempfile +import typing +import urllib3 +from urllib3._collections import HTTPHeaderDict +from urllib.parse import quote +from urllib3.fields import RequestField as RequestFieldBase + + +from unit_test_api import rest +from unit_test_api.configuration import Configuration +from unit_test_api.exceptions import ApiTypeError, ApiValueError +from unit_test_api.schemas import ( + NoneClass, + BoolClass, + Schema, + FileIO, + BinarySchema, + date, + datetime, + none_type, + frozendict, + Unset, + unset, +) + + +class RequestField(RequestFieldBase): + def __eq__(self, other): + if not isinstance(other, RequestField): + return False + return self.__dict__ == other.__dict__ + + +class JSONEncoder(json.JSONEncoder): + def default(self, obj): + if isinstance(obj, str): + return str(obj) + elif isinstance(obj, float): + return float(obj) + elif isinstance(obj, int): + return int(obj) + elif isinstance(obj, Decimal): + if obj.as_tuple().exponent >= 0: + return int(obj) + return float(obj) + elif isinstance(obj, NoneClass): + return None + elif isinstance(obj, BoolClass): + return bool(obj) + elif isinstance(obj, (dict, frozendict)): + return {key: self.default(val) for key, val in obj.items()} + elif isinstance(obj, (list, tuple)): + return [self.default(item) for item in obj] + raise ApiValueError('Unable to prepare type {} for serialization'.format(obj.__class__.__name__)) + + +class ParameterInType(enum.Enum): + QUERY = 'query' + HEADER = 'header' + PATH = 'path' + COOKIE = 'cookie' + + +class ParameterStyle(enum.Enum): + MATRIX = 'matrix' + LABEL = 'label' + FORM = 'form' + SIMPLE = 'simple' + SPACE_DELIMITED = 'spaceDelimited' + PIPE_DELIMITED = 'pipeDelimited' + DEEP_OBJECT = 'deepObject' + + +class PrefixSeparatorIterator: + # A class to store prefixes and separators for rfc6570 expansions + + def __init__(self, prefix: str, separator: str): + self.prefix = prefix + self.separator = separator + self.first = True + if separator in {'.', '|', '%20'}: + item_separator = separator + else: + item_separator = ',' + self.item_separator = item_separator + + def __iter__(self): + return self + + def __next__(self): + if self.first: + self.first = False + return self.prefix + return self.separator + + +class ParameterSerializerBase: + @classmethod + def get_default_explode(cls, style: ParameterStyle) -> bool: + return False + + @staticmethod + def __ref6570_item_value(in_data: typing.Any, percent_encode: bool): + """ + Get representation if str/float/int/None/items in list/ values in dict + None is returned if an item is undefined, use cases are value= + - None + - [] + - {} + - [None, None None] + - {'a': None, 'b': None} + """ + if type(in_data) in {str, float, int}: + if percent_encode: + return quote(str(in_data)) + return str(in_data) + elif isinstance(in_data, none_type): + # ignored by the expansion process https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.1 + return None + elif isinstance(in_data, list) and not in_data: + # ignored by the expansion process https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.1 + return None + elif isinstance(in_data, dict) and not in_data: + # ignored by the expansion process https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.1 + return None + raise ApiValueError('Unable to generate a ref6570 item representation of {}'.format(in_data)) + + @staticmethod + def to_dict(name: str, value: str): + return {name: value} + + @classmethod + def ref6570_expansion( + cls, + variable_name: str, + in_data: typing.Any, + explode: bool, + percent_encode: bool, + prefix_separator_iterator: PrefixSeparatorIterator + ) -> str: + """ + Separator is for separate variables like dict with explode true, not for array item separation + """ + named_parameter_expansion = prefix_separator_iterator.separator in {'&', ';'} + var_name_piece = variable_name if named_parameter_expansion else '' + if type(in_data) in {str, float, int}: + item_value = cls.__ref6570_item_value(in_data, percent_encode) + if item_value is None: + return next(prefix_separator_iterator) + var_name_piece + elif item_value == '' and prefix_separator_iterator.separator == ';': + return next(prefix_separator_iterator) + var_name_piece + value_pair_equals = '=' if named_parameter_expansion else '' + return next(prefix_separator_iterator) + var_name_piece + value_pair_equals + item_value + elif isinstance(in_data, none_type): + # ignored by the expansion process https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.1 + return "" + elif isinstance(in_data, list): + item_values = [cls.__ref6570_item_value(v, percent_encode) for v in in_data] + item_values = [v for v in item_values if v is not None] + if not item_values: + # ignored by the expansion process https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.1 + return "" + value_pair_equals = '=' if named_parameter_expansion else '' + if not explode: + return ( + next(prefix_separator_iterator) + + var_name_piece + + value_pair_equals + + prefix_separator_iterator.item_separator.join(item_values) + ) + # exploded + return next(prefix_separator_iterator) + next(prefix_separator_iterator).join( + [var_name_piece + value_pair_equals + val for val in item_values] + ) + elif isinstance(in_data, dict): + in_data_transformed = {key: cls.__ref6570_item_value(val, percent_encode) for key, val in in_data.items()} + in_data_transformed = {key: val for key, val in in_data_transformed.items() if val is not None} + if not in_data_transformed: + # ignored by the expansion process https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.1 + return "" + value_pair_equals = '=' if named_parameter_expansion else '' + if not explode: + return ( + next(prefix_separator_iterator) + + var_name_piece + value_pair_equals + + prefix_separator_iterator.item_separator.join( + prefix_separator_iterator.item_separator.join( + item_pair + ) for item_pair in in_data_transformed.items() + ) + ) + # exploded + return next(prefix_separator_iterator) + next(prefix_separator_iterator).join( + [key + '=' + val for key, val in in_data_transformed.items()] + ) + # bool, bytes, etc + raise ApiValueError('Unable to generate a ref6570 representation of {}'.format(in_data)) + + +class StyleFormSerializer(ParameterSerializerBase): + @classmethod + def get_default_explode(cls, style: ParameterStyle) -> bool: + if style is ParameterStyle.FORM: + return True + return super().get_default_explode(style) + + def serialize_form( + self, + in_data: typing.Union[None, int, float, str, bool, dict, list], + name: str, + explode: bool, + percent_encode: bool, + prefix_separator_iterator: typing.Optional[PrefixSeparatorIterator] = None + ) -> str: + if prefix_separator_iterator is None: + prefix_separator_iterator = PrefixSeparatorIterator('?', '&') + return self.ref6570_expansion( + variable_name=name, + in_data=in_data, + explode=explode, + percent_encode=percent_encode, + prefix_separator_iterator=prefix_separator_iterator + ) + + +class StyleSimpleSerializer(ParameterSerializerBase): + + def serialize_simple( + self, + in_data: typing.Union[None, int, float, str, bool, dict, list], + name: str, + explode: bool, + percent_encode: bool + ) -> str: + prefix_separator_iterator = PrefixSeparatorIterator('', ',') + return self.ref6570_expansion( + variable_name=name, + in_data=in_data, + explode=explode, + percent_encode=percent_encode, + prefix_separator_iterator=prefix_separator_iterator + ) + + +@dataclass +class ParameterBase: + name: str + in_type: ParameterInType + required: bool + style: typing.Optional[ParameterStyle] + explode: typing.Optional[bool] + allow_reserved: typing.Optional[bool] + schema: typing.Optional[typing.Type[Schema]] + content: typing.Optional[typing.Dict[str, typing.Type[Schema]]] + + __style_to_in_type = { + ParameterStyle.MATRIX: {ParameterInType.PATH}, + ParameterStyle.LABEL: {ParameterInType.PATH}, + ParameterStyle.FORM: {ParameterInType.QUERY, ParameterInType.COOKIE}, + ParameterStyle.SIMPLE: {ParameterInType.PATH, ParameterInType.HEADER}, + ParameterStyle.SPACE_DELIMITED: {ParameterInType.QUERY}, + ParameterStyle.PIPE_DELIMITED: {ParameterInType.QUERY}, + ParameterStyle.DEEP_OBJECT: {ParameterInType.QUERY}, + } + __in_type_to_default_style = { + ParameterInType.QUERY: ParameterStyle.FORM, + ParameterInType.PATH: ParameterStyle.SIMPLE, + ParameterInType.HEADER: ParameterStyle.SIMPLE, + ParameterInType.COOKIE: ParameterStyle.FORM, + } + __disallowed_header_names = {'Accept', 'Content-Type', 'Authorization'} + _json_encoder = JSONEncoder() + _json_content_type = 'application/json' + + @classmethod + def __verify_style_to_in_type(cls, style: typing.Optional[ParameterStyle], in_type: ParameterInType): + if style is None: + return + in_type_set = cls.__style_to_in_type[style] + if in_type not in in_type_set: + raise ValueError( + 'Invalid style and in_type combination. For style={} only in_type={} are allowed'.format( + style, in_type_set + ) + ) + + def __init__( + self, + name: str, + in_type: ParameterInType, + required: bool = False, + style: typing.Optional[ParameterStyle] = None, + explode: bool = False, + allow_reserved: typing.Optional[bool] = None, + schema: typing.Optional[typing.Type[Schema]] = None, + content: typing.Optional[typing.Dict[str, typing.Type[Schema]]] = None + ): + if schema is None and content is None: + raise ValueError('Value missing; Pass in either schema or content') + if schema and content: + raise ValueError('Too many values provided. Both schema and content were provided. Only one may be input') + if name in self.__disallowed_header_names and in_type is ParameterInType.HEADER: + raise ValueError('Invalid name, name may not be one of {}'.format(self.__disallowed_header_names)) + self.__verify_style_to_in_type(style, in_type) + if content is None and style is None: + style = self.__in_type_to_default_style[in_type] + if content is not None and in_type in self.__in_type_to_default_style and len(content) != 1: + raise ValueError('Invalid content length, content length must equal 1') + self.in_type = in_type + self.name = name + self.required = required + self.style = style + self.explode = explode + self.allow_reserved = allow_reserved + self.schema = schema + self.content = content + + @staticmethod + def _remove_empty_and_cast( + in_data: typing.Tuple[typing.Tuple[str, str]], + ) -> typing.Dict[str, str]: + data = tuple(t for t in in_data if t) + if not data: + return dict() + return dict(data) + + def _serialize_json( + self, + in_data: typing.Union[None, int, float, str, bool, dict, list] + ) -> str: + return json.dumps(in_data) + + +class PathParameter(ParameterBase, StyleSimpleSerializer): + + def __init__( + self, + name: str, + required: bool = False, + style: typing.Optional[ParameterStyle] = None, + explode: bool = False, + allow_reserved: typing.Optional[bool] = None, + schema: typing.Optional[typing.Type[Schema]] = None, + content: typing.Optional[typing.Dict[str, typing.Type[Schema]]] = None + ): + super().__init__( + name, + in_type=ParameterInType.PATH, + required=required, + style=style, + explode=explode, + allow_reserved=allow_reserved, + schema=schema, + content=content + ) + + def _serialize_label( + self, + in_data: typing.Union[None, int, float, str, bool, dict, list] + ) -> typing.Dict[str, str]: + prefix_separator_iterator = PrefixSeparatorIterator('.', '.') + value = self.ref6570_expansion( + variable_name=self.name, + in_data=in_data, + explode=self.explode, + percent_encode=True, + prefix_separator_iterator=prefix_separator_iterator + ) + return self.to_dict(self.name, value) + + def _serialize_matrix( + self, + in_data: typing.Union[None, int, float, str, bool, dict, list] + ) -> typing.Dict[str, str]: + prefix_separator_iterator = PrefixSeparatorIterator(';', ';') + value = self.ref6570_expansion( + variable_name=self.name, + in_data=in_data, + explode=self.explode, + percent_encode=True, + prefix_separator_iterator=prefix_separator_iterator + ) + return self.to_dict(self.name, value) + + def _serialize_simple( + self, + in_data: typing.Union[None, int, float, str, bool, dict, list], + ) -> typing.Dict[str, str]: + value = self.serialize_simple( + in_data=in_data, + name=self.name, + explode=self.explode, + percent_encode=True + ) + return self.to_dict(self.name, value) + + def serialize( + self, + in_data: typing.Union[ + Schema, Decimal, int, float, str, date, datetime, None, bool, list, tuple, dict, frozendict] + ) -> typing.Dict[str, str]: + if self.schema: + cast_in_data = self.schema(in_data) + cast_in_data = self._json_encoder.default(cast_in_data) + """ + simple -> path + path: + returns path_params: dict + label -> path + returns path_params + matrix -> path + returns path_params + """ + if self.style: + if self.style is ParameterStyle.SIMPLE: + return self._serialize_simple(cast_in_data) + elif self.style is ParameterStyle.LABEL: + return self._serialize_label(cast_in_data) + elif self.style is ParameterStyle.MATRIX: + return self._serialize_matrix(cast_in_data) + # self.content will be length one + for content_type, schema in self.content.items(): + cast_in_data = schema(in_data) + cast_in_data = self._json_encoder.default(cast_in_data) + if content_type == self._json_content_type: + value = self._serialize_json(cast_in_data) + return self.to_dict(self.name, value) + raise NotImplementedError('Serialization of {} has not yet been implemented'.format(content_type)) + + +class QueryParameter(ParameterBase, StyleFormSerializer): + + def __init__( + self, + name: str, + required: bool = False, + style: typing.Optional[ParameterStyle] = None, + explode: typing.Optional[bool] = None, + allow_reserved: typing.Optional[bool] = None, + schema: typing.Optional[typing.Type[Schema]] = None, + content: typing.Optional[typing.Dict[str, typing.Type[Schema]]] = None + ): + used_style = ParameterStyle.FORM if style is None and content is None and schema else style + used_explode = self.get_default_explode(used_style) if explode is None else explode + + super().__init__( + name, + in_type=ParameterInType.QUERY, + required=required, + style=used_style, + explode=used_explode, + allow_reserved=allow_reserved, + schema=schema, + content=content + ) + + def __serialize_space_delimited( + self, + in_data: typing.Union[None, int, float, str, bool, dict, list], + prefix_separator_iterator: typing.Optional[PrefixSeparatorIterator] + ) -> typing.Dict[str, str]: + if prefix_separator_iterator is None: + prefix_separator_iterator = self.get_prefix_separator_iterator() + value = self.ref6570_expansion( + variable_name=self.name, + in_data=in_data, + explode=self.explode, + percent_encode=True, + prefix_separator_iterator=prefix_separator_iterator + ) + return self.to_dict(self.name, value) + + def __serialize_pipe_delimited( + self, + in_data: typing.Union[None, int, float, str, bool, dict, list], + prefix_separator_iterator: typing.Optional[PrefixSeparatorIterator] + ) -> typing.Dict[str, str]: + if prefix_separator_iterator is None: + prefix_separator_iterator = self.get_prefix_separator_iterator() + value = self.ref6570_expansion( + variable_name=self.name, + in_data=in_data, + explode=self.explode, + percent_encode=True, + prefix_separator_iterator=prefix_separator_iterator + ) + return self.to_dict(self.name, value) + + def __serialize_form( + self, + in_data: typing.Union[None, int, float, str, bool, dict, list], + prefix_separator_iterator: typing.Optional[PrefixSeparatorIterator] + ) -> typing.Dict[str, str]: + if prefix_separator_iterator is None: + prefix_separator_iterator = self.get_prefix_separator_iterator() + value = self.serialize_form( + in_data, + name=self.name, + explode=self.explode, + percent_encode=True, + prefix_separator_iterator=prefix_separator_iterator + ) + return self.to_dict(self.name, value) + + def get_prefix_separator_iterator(self) -> typing.Optional[PrefixSeparatorIterator]: + if not self.schema: + return None + if self.style is ParameterStyle.FORM: + return PrefixSeparatorIterator('?', '&') + elif self.style is ParameterStyle.SPACE_DELIMITED: + return PrefixSeparatorIterator('', '%20') + elif self.style is ParameterStyle.PIPE_DELIMITED: + return PrefixSeparatorIterator('', '|') + + def serialize( + self, + in_data: typing.Union[ + Schema, Decimal, int, float, str, date, datetime, None, bool, list, tuple, dict, frozendict], + prefix_separator_iterator: typing.Optional[PrefixSeparatorIterator] = None + ) -> typing.Dict[str, str]: + if self.schema: + cast_in_data = self.schema(in_data) + cast_in_data = self._json_encoder.default(cast_in_data) + """ + form -> query + query: + - GET/HEAD/DELETE: could use fields + - PUT/POST: must use urlencode to send parameters + returns fields: tuple + spaceDelimited -> query + returns fields + pipeDelimited -> query + returns fields + deepObject -> query, https://github.com/OAI/OpenAPI-Specification/issues/1706 + returns fields + """ + if self.style: + # TODO update query ones to omit setting values when [] {} or None is input + if self.style is ParameterStyle.FORM: + return self.__serialize_form(cast_in_data, prefix_separator_iterator) + elif self.style is ParameterStyle.SPACE_DELIMITED: + return self.__serialize_space_delimited(cast_in_data, prefix_separator_iterator) + elif self.style is ParameterStyle.PIPE_DELIMITED: + return self.__serialize_pipe_delimited(cast_in_data, prefix_separator_iterator) + # self.content will be length one + for content_type, schema in self.content.items(): + cast_in_data = schema(in_data) + cast_in_data = self._json_encoder.default(cast_in_data) + if content_type == self._json_content_type: + value = self._serialize_json(cast_in_data) + return self.to_dict(self.name, value) + raise NotImplementedError('Serialization of {} has not yet been implemented'.format(content_type)) + + +class CookieParameter(ParameterBase, StyleFormSerializer): + + def __init__( + self, + name: str, + required: bool = False, + style: typing.Optional[ParameterStyle] = None, + explode: typing.Optional[bool] = None, + allow_reserved: typing.Optional[bool] = None, + schema: typing.Optional[typing.Type[Schema]] = None, + content: typing.Optional[typing.Dict[str, typing.Type[Schema]]] = None + ): + used_style = ParameterStyle.FORM if style is None and content is None and schema else style + used_explode = self.get_default_explode(used_style) if explode is None else explode + + super().__init__( + name, + in_type=ParameterInType.COOKIE, + required=required, + style=used_style, + explode=used_explode, + allow_reserved=allow_reserved, + schema=schema, + content=content + ) + + def serialize( + self, + in_data: typing.Union[ + Schema, Decimal, int, float, str, date, datetime, None, bool, list, tuple, dict, frozendict] + ) -> typing.Dict[str, str]: + if self.schema: + cast_in_data = self.schema(in_data) + cast_in_data = self._json_encoder.default(cast_in_data) + """ + form -> cookie + returns fields: tuple + """ + if self.style: + """ + TODO add escaping of comma, space, equals + or turn encoding on + """ + value = self.serialize_form( + cast_in_data, + explode=self.explode, + name=self.name, + percent_encode=False, + prefix_separator_iterator=PrefixSeparatorIterator('', '&') + ) + return self.to_dict(self.name, value) + # self.content will be length one + for content_type, schema in self.content.items(): + cast_in_data = schema(in_data) + cast_in_data = self._json_encoder.default(cast_in_data) + if content_type == self._json_content_type: + value = self._serialize_json(cast_in_data) + return self.to_dict(self.name, value) + raise NotImplementedError('Serialization of {} has not yet been implemented'.format(content_type)) + + +class HeaderParameter(ParameterBase, StyleSimpleSerializer): + def __init__( + self, + name: str, + required: bool = False, + style: typing.Optional[ParameterStyle] = None, + explode: bool = False, + allow_reserved: typing.Optional[bool] = None, + schema: typing.Optional[typing.Type[Schema]] = None, + content: typing.Optional[typing.Dict[str, typing.Type[Schema]]] = None + ): + super().__init__( + name, + in_type=ParameterInType.HEADER, + required=required, + style=style, + explode=explode, + allow_reserved=allow_reserved, + schema=schema, + content=content + ) + + @staticmethod + def __to_headers(in_data: typing.Tuple[typing.Tuple[str, str], ...]) -> HTTPHeaderDict[str, str]: + data = tuple(t for t in in_data if t) + headers = HTTPHeaderDict() + if not data: + return headers + headers.extend(data) + return headers + + def _serialize_simple( + self, + in_data: typing.Union[None, int, float, str, bool, dict, list], + ) -> str: + return self.serialize_simple(in_data, self.name, self.explode, False) + + def serialize( + self, + in_data: typing.Union[ + Schema, Decimal, int, float, str, date, datetime, None, bool, list, tuple, dict, frozendict] + ) -> HTTPHeaderDict[str, str]: + if self.schema: + cast_in_data = self.schema(in_data) + cast_in_data = self._json_encoder.default(cast_in_data) + """ + simple -> header + headers: PoolManager needs a mapping, tuple is close + returns headers: dict + """ + if self.style: + value = self._serialize_simple(cast_in_data) + return self.__to_headers(((self.name, value),)) + # self.content will be length one + for content_type, schema in self.content.items(): + cast_in_data = schema(in_data) + cast_in_data = self._json_encoder.default(cast_in_data) + if content_type == self._json_content_type: + value = self._serialize_json(cast_in_data) + return self.__to_headers(((self.name, value),)) + raise NotImplementedError('Serialization of {} has not yet been implemented'.format(content_type)) + + +class Encoding: + def __init__( + self, + content_type: str, + headers: typing.Optional[typing.Dict[str, HeaderParameter]] = None, + style: typing.Optional[ParameterStyle] = None, + explode: bool = False, + allow_reserved: bool = False, + ): + self.content_type = content_type + self.headers = headers + self.style = style + self.explode = explode + self.allow_reserved = allow_reserved + + +@dataclass +class MediaType: + """ + Used to store request and response body schema information + encoding: + A map between a property name and its encoding information. + The key, being the property name, MUST exist in the schema as a property. + The encoding object SHALL only apply to requestBody objects when the media type is + multipart or application/x-www-form-urlencoded. + """ + schema: typing.Optional[typing.Type[Schema]] = None + encoding: typing.Optional[typing.Dict[str, Encoding]] = None + + +@dataclass +class ApiResponse: + response: urllib3.HTTPResponse + body: typing.Union[Unset, typing.Type[Schema]] + headers: typing.Union[Unset, typing.List[HeaderParameter]] + + def __init__( + self, + response: urllib3.HTTPResponse, + body: typing.Union[Unset, typing.Type[Schema]], + headers: typing.Union[Unset, typing.List[HeaderParameter]] + ): + """ + pycharm needs this to prevent 'Unexpected argument' warnings + """ + self.response = response + self.body = body + self.headers = headers + + +@dataclass +class ApiResponseWithoutDeserialization(ApiResponse): + response: urllib3.HTTPResponse + body: typing.Union[Unset, typing.Type[Schema]] = unset + headers: typing.Union[Unset, typing.List[HeaderParameter]] = unset + + +class JSONDetector: + @staticmethod + def content_type_is_json(content_type: str) -> bool: + """ + for when content_type strings also include charset info like: + application/json; charset=UTF-8 + """ + content_type_piece = content_type.split(';')[0] + if content_type_piece == 'application/json': + return True + return False + + +class OpenApiResponse(JSONDetector): + def __init__( + self, + response_cls: typing.Type[ApiResponse] = ApiResponse, + content: typing.Optional[typing.Dict[str, MediaType]] = None, + headers: typing.Optional[typing.List[HeaderParameter]] = None, + ): + self.headers = headers + if content is not None and len(content) == 0: + raise ValueError('Invalid value for content, the content dict must have >= 1 entry') + self.content = content + self.response_cls = response_cls + + @staticmethod + def __deserialize_json(response: urllib3.HTTPResponse) -> typing.Any: + # python must be >= 3.9 so we can pass in bytes into json.loads + return json.loads(response.data) + + @staticmethod + def __file_name_from_content_disposition(content_disposition: typing.Optional[str]) -> typing.Optional[str]: + if content_disposition is None: + return None + match = re.search('filename="(.+?)"', content_disposition) + if not match: + return None + return match.group(1) + + def __deserialize_application_octet_stream( + self, response: urllib3.HTTPResponse + ) -> typing.Union[bytes, io.BufferedReader]: + """ + urllib3 use cases: + 1. when preload_content=True (stream=False) then supports_chunked_reads is False and bytes are returned + 2. when preload_content=False (stream=True) then supports_chunked_reads is True and + a file will be written and returned + """ + if response.supports_chunked_reads(): + file_name = self.__file_name_from_content_disposition(response.headers.get('content-disposition')) + + if file_name is None: + _fd, path = tempfile.mkstemp() + else: + path = os.path.join(tempfile.gettempdir(), file_name) + # TODO get file_name from the filename at the end of the url if it exists + with open(path, 'wb') as new_file: + chunk_size = 1024 + while True: + data = response.read(chunk_size) + if not data: + break + new_file.write(data) + # release_conn is needed for streaming connections only + response.release_conn() + new_file = open(path, 'rb') + return new_file + else: + return response.data + + @staticmethod + def __deserialize_multipart_form_data( + response: urllib3.HTTPResponse + ) -> typing.Dict[str, typing.Any]: + msg = email.message_from_bytes(response.data) + return { + part.get_param("name", header="Content-Disposition"): part.get_payload( + decode=True + ).decode(part.get_content_charset()) + if part.get_content_charset() + else part.get_payload() + for part in msg.get_payload() + } + + def deserialize(self, response: urllib3.HTTPResponse, configuration: Configuration) -> ApiResponse: + content_type = response.getheader('content-type') + deserialized_body = unset + streamed = response.supports_chunked_reads() + + deserialized_headers = unset + if self.headers is not None: + # TODO add header deserialiation here + pass + + if self.content is not None: + if content_type not in self.content: + raise ApiValueError( + f'Invalid content_type={content_type} returned for response with ' + 'status_code={str(response.status)}' + ) + body_schema = self.content[content_type].schema + if body_schema is None: + # some specs do not define response content media type schemas + return self.response_cls( + response=response, + headers=deserialized_headers, + body=unset + ) + + if self.content_type_is_json(content_type): + body_data = self.__deserialize_json(response) + elif content_type == 'application/octet-stream': + body_data = self.__deserialize_application_octet_stream(response) + elif content_type.startswith('multipart/form-data'): + body_data = self.__deserialize_multipart_form_data(response) + content_type = 'multipart/form-data' + else: + raise NotImplementedError('Deserialization of {} has not yet been implemented'.format(content_type)) + deserialized_body = body_schema._from_openapi_data( + body_data, _configuration=configuration) + elif streamed: + response.release_conn() + + return self.response_cls( + response=response, + headers=deserialized_headers, + body=deserialized_body + ) + + +class ApiClient: + """Generic API client for OpenAPI client library builds. + + OpenAPI generic API client. This client handles the client- + server communication, and is invariant across implementations. Specifics of + the methods and models for each application are generated from the OpenAPI + templates. + + NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + Do not edit the class manually. + + :param configuration: .Configuration object for this client + :param header_name: a header to pass when making calls to the API. + :param header_value: a header value to pass when making calls to + the API. + :param cookie: a cookie to include in the header when making calls + to the API + :param pool_threads: The number of threads to use for async requests + to the API. More threads means more concurrent API requests. + """ + + _pool = None + __json_encoder = JSONEncoder() + + def __init__( + self, + configuration: typing.Optional[Configuration] = None, + header_name: typing.Optional[str] = None, + header_value: typing.Optional[str] = None, + cookie: typing.Optional[str] = None, + pool_threads: int = 1 + ): + if configuration is None: + configuration = Configuration() + self.configuration = configuration + self.pool_threads = pool_threads + + self.rest_client = rest.RESTClientObject(configuration) + self.default_headers = {} + if header_name is not None: + self.default_headers[header_name] = header_value + self.cookie = cookie + # Set default User-Agent. + self.user_agent = 'OpenAPI-Generator/1.0.0/python' + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_value, traceback): + self.close() + + def close(self): + if self._pool: + self._pool.close() + self._pool.join() + self._pool = None + if hasattr(atexit, 'unregister'): + atexit.unregister(self.close) + + @property + def pool(self): + """Create thread pool on first request + avoids instantiating unused threadpool for blocking clients. + """ + if self._pool is None: + atexit.register(self.close) + self._pool = ThreadPool(self.pool_threads) + return self._pool + + @property + def user_agent(self): + """User agent for this API client""" + return self.default_headers['User-Agent'] + + @user_agent.setter + def user_agent(self, value): + self.default_headers['User-Agent'] = value + + def set_default_header(self, header_name, header_value): + self.default_headers[header_name] = header_value + + def __call_api( + self, + resource_path: str, + method: str, + headers: typing.Optional[HTTPHeaderDict] = None, + body: typing.Optional[typing.Union[str, bytes]] = None, + fields: typing.Optional[typing.Tuple[typing.Tuple[str, str], ...]] = None, + auth_settings: typing.Optional[typing.List[str]] = None, + stream: bool = False, + timeout: typing.Optional[typing.Union[int, typing.Tuple]] = None, + host: typing.Optional[str] = None, + ) -> urllib3.HTTPResponse: + + # header parameters + headers = headers or {} + headers.update(self.default_headers) + if self.cookie: + headers['Cookie'] = self.cookie + + # auth setting + self.update_params_for_auth(headers, + auth_settings, resource_path, method, body) + + # request url + if host is None: + url = self.configuration.host + resource_path + else: + # use server/host defined in path or operation instead + url = host + resource_path + + # perform request and return response + response = self.request( + method, + url, + headers=headers, + fields=fields, + body=body, + stream=stream, + timeout=timeout, + ) + return response + + def call_api( + self, + resource_path: str, + method: str, + headers: typing.Optional[HTTPHeaderDict] = None, + body: typing.Optional[typing.Union[str, bytes]] = None, + fields: typing.Optional[typing.Tuple[typing.Tuple[str, str], ...]] = None, + auth_settings: typing.Optional[typing.List[str]] = None, + async_req: typing.Optional[bool] = None, + stream: bool = False, + timeout: typing.Optional[typing.Union[int, typing.Tuple]] = None, + host: typing.Optional[str] = None, + ) -> urllib3.HTTPResponse: + """Makes the HTTP request (synchronous) and returns deserialized data. + + To make an async_req request, set the async_req parameter. + + :param resource_path: Path to method endpoint. + :param method: Method to call. + :param headers: Header parameters to be + placed in the request header. + :param body: Request body. + :param fields: Request post form parameters, + for `application/x-www-form-urlencoded`, `multipart/form-data`. + :param auth_settings: Auth Settings names for the request. + :param async_req: execute request asynchronously + :type async_req: bool, optional TODO remove, unused + :param stream: if True, the urllib3.HTTPResponse object will + be returned without reading/decoding response + data. Also when True, if the openapi spec describes a file download, + the data will be written to a local filesystme file and the BinarySchema + instance will also inherit from FileSchema and FileIO + Default is False. + :type stream: bool, optional + :param timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :param host: api endpoint host + :return: + If async_req parameter is True, + the request will be called asynchronously. + The method will return the request thread. + If parameter async_req is False or missing, + then the method will return the response directly. + """ + + if not async_req: + return self.__call_api( + resource_path, + method, + headers, + body, + fields, + auth_settings, + stream, + timeout, + host, + ) + + return self.pool.apply_async( + self.__call_api, + ( + resource_path, + method, + headers, + body, + json, + fields, + auth_settings, + stream, + timeout, + host, + ) + ) + + def request( + self, + method: str, + url: str, + headers: typing.Optional[HTTPHeaderDict] = None, + fields: typing.Optional[typing.Tuple[typing.Tuple[str, str], ...]] = None, + body: typing.Optional[typing.Union[str, bytes]] = None, + stream: bool = False, + timeout: typing.Optional[typing.Union[int, typing.Tuple]] = None, + ) -> urllib3.HTTPResponse: + """Makes the HTTP request using RESTClient.""" + if method == "GET": + return self.rest_client.GET(url, + stream=stream, + timeout=timeout, + headers=headers) + elif method == "HEAD": + return self.rest_client.HEAD(url, + stream=stream, + timeout=timeout, + headers=headers) + elif method == "OPTIONS": + return self.rest_client.OPTIONS(url, + headers=headers, + fields=fields, + stream=stream, + timeout=timeout, + body=body) + elif method == "POST": + return self.rest_client.POST(url, + headers=headers, + fields=fields, + stream=stream, + timeout=timeout, + body=body) + elif method == "PUT": + return self.rest_client.PUT(url, + headers=headers, + fields=fields, + stream=stream, + timeout=timeout, + body=body) + elif method == "PATCH": + return self.rest_client.PATCH(url, + headers=headers, + fields=fields, + stream=stream, + timeout=timeout, + body=body) + elif method == "DELETE": + return self.rest_client.DELETE(url, + headers=headers, + stream=stream, + timeout=timeout, + body=body) + else: + raise ApiValueError( + "http method must be `GET`, `HEAD`, `OPTIONS`," + " `POST`, `PATCH`, `PUT` or `DELETE`." + ) + + def update_params_for_auth(self, headers, auth_settings, + resource_path, method, body): + """Updates header and query params based on authentication setting. + + :param headers: Header parameters dict to be updated. + :param auth_settings: Authentication setting identifiers list. + :param resource_path: A string representation of the HTTP request resource path. + :param method: A string representation of the HTTP request method. + :param body: A object representing the body of the HTTP request. + The object type is the return value of _encoder.default(). + """ + if not auth_settings: + return + + for auth in auth_settings: + auth_setting = self.configuration.auth_settings().get(auth) + if auth_setting: + if auth_setting['in'] == 'cookie': + headers.add('Cookie', auth_setting['value']) + elif auth_setting['in'] == 'header': + if auth_setting['type'] != 'http-signature': + headers.add(auth_setting['key'], auth_setting['value']) + elif auth_setting['in'] == 'query': + """ TODO implement auth in query + need to pass in prefix_separator_iterator + and need to output resource_path with query params added + """ + raise ApiValueError("Auth in query not yet implemented") + else: + raise ApiValueError( + 'Authentication token must be in `query` or `header`' + ) + + +class Api: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client: typing.Optional[ApiClient] = None): + if api_client is None: + api_client = ApiClient() + self.api_client = api_client + + @staticmethod + def _verify_typed_dict_inputs(cls: typing.Type[typing.TypedDict], data: typing.Dict[str, typing.Any]): + """ + Ensures that: + - required keys are present + - additional properties are not input + - value stored under required keys do not have the value unset + Note: detailed value checking is done in schema classes + """ + missing_required_keys = [] + required_keys_with_unset_values = [] + for required_key in cls.__required_keys__: + if required_key not in data: + missing_required_keys.append(required_key) + continue + value = data[required_key] + if value is unset: + required_keys_with_unset_values.append(required_key) + if missing_required_keys: + raise ApiTypeError( + '{} missing {} required arguments: {}'.format( + cls.__name__, len(missing_required_keys), missing_required_keys + ) + ) + if required_keys_with_unset_values: + raise ApiValueError( + '{} contains invalid unset values for {} required keys: {}'.format( + cls.__name__, len(required_keys_with_unset_values), required_keys_with_unset_values + ) + ) + + disallowed_additional_keys = [] + for key in data: + if key in cls.__required_keys__ or key in cls.__optional_keys__: + continue + disallowed_additional_keys.append(key) + if disallowed_additional_keys: + raise ApiTypeError( + '{} got {} unexpected keyword arguments: {}'.format( + cls.__name__, len(disallowed_additional_keys), disallowed_additional_keys + ) + ) + + def get_host( + self, + operation_id: str, + servers: typing.Tuple[typing.Dict[str, str], ...] = tuple(), + host_index: typing.Optional[int] = None + ) -> typing.Optional[str]: + configuration = self.api_client.configuration + try: + if host_index is None: + index = configuration.server_operation_index.get( + operation_id, configuration.server_index + ) + else: + index = host_index + server_variables = configuration.server_operation_variables.get( + operation_id, configuration.server_variables + ) + host = configuration.get_host_from_settings( + index, variables=server_variables, servers=servers + ) + except IndexError: + if servers: + raise ApiValueError( + "Invalid host index. Must be 0 <= index < %s" % + len(servers) + ) + host = None + return host + + +class SerializedRequestBody(typing.TypedDict, total=False): + body: typing.Union[str, bytes] + fields: typing.Tuple[typing.Union[RequestField, tuple[str, str]], ...] + + +class RequestBody(StyleFormSerializer, JSONDetector): + """ + A request body parameter + content: content_type to MediaType Schema info + """ + __json_encoder = JSONEncoder() + + def __init__( + self, + content: typing.Dict[str, MediaType], + required: bool = False, + ): + self.required = required + if len(content) == 0: + raise ValueError('Invalid value for content, the content dict must have >= 1 entry') + self.content = content + + def __serialize_json( + self, + in_data: typing.Any + ) -> typing.Dict[str, bytes]: + in_data = self.__json_encoder.default(in_data) + json_str = json.dumps(in_data, separators=(",", ":"), ensure_ascii=False).encode( + "utf-8" + ) + return dict(body=json_str) + + @staticmethod + def __serialize_text_plain(in_data: typing.Any) -> typing.Dict[str, str]: + if isinstance(in_data, frozendict): + raise ValueError('Unable to serialize type frozendict to text/plain') + elif isinstance(in_data, tuple): + raise ValueError('Unable to serialize type tuple to text/plain') + elif isinstance(in_data, NoneClass): + raise ValueError('Unable to serialize type NoneClass to text/plain') + elif isinstance(in_data, BoolClass): + raise ValueError('Unable to serialize type BoolClass to text/plain') + return dict(body=str(in_data)) + + def __multipart_json_item(self, key: str, value: Schema) -> RequestField: + json_value = self.__json_encoder.default(value) + return RequestField(name=key, data=json.dumps(json_value), headers={'Content-Type': 'application/json'}) + + def __multipart_form_item(self, key: str, value: Schema) -> RequestField: + if isinstance(value, str): + return RequestField(name=key, data=str(value), headers={'Content-Type': 'text/plain'}) + elif isinstance(value, bytes): + return RequestField(name=key, data=value, headers={'Content-Type': 'application/octet-stream'}) + elif isinstance(value, FileIO): + request_field = RequestField( + name=key, + data=value.read(), + filename=os.path.basename(value.name), + headers={'Content-Type': 'application/octet-stream'} + ) + value.close() + return request_field + else: + return self.__multipart_json_item(key=key, value=value) + + def __serialize_multipart_form_data( + self, in_data: Schema + ) -> typing.Dict[str, typing.Tuple[RequestField, ...]]: + if not isinstance(in_data, frozendict): + raise ValueError(f'Unable to serialize {in_data} to multipart/form-data because it is not a dict of data') + """ + In a multipart/form-data request body, each schema property, or each element of a schema array property, + takes a section in the payload with an internal header as defined by RFC7578. The serialization strategy + for each property of a multipart/form-data request body can be specified in an associated Encoding Object. + + When passing in multipart types, boundaries MAY be used to separate sections of the content being + transferred – thus, the following default Content-Types are defined for multipart: + + If the (object) property is a primitive, or an array of primitive values, the default Content-Type is text/plain + If the property is complex, or an array of complex values, the default Content-Type is application/json + Question: how is the array of primitives encoded? + If the property is a type: string with a contentEncoding, the default Content-Type is application/octet-stream + """ + fields = [] + for key, value in in_data.items(): + if isinstance(value, tuple): + if value: + # values use explode = True, so the code makes a RequestField for each item with name=key + for item in value: + request_field = self.__multipart_form_item(key=key, value=item) + fields.append(request_field) + else: + # send an empty array as json because exploding will not send it + request_field = self.__multipart_json_item(key=key, value=value) + fields.append(request_field) + else: + request_field = self.__multipart_form_item(key=key, value=value) + fields.append(request_field) + + return dict(fields=tuple(fields)) + + def __serialize_application_octet_stream(self, in_data: BinarySchema) -> typing.Dict[str, bytes]: + if isinstance(in_data, bytes): + return dict(body=in_data) + # FileIO type + result = dict(body=in_data.read()) + in_data.close() + return result + + def __serialize_application_x_www_form_data( + self, in_data: typing.Any + ) -> SerializedRequestBody: + """ + POST submission of form data in body + """ + if not isinstance(in_data, frozendict): + raise ValueError( + f'Unable to serialize {in_data} to application/x-www-form-urlencoded because it is not a dict of data') + cast_in_data = self.__json_encoder.default(in_data) + value = self.serialize_form(cast_in_data, name='', explode=True, percent_encode=False) + return dict(body=value) + + def serialize( + self, in_data: typing.Any, content_type: str + ) -> SerializedRequestBody: + """ + If a str is returned then the result will be assigned to data when making the request + If a tuple is returned then the result will be used as fields input in encode_multipart_formdata + Return a tuple of + + The key of the return dict is + - body for application/json + - encode_multipart and fields for multipart/form-data + """ + media_type = self.content[content_type] + if isinstance(in_data, media_type.schema): + cast_in_data = in_data + elif isinstance(in_data, (dict, frozendict)) and in_data: + cast_in_data = media_type.schema(**in_data) + else: + cast_in_data = media_type.schema(in_data) + # TODO check for and use encoding if it exists + # and content_type is multipart or application/x-www-form-urlencoded + if self.content_type_is_json(content_type): + return self.__serialize_json(cast_in_data) + elif content_type == 'text/plain': + return self.__serialize_text_plain(cast_in_data) + elif content_type == 'multipart/form-data': + return self.__serialize_multipart_form_data(cast_in_data) + elif content_type == 'application/x-www-form-urlencoded': + return self.__serialize_application_x_www_form_data(cast_in_data) + elif content_type == 'application/octet-stream': + return self.__serialize_application_octet_stream(cast_in_data) + raise NotImplementedError('Serialization has not yet been implemented for {}'.format(content_type)) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/apis/__init__.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/apis/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/configuration.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/configuration.py new file mode 100644 index 0000000000..80407ef4b4 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/configuration.py @@ -0,0 +1,440 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import copy +import logging +import multiprocessing +import sys +import urllib3 + +from http import client as http_client +from unit_test_api.exceptions import ApiValueError + + +JSON_SCHEMA_VALIDATION_KEYWORDS = { + 'multipleOf', 'maximum', 'exclusiveMaximum', + 'minimum', 'exclusiveMinimum', 'maxLength', + 'minLength', 'pattern', 'maxItems', 'minItems', + 'uniqueItems', 'maxProperties', 'minProperties', +} + +class Configuration(object): + """NOTE: This class is auto generated by OpenAPI Generator + + Ref: https://openapi-generator.tech + Do not edit the class manually. + + :param host: Base url + :param api_key: Dict to store API key(s). + Each entry in the dict specifies an API key. + The dict key is the name of the security scheme in the OAS specification. + The dict value is the API key secret. + :param api_key_prefix: Dict to store API prefix (e.g. Bearer) + The dict key is the name of the security scheme in the OAS specification. + The dict value is an API key prefix when generating the auth data. + :param username: Username for HTTP basic authentication + :param password: Password for HTTP basic authentication + :param discard_unknown_keys: Boolean value indicating whether to discard + unknown properties. A server may send a response that includes additional + properties that are not known by the client in the following scenarios: + 1. The OpenAPI document is incomplete, i.e. it does not match the server + implementation. + 2. The client was generated using an older version of the OpenAPI document + and the server has been upgraded since then. + If a schema in the OpenAPI document defines the additionalProperties attribute, + then all undeclared properties received by the server are injected into the + additional properties map. In that case, there are undeclared properties, and + nothing to discard. + :param disabled_client_side_validations (string): Comma-separated list of + JSON schema validation keywords to disable JSON schema structural validation + rules. The following keywords may be specified: multipleOf, maximum, + exclusiveMaximum, minimum, exclusiveMinimum, maxLength, minLength, pattern, + maxItems, minItems. + By default, the validation is performed for data generated locally by the client + and data received from the server, independent of any validation performed by + the server side. If the input data does not satisfy the JSON schema validation + rules specified in the OpenAPI document, an exception is raised. + If disabled_client_side_validations is set, structural validation is + disabled. This can be useful to troubleshoot data validation problem, such as + when the OpenAPI document validation rules do not match the actual API data + received by the server. + :param server_index: Index to servers configuration. + :param server_variables: Mapping with string values to replace variables in + templated server configuration. The validation of enums is performed for + variables with defined enum values before. + :param server_operation_index: Mapping from operation ID to an index to server + configuration. + :param server_operation_variables: Mapping from operation ID to a mapping with + string values to replace variables in templated server configuration. + The validation of enums is performed for variables with defined enum values before. + + """ + + _default = None + + def __init__(self, host=None, + api_key=None, api_key_prefix=None, + username=None, password=None, + discard_unknown_keys=False, + disabled_client_side_validations="", + server_index=None, server_variables=None, + server_operation_index=None, server_operation_variables=None, + ): + """Constructor + """ + self._base_path = "http://localhost" if host is None else host + """Default Base url + """ + self.server_index = 0 if server_index is None and host is None else server_index + self.server_operation_index = server_operation_index or {} + """Default server index + """ + self.server_variables = server_variables or {} + self.server_operation_variables = server_operation_variables or {} + """Default server variables + """ + self.temp_folder_path = None + """Temp file folder for downloading files + """ + # Authentication Settings + self.api_key = {} + if api_key: + self.api_key = api_key + """dict to store API key(s) + """ + self.api_key_prefix = {} + if api_key_prefix: + self.api_key_prefix = api_key_prefix + """dict to store API prefix (e.g. Bearer) + """ + self.refresh_api_key_hook = None + """function hook to refresh API key if expired + """ + self.username = username + """Username for HTTP basic authentication + """ + self.password = password + """Password for HTTP basic authentication + """ + self.discard_unknown_keys = discard_unknown_keys + self.disabled_client_side_validations = disabled_client_side_validations + self.logger = {} + """Logging Settings + """ + self.logger["package_logger"] = logging.getLogger("unit_test_api") + self.logger["urllib3_logger"] = logging.getLogger("urllib3") + self.logger_format = '%(asctime)s %(levelname)s %(message)s' + """Log format + """ + self.logger_stream_handler = None + """Log stream handler + """ + self.logger_file_handler = None + """Log file handler + """ + self.logger_file = None + """Debug file location + """ + self.debug = False + """Debug switch + """ + + self.verify_ssl = True + """SSL/TLS verification + Set this to false to skip verifying SSL certificate when calling API + from https server. + """ + self.ssl_ca_cert = None + """Set this to customize the certificate file to verify the peer. + """ + self.cert_file = None + """client certificate file + """ + self.key_file = None + """client key file + """ + self.assert_hostname = None + """Set this to True/False to enable/disable SSL hostname verification. + """ + + self.connection_pool_maxsize = multiprocessing.cpu_count() * 5 + """urllib3 connection pool's maximum number of connections saved + per pool. urllib3 uses 1 connection as default value, but this is + not the best value when you are making a lot of possibly parallel + requests to the same host, which is often the case here. + cpu_count * 5 is used as default value to increase performance. + """ + + self.proxy = None + """Proxy URL + """ + self.proxy_headers = None + """Proxy headers + """ + self.safe_chars_for_path_param = '' + """Safe chars for path_param + """ + self.retries = None + """Adding retries to override urllib3 default value 3 + """ + # Enable client side validation + self.client_side_validation = True + + # Options to pass down to the underlying urllib3 socket + self.socket_options = None + + def __deepcopy__(self, memo): + cls = self.__class__ + result = cls.__new__(cls) + memo[id(self)] = result + for k, v in self.__dict__.items(): + if k not in ('logger', 'logger_file_handler'): + setattr(result, k, copy.deepcopy(v, memo)) + # shallow copy of loggers + result.logger = copy.copy(self.logger) + # use setters to configure loggers + result.logger_file = self.logger_file + result.debug = self.debug + return result + + def __setattr__(self, name, value): + object.__setattr__(self, name, value) + if name == 'disabled_client_side_validations': + s = set(filter(None, value.split(','))) + for v in s: + if v not in JSON_SCHEMA_VALIDATION_KEYWORDS: + raise ApiValueError( + "Invalid keyword: '{0}''".format(v)) + self._disabled_client_side_validations = s + + @classmethod + def set_default(cls, default): + """Set default instance of configuration. + + It stores default configuration, which can be + returned by get_default_copy method. + + :param default: object of Configuration + """ + cls._default = copy.deepcopy(default) + + @classmethod + def get_default_copy(cls): + """Return new instance of configuration. + + This method returns newly created, based on default constructor, + object of Configuration class or returns a copy of default + configuration passed by the set_default method. + + :return: The configuration object. + """ + if cls._default is not None: + return copy.deepcopy(cls._default) + return Configuration() + + @property + def logger_file(self): + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + return self.__logger_file + + @logger_file.setter + def logger_file(self, value): + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + self.__logger_file = value + if self.__logger_file: + # If set logging file, + # then add file handler and remove stream handler. + self.logger_file_handler = logging.FileHandler(self.__logger_file) + self.logger_file_handler.setFormatter(self.logger_formatter) + for _, logger in self.logger.items(): + logger.addHandler(self.logger_file_handler) + + @property + def debug(self): + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + return self.__debug + + @debug.setter + def debug(self, value): + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + self.__debug = value + if self.__debug: + # if debug status is True, turn on debug logging + for _, logger in self.logger.items(): + logger.setLevel(logging.DEBUG) + # turn on http_client debug + http_client.HTTPConnection.debuglevel = 1 + else: + # if debug status is False, turn off debug logging, + # setting log level to default `logging.WARNING` + for _, logger in self.logger.items(): + logger.setLevel(logging.WARNING) + # turn off http_client debug + http_client.HTTPConnection.debuglevel = 0 + + @property + def logger_format(self): + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + return self.__logger_format + + @logger_format.setter + def logger_format(self, value): + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + self.__logger_format = value + self.logger_formatter = logging.Formatter(self.__logger_format) + + def get_api_key_with_prefix(self, identifier, alias=None): + """Gets API key (with prefix if set). + + :param identifier: The identifier of apiKey. + :param alias: The alternative identifier of apiKey. + :return: The token for api key authentication. + """ + if self.refresh_api_key_hook is not None: + self.refresh_api_key_hook(self) + key = self.api_key.get(identifier, self.api_key.get(alias) if alias is not None else None) + if key: + prefix = self.api_key_prefix.get(identifier) + if prefix: + return "%s %s" % (prefix, key) + else: + return key + + def get_basic_auth_token(self): + """Gets HTTP basic authentication header (string). + + :return: The token for basic HTTP authentication. + """ + username = "" + if self.username is not None: + username = self.username + password = "" + if self.password is not None: + password = self.password + return urllib3.util.make_headers( + basic_auth=username + ':' + password + ).get('authorization') + + def auth_settings(self): + """Gets Auth Settings dict for api client. + + :return: The Auth Settings information dict. + """ + auth = {} + return auth + + def to_debug_report(self): + """Gets the essential information for debugging. + + :return: The report for debugging. + """ + return "Python SDK Debug Report:\n"\ + "OS: {env}\n"\ + "Python Version: {pyversion}\n"\ + "Version of the API: 0.0.1\n"\ + "SDK Package Version: 1.0.0".\ + format(env=sys.platform, pyversion=sys.version) + + def get_host_settings(self): + """Gets an array of host settings + + :return: An array of host settings + """ + return [ + { + 'url': "", + 'description': "No description provided", + } + ] + + def get_host_from_settings(self, index, variables=None, servers=None): + """Gets host URL based on the index and variables + :param index: array index of the host settings + :param variables: hash of variable and the corresponding value + :param servers: an array of host settings or None + :return: URL based on host settings + """ + if index is None: + return self._base_path + + variables = {} if variables is None else variables + servers = self.get_host_settings() if servers is None else servers + + try: + server = servers[index] + except IndexError: + raise ValueError( + "Invalid index {0} when selecting the host settings. " + "Must be less than {1}".format(index, len(servers))) + + url = server['url'] + + # go through variables and replace placeholders + for variable_name, variable in server.get('variables', {}).items(): + used_value = variables.get( + variable_name, variable['default_value']) + + if 'enum_values' in variable \ + and used_value not in variable['enum_values']: + raise ValueError( + "The variable `{0}` in the host URL has invalid value " + "{1}. Must be {2}.".format( + variable_name, variables[variable_name], + variable['enum_values'])) + + url = url.replace("{" + variable_name + "}", used_value) + + return url + + @property + def host(self): + """Return generated host.""" + return self.get_host_from_settings(self.server_index, variables=self.server_variables) + + @host.setter + def host(self, value): + """Fix base path.""" + self._base_path = value + self.server_index = None diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/exceptions.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/exceptions.py new file mode 100644 index 0000000000..54a51c36ab --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/exceptions.py @@ -0,0 +1,136 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + + +class OpenApiException(Exception): + """The base exception class for all OpenAPIExceptions""" + + +class ApiTypeError(OpenApiException, TypeError): + def __init__(self, msg, path_to_item=None, valid_classes=None, + key_type=None): + """ Raises an exception for TypeErrors + + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (list): a list of keys an indices to get to the + current_item + None if unset + valid_classes (tuple): the primitive classes that current item + should be an instance of + None if unset + key_type (bool): False if our value is a value in a dict + True if it is a key in a dict + False if our item is an item in a list + None if unset + """ + self.path_to_item = path_to_item + self.valid_classes = valid_classes + self.key_type = key_type + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiTypeError, self).__init__(full_msg) + + +class ApiValueError(OpenApiException, ValueError): + def __init__(self, msg, path_to_item=None): + """ + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (list) the path to the exception in the + received_data dict. None if unset + """ + + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiValueError, self).__init__(full_msg) + + +class ApiAttributeError(OpenApiException, AttributeError): + def __init__(self, msg, path_to_item=None): + """ + Raised when an attribute reference or assignment fails. + + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (None/list) the path to the exception in the + received_data dict + """ + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiAttributeError, self).__init__(full_msg) + + +class ApiKeyError(OpenApiException, KeyError): + def __init__(self, msg, path_to_item=None): + """ + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (None/list) the path to the exception in the + received_data dict + """ + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiKeyError, self).__init__(full_msg) + + +class ApiException(OpenApiException): + + def __init__(self, status=None, reason=None, api_response: 'unit_test_api.api_client.ApiResponse' = None): + if api_response: + self.status = api_response.response.status + self.reason = api_response.response.reason + self.body = api_response.response.data + self.headers = api_response.response.getheaders() + else: + self.status = status + self.reason = reason + self.body = None + self.headers = None + + def __str__(self): + """Custom error messages for exception""" + error_message = "({0})\n"\ + "Reason: {1}\n".format(self.status, self.reason) + if self.headers: + error_message += "HTTP response headers: {0}\n".format( + self.headers) + + if self.body: + error_message += "HTTP response body: {0}\n".format(self.body) + + return error_message + + +def render_path(path_to_item): + """Returns a string representation of a path""" + result = "" + for pth in path_to_item: + if isinstance(pth, int): + result += "[{0}]".format(pth) + else: + result += "['{0}']".format(pth) + return result diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/__init__.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/__init__.py new file mode 100644 index 0000000000..0056d7a31e --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/__init__.py @@ -0,0 +1,5 @@ +# we can not import model classes here because that would create a circular +# reference which would not work in python2 +# do not import all models into this module because that uses a lot of memory and stack frames +# if you need the ability to import all models from one package, import them with +# from unit_test_api.models import ModelA, ModelB diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_allows_a_schema_which_should_validate.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_allows_a_schema_which_should_validate.py new file mode 100644 index 0000000000..8e986da86f --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_allows_a_schema_which_should_validate.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class AdditionalpropertiesAllowsASchemaWhichShouldValidate( + DictSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + foo = AnyTypeSchema + bar = AnyTypeSchema + _additional_properties = BoolSchema + + + def __new__( + cls, + *args: typing.Union[dict, frozendict, ], + foo: typing.Union[foo, Unset] = unset, + bar: typing.Union[bar, Unset] = unset, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'AdditionalpropertiesAllowsASchemaWhichShouldValidate': + return super().__new__( + cls, + *args, + foo=foo, + bar=bar, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_are_allowed_by_default.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_are_allowed_by_default.py new file mode 100644 index 0000000000..2251b2f815 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_are_allowed_by_default.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class AdditionalpropertiesAreAllowedByDefault( + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + foo = AnyTypeSchema + bar = AnyTypeSchema + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + foo: typing.Union[foo, Unset] = unset, + bar: typing.Union[bar, Unset] = unset, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'AdditionalpropertiesAreAllowedByDefault': + return super().__new__( + cls, + *args, + foo=foo, + bar=bar, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_can_exist_by_itself.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_can_exist_by_itself.py new file mode 100644 index 0000000000..383a01af17 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_can_exist_by_itself.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class AdditionalpropertiesCanExistByItself( + DictSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + _additional_properties = BoolSchema + + + def __new__( + cls, + *args: typing.Union[dict, frozendict, ], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'AdditionalpropertiesCanExistByItself': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_should_not_look_in_applicators.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_should_not_look_in_applicators.py new file mode 100644 index 0000000000..6654752818 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_should_not_look_in_applicators.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class AdditionalpropertiesShouldNotLookInApplicators( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + _additional_properties = BoolSchema + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + allOf_0 = AnyTypeSchema + return { + 'allOf': [ + allOf_0, + ], + 'oneOf': [ + ], + 'anyOf': [ + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'AdditionalpropertiesShouldNotLookInApplicators': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/array_type_matches_arrays.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/array_type_matches_arrays.py new file mode 100644 index 0000000000..583f9843b6 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/array_type_matches_arrays.py @@ -0,0 +1,77 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class ArrayTypeMatchesArrays( + ListSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + _items = AnyTypeSchema diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/boolean_type_matches_booleans.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/boolean_type_matches_booleans.py new file mode 100644 index 0000000000..93cd0a0505 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/boolean_type_matches_booleans.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) +BooleanTypeMatchesBooleans = BoolSchema diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_int.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_int.py new file mode 100644 index 0000000000..c5c44fbdc3 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_int.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class ByInt( + _SchemaValidator( + multiple_of=[2], + ), + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'ByInt': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_number.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_number.py new file mode 100644 index 0000000000..3bab944557 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_number.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class ByNumber( + _SchemaValidator( + multiple_of=[1.5], + ), + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'ByNumber': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_small_number.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_small_number.py new file mode 100644 index 0000000000..5f96f0cdbd --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_small_number.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class BySmallNumber( + _SchemaValidator( + multiple_of=[0.00010], + ), + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'BySmallNumber': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/date_time_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/date_time_format.py new file mode 100644 index 0000000000..0983f2f5e0 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/date_time_format.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) +DateTimeFormat = AnyTypeSchema diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/email_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/email_format.py new file mode 100644 index 0000000000..e2922a1347 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/email_format.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) +EmailFormat = AnyTypeSchema diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with0_does_not_match_false.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with0_does_not_match_false.py new file mode 100644 index 0000000000..6cb61f6f05 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with0_does_not_match_false.py @@ -0,0 +1,86 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class EnumWith0DoesNotMatchFalse( + _SchemaEnumMaker( + enum_value_to_name={ + 0: "POSITIVE_0", + } + ), + NumberSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + def POSITIVE_0(cls): + return cls(0) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with1_does_not_match_true.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with1_does_not_match_true.py new file mode 100644 index 0000000000..6904cda7fa --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with1_does_not_match_true.py @@ -0,0 +1,86 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class EnumWith1DoesNotMatchTrue( + _SchemaEnumMaker( + enum_value_to_name={ + 1: "POSITIVE_1", + } + ), + NumberSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + def POSITIVE_1(cls): + return cls(1) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_escaped_characters.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_escaped_characters.py new file mode 100644 index 0000000000..7db769c23e --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_escaped_characters.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class EnumWithEscapedCharacters( + _SchemaEnumMaker( + enum_value_to_name={ + "foo\nbar": "FOO_BAR", + "foo\rbar": "FOO_BAR", + } + ), + StrSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + def FOO_BAR(cls): + return cls("foo\nbar") + + @classmethod + @property + def FOO_BAR(cls): + return cls("foo\rbar") diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_false_does_not_match0.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_false_does_not_match0.py new file mode 100644 index 0000000000..223022bb57 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_false_does_not_match0.py @@ -0,0 +1,86 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class EnumWithFalseDoesNotMatch0( + _SchemaEnumMaker( + enum_value_to_name={ + False: "FALSE", + } + ), + BoolSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + def FALSE(cls): + return cls(False) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_true_does_not_match1.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_true_does_not_match1.py new file mode 100644 index 0000000000..6e99700862 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_true_does_not_match1.py @@ -0,0 +1,86 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class EnumWithTrueDoesNotMatch1( + _SchemaEnumMaker( + enum_value_to_name={ + True: "TRUE", + } + ), + BoolSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + def TRUE(cls): + return cls(True) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enums_in_properties.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enums_in_properties.py new file mode 100644 index 0000000000..192305479f --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enums_in_properties.py @@ -0,0 +1,127 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class EnumsInProperties( + DictSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + _required_property_names = set(( + 'bar', + )) + + + class foo( + _SchemaEnumMaker( + enum_value_to_name={ + "foo": "FOO", + } + ), + StrSchema + ): + + @classmethod + @property + def FOO(cls): + return cls("foo") + + + class bar( + _SchemaEnumMaker( + enum_value_to_name={ + "bar": "BAR", + } + ), + StrSchema + ): + + @classmethod + @property + def BAR(cls): + return cls("bar") + + + def __new__( + cls, + *args: typing.Union[dict, frozendict, ], + bar: bar, + foo: typing.Union[foo, Unset] = unset, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'EnumsInProperties': + return super().__new__( + cls, + *args, + bar=bar, + foo=foo, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/forbidden_property.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/forbidden_property.py new file mode 100644 index 0000000000..0b1dc6f6a5 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/forbidden_property.py @@ -0,0 +1,132 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class ForbiddenProperty( + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + + class foo( + ComposedSchema + ): + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + NotSchema = AnyTypeSchema + return { + 'allOf': [ + ], + 'oneOf': [ + ], + 'anyOf': [ + ], + 'not': + NotSchema + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'foo': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + foo: typing.Union[foo, Unset] = unset, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'ForbiddenProperty': + return super().__new__( + cls, + *args, + foo=foo, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/hostname_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/hostname_format.py new file mode 100644 index 0000000000..89778b2446 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/hostname_format.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) +HostnameFormat = AnyTypeSchema diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/integer_type_matches_integers.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/integer_type_matches_integers.py new file mode 100644 index 0000000000..472bd37aa7 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/integer_type_matches_integers.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) +IntegerTypeMatchesIntegers = IntSchema diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_instance_should_not_raise_error_when_float_division_inf.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_instance_should_not_raise_error_when_float_division_inf.py new file mode 100644 index 0000000000..84dcad131b --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_instance_should_not_raise_error_when_float_division_inf.py @@ -0,0 +1,80 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class InvalidInstanceShouldNotRaiseErrorWhenFloatDivisionInf( + _SchemaValidator( + multiple_of=[0.123456789], + ), + IntSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + pass diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_string_value_for_default.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_string_value_for_default.py new file mode 100644 index 0000000000..07ad386d3b --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_string_value_for_default.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class InvalidStringValueForDefault( + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + + class bar( + _SchemaValidator( + min_length=4, + ), + StrSchema + ): + pass + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + bar: typing.Union[bar, Unset] = unset, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'InvalidStringValueForDefault': + return super().__new__( + cls, + *args, + bar=bar, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ipv4_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ipv4_format.py new file mode 100644 index 0000000000..b882729f88 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ipv4_format.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) +Ipv4Format = AnyTypeSchema diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ipv6_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ipv6_format.py new file mode 100644 index 0000000000..9fa12e3fca --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ipv6_format.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) +Ipv6Format = AnyTypeSchema diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/json_pointer_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/json_pointer_format.py new file mode 100644 index 0000000000..670fd1785a --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/json_pointer_format.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) +JsonPointerFormat = AnyTypeSchema diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maximum_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maximum_validation.py new file mode 100644 index 0000000000..155a514da5 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maximum_validation.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class MaximumValidation( + _SchemaValidator( + inclusive_maximum=3.0, + ), + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'MaximumValidation': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maximum_validation_with_unsigned_integer.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maximum_validation_with_unsigned_integer.py new file mode 100644 index 0000000000..0aa1cb53eb --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maximum_validation_with_unsigned_integer.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class MaximumValidationWithUnsignedInteger( + _SchemaValidator( + inclusive_maximum=300, + ), + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'MaximumValidationWithUnsignedInteger': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxitems_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxitems_validation.py new file mode 100644 index 0000000000..20b1c37f9f --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxitems_validation.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class MaxitemsValidation( + _SchemaValidator( + max_items=2, + ), + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'MaxitemsValidation': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxlength_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxlength_validation.py new file mode 100644 index 0000000000..daf2ce82f7 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxlength_validation.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class MaxlengthValidation( + _SchemaValidator( + max_length=2, + ), + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'MaxlengthValidation': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxproperties0_means_the_object_is_empty.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxproperties0_means_the_object_is_empty.py new file mode 100644 index 0000000000..12231672ec --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxproperties0_means_the_object_is_empty.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class Maxproperties0MeansTheObjectIsEmpty( + _SchemaValidator( + max_properties=0, + ), + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'Maxproperties0MeansTheObjectIsEmpty': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxproperties_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxproperties_validation.py new file mode 100644 index 0000000000..30b4e4d215 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxproperties_validation.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class MaxpropertiesValidation( + _SchemaValidator( + max_properties=2, + ), + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'MaxpropertiesValidation': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minimum_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minimum_validation.py new file mode 100644 index 0000000000..bbe4414e08 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minimum_validation.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class MinimumValidation( + _SchemaValidator( + inclusive_minimum=1.1, + ), + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'MinimumValidation': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minimum_validation_with_signed_integer.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minimum_validation_with_signed_integer.py new file mode 100644 index 0000000000..c0996a1a84 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minimum_validation_with_signed_integer.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class MinimumValidationWithSignedInteger( + _SchemaValidator( + inclusive_minimum=-2, + ), + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'MinimumValidationWithSignedInteger': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minitems_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minitems_validation.py new file mode 100644 index 0000000000..14a07dd341 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minitems_validation.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class MinitemsValidation( + _SchemaValidator( + min_items=1, + ), + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'MinitemsValidation': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minlength_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minlength_validation.py new file mode 100644 index 0000000000..a4ac28a41c --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minlength_validation.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class MinlengthValidation( + _SchemaValidator( + min_length=2, + ), + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'MinlengthValidation': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minproperties_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minproperties_validation.py new file mode 100644 index 0000000000..74861d0b1f --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minproperties_validation.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class MinpropertiesValidation( + _SchemaValidator( + min_properties=1, + ), + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'MinpropertiesValidation': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/model_not.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/model_not.py new file mode 100644 index 0000000000..1b1c92f096 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/model_not.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class ModelNot( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + NotSchema = IntSchema + return { + 'allOf': [ + ], + 'oneOf': [ + ], + 'anyOf': [ + ], + 'not': + NotSchema + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'ModelNot': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_items.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_items.py new file mode 100644 index 0000000000..9b5e65ef0a --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_items.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class NestedItems( + ListSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + + class _items( + ListSchema + ): + + + class _items( + ListSchema + ): + + + class _items( + ListSchema + ): + _items = NumberSchema diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/not_more_complex_schema.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/not_more_complex_schema.py new file mode 100644 index 0000000000..66f38098b5 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/not_more_complex_schema.py @@ -0,0 +1,133 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class NotMoreComplexSchema( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + + + class NotSchema( + DictSchema + ): + foo = StrSchema + + + def __new__( + cls, + *args: typing.Union[dict, frozendict, ], + foo: typing.Union[foo, Unset] = unset, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'NotSchema': + return super().__new__( + cls, + *args, + foo=foo, + _configuration=_configuration, + **kwargs, + ) + return { + 'allOf': [ + ], + 'oneOf': [ + ], + 'anyOf': [ + ], + 'not': + NotSchema + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'NotMoreComplexSchema': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nul_characters_in_strings.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nul_characters_in_strings.py new file mode 100644 index 0000000000..04ff26fd64 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nul_characters_in_strings.py @@ -0,0 +1,86 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class NulCharactersInStrings( + _SchemaEnumMaker( + enum_value_to_name={ + "hello\x00there": "HELLOTHERE", + } + ), + StrSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + def HELLOTHERE(cls): + return cls("hello\x00there") diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/null_type_matches_only_the_null_object.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/null_type_matches_only_the_null_object.py new file mode 100644 index 0000000000..3ed5b3d6b3 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/null_type_matches_only_the_null_object.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) +NullTypeMatchesOnlyTheNullObject = NoneSchema diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/number_type_matches_numbers.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/number_type_matches_numbers.py new file mode 100644 index 0000000000..3b33c38f4c --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/number_type_matches_numbers.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) +NumberTypeMatchesNumbers = NumberSchema diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/object_properties_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/object_properties_validation.py new file mode 100644 index 0000000000..a5ac3ccf95 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/object_properties_validation.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class ObjectPropertiesValidation( + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + foo = IntSchema + bar = StrSchema + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + foo: typing.Union[foo, Unset] = unset, + bar: typing.Union[bar, Unset] = unset, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'ObjectPropertiesValidation': + return super().__new__( + cls, + *args, + foo=foo, + bar=bar, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/pattern_is_not_anchored.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/pattern_is_not_anchored.py new file mode 100644 index 0000000000..6392378878 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/pattern_is_not_anchored.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class PatternIsNotAnchored( + _SchemaValidator( + regex=[{ + 'pattern': r'a+', # noqa: E501 + }], + ), + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'PatternIsNotAnchored': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/pattern_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/pattern_validation.py new file mode 100644 index 0000000000..60d4530a63 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/pattern_validation.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class PatternValidation( + _SchemaValidator( + regex=[{ + 'pattern': r'^a*$', # noqa: E501 + }], + ), + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'PatternValidation': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/properties_with_escaped_characters.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/properties_with_escaped_characters.py new file mode 100644 index 0000000000..5b1aceb23a --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/properties_with_escaped_characters.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class PropertiesWithEscapedCharacters( + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + foobar = NumberSchema + locals()["foo\nbar"] = foobar + del locals()['foobar'] + foobar = NumberSchema + locals()["foo\"bar"] = foobar + del locals()['foobar'] + foo_bar = NumberSchema + locals()["foo\\bar"] = foo_bar + del locals()['foo_bar'] + foobar = NumberSchema + locals()["foo\rbar"] = foobar + del locals()['foobar'] + foobar = NumberSchema + locals()["foo\tbar"] = foobar + del locals()['foobar'] + foobar = NumberSchema + locals()["foo\fbar"] = foobar + del locals()['foobar'] + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'PropertiesWithEscapedCharacters': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/property_named_ref_that_is_not_a_reference.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/property_named_ref_that_is_not_a_reference.py new file mode 100644 index 0000000000..0f3628abc0 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/property_named_ref_that_is_not_a_reference.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class PropertyNamedRefThatIsNotAReference( + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + ref = StrSchema + locals()["$ref"] = ref + del locals()['ref'] + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'PropertyNamedRefThatIsNotAReference': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_additionalproperties.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_additionalproperties.py new file mode 100644 index 0000000000..e9a1d9100a --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_additionalproperties.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class RefInAdditionalproperties( + DictSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + def _additional_properties(cls) -> typing.Type['PropertyNamedRefThatIsNotAReference']: + return PropertyNamedRefThatIsNotAReference + + + def __new__( + cls, + *args: typing.Union[dict, frozendict, ], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'RefInAdditionalproperties': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) + +from unit_test_api.model.property_named_ref_that_is_not_a_reference import PropertyNamedRefThatIsNotAReference diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_allof.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_allof.py new file mode 100644 index 0000000000..927d0c2530 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_allof.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class RefInAllof( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + return { + 'allOf': [ + PropertyNamedRefThatIsNotAReference, + ], + 'oneOf': [ + ], + 'anyOf': [ + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'RefInAllof': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) + +from unit_test_api.model.property_named_ref_that_is_not_a_reference import PropertyNamedRefThatIsNotAReference diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_anyof.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_anyof.py new file mode 100644 index 0000000000..989ff30c91 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_anyof.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class RefInAnyof( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + return { + 'allOf': [ + ], + 'oneOf': [ + ], + 'anyOf': [ + PropertyNamedRefThatIsNotAReference, + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'RefInAnyof': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) + +from unit_test_api.model.property_named_ref_that_is_not_a_reference import PropertyNamedRefThatIsNotAReference diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_items.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_items.py new file mode 100644 index 0000000000..9253eeeacc --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_items.py @@ -0,0 +1,83 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class RefInItems( + ListSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + def _items(cls) -> typing.Type['PropertyNamedRefThatIsNotAReference']: + return PropertyNamedRefThatIsNotAReference + +from unit_test_api.model.property_named_ref_that_is_not_a_reference import PropertyNamedRefThatIsNotAReference diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_oneof.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_oneof.py new file mode 100644 index 0000000000..43ea96899b --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_oneof.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class RefInOneof( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + return { + 'allOf': [ + ], + 'oneOf': [ + PropertyNamedRefThatIsNotAReference, + ], + 'anyOf': [ + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'RefInOneof': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) + +from unit_test_api.model.property_named_ref_that_is_not_a_reference import PropertyNamedRefThatIsNotAReference diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_property.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_property.py new file mode 100644 index 0000000000..e0f43592bb --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_property.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class RefInProperty( + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + def a(cls) -> typing.Type['PropertyNamedRefThatIsNotAReference']: + return PropertyNamedRefThatIsNotAReference + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + a: typing.Union['PropertyNamedRefThatIsNotAReference', Unset] = unset, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'RefInProperty': + return super().__new__( + cls, + *args, + a=a, + _configuration=_configuration, + **kwargs, + ) + +from unit_test_api.model.property_named_ref_that_is_not_a_reference import PropertyNamedRefThatIsNotAReference diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_default_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_default_validation.py new file mode 100644 index 0000000000..9499379689 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_default_validation.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class RequiredDefaultValidation( + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + foo = AnyTypeSchema + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + foo: typing.Union[foo, Unset] = unset, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'RequiredDefaultValidation': + return super().__new__( + cls, + *args, + foo=foo, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_validation.py new file mode 100644 index 0000000000..a0d4c00017 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_validation.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class RequiredValidation( + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + _required_property_names = set(( + 'foo', + )) + foo = AnyTypeSchema + bar = AnyTypeSchema + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + foo: foo, + bar: typing.Union[bar, Unset] = unset, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'RequiredValidation': + return super().__new__( + cls, + *args, + foo=foo, + bar=bar, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_with_empty_array.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_with_empty_array.py new file mode 100644 index 0000000000..4a7a203a12 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_with_empty_array.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class RequiredWithEmptyArray( + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + foo = AnyTypeSchema + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + foo: typing.Union[foo, Unset] = unset, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'RequiredWithEmptyArray': + return super().__new__( + cls, + *args, + foo=foo, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/simple_enum_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/simple_enum_validation.py new file mode 100644 index 0000000000..86f28a9dae --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/simple_enum_validation.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class SimpleEnumValidation( + _SchemaEnumMaker( + enum_value_to_name={ + 1: "POSITIVE_1", + 2: "POSITIVE_2", + 3: "POSITIVE_3", + } + ), + NumberSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + def POSITIVE_1(cls): + return cls(1) + + @classmethod + @property + def POSITIVE_2(cls): + return cls(2) + + @classmethod + @property + def POSITIVE_3(cls): + return cls(3) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/string_type_matches_strings.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/string_type_matches_strings.py new file mode 100644 index 0000000000..f1c3c9a030 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/string_type_matches_strings.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) +StringTypeMatchesStrings = StrSchema diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/the_default_keyword_does_not_do_anything_if_the_property_is_missing.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/the_default_keyword_does_not_do_anything_if_the_property_is_missing.py new file mode 100644 index 0000000000..d59150db52 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/the_default_keyword_does_not_do_anything_if_the_property_is_missing.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class TheDefaultKeywordDoesNotDoAnythingIfThePropertyIsMissing( + DictSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + + class alpha( + _SchemaValidator( + inclusive_maximum=3, + ), + NumberSchema + ): + pass + + + def __new__( + cls, + *args: typing.Union[dict, frozendict, ], + alpha: typing.Union[alpha, Unset] = unset, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'TheDefaultKeywordDoesNotDoAnythingIfThePropertyIsMissing': + return super().__new__( + cls, + *args, + alpha=alpha, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uniqueitems_false_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uniqueitems_false_validation.py new file mode 100644 index 0000000000..43b4835834 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uniqueitems_false_validation.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class UniqueitemsFalseValidation( + _SchemaValidator( + ), + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'UniqueitemsFalseValidation': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uniqueitems_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uniqueitems_validation.py new file mode 100644 index 0000000000..7680173ee8 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uniqueitems_validation.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class UniqueitemsValidation( + _SchemaValidator( + unique_items=True, + ), + AnyTypeSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'UniqueitemsValidation': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_format.py new file mode 100644 index 0000000000..61c87a3c4c --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_format.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) +UriFormat = AnyTypeSchema diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_reference_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_reference_format.py new file mode 100644 index 0000000000..92c7c4fc73 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_reference_format.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) +UriReferenceFormat = AnyTypeSchema diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_template_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_template_format.py new file mode 100644 index 0000000000..636b9b2f27 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_template_format.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) +UriTemplateFormat = AnyTypeSchema diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/models/__init__.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/models/__init__.py new file mode 100644 index 0000000000..a45a5dacf3 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/models/__init__.py @@ -0,0 +1,77 @@ +# coding: utf-8 + +# flake8: noqa + +# import all models into this package +# if you have many models here with many references from one model to another this may +# raise a RecursionError +# to avoid this, import only the models that you directly need like: +# from from unit_test_api.model.pet import Pet +# or import this package, but before doing it, use: +# import sys +# sys.setrecursionlimit(n) + +from unit_test_api.model.additionalproperties_allows_a_schema_which_should_validate import AdditionalpropertiesAllowsASchemaWhichShouldValidate +from unit_test_api.model.additionalproperties_are_allowed_by_default import AdditionalpropertiesAreAllowedByDefault +from unit_test_api.model.additionalproperties_can_exist_by_itself import AdditionalpropertiesCanExistByItself +from unit_test_api.model.additionalproperties_should_not_look_in_applicators import AdditionalpropertiesShouldNotLookInApplicators +from unit_test_api.model.array_type_matches_arrays import ArrayTypeMatchesArrays +from unit_test_api.model.boolean_type_matches_booleans import BooleanTypeMatchesBooleans +from unit_test_api.model.by_int import ByInt +from unit_test_api.model.by_number import ByNumber +from unit_test_api.model.by_small_number import BySmallNumber +from unit_test_api.model.date_time_format import DateTimeFormat +from unit_test_api.model.email_format import EmailFormat +from unit_test_api.model.enum_with0_does_not_match_false import EnumWith0DoesNotMatchFalse +from unit_test_api.model.enum_with1_does_not_match_true import EnumWith1DoesNotMatchTrue +from unit_test_api.model.enum_with_escaped_characters import EnumWithEscapedCharacters +from unit_test_api.model.enum_with_false_does_not_match0 import EnumWithFalseDoesNotMatch0 +from unit_test_api.model.enum_with_true_does_not_match1 import EnumWithTrueDoesNotMatch1 +from unit_test_api.model.enums_in_properties import EnumsInProperties +from unit_test_api.model.forbidden_property import ForbiddenProperty +from unit_test_api.model.hostname_format import HostnameFormat +from unit_test_api.model.integer_type_matches_integers import IntegerTypeMatchesIntegers +from unit_test_api.model.invalid_instance_should_not_raise_error_when_float_division_inf import InvalidInstanceShouldNotRaiseErrorWhenFloatDivisionInf +from unit_test_api.model.invalid_string_value_for_default import InvalidStringValueForDefault +from unit_test_api.model.ipv4_format import Ipv4Format +from unit_test_api.model.ipv6_format import Ipv6Format +from unit_test_api.model.json_pointer_format import JsonPointerFormat +from unit_test_api.model.maximum_validation import MaximumValidation +from unit_test_api.model.maximum_validation_with_unsigned_integer import MaximumValidationWithUnsignedInteger +from unit_test_api.model.maxitems_validation import MaxitemsValidation +from unit_test_api.model.maxlength_validation import MaxlengthValidation +from unit_test_api.model.maxproperties0_means_the_object_is_empty import Maxproperties0MeansTheObjectIsEmpty +from unit_test_api.model.maxproperties_validation import MaxpropertiesValidation +from unit_test_api.model.minimum_validation import MinimumValidation +from unit_test_api.model.minimum_validation_with_signed_integer import MinimumValidationWithSignedInteger +from unit_test_api.model.minitems_validation import MinitemsValidation +from unit_test_api.model.minlength_validation import MinlengthValidation +from unit_test_api.model.minproperties_validation import MinpropertiesValidation +from unit_test_api.model.model_not import ModelNot +from unit_test_api.model.nested_items import NestedItems +from unit_test_api.model.not_more_complex_schema import NotMoreComplexSchema +from unit_test_api.model.nul_characters_in_strings import NulCharactersInStrings +from unit_test_api.model.null_type_matches_only_the_null_object import NullTypeMatchesOnlyTheNullObject +from unit_test_api.model.number_type_matches_numbers import NumberTypeMatchesNumbers +from unit_test_api.model.object_properties_validation import ObjectPropertiesValidation +from unit_test_api.model.pattern_is_not_anchored import PatternIsNotAnchored +from unit_test_api.model.pattern_validation import PatternValidation +from unit_test_api.model.properties_with_escaped_characters import PropertiesWithEscapedCharacters +from unit_test_api.model.property_named_ref_that_is_not_a_reference import PropertyNamedRefThatIsNotAReference +from unit_test_api.model.ref_in_additionalproperties import RefInAdditionalproperties +from unit_test_api.model.ref_in_allof import RefInAllof +from unit_test_api.model.ref_in_anyof import RefInAnyof +from unit_test_api.model.ref_in_items import RefInItems +from unit_test_api.model.ref_in_oneof import RefInOneof +from unit_test_api.model.ref_in_property import RefInProperty +from unit_test_api.model.required_default_validation import RequiredDefaultValidation +from unit_test_api.model.required_validation import RequiredValidation +from unit_test_api.model.required_with_empty_array import RequiredWithEmptyArray +from unit_test_api.model.simple_enum_validation import SimpleEnumValidation +from unit_test_api.model.string_type_matches_strings import StringTypeMatchesStrings +from unit_test_api.model.the_default_keyword_does_not_do_anything_if_the_property_is_missing import TheDefaultKeywordDoesNotDoAnythingIfThePropertyIsMissing +from unit_test_api.model.uniqueitems_false_validation import UniqueitemsFalseValidation +from unit_test_api.model.uniqueitems_validation import UniqueitemsValidation +from unit_test_api.model.uri_format import UriFormat +from unit_test_api.model.uri_reference_format import UriReferenceFormat +from unit_test_api.model.uri_template_format import UriTemplateFormat diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/rest.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/rest.py new file mode 100644 index 0000000000..75a309eed9 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/rest.py @@ -0,0 +1,253 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import logging +import ssl +from urllib.parse import urlencode +import typing + +import certifi +import urllib3 +from urllib3._collections import HTTPHeaderDict + +from unit_test_api.exceptions import ApiException, ApiValueError + + +logger = logging.getLogger(__name__) + + +class RESTClientObject(object): + + def __init__(self, configuration, pools_size=4, maxsize=None): + # urllib3.PoolManager will pass all kw parameters to connectionpool + # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/poolmanager.py#L75 # noqa: E501 + # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/connectionpool.py#L680 # noqa: E501 + # maxsize is the number of requests to host that are allowed in parallel # noqa: E501 + # Custom SSL certificates and client certificates: http://urllib3.readthedocs.io/en/latest/advanced-usage.html # noqa: E501 + + # cert_reqs + if configuration.verify_ssl: + cert_reqs = ssl.CERT_REQUIRED + else: + cert_reqs = ssl.CERT_NONE + + # ca_certs + if configuration.ssl_ca_cert: + ca_certs = configuration.ssl_ca_cert + else: + # if not set certificate file, use Mozilla's root certificates. + ca_certs = certifi.where() + + addition_pool_args = {} + if configuration.assert_hostname is not None: + addition_pool_args['assert_hostname'] = configuration.assert_hostname # noqa: E501 + + if configuration.retries is not None: + addition_pool_args['retries'] = configuration.retries + + if configuration.socket_options is not None: + addition_pool_args['socket_options'] = configuration.socket_options + + if maxsize is None: + if configuration.connection_pool_maxsize is not None: + maxsize = configuration.connection_pool_maxsize + else: + maxsize = 4 + + # https pool manager + if configuration.proxy: + self.pool_manager = urllib3.ProxyManager( + num_pools=pools_size, + maxsize=maxsize, + cert_reqs=cert_reqs, + ca_certs=ca_certs, + cert_file=configuration.cert_file, + key_file=configuration.key_file, + proxy_url=configuration.proxy, + proxy_headers=configuration.proxy_headers, + **addition_pool_args + ) + else: + self.pool_manager = urllib3.PoolManager( + num_pools=pools_size, + maxsize=maxsize, + cert_reqs=cert_reqs, + ca_certs=ca_certs, + cert_file=configuration.cert_file, + key_file=configuration.key_file, + **addition_pool_args + ) + + def request( + self, + method: str, + url: str, + headers: typing.Optional[HTTPHeaderDict] = None, + fields: typing.Optional[typing.Tuple[typing.Tuple[str, typing.Any], ...]] = None, + body: typing.Optional[typing.Union[str, bytes]] = None, + stream: bool = False, + timeout: typing.Optional[typing.Union[int, typing.Tuple]] = None, + ) -> urllib3.HTTPResponse: + """Perform requests. + + :param method: http request method + :param url: http request url + :param headers: http request headers + :param body: request body, for other types + :param fields: request parameters for + `application/x-www-form-urlencoded` + or `multipart/form-data` + :param stream: if True, the urllib3.HTTPResponse object will + be returned without reading/decoding response + data. Default is False. + :param timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + """ + method = method.upper() + assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT', + 'PATCH', 'OPTIONS'] + + if fields and body: + raise ApiValueError( + "body parameter cannot be used with fields parameter." + ) + + fields = fields or {} + headers = headers or {} + + if timeout: + if isinstance(timeout, (int, float)): # noqa: E501,F821 + timeout = urllib3.Timeout(total=timeout) + elif (isinstance(timeout, tuple) and + len(timeout) == 2): + timeout = urllib3.Timeout(connect=timeout[0], read=timeout[1]) + + try: + # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` + if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']: + if 'Content-Type' not in headers and body is None: + r = self.pool_manager.request( + method, + url, + preload_content=not stream, + timeout=timeout, + headers=headers + ) + elif headers['Content-Type'] == 'application/x-www-form-urlencoded': # noqa: E501 + r = self.pool_manager.request( + method, url, + fields=fields, + encode_multipart=False, + preload_content=not stream, + timeout=timeout, + headers=headers) + elif headers['Content-Type'] == 'multipart/form-data': + # must del headers['Content-Type'], or the correct + # Content-Type which generated by urllib3 will be + # overwritten. + del headers['Content-Type'] + r = self.pool_manager.request( + method, url, + fields=fields, + encode_multipart=True, + preload_content=not stream, + timeout=timeout, + headers=headers) + # Pass a `string` parameter directly in the body to support + # other content types than Json when `body` argument is + # provided in serialized form + elif isinstance(body, str) or isinstance(body, bytes): + request_body = body + r = self.pool_manager.request( + method, url, + body=request_body, + preload_content=not stream, + timeout=timeout, + headers=headers) + else: + # Cannot generate the request from given parameters + msg = """Cannot prepare a request message for provided + arguments. Please check that your arguments match + declared content type.""" + raise ApiException(status=0, reason=msg) + # For `GET`, `HEAD` + else: + r = self.pool_manager.request(method, url, + preload_content=not stream, + timeout=timeout, + headers=headers) + except urllib3.exceptions.SSLError as e: + msg = "{0}\n{1}".format(type(e).__name__, str(e)) + raise ApiException(status=0, reason=msg) + + if not stream: + # log response body + logger.debug("response body: %s", r.data) + + return r + + def GET(self, url, headers=None, stream=False, + timeout=None, fields=None) -> urllib3.HTTPResponse: + return self.request("GET", url, + headers=headers, + stream=stream, + timeout=timeout, + fields=fields) + + def HEAD(self, url, headers=None, stream=False, + timeout=None, fields=None) -> urllib3.HTTPResponse: + return self.request("HEAD", url, + headers=headers, + stream=stream, + timeout=timeout, + fields=fields) + + def OPTIONS(self, url, headers=None, + body=None, stream=False, timeout=None, fields=None) -> urllib3.HTTPResponse: + return self.request("OPTIONS", url, + headers=headers, + stream=stream, + timeout=timeout, + body=body, fields=fields) + + def DELETE(self, url, headers=None, body=None, + stream=False, timeout=None, fields=None) -> urllib3.HTTPResponse: + return self.request("DELETE", url, + headers=headers, + stream=stream, + timeout=timeout, + body=body, fields=fields) + + def POST(self, url, headers=None, + body=None, stream=False, timeout=None, fields=None) -> urllib3.HTTPResponse: + return self.request("POST", url, + headers=headers, + stream=stream, + timeout=timeout, + body=body, fields=fields) + + def PUT(self, url, headers=None, + body=None, stream=False, timeout=None, fields=None) -> urllib3.HTTPResponse: + return self.request("PUT", url, + headers=headers, + stream=stream, + timeout=timeout, + body=body, fields=fields) + + def PATCH(self, url, headers=None, + body=None, stream=False, timeout=None, fields=None) -> urllib3.HTTPResponse: + return self.request("PATCH", url, + headers=headers, + stream=stream, + timeout=timeout, + body=body, fields=fields) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/schemas.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/schemas.py new file mode 100644 index 0000000000..ad7860b5ca --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/schemas.py @@ -0,0 +1,2223 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +from collections import defaultdict +from datetime import date, datetime, timedelta # noqa: F401 +import functools +import decimal +import io +import os +import re +import tempfile +import typing +import uuid + +from dateutil.parser.isoparser import isoparser, _takes_ascii +from frozendict import frozendict + +from unit_test_api.exceptions import ( + ApiTypeError, + ApiValueError, +) +from unit_test_api.configuration import ( + Configuration, +) + + +class Unset(object): + """ + An instance of this class is set as the default value for object type(dict) properties that are optional + When a property has an unset value, that property will not be assigned in the dict + """ + pass + +unset = Unset() + +none_type = type(None) +file_type = io.IOBase + + +class FileIO(io.FileIO): + """ + A class for storing files + Note: this class is not immutable + """ + + def __new__(cls, arg: typing.Union[io.FileIO, io.BufferedReader]): + if isinstance(arg, (io.FileIO, io.BufferedReader)): + arg.close() + inst = super(FileIO, cls).__new__(cls, arg.name) + super(FileIO, inst).__init__(arg.name) + return inst + raise ApiValueError('FileIO must be passed arg which contains the open file') + + +def update(d: dict, u: dict): + """ + Adds u to d + Where each dict is defaultdict(set) + """ + if not u: + return d + for k, v in u.items(): + if not v: + continue + if k not in d: + d[k] = v + else: + d[k] = d[k] | v + + +class ValidationMetadata(frozendict): + """ + A class storing metadata that is needed to validate OpenApi Schema payloads + """ + def __new__( + cls, + path_to_item: typing.Tuple[typing.Union[str, int], ...] = tuple(['args[0]']), + from_server: bool = False, + configuration: typing.Optional[Configuration] = None, + base_classes: typing.FrozenSet[typing.Type] = frozenset(), + ): + """ + Args: + path_to_item: the path to the current data being instantiated. + For {'a': [1]} if the code is handling, 1, then the path is ('args[0]', 'a', 0) + from_server: whether or not this data came form the server + True when receiving server data + False when instantiating model with client side data not form the server + configuration: the Configuration instance to use + This is needed because in Configuration: + - one can disable validation checking + base_classes: when deserializing data that matches multiple schemas, this is used to store + the schemas that have been traversed. This is used to stop processing when a cycle is seen. + """ + return super().__new__( + cls, + path_to_item=path_to_item, + from_server=from_server, + configuration=configuration, + base_classes=base_classes, + ) + + @property + def path_to_item(self) -> typing.Tuple[typing.Union[str, int], ...]: + return self.get('path_to_item') + + @property + def from_server(self) -> bool: + return self.get('from_server') + + @property + def configuration(self) -> typing.Optional[Configuration]: + return self.get('configuration') + + @property + def base_classes(self) -> typing.FrozenSet[typing.Type]: + return self.get('base_classes') + + +class ValidatorBase: + @staticmethod + def __is_json_validation_enabled(schema_keyword, configuration=None): + """Returns true if JSON schema validation is enabled for the specified + validation keyword. This can be used to skip JSON schema structural validation + as requested in the configuration. + + Args: + schema_keyword (string): the name of a JSON schema validation keyword. + configuration (Configuration): the configuration class. + """ + + return (configuration is None or + not hasattr(configuration, '_disabled_client_side_validations') or + schema_keyword not in configuration._disabled_client_side_validations) + + @staticmethod + def __raise_validation_error_message(value, constraint_msg, constraint_value, path_to_item, additional_txt=""): + raise ApiValueError( + "Invalid value `{value}`, {constraint_msg} `{constraint_value}`{additional_txt} at {path_to_item}".format( + value=value, + constraint_msg=constraint_msg, + constraint_value=constraint_value, + additional_txt=additional_txt, + path_to_item=path_to_item, + ) + ) + + @classmethod + def __check_str_validations(cls, + validations, input_values, + validation_metadata: ValidationMetadata): + + if (cls.__is_json_validation_enabled('maxLength', validation_metadata.configuration) and + 'max_length' in validations and + len(input_values) > validations['max_length']): + cls.__raise_validation_error_message( + value=input_values, + constraint_msg="length must be less than or equal to", + constraint_value=validations['max_length'], + path_to_item=validation_metadata.path_to_item + ) + + if (cls.__is_json_validation_enabled('minLength', validation_metadata.configuration) and + 'min_length' in validations and + len(input_values) < validations['min_length']): + cls.__raise_validation_error_message( + value=input_values, + constraint_msg="length must be greater than or equal to", + constraint_value=validations['min_length'], + path_to_item=validation_metadata.path_to_item + ) + + checked_value = input_values + if (cls.__is_json_validation_enabled('pattern', validation_metadata.configuration) and + 'regex' in validations): + for regex_dict in validations['regex']: + flags = regex_dict.get('flags', 0) + if not re.search(regex_dict['pattern'], checked_value, flags=flags): + if flags != 0: + # Don't print the regex flags if the flags are not + # specified in the OAS document. + cls.__raise_validation_error_message( + value=input_values, + constraint_msg="must match regular expression", + constraint_value=regex_dict['pattern'], + path_to_item=validation_metadata.path_to_item, + additional_txt=" with flags=`{}`".format(flags) + ) + cls.__raise_validation_error_message( + value=input_values, + constraint_msg="must match regular expression", + constraint_value=regex_dict['pattern'], + path_to_item=validation_metadata.path_to_item + ) + + @classmethod + def __data_with_boolclass_instead_of_bool(cls, data: typing.Any) -> typing.Any: + """ + In python bool is a subclass of int so 1 == True and 0 == False + This prevents code from being able to see the difference between 1 and True and 0 and False + To fix this swap in BoolClass singletons for True and False so they will differ from integers + """ + if isinstance(data, (list, tuple)): + new_data = [] + for item in data: + new_item = cls.__data_with_boolclass_instead_of_bool(item) + new_data.append(new_item) + return tuple(new_data) + elif isinstance(data, (dict, frozendict)): + new_data = {} + for key, value in data.items(): + new_value = cls.__data_with_boolclass_instead_of_bool(value) + new_data[key] = new_value + return frozendict(new_data) + elif isinstance(data, bool): + if data: + return BoolClass.TRUE + return BoolClass.FALSE + return data + + @classmethod + def __check_tuple_validations( + cls, validations, input_values, + validation_metadata: ValidationMetadata): + + if (cls.__is_json_validation_enabled('maxItems', validation_metadata.configuration) and + 'max_items' in validations and + len(input_values) > validations['max_items']): + cls.__raise_validation_error_message( + value=input_values, + constraint_msg="number of items must be less than or equal to", + constraint_value=validations['max_items'], + path_to_item=validation_metadata.path_to_item + ) + + if (cls.__is_json_validation_enabled('minItems', validation_metadata.configuration) and + 'min_items' in validations and + len(input_values) < validations['min_items']): + cls.__raise_validation_error_message( + value=input_values, + constraint_msg="number of items must be greater than or equal to", + constraint_value=validations['min_items'], + path_to_item=validation_metadata.path_to_item + ) + + if (cls.__is_json_validation_enabled('uniqueItems', validation_metadata.configuration) and + 'unique_items' in validations and validations['unique_items'] and input_values): + unique_items = set(cls.__data_with_boolclass_instead_of_bool(input_values)) + if len(input_values) > len(unique_items): + cls.__raise_validation_error_message( + value=input_values, + constraint_msg="duplicate items were found, and the tuple must not contain duplicates because", + constraint_value='unique_items==True', + path_to_item=validation_metadata.path_to_item + ) + + @classmethod + def __check_dict_validations( + cls, validations, input_values, + validation_metadata: ValidationMetadata): + + if (cls.__is_json_validation_enabled('maxProperties', validation_metadata.configuration) and + 'max_properties' in validations and + len(input_values) > validations['max_properties']): + cls.__raise_validation_error_message( + value=input_values, + constraint_msg="number of properties must be less than or equal to", + constraint_value=validations['max_properties'], + path_to_item=validation_metadata.path_to_item + ) + + if (cls.__is_json_validation_enabled('minProperties', validation_metadata.configuration) and + 'min_properties' in validations and + len(input_values) < validations['min_properties']): + cls.__raise_validation_error_message( + value=input_values, + constraint_msg="number of properties must be greater than or equal to", + constraint_value=validations['min_properties'], + path_to_item=validation_metadata.path_to_item + ) + + @classmethod + def __check_numeric_validations( + cls, validations, input_values, + validation_metadata: ValidationMetadata): + + if cls.__is_json_validation_enabled('multipleOf', + validation_metadata.configuration) and 'multiple_of' in validations: + multiple_of_values = validations['multiple_of'] + for multiple_of_value in multiple_of_values: + if (isinstance(input_values, decimal.Decimal) and + not (float(input_values) / multiple_of_value).is_integer() + ): + # Note 'multipleOf' will be as good as the floating point arithmetic. + cls.__raise_validation_error_message( + value=input_values, + constraint_msg="value must be a multiple of", + constraint_value=multiple_of_value, + path_to_item=validation_metadata.path_to_item + ) + + checking_max_or_min_values = {'exclusive_maximum', 'inclusive_maximum', 'exclusive_minimum', + 'inclusive_minimum'}.isdisjoint(validations) is False + if not checking_max_or_min_values: + return + max_val = input_values + min_val = input_values + + if (cls.__is_json_validation_enabled('exclusiveMaximum', validation_metadata.configuration) and + 'exclusive_maximum' in validations and + max_val >= validations['exclusive_maximum']): + cls.__raise_validation_error_message( + value=input_values, + constraint_msg="must be a value less than", + constraint_value=validations['exclusive_maximum'], + path_to_item=validation_metadata.path_to_item + ) + + if (cls.__is_json_validation_enabled('maximum', validation_metadata.configuration) and + 'inclusive_maximum' in validations and + max_val > validations['inclusive_maximum']): + cls.__raise_validation_error_message( + value=input_values, + constraint_msg="must be a value less than or equal to", + constraint_value=validations['inclusive_maximum'], + path_to_item=validation_metadata.path_to_item + ) + + if (cls.__is_json_validation_enabled('exclusiveMinimum', validation_metadata.configuration) and + 'exclusive_minimum' in validations and + min_val <= validations['exclusive_minimum']): + cls.__raise_validation_error_message( + value=input_values, + constraint_msg="must be a value greater than", + constraint_value=validations['exclusive_maximum'], + path_to_item=validation_metadata.path_to_item + ) + + if (cls.__is_json_validation_enabled('minimum', validation_metadata.configuration) and + 'inclusive_minimum' in validations and + min_val < validations['inclusive_minimum']): + cls.__raise_validation_error_message( + value=input_values, + constraint_msg="must be a value greater than or equal to", + constraint_value=validations['inclusive_minimum'], + path_to_item=validation_metadata.path_to_item + ) + + @classmethod + def _check_validations_for_types( + cls, + validations, + input_values, + validation_metadata: ValidationMetadata + ): + if isinstance(input_values, str): + cls.__check_str_validations(validations, input_values, validation_metadata) + elif isinstance(input_values, tuple): + cls.__check_tuple_validations(validations, input_values, validation_metadata) + elif isinstance(input_values, frozendict): + cls.__check_dict_validations(validations, input_values, validation_metadata) + elif isinstance(input_values, decimal.Decimal): + cls.__check_numeric_validations(validations, input_values, validation_metadata) + try: + return super()._validate_validations_pass(input_values, validation_metadata) + except AttributeError: + return True + + +class Validator(typing.Protocol): + def _validate_validations_pass( + cls, + input_values, + validation_metadata: ValidationMetadata + ): + pass + + +def _SchemaValidator(**validations: typing.Union[str, bool, None, int, float, list[dict[str, typing.Union[str, int, float]]]]) -> Validator: + class SchemaValidator(ValidatorBase): + @classmethod + def _validate_validations_pass( + cls, + input_values, + validation_metadata: ValidationMetadata + ): + cls._check_validations_for_types(validations, input_values, validation_metadata) + try: + return super()._validate_validations_pass(input_values, validation_metadata) + except AttributeError: + return True + + return SchemaValidator + + +class TypeChecker(typing.Protocol): + @classmethod + def _validate_type( + cls, arg_simple_class: type + ) -> typing.Tuple[type]: + pass + + +def _SchemaTypeChecker(union_type_cls: typing.Union[typing.Any]) -> TypeChecker: + if typing.get_origin(union_type_cls) is typing.Union: + union_classes = typing.get_args(union_type_cls) + else: + # note: when a union of a single class is passed in, the union disappears + union_classes = tuple([union_type_cls]) + """ + I want the type hint... union_type_cls + and to use it as a base class but when I do, I get + TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases + """ + class SchemaTypeChecker: + @classmethod + def _validate_type(cls, arg_simple_class: type): + if arg_simple_class not in union_classes: + return union_classes + try: + return super()._validate_type(arg_simple_class) + except AttributeError: + return tuple() + + return SchemaTypeChecker + + +class EnumMakerBase: + @classmethod + @property + def _enum_by_value( + cls + ) -> type: + enum_classes = {} + if not hasattr(cls, "_enum_value_to_name"): + return enum_classes + for enum_value, enum_name in cls._enum_value_to_name.items(): + base_class = type(enum_value) + if base_class is none_type: + enum_classes[enum_value] = get_new_class( + "Dynamic" + cls.__name__, (cls, NoneClass)) + log_cache_usage(get_new_class) + elif base_class is bool: + enum_classes[enum_value] = get_new_class( + "Dynamic" + cls.__name__, (cls, BoolClass)) + log_cache_usage(get_new_class) + else: + enum_classes[enum_value] = get_new_class( + "Dynamic" + cls.__name__, (cls, Singleton, base_class)) + log_cache_usage(get_new_class) + return enum_classes + + +class EnumMakerInterface(typing.Protocol): + @classmethod + @property + def _enum_value_to_name( + cls + ) -> typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]: + pass + + @classmethod + @property + def _enum_by_value( + cls + ) -> type: + pass + + +def _SchemaEnumMaker(enum_value_to_name: typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]) -> EnumMakerInterface: + class SchemaEnumMaker(EnumMakerBase): + @classmethod + @property + def _enum_value_to_name( + cls + ) -> typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]: + pass + try: + super_enum_value_to_name = super()._enum_value_to_name + except AttributeError: + return enum_value_to_name + intersection = dict(enum_value_to_name.items() & super_enum_value_to_name.items()) + return intersection + + return SchemaEnumMaker + + +class Singleton: + """ + Enums and singletons are the same + The same instance is returned for a given key of (cls, arg) + """ + _instances = {} + + def __new__(cls, arg: typing.Any, **kwargs): + key = (cls, arg) + if key not in cls._instances: + if arg in {None, True, False}: + inst = super().__new__(cls) + # inst._value = arg + cls._instances[key] = inst + else: + cls._instances[key] = super().__new__(cls, arg) + return cls._instances[key] + + def __repr__(self): + if isinstance(self, NoneClass): + return f'<{self.__class__.__name__}: None>' + elif isinstance(self, BoolClass): + if (self.__class__, True) in self._instances: + return f'<{self.__class__.__name__}: True>' + return f'<{self.__class__.__name__}: False>' + return f'<{self.__class__.__name__}: {super().__repr__()}>' + + +class NoneClass(Singleton): + @classmethod + @property + def NONE(cls): + return cls(None) + + def __bool__(self) -> bool: + return False + + +class BoolClass(Singleton): + @classmethod + @property + def TRUE(cls): + return cls(True) + + @classmethod + @property + def FALSE(cls): + return cls(False) + + @functools.cache + def __bool__(self) -> bool: + for key, instance in self._instances.items(): + if self is instance: + return key[1] + raise ValueError('Unable to find the boolean value of this instance') + + +class BoolBase: + def is_true(self) -> bool: + """ + A replacement for x is True + True if the instance is a BoolClass True Singleton + """ + if not issubclass(self.__class__, BoolClass): + return False + return bool(self) + + def is_false(self) -> bool: + """ + A replacement for x is False + True if the instance is a BoolClass False Singleton + """ + if not issubclass(self.__class__, BoolClass): + return False + return bool(self) is False + + +class NoneBase: + def is_none(self) -> bool: + """ + A replacement for x is None + True if the instance is a NoneClass None Singleton + """ + if issubclass(self.__class__, NoneClass): + return True + return False + + +class StrBase: + @property + def as_str(self) -> str: + return self + + @property + def as_date(self) -> date: + raise Exception('not implemented') + + @property + def as_datetime(self) -> datetime: + raise Exception('not implemented') + + @property + def as_decimal(self) -> decimal.Decimal: + raise Exception('not implemented') + + @property + def as_uuid(self) -> uuid.UUID: + raise Exception('not implemented') + + +class UUIDBase(StrBase): + @property + @functools.cache + def as_uuid(self) -> uuid.UUID: + return uuid.UUID(self) + + @classmethod + def _validate_format(cls, arg: typing.Optional[str], validation_metadata: ValidationMetadata): + if isinstance(arg, str): + try: + uuid.UUID(arg) + return True + except ValueError: + raise ApiValueError( + "Invalid value '{}' for type UUID at {}".format(arg, validation_metadata.path_to_item) + ) + + @classmethod + def _validate( + cls, + arg, + validation_metadata: typing.Optional[ValidationMetadata] = None, + ): + """ + UUIDBase _validate + """ + cls._validate_format(arg, validation_metadata=validation_metadata) + return super()._validate(arg, validation_metadata=validation_metadata) + + +class CustomIsoparser(isoparser): + + @_takes_ascii + def parse_isodatetime(self, dt_str): + components, pos = self._parse_isodate(dt_str) + if len(dt_str) > pos: + if self._sep is None or dt_str[pos:pos + 1] == self._sep: + components += self._parse_isotime(dt_str[pos + 1:]) + else: + raise ValueError('String contains unknown ISO components') + + if len(components) > 3 and components[3] == 24: + components[3] = 0 + return datetime(*components) + timedelta(days=1) + + if len(components) <= 3: + raise ValueError('Value is not a datetime') + + return datetime(*components) + + @_takes_ascii + def parse_isodate(self, datestr): + components, pos = self._parse_isodate(datestr) + + if len(datestr) > pos: + raise ValueError('String contains invalid time components') + + if len(components) > 3: + raise ValueError('String contains invalid time components') + + return date(*components) + + +DEFAULT_ISOPARSER = CustomIsoparser() + + +class DateBase(StrBase): + @property + @functools.cache + def as_date(self) -> date: + return DEFAULT_ISOPARSER.parse_isodate(self) + + @classmethod + def _validate_format(cls, arg: typing.Optional[str], validation_metadata: ValidationMetadata): + if isinstance(arg, str): + try: + DEFAULT_ISOPARSER.parse_isodate(arg) + return True + except ValueError: + raise ApiValueError( + "Value does not conform to the required ISO-8601 date format. " + "Invalid value '{}' for type date at {}".format(arg, validation_metadata.path_to_item) + ) + + @classmethod + def _validate( + cls, + arg, + validation_metadata: typing.Optional[ValidationMetadata] = None, + ): + """ + DateBase _validate + """ + cls._validate_format(arg, validation_metadata=validation_metadata) + return super()._validate(arg, validation_metadata=validation_metadata) + + +class DateTimeBase: + @property + @functools.cache + def as_datetime(self) -> datetime: + return DEFAULT_ISOPARSER.parse_isodatetime(self) + + @classmethod + def _validate_format(cls, arg: typing.Optional[str], validation_metadata: ValidationMetadata): + if isinstance(arg, str): + try: + DEFAULT_ISOPARSER.parse_isodatetime(arg) + return True + except ValueError: + raise ApiValueError( + "Value does not conform to the required ISO-8601 datetime format. " + "Invalid value '{}' for type datetime at {}".format(arg, validation_metadata.path_to_item) + ) + + @classmethod + def _validate( + cls, + arg, + validation_metadata: ValidationMetadata, + ): + """ + DateTimeBase _validate + """ + cls._validate_format(arg, validation_metadata=validation_metadata) + return super()._validate(arg, validation_metadata=validation_metadata) + + +class DecimalBase(StrBase): + """ + A class for storing decimals that are sent over the wire as strings + These schemas must remain based on StrBase rather than NumberBase + because picking base classes must be deterministic + """ + + @property + @functools.cache + def as_decimal(self) -> decimal.Decimal: + return decimal.Decimal(self) + + @classmethod + def _validate_format(cls, arg: typing.Optional[str], validation_metadata: ValidationMetadata): + if isinstance(arg, str): + try: + decimal.Decimal(arg) + return True + except decimal.InvalidOperation: + raise ApiValueError( + "Value cannot be converted to a decimal. " + "Invalid value '{}' for type decimal at {}".format(arg, validation_metadata.path_to_item) + ) + + @classmethod + def _validate( + cls, + arg, + validation_metadata: ValidationMetadata, + ): + """ + DecimalBase _validate + """ + cls._validate_format(arg, validation_metadata=validation_metadata) + return super()._validate(arg, validation_metadata=validation_metadata) + + +class NumberBase: + @property + def as_int(self) -> int: + try: + return self._as_int + except AttributeError: + """ + Note: for some numbers like 9.0 they could be represented as an + integer but our code chooses to store them as + >>> Decimal('9.0').as_tuple() + DecimalTuple(sign=0, digits=(9, 0), exponent=-1) + so we can tell that the value came from a float and convert it back to a float + during later serialization + """ + if self.as_tuple().exponent < 0: + # this could be represented as an integer but should be represented as a float + # because that's what it was serialized from + raise ApiValueError(f'{self} is not an integer') + self._as_int = int(self) + return self._as_int + + @property + def as_float(self) -> float: + try: + return self._as_float + except AttributeError: + if self.as_tuple().exponent >= 0: + raise ApiValueError(f'{self} is not an float') + self._as_float = float(self) + return self._as_float + + +class ListBase: + @classmethod + def _validate_items(cls, list_items, validation_metadata: ValidationMetadata): + """ + Ensures that: + - values passed in for items are valid + Exceptions will be raised if: + - invalid arguments were passed in + + Args: + list_items: the input list of items + + Raises: + ApiTypeError - for missing required arguments, or for invalid properties + """ + + # if we have definitions for an items schema, use it + # otherwise accept anything + item_cls = getattr(cls, '_items', AnyTypeSchema) + path_to_schemas = {} + for i, value in enumerate(list_items): + if isinstance(value, item_cls): + continue + item_validation_metadata = ValidationMetadata( + from_server=validation_metadata.from_server, + configuration=validation_metadata.configuration, + path_to_item=validation_metadata.path_to_item+(i,) + ) + other_path_to_schemas = item_cls._validate( + value, validation_metadata=item_validation_metadata) + update(path_to_schemas, other_path_to_schemas) + return path_to_schemas + + @classmethod + def _validate( + cls, + arg, + validation_metadata: ValidationMetadata, + ): + """ + ListBase _validate + We return dynamic classes of different bases depending upon the inputs + This makes it so: + - the returned instance is always a subclass of our defining schema + - this allows us to check type based on whether an instance is a subclass of a schema + - the returned instance is a serializable type (except for None, True, and False) which are enums + + Returns: + new_cls (type): the new class + + Raises: + ApiValueError: when a string can't be converted into a date or datetime and it must be one of those classes + ApiTypeError: when the input type is not in the list of allowed spec types + """ + _path_to_schemas = super()._validate(arg, validation_metadata=validation_metadata) + if not isinstance(arg, tuple): + return _path_to_schemas + if cls in validation_metadata.base_classes: + # we have already moved through this class so stop here + return _path_to_schemas + updated_vm = ValidationMetadata( + configuration=validation_metadata.configuration, + from_server=validation_metadata.from_server, + path_to_item=validation_metadata.path_to_item, + base_classes=validation_metadata.base_classes | frozenset({cls}) + ) + other_path_to_schemas = cls._validate_items(arg, validation_metadata=updated_vm) + update(_path_to_schemas, other_path_to_schemas) + return _path_to_schemas + + @classmethod + def _get_items( + cls: 'Schema', + arg: typing.List[typing.Any], + path_to_item: typing.Tuple[typing.Union[str, int], ...], + path_to_schemas: typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Type['Schema']] + ): + ''' + ListBase _get_items + ''' + list_items = arg + cast_items = [] + # if we have definitions for an items schema, use it + # otherwise accept anything + + cls_item_cls = getattr(cls, '_items', AnyTypeSchema) + for i, value in enumerate(list_items): + item_path_to_item = path_to_item + (i,) + item_cls = path_to_schemas.get(item_path_to_item) + if item_cls is None: + item_cls = cls_item_cls + + if isinstance(value, item_cls): + cast_items.append(value) + continue + + new_value = item_cls._get_new_instance_without_conversion( + value, + item_path_to_item, + path_to_schemas + ) + cast_items.append(new_value) + + return cast_items + + +class Discriminable: + @classmethod + def _ensure_discriminator_value_present(cls, disc_property_name: str, validation_metadata: ValidationMetadata, *args): + if not args or args and disc_property_name not in args[0]: + # The input data does not contain the discriminator property + raise ApiValueError( + "Cannot deserialize input data due to missing discriminator. " + "The discriminator property '{}' is missing at path: {}".format(disc_property_name, validation_metadata.path_to_item) + ) + + @classmethod + def _get_discriminated_class(cls, disc_property_name: str, disc_payload_value: str): + """ + Used in schemas with discriminators + """ + if not hasattr(cls, '_discriminator'): + return None + disc = cls._discriminator + if disc_property_name not in disc: + return None + discriminated_cls = disc[disc_property_name].get(disc_payload_value) + if discriminated_cls is not None: + return discriminated_cls + elif not hasattr(cls, '_composed_schemas'): + return None + # TODO stop traveling if a cycle is hit + for allof_cls in cls._composed_schemas['allOf']: + discriminated_cls = allof_cls._get_discriminated_class( + disc_property_name=disc_property_name, disc_payload_value=disc_payload_value) + if discriminated_cls is not None: + return discriminated_cls + for oneof_cls in cls._composed_schemas['oneOf']: + discriminated_cls = oneof_cls._get_discriminated_class( + disc_property_name=disc_property_name, disc_payload_value=disc_payload_value) + if discriminated_cls is not None: + return discriminated_cls + for anyof_cls in cls._composed_schemas['anyOf']: + discriminated_cls = anyof_cls._get_discriminated_class( + disc_property_name=disc_property_name, disc_payload_value=disc_payload_value) + if discriminated_cls is not None: + return discriminated_cls + return None + + +class DictBase(Discriminable): + # subclass properties + _required_property_names = set() + + @classmethod + def _validate_arg_presence(cls, arg): + """ + Ensures that: + - all required arguments are passed in + - the input variable names are valid + - present in properties or + - accepted because additionalProperties exists + Exceptions will be raised if: + - invalid arguments were passed in + - a var_name is invalid if additionProperties == None and var_name not in _properties + - required properties were not passed in + + Args: + arg: the input dict + + Raises: + ApiTypeError - for missing required arguments, or for invalid properties + """ + seen_required_properties = set() + invalid_arguments = [] + for property_name in arg: + if property_name in cls._required_property_names: + seen_required_properties.add(property_name) + elif property_name in cls._property_names: + continue + elif cls._additional_properties: + continue + else: + invalid_arguments.append(property_name) + missing_required_arguments = list(cls._required_property_names - seen_required_properties) + if missing_required_arguments: + missing_required_arguments.sort() + raise ApiTypeError( + "{} is missing {} required argument{}: {}".format( + cls.__name__, + len(missing_required_arguments), + "s" if len(missing_required_arguments) > 1 else "", + missing_required_arguments + ) + ) + if invalid_arguments: + invalid_arguments.sort() + raise ApiTypeError( + "{} was passed {} invalid argument{}: {}".format( + cls.__name__, + len(invalid_arguments), + "s" if len(invalid_arguments) > 1 else "", + invalid_arguments + ) + ) + + @classmethod + def _validate_args(cls, arg, validation_metadata: ValidationMetadata): + """ + Ensures that: + - values passed in for properties are valid + Exceptions will be raised if: + - invalid arguments were passed in + + Args: + arg: the input dict + + Raises: + ApiTypeError - for missing required arguments, or for invalid properties + """ + path_to_schemas = {} + for property_name, value in arg.items(): + if property_name in cls._required_property_names or property_name in cls._property_names: + schema = getattr(cls, property_name) + elif cls._additional_properties: + schema = cls._additional_properties + else: + raise ApiTypeError('Unable to find schema for value={} in class={} at path_to_item={}'.format( + value, cls, validation_metadata.path_to_item+(property_name,) + )) + if isinstance(value, schema): + continue + arg_validation_metadata = ValidationMetadata( + from_server=validation_metadata.from_server, + configuration=validation_metadata.configuration, + path_to_item=validation_metadata.path_to_item+(property_name,) + ) + other_path_to_schemas = schema._validate(value, validation_metadata=arg_validation_metadata) + update(path_to_schemas, other_path_to_schemas) + return path_to_schemas + + @classmethod + def _validate( + cls, + arg, + validation_metadata: ValidationMetadata, + ): + """ + DictBase _validate + We return dynamic classes of different bases depending upon the inputs + This makes it so: + - the returned instance is always a subclass of our defining schema + - this allows us to check type based on whether an instance is a subclass of a schema + - the returned instance is a serializable type (except for None, True, and False) which are enums + + Returns: + new_cls (type): the new class + + Raises: + ApiValueError: when a string can't be converted into a date or datetime and it must be one of those classes + ApiTypeError: when the input type is not in the list of allowed spec types + """ + if isinstance(arg, cls): + # an instance of the correct type was passed in + return {} + _path_to_schemas = super()._validate(arg, validation_metadata=validation_metadata) + if not isinstance(arg, frozendict): + return _path_to_schemas + cls._validate_arg_presence(arg) + other_path_to_schemas = cls._validate_args(arg, validation_metadata=validation_metadata) + update(_path_to_schemas, other_path_to_schemas) + try: + _discriminator = cls._discriminator + except AttributeError: + return _path_to_schemas + # discriminator exists + disc_prop_name = list(_discriminator.keys())[0] + cls._ensure_discriminator_value_present(disc_prop_name, validation_metadata, arg) + discriminated_cls = cls._get_discriminated_class( + disc_property_name=disc_prop_name, disc_payload_value=arg[disc_prop_name]) + if discriminated_cls is None: + raise ApiValueError( + "Invalid discriminator value was passed in to {}.{} Only the values {} are allowed at {}".format( + cls.__name__, + disc_prop_name, + list(_discriminator[disc_prop_name].keys()), + validation_metadata.path_to_item + (disc_prop_name,) + ) + ) + if discriminated_cls in validation_metadata.base_classes: + # we have already moved through this class so stop here + return _path_to_schemas + updated_vm = ValidationMetadata( + configuration=validation_metadata.configuration, + from_server=validation_metadata.from_server, + path_to_item=validation_metadata.path_to_item, + base_classes=validation_metadata.base_classes | frozenset({cls}) + ) + other_path_to_schemas = discriminated_cls._validate(arg, validation_metadata=updated_vm) + update(_path_to_schemas, other_path_to_schemas) + return _path_to_schemas + + @classmethod + @property + def _additional_properties(cls): + return AnyTypeSchema + + @classmethod + @property + @functools.cache + def _property_names(cls): + property_names = set() + for var_name, var_value in cls.__dict__.items(): + # referenced models are classmethods + is_classmethod = type(var_value) is classmethod + if is_classmethod: + property_names.add(var_name) + continue + is_class = type(var_value) is type + if not is_class: + continue + if not issubclass(var_value, Schema): + continue + if var_name == '_additional_properties': + continue + property_names.add(var_name) + property_names = list(property_names) + property_names.sort() + return tuple(property_names) + + @classmethod + def _get_properties( + cls, + arg: typing.Dict[str, typing.Any], + path_to_item: typing.Tuple[typing.Union[str, int], ...], + path_to_schemas: typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Type['Schema']] + ): + """ + DictBase _get_properties, this is how properties are set + These values already passed validation + """ + dict_items = {} + # if we have definitions for property schemas convert values using it + # otherwise accept anything + + for property_name_js, value in arg.items(): + property_cls = getattr(cls, property_name_js, cls._additional_properties) + property_path_to_item = path_to_item + (property_name_js,) + stored_property_cls = path_to_schemas.get(property_path_to_item) + if stored_property_cls: + property_cls = stored_property_cls + + if isinstance(value, property_cls): + dict_items[property_name_js] = value + continue + + new_value = property_cls._get_new_instance_without_conversion( + value, + property_path_to_item, + path_to_schemas + ) + dict_items[property_name_js] = new_value + return dict_items + + def __setattr__(self, name, value): + if not isinstance(self, FileIO): + raise AttributeError('property setting not supported on immutable instances') + + def __getattr__(self, name): + if isinstance(self, frozendict): + # if an attribute does not exist + try: + return self[name] + except KeyError as ex: + raise AttributeError(str(ex)) + return super().__getattr__(self, name) + + def __getattribute__(self, name): + # if an attribute does exist (for example as a class property but not as an instance method) + try: + return self[name] + except (KeyError, TypeError): + return super().__getattribute__(name) + + +inheritable_primitive_types_set = {decimal.Decimal, str, tuple, frozendict, FileIO, bytes} + + +class Schema: + """ + the base class of all swagger/openapi schemas/models + + ensures that: + - payload passes required validations + - payload is of allowed types + - payload value is an allowed enum value + """ + + @staticmethod + def __get_simple_class(input_value): + """Returns an input_value's simple class that we will use for type checking + + Args: + input_value (class/class_instance): the item for which we will return + the simple class + """ + if isinstance(input_value, tuple): + return tuple + elif isinstance(input_value, frozendict): + return frozendict + elif isinstance(input_value, none_type): + return none_type + elif isinstance(input_value, bytes): + return bytes + elif isinstance(input_value, (io.FileIO, io.BufferedReader)): + return FileIO + elif isinstance(input_value, bool): + # this must be higher than the int check because + # isinstance(True, int) == True + return bool + elif isinstance(input_value, int): + return int + elif isinstance(input_value, float): + return float + elif isinstance(input_value, datetime): + # this must be higher than the date check because + # isinstance(datetime_instance, date) == True + return datetime + elif isinstance(input_value, date): + return date + elif isinstance(input_value, str): + return str + return type(input_value) + + @staticmethod + def __get_valid_classes_phrase(input_classes): + """Returns a string phrase describing what types are allowed""" + all_classes = list(input_classes) + all_classes = sorted(all_classes, key=lambda cls: cls.__name__) + all_class_names = [cls.__name__ for cls in all_classes] + if len(all_class_names) == 1: + return "is {0}".format(all_class_names[0]) + return "is one of [{0}]".format(", ".join(all_class_names)) + + @classmethod + def __type_error_message( + cls, var_value=None, var_name=None, valid_classes=None, key_type=None + ): + """ + Keyword Args: + var_value (any): the variable which has the type_error + var_name (str): the name of the variable which has the typ error + valid_classes (tuple): the accepted classes for current_item's + value + key_type (bool): False if our value is a value in a dict + True if it is a key in a dict + False if our item is an item in a tuple + """ + key_or_value = "value" + if key_type: + key_or_value = "key" + valid_classes_phrase = cls.__get_valid_classes_phrase(valid_classes) + msg = "Invalid type. Required {1} type {2} and " "passed type was {3}".format( + var_name, + key_or_value, + valid_classes_phrase, + type(var_value).__name__, + ) + return msg + + @classmethod + def __get_type_error(cls, var_value, path_to_item, valid_classes, key_type=False): + error_msg = cls.__type_error_message( + var_name=path_to_item[-1], + var_value=var_value, + valid_classes=valid_classes, + key_type=key_type, + ) + return ApiTypeError( + error_msg, + path_to_item=path_to_item, + valid_classes=valid_classes, + key_type=key_type, + ) + + @classmethod + def _class_by_base_class(cls, base_cls: type) -> type: + cls_name = "Dynamic"+cls.__name__ + if base_cls is bool: + new_cls = get_new_class(cls_name, (cls, BoolBase, BoolClass)) + elif base_cls is str: + new_cls = get_new_class(cls_name, (cls, StrBase, str)) + elif base_cls is decimal.Decimal: + new_cls = get_new_class(cls_name, (cls, NumberBase, decimal.Decimal)) + elif base_cls is tuple: + new_cls = get_new_class(cls_name, (cls, ListBase, tuple)) + elif base_cls is frozendict: + new_cls = get_new_class(cls_name, (cls, DictBase, frozendict)) + elif base_cls is none_type: + new_cls = get_new_class(cls_name, (cls, NoneBase, NoneClass)) + log_cache_usage(get_new_class) + return new_cls + + @classmethod + def _validate( + cls, + arg, + validation_metadata: ValidationMetadata, + ): + """ + Schema _validate + Runs all schema validation logic and + returns a dynamic class of different bases depending upon the input + This makes it so: + - the returned instance is always a subclass of our defining schema + - this allows us to check type based on whether an instance is a subclass of a schema + - the returned instance is a serializable type (except for None, True, and False) which are enums + + Use cases: + 1. inheritable type: string/decimal.Decimal/frozendict/tuple + 2. enum value cases: 'hi', 1 -> no base_class set because the enum includes the base class + 3. uninheritable type: True/False/None -> no base_class because the base class is not inheritable + _enum_by_value will handle this use case + + Required Steps: + 1. verify type of input is valid vs the allowed _types + 2. check validations that are applicable for this type of input + 3. if enums exist, check that the value exists in the enum + + Returns: + path_to_schemas: a map of path to schemas + + Raises: + ApiValueError: when a string can't be converted into a date or datetime and it must be one of those classes + ApiTypeError: when the input type is not in the list of allowed spec types + """ + base_class = cls.__get_simple_class(arg) + failed_type_check_classes = cls._validate_type(base_class) + if failed_type_check_classes: + raise cls.__get_type_error( + arg, + validation_metadata.path_to_item, + failed_type_check_classes, + key_type=False, + ) + if hasattr(cls, '_validate_validations_pass'): + cls._validate_validations_pass(arg, validation_metadata) + path_to_schemas = {} + if validation_metadata.path_to_item not in path_to_schemas: + path_to_schemas[validation_metadata.path_to_item] = set() + path_to_schemas[validation_metadata.path_to_item].add(cls) + + if hasattr(cls, "_enum_by_value"): + cls._validate_enum_value(arg) + return path_to_schemas + + if base_class is none_type or base_class is bool: + return path_to_schemas + + path_to_schemas[validation_metadata.path_to_item].add(base_class) + return path_to_schemas + + @classmethod + def _validate_enum_value(cls, arg): + try: + cls._enum_by_value[arg] + except KeyError: + raise ApiValueError("Invalid value {} passed in to {}, {}".format(arg, cls, cls._enum_value_to_name)) + + @classmethod + def __get_new_cls( + cls, + arg, + validation_metadata: ValidationMetadata + ) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], 'Schema']: + """ + Make a new dynamic class and return an instance of that class + We are making an instance of cls, but instead of making cls + make a new class, new_cls + which includes dynamic bases including cls + return an instance of that new class + + Dict property + List Item Assignment Use cases: + 1. value is NOT an instance of the required schema class + the value is validated by _validate + _validate returns a key value pair + where the key is the path to the item, and the value will be the required manufactured class + made out of the matching schemas + 2. value is an instance of the the correct schema type + the value is NOT validated by _validate, _validate only checks that the instance is of the correct schema type + for this value, _validate does NOT return an entry for it in _path_to_schemas + and in list/dict _get_items,_get_properties the value will be directly assigned + because value is of the correct type, and validation was run earlier when the instance was created + """ + _path_to_schemas = cls._validate(arg, validation_metadata=validation_metadata) + # loop through it make a new class for each entry + # do not modify the returned result because it is cached and we would be modifying the cached value + path_to_schemas = {} + for path, schema_classes in _path_to_schemas.items(): + enum_schema = any( + hasattr(this_cls, '_enum_by_value') for this_cls in schema_classes) + inheritable_primitive_type = schema_classes.intersection(inheritable_primitive_types_set) + chosen_schema_classes = schema_classes + suffix = tuple() + if inheritable_primitive_type: + chosen_schema_classes = schema_classes - inheritable_primitive_types_set + if not enum_schema: + # include the inheritable_primitive_type + suffix = tuple(inheritable_primitive_type) + + if len(chosen_schema_classes) == 1 and not suffix: + mfg_cls = tuple(chosen_schema_classes)[0] + else: + x_schema = schema_descendents & chosen_schema_classes + if x_schema: + x_schema = x_schema.pop() + if any(c is not x_schema and issubclass(c, x_schema) for c in chosen_schema_classes): + # needed to not have a mro error in get_new_class + chosen_schema_classes.remove(x_schema) + used_classes = tuple(sorted(chosen_schema_classes, key=lambda a_cls: a_cls.__name__)) + suffix + mfg_cls = get_new_class(class_name='DynamicSchema', bases=used_classes) + + if inheritable_primitive_type and not enum_schema: + path_to_schemas[path] = mfg_cls + continue + + # Use case: value is None, True, False, or an enum value + value = arg + for key in path[1:]: + # if path is bigger than one, get the value that mfg_cls validated + value = value[key] + if hasattr(mfg_cls, '_enum_by_value'): + mfg_cls = mfg_cls._enum_by_value[value] + elif value in {True, False}: + mfg_cls = mfg_cls._class_by_base_class(bool) + elif value is None: + mfg_cls = mfg_cls._class_by_base_class(none_type) + else: + raise ApiValueError('Unhandled case value={} bases={}'.format(value, mfg_cls.__bases__)) + path_to_schemas[path] = mfg_cls + + return path_to_schemas + + @classmethod + def _get_new_instance_without_conversion( + cls: 'Schema', + arg: typing.Any, + path_to_item: typing.Tuple[typing.Union[str, int], ...], + path_to_schemas: typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Type['Schema']] + ): + # We have a Dynamic class and we are making an instance of it + if issubclass(cls, frozendict): + properties = cls._get_properties(arg, path_to_item, path_to_schemas) + return super(Schema, cls).__new__(cls, properties) + elif issubclass(cls, tuple): + items = cls._get_items(arg, path_to_item, path_to_schemas) + return super(Schema, cls).__new__(cls, items) + """ + str = openapi str, date, and datetime + decimal.Decimal = openapi int and float + FileIO = openapi binary type and the user inputs a file + bytes = openapi binary type and the user inputs bytes + """ + return super(Schema, cls).__new__(cls, arg) + + @classmethod + def _from_openapi_data( + cls, + arg: typing.Union[ + str, + date, + datetime, + int, + float, + decimal.Decimal, + bool, + None, + 'Schema', + dict, + frozendict, + tuple, + list, + io.FileIO, + io.BufferedReader, + bytes + ], + _configuration: typing.Optional[Configuration] + ): + """ + Schema _from_openapi_data + """ + arg = cast_to_allowed_types(arg, from_server=True) + validation_metadata = ValidationMetadata(from_server=True, configuration=_configuration) + path_to_schemas = cls.__get_new_cls(arg, validation_metadata) + new_cls = path_to_schemas[validation_metadata.path_to_item] + new_inst = new_cls._get_new_instance_without_conversion( + arg, + validation_metadata.path_to_item, + path_to_schemas + ) + return new_inst + + @staticmethod + def __get_input_dict(*args, **kwargs) -> frozendict: + input_dict = {} + if args and isinstance(args[0], (dict, frozendict)): + input_dict.update(args[0]) + if kwargs: + input_dict.update(kwargs) + return frozendict(input_dict) + + @staticmethod + def __remove_unsets(kwargs): + return {key: val for key, val in kwargs.items() if val is not unset} + + def __new__(cls, *args: typing.Union[dict, frozendict, list, tuple, decimal.Decimal, float, int, str, date, datetime, bool, None, 'Schema'], _configuration: typing.Optional[Configuration] = None, **kwargs: typing.Union[dict, frozendict, list, tuple, decimal.Decimal, float, int, str, date, datetime, bool, None, 'Schema', Unset]): + """ + Schema __new__ + + Args: + args (int/float/decimal.Decimal/str/list/tuple/dict/frozendict/bool/None): the value + kwargs (str, int/float/decimal.Decimal/str/list/tuple/dict/frozendict/bool/None): dict values + _configuration: contains the Configuration that enables json schema validation keywords + like minItems, minLength etc + """ + kwargs = cls.__remove_unsets(kwargs) + if not args and not kwargs: + raise TypeError( + 'No input given. args or kwargs must be given.' + ) + if not kwargs and args and not isinstance(args[0], dict): + arg = args[0] + else: + arg = cls.__get_input_dict(*args, **kwargs) + validation_metadata = ValidationMetadata(configuration=_configuration, from_server=False) + arg = cast_to_allowed_types(arg, from_server=validation_metadata.from_server) + path_to_schemas = cls.__get_new_cls(arg, validation_metadata) + new_cls = path_to_schemas[validation_metadata.path_to_item] + return new_cls._get_new_instance_without_conversion( + arg, + validation_metadata.path_to_item, + path_to_schemas + ) + + def __init__( + self, + *args: typing.Union[ + dict, frozendict, list, tuple, decimal.Decimal, float, int, str, date, datetime, bool, None, 'Schema'], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Union[ + dict, frozendict, list, tuple, decimal.Decimal, float, int, str, date, datetime, bool, None, 'Schema', Unset + ] + ): + """ + this is needed to fix 'Unexpected argument' warning in pycharm + this code does nothing because all Schema instances are immutable + this means that all input data is passed into and used in new, and after the new instance is made + no new attributes are assigned and init is not used + """ + pass + + +def cast_to_allowed_types(arg: typing.Union[str, date, datetime, decimal.Decimal, int, float, None, dict, frozendict, list, tuple, bytes, Schema], from_server=False) -> typing.Union[str, bytes, decimal.Decimal, None, frozendict, tuple, Schema]: + """ + from_server=False date, datetime -> str + int, float -> Decimal + StrSchema will convert that to bytes and remember the encoding when we pass in str input + """ + if isinstance(arg, str): + return arg + elif type(arg) is dict or type(arg) is frozendict: + return frozendict({key: cast_to_allowed_types(val) for key, val in arg.items()}) + elif isinstance(arg, bool): + """ + this check must come before isinstance(arg, (int, float)) + because isinstance(True, int) is True + """ + return arg + elif isinstance(arg, int): + return decimal.Decimal(arg) + elif isinstance(arg, float): + decimal_from_float = decimal.Decimal(arg) + if decimal_from_float.as_integer_ratio()[1] == 1: + # 9.0 -> Decimal('9.0') + # 3.4028234663852886e+38 -> Decimal('340282346638528859811704183484516925440.0') + return decimal.Decimal(str(decimal_from_float)+'.0') + return decimal_from_float + elif type(arg) is list or type(arg) is tuple: + return tuple([cast_to_allowed_types(item) for item in arg]) + elif arg is None: + return arg + elif isinstance(arg, (date, datetime)): + if not from_server: + return arg.isoformat() + # ApiTypeError will be thrown later by _validate_type + return arg + elif isinstance(arg, uuid.UUID): + if not from_server: + return str(arg) + # ApiTypeError will be thrown later by _validate_type + return arg + elif isinstance(arg, decimal.Decimal): + return arg + elif isinstance(arg, bytes): + return arg + elif isinstance(arg, decimal.Decimal): + return arg + elif isinstance(arg, (io.FileIO, io.BufferedReader)): + if arg.closed: + raise ApiValueError('Invalid file state; file is closed and must be open') + return arg + elif isinstance(arg, Schema): + return arg + raise ValueError('Invalid type passed in got input={} type={}'.format(arg, type(arg))) + + +class ComposedBase(Discriminable): + + @classmethod + def __get_allof_classes(cls, arg, validation_metadata: ValidationMetadata): + path_to_schemas = defaultdict(set) + for allof_cls in cls._composed_schemas['allOf']: + if allof_cls in validation_metadata.base_classes: + continue + other_path_to_schemas = allof_cls._validate(arg, validation_metadata=validation_metadata) + update(path_to_schemas, other_path_to_schemas) + return path_to_schemas + + @classmethod + def __get_oneof_class( + cls, + arg, + discriminated_cls, + validation_metadata: ValidationMetadata, + path_to_schemas: typing.Dict[typing.Tuple, typing.Set[typing.Type[Schema]]] + ): + oneof_classes = [] + chosen_oneof_cls = None + original_base_classes = validation_metadata.base_classes + new_base_classes = validation_metadata.base_classes + path_to_schemas = defaultdict(set) + for oneof_cls in cls._composed_schemas['oneOf']: + if oneof_cls in path_to_schemas[validation_metadata.path_to_item]: + oneof_classes.append(oneof_cls) + continue + if isinstance(arg, oneof_cls): + # passed in instance is the correct type + chosen_oneof_cls = oneof_cls + oneof_classes.append(oneof_cls) + continue + try: + path_to_schemas = oneof_cls._validate(arg, validation_metadata=validation_metadata) + new_base_classes = validation_metadata.base_classes + except (ApiValueError, ApiTypeError) as ex: + if discriminated_cls is not None and oneof_cls is discriminated_cls: + raise ex + continue + chosen_oneof_cls = oneof_cls + oneof_classes.append(oneof_cls) + if not oneof_classes: + raise ApiValueError( + "Invalid inputs given to generate an instance of {}. None " + "of the oneOf schemas matched the input data.".format(cls) + ) + elif len(oneof_classes) > 1: + raise ApiValueError( + "Invalid inputs given to generate an instance of {}. Multiple " + "oneOf schemas {} matched the inputs, but a max of one is allowed.".format(cls, oneof_classes) + ) + return path_to_schemas + + @classmethod + def __get_anyof_classes( + cls, + arg, + discriminated_cls, + validation_metadata: ValidationMetadata + ): + anyof_classes = [] + chosen_anyof_cls = None + original_base_classes = validation_metadata.base_classes + path_to_schemas = defaultdict(set) + for anyof_cls in cls._composed_schemas['anyOf']: + if anyof_cls in validation_metadata.base_classes: + continue + if isinstance(arg, anyof_cls): + # passed in instance is the correct type + chosen_anyof_cls = anyof_cls + anyof_classes.append(anyof_cls) + continue + + try: + other_path_to_schemas = anyof_cls._validate(arg, validation_metadata=validation_metadata) + except (ApiValueError, ApiTypeError) as ex: + if discriminated_cls is not None and anyof_cls is discriminated_cls: + raise ex + continue + original_base_classes = validation_metadata.base_classes + chosen_anyof_cls = anyof_cls + anyof_classes.append(anyof_cls) + update(path_to_schemas, other_path_to_schemas) + if not anyof_classes: + raise ApiValueError( + "Invalid inputs given to generate an instance of {}. None " + "of the anyOf schemas matched the input data.".format(cls) + ) + return path_to_schemas + + @classmethod + def _validate( + cls, + arg, + validation_metadata: ValidationMetadata, + ): + """ + ComposedBase _validate + We return dynamic classes of different bases depending upon the inputs + This makes it so: + - the returned instance is always a subclass of our defining schema + - this allows us to check type based on whether an instance is a subclass of a schema + - the returned instance is a serializable type (except for None, True, and False) which are enums + + Returns: + new_cls (type): the new class + + Raises: + ApiValueError: when a string can't be converted into a date or datetime and it must be one of those classes + ApiTypeError: when the input type is not in the list of allowed spec types + """ + if isinstance(arg, Schema) and validation_metadata.from_server is False: + if isinstance(arg, cls): + # an instance of the correct type was passed in + return {} + raise ApiTypeError( + 'Incorrect type passed in, required type was {} and passed type was {} at {}'.format( + cls, + type(arg), + validation_metadata.path_to_item + ) + ) + + # validation checking on types, validations, and enums + path_to_schemas = super()._validate(arg, validation_metadata=validation_metadata) + + updated_vm = ValidationMetadata( + configuration=validation_metadata.configuration, + from_server=validation_metadata.from_server, + path_to_item=validation_metadata.path_to_item, + base_classes=validation_metadata.base_classes | frozenset({cls}) + ) + + # process composed schema + _discriminator = getattr(cls, '_discriminator', None) + discriminated_cls = None + if _discriminator and arg and isinstance(arg, frozendict): + disc_property_name = list(_discriminator.keys())[0] + cls._ensure_discriminator_value_present(disc_property_name, updated_vm, arg) + # get discriminated_cls by looking at the dict in the current class + discriminated_cls = cls._get_discriminated_class( + disc_property_name=disc_property_name, disc_payload_value=arg[disc_property_name]) + if discriminated_cls is None: + raise ApiValueError( + "Invalid discriminator value '{}' was passed in to {}.{} Only the values {} are allowed at {}".format( + arg[disc_property_name], + cls.__name__, + disc_property_name, + list(_discriminator[disc_property_name].keys()), + updated_vm.path_to_item + (disc_property_name,) + ) + ) + + if cls._composed_schemas['allOf']: + other_path_to_schemas = cls.__get_allof_classes(arg, validation_metadata=updated_vm) + update(path_to_schemas, other_path_to_schemas) + if cls._composed_schemas['oneOf']: + other_path_to_schemas = cls.__get_oneof_class( + arg, + discriminated_cls=discriminated_cls, + validation_metadata=updated_vm, + path_to_schemas=path_to_schemas + ) + update(path_to_schemas, other_path_to_schemas) + if cls._composed_schemas['anyOf']: + other_path_to_schemas = cls.__get_anyof_classes( + arg, + discriminated_cls=discriminated_cls, + validation_metadata=updated_vm + ) + update(path_to_schemas, other_path_to_schemas) + not_cls = cls._composed_schemas['not'] + if not_cls: + other_path_to_schemas = None + try: + other_path_to_schemas = not_cls._validate(arg, validation_metadata=updated_vm) + except (ApiValueError, ApiTypeError): + pass + if other_path_to_schemas: + raise ApiValueError( + "Invalid value '{}' was passed in to {}. Value is invalid because it is disallowed by {}".format( + arg, + cls.__name__, + not_cls.__name__, + ) + ) + + if discriminated_cls is not None: + # TODO use an exception from this package here + assert discriminated_cls in path_to_schemas[updated_vm.path_to_item] + return path_to_schemas + + +# DictBase, ListBase, NumberBase, StrBase, BoolBase, NoneBase +class ComposedSchema( + _SchemaTypeChecker(typing.Union[none_type, str, decimal.Decimal, bool, tuple, frozendict]), + ComposedBase, + DictBase, + ListBase, + NumberBase, + StrBase, + BoolBase, + NoneBase, + Schema +): + + # subclass properties + _composed_schemas = {} + + @classmethod + def _from_openapi_data(cls, *args: typing.Any, _configuration: typing.Optional[Configuration] = None, **kwargs): + if not args: + if not kwargs: + raise ApiTypeError('{} is missing required input data in args or kwargs'.format(cls.__name__)) + args = (kwargs, ) + return super()._from_openapi_data(args[0], _configuration=_configuration) + + +class ListSchema( + _SchemaTypeChecker(typing.Union[tuple]), + ListBase, + Schema +): + + @classmethod + def _from_openapi_data(cls, arg: typing.List[typing.Any], _configuration: typing.Optional[Configuration] = None): + return super()._from_openapi_data(arg, _configuration=_configuration) + + def __new__(cls, arg: typing.Union[list, tuple], **kwargs: ValidationMetadata): + return super().__new__(cls, arg, **kwargs) + + +class NoneSchema( + _SchemaTypeChecker(typing.Union[none_type]), + NoneBase, + Schema +): + + @classmethod + def _from_openapi_data(cls, arg: None, _configuration: typing.Optional[Configuration] = None): + return super()._from_openapi_data(arg, _configuration=_configuration) + + def __new__(cls, arg: None, **kwargs: typing.Union[ValidationMetadata]): + return super().__new__(cls, arg, **kwargs) + + +class NumberSchema( + _SchemaTypeChecker(typing.Union[decimal.Decimal]), + NumberBase, + Schema +): + """ + This is used for type: number with no format + Both integers AND floats are accepted + """ + + @classmethod + def _from_openapi_data(cls, arg: typing.Union[int, float, decimal.Decimal], _configuration: typing.Optional[Configuration] = None): + return super()._from_openapi_data(arg, _configuration=_configuration) + + def __new__(cls, arg: typing.Union[decimal.Decimal, int, float], **kwargs: typing.Union[ValidationMetadata]): + return super().__new__(cls, arg, **kwargs) + + +class IntBase(NumberBase): + @property + def as_int(self) -> int: + try: + return self._as_int + except AttributeError: + self._as_int = int(self) + return self._as_int + + @classmethod + def _validate_format(cls, arg: typing.Optional[decimal.Decimal], validation_metadata: ValidationMetadata): + if isinstance(arg, decimal.Decimal): + + denominator = arg.as_integer_ratio()[-1] + if denominator != 1: + raise ApiValueError( + "Invalid value '{}' for type integer at {}".format(arg, validation_metadata.path_to_item) + ) + + @classmethod + def _validate( + cls, + arg, + validation_metadata: ValidationMetadata, + ): + """ + IntBase _validate + TODO what about types = (int, number) -> IntBase, NumberBase? We could drop int and keep number only + """ + cls._validate_format(arg, validation_metadata=validation_metadata) + return super()._validate(arg, validation_metadata=validation_metadata) + + +class IntSchema(IntBase, NumberSchema): + + @classmethod + def _from_openapi_data(cls, arg: int, _configuration: typing.Optional[Configuration] = None): + return super()._from_openapi_data(arg, _configuration=_configuration) + + def __new__(cls, arg: typing.Union[decimal.Decimal, int], **kwargs: typing.Union[ValidationMetadata]): + return super().__new__(cls, arg, **kwargs) + + +class Int32Base( + _SchemaValidator( + inclusive_minimum=decimal.Decimal(-2147483648), + inclusive_maximum=decimal.Decimal(2147483647) + ), +): + pass + + +class Int32Schema( + Int32Base, + IntSchema +): + pass + + +class Int64Base( + _SchemaValidator( + inclusive_minimum=decimal.Decimal(-9223372036854775808), + inclusive_maximum=decimal.Decimal(9223372036854775807) + ), +): + pass + + +class Int64Schema( + Int64Base, + IntSchema +): + pass + + +class Float32Base( + _SchemaValidator( + inclusive_minimum=decimal.Decimal(-3.4028234663852886e+38), + inclusive_maximum=decimal.Decimal(3.4028234663852886e+38) + ), +): + pass + + +class Float32Schema( + Float32Base, + NumberSchema +): + + @classmethod + def _from_openapi_data(cls, arg: typing.Union[float, decimal.Decimal], _configuration: typing.Optional[Configuration] = None): + # todo check format + return super()._from_openapi_data(arg, _configuration=_configuration) + + +class Float64Base( + _SchemaValidator( + inclusive_minimum=decimal.Decimal(-1.7976931348623157E+308), + inclusive_maximum=decimal.Decimal(1.7976931348623157E+308) + ), +): + pass + + +class Float64Schema( + Float64Base, + NumberSchema +): + + @classmethod + def _from_openapi_data(cls, arg: typing.Union[float, decimal.Decimal], _configuration: typing.Optional[Configuration] = None): + # todo check format + return super()._from_openapi_data(arg, _configuration=_configuration) + + +class StrSchema( + _SchemaTypeChecker(typing.Union[str]), + StrBase, + Schema +): + """ + date + datetime string types must inherit from this class + That is because one can validate a str payload as both: + - type: string (format unset) + - type: string, format: date + """ + + @classmethod + def _from_openapi_data(cls, arg: typing.Union[str], _configuration: typing.Optional[Configuration] = None) -> 'StrSchema': + return super()._from_openapi_data(arg, _configuration=_configuration) + + def __new__(cls, arg: typing.Union[str, date, datetime, uuid.UUID], **kwargs: typing.Union[ValidationMetadata]): + return super().__new__(cls, arg, **kwargs) + + +class UUIDSchema(UUIDBase, StrSchema): + + def __new__(cls, arg: typing.Union[str, uuid.UUID], **kwargs: typing.Union[ValidationMetadata]): + return super().__new__(cls, arg, **kwargs) + + +class DateSchema(DateBase, StrSchema): + + def __new__(cls, arg: typing.Union[str, datetime], **kwargs: typing.Union[ValidationMetadata]): + return super().__new__(cls, arg, **kwargs) + + +class DateTimeSchema(DateTimeBase, StrSchema): + + def __new__(cls, arg: typing.Union[str, datetime], **kwargs: typing.Union[ValidationMetadata]): + return super().__new__(cls, arg, **kwargs) + + +class DecimalSchema(DecimalBase, StrSchema): + + def __new__(cls, arg: typing.Union[str], **kwargs: typing.Union[ValidationMetadata]): + """ + Note: Decimals may not be passed in because cast_to_allowed_types is only invoked once for payloads + which can be simple (str) or complex (dicts or lists with nested values) + Because casting is only done once and recursively casts all values prior to validation then for a potential + client side Decimal input if Decimal was accepted as an input in DecimalSchema then one would not know + if one was using it for a StrSchema (where it should be cast to str) or one is using it for NumberSchema + where it should stay as Decimal. + """ + return super().__new__(cls, arg, **kwargs) + + +class BytesSchema( + _SchemaTypeChecker(typing.Union[bytes]), + Schema, +): + """ + this class will subclass bytes and is immutable + """ + def __new__(cls, arg: typing.Union[bytes], **kwargs: typing.Union[ValidationMetadata]): + return super(Schema, cls).__new__(cls, arg) + + +class FileSchema( + _SchemaTypeChecker(typing.Union[FileIO]), + Schema, +): + """ + This class is NOT immutable + Dynamic classes are built using it for example when AnyType allows in binary data + Al other schema classes ARE immutable + If one wanted to make this immutable one could make this a DictSchema with required properties: + - data = BytesSchema (which would be an immutable bytes based schema) + - file_name = StrSchema + and cast_to_allowed_types would convert bytes and file instances into dicts containing data + file_name + The downside would be that data would be stored in memory which one may not want to do for very large files + + The developer is responsible for closing this file and deleting it + + This class was kept as mutable: + - to allow file reading and writing to disk + - to be able to preserve file name info + """ + + def __new__(cls, arg: typing.Union[io.FileIO, io.BufferedReader], **kwargs: typing.Union[ValidationMetadata]): + return super(Schema, cls).__new__(cls, arg) + + +class BinaryBase: + pass + + +class BinarySchema( + _SchemaTypeChecker(typing.Union[bytes, FileIO]), + ComposedBase, + BinaryBase, + Schema, +): + + @classmethod + @property + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + return { + 'allOf': [], + 'oneOf': [ + BytesSchema, + FileSchema, + ], + 'anyOf': [ + ], + 'not': None + } + + def __new__(cls, arg: typing.Union[io.FileIO, io.BufferedReader, bytes], **kwargs: typing.Union[ValidationMetadata]): + return super().__new__(cls, arg) + + +class BoolSchema( + _SchemaTypeChecker(typing.Union[bool]), + BoolBase, + Schema +): + + @classmethod + def _from_openapi_data(cls, arg: bool, _configuration: typing.Optional[Configuration] = None): + return super()._from_openapi_data(arg, _configuration=_configuration) + + def __new__(cls, arg: bool, **kwargs: typing.Union[ValidationMetadata]): + return super().__new__(cls, arg, **kwargs) + + +class AnyTypeSchema( + _SchemaTypeChecker( + typing.Union[frozendict, tuple, decimal.Decimal, str, bool, none_type, bytes, FileIO] + ), + DictBase, + ListBase, + NumberBase, + StrBase, + BoolBase, + NoneBase, + Schema +): + pass + + +class DictSchema( + _SchemaTypeChecker(typing.Union[frozendict]), + DictBase, + Schema +): + + @classmethod + def _from_openapi_data(cls, arg: typing.Dict[str, typing.Any], _configuration: typing.Optional[Configuration] = None): + return super()._from_openapi_data(arg, _configuration=_configuration) + + def __new__(cls, *args: typing.Union[dict, frozendict], **kwargs: typing.Union[dict, frozendict, list, tuple, decimal.Decimal, float, int, str, date, datetime, bool, None, bytes, Schema, Unset, ValidationMetadata]): + return super().__new__(cls, *args, **kwargs) + + +schema_descendents = set([NoneSchema, DictSchema, ListSchema, NumberSchema, StrSchema, BoolSchema]) + + +def deserialize_file(response_data, configuration, content_disposition=None): + """Deserializes body to file + + Saves response body into a file in a temporary folder, + using the filename from the `Content-Disposition` header if provided. + + Args: + param response_data (str): the file data to write + configuration (Configuration): the instance to use to convert files + + Keyword Args: + content_disposition (str): the value of the Content-Disposition + header + + Returns: + (file_type): the deserialized file which is open + The user is responsible for closing and reading the file + """ + fd, path = tempfile.mkstemp(dir=configuration.temp_folder_path) + os.close(fd) + os.remove(path) + + if content_disposition: + filename = re.search(r'filename=[\'"]?([^\'"\s]+)[\'"]?', + content_disposition).group(1) + path = os.path.join(os.path.dirname(path), filename) + + with open(path, "wb") as f: + if isinstance(response_data, str): + # change str to bytes so we can write it + response_data = response_data.encode('utf-8') + f.write(response_data) + + f = open(path, "rb") + return f + + +@functools.cache +def get_new_class( + class_name: str, + bases: typing.Tuple[typing.Type[typing.Union[Schema, typing.Any]], ...] +) -> typing.Type[Schema]: + """ + Returns a new class that is made with the subclass bases + """ + return type(class_name, bases, {}) + + +LOG_CACHE_USAGE = False + + +def log_cache_usage(cache_fn): + if LOG_CACHE_USAGE: + print(cache_fn.__name__, cache_fn.cache_info()) diff --git a/samples/openapi3/client/petstore/python-experimental/docs/StringEnum.md b/samples/openapi3/client/petstore/python-experimental/docs/StringEnum.md index bf610d1028..cb91199244 100644 --- a/samples/openapi3/client/petstore/python-experimental/docs/StringEnum.md +++ b/samples/openapi3/client/petstore/python-experimental/docs/StringEnum.md @@ -2,9 +2,7 @@ Type | Description | Notes ------------- | ------------- | ------------- -typing.Union[str, None, ] | | must be one of ["placed", "approved", "delivered", "single quoted", '''multiple -lines''', '''double quote - with newline''', ] +typing.Union[str, None, ] | | must be one of ["placed", "approved", "delivered", "single quoted", "multiple\nlines", "double quote \n with newline", ] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/endpoint_parameters.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/endpoint_parameters.py index 51d08760c8..39daed7607 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/endpoint_parameters.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/endpoint_parameters.py @@ -112,7 +112,7 @@ class SchemaForRequestBodyApplicationXWwwFormUrlencoded( Float32Schema ): pass - locals()['float'] = _float + locals()["float"] = _float del locals()['_float'] diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/format_test.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/format_test.py index f9b32e2327..d64a93e001 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/format_test.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/format_test.py @@ -124,7 +124,7 @@ class FormatTest( Float32Schema ): pass - locals()['float'] = _float + locals()["float"] = _float del locals()['_float'] float32 = Float32Schema diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/model200_response.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/model200_response.py index 8d1c230153..c3741abc66 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/model200_response.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/model200_response.py @@ -78,7 +78,7 @@ class Model200Response( """ name = Int32Schema _class = StrSchema - locals()['class'] = _class + locals()["class"] = _class del locals()['_class'] def __new__( diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/model_return.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/model_return.py index f963afda00..de277a4a89 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/model_return.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/model_return.py @@ -77,7 +77,7 @@ class ModelReturn( Model for testing reserved words """ _return = Int32Schema - locals()['return'] = _return + locals()["return"] = _return del locals()['_return'] def __new__( diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/name.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/name.py index 1fcc02437f..c908733cdf 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/name.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/name.py @@ -82,7 +82,7 @@ class Name( name = Int32Schema snake_case = Int32Schema _property = StrSchema - locals()['property'] = _property + locals()["property"] = _property del locals()['_property'] def __new__( diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_difficultly_named_props.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_difficultly_named_props.py index a657bead06..4b1255298a 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_difficultly_named_props.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_difficultly_named_props.py @@ -80,13 +80,13 @@ class ObjectWithDifficultlyNamedProps( '123-list', )) special_property_name = Int64Schema - locals()['$special[property.name]'] = special_property_name + locals()["$special[property.name]"] = special_property_name del locals()['special_property_name'] _123_list = StrSchema - locals()['123-list'] = _123_list + locals()["123-list"] = _123_list del locals()['_123_list'] _123_number = IntSchema - locals()['123Number'] = _123_number + locals()["123Number"] = _123_number del locals()['_123_number'] diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_enum.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_enum.py index 93ff207691..3d1ababa10 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_enum.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_enum.py @@ -75,10 +75,8 @@ class StringEnum( "approved": "APPROVED", "delivered": "DELIVERED", "single quoted": "SINGLE_QUOTED", - '''multiple -lines''': "MULTIPLE_LINES", - '''double quote - with newline''': "DOUBLE_QUOTE_WITH_NEWLINE", + "multiple\nlines": "MULTIPLE_LINES", + "double quote \n with newline": "DOUBLE_QUOTE_WITH_NEWLINE", } ), StrBase, @@ -119,14 +117,12 @@ lines''': "MULTIPLE_LINES", @classmethod @property def MULTIPLE_LINES(cls): - return cls('''multiple -lines''') + return cls("multiple\nlines") @classmethod @property def DOUBLE_QUOTE_WITH_NEWLINE(cls): - return cls('''double quote - with newline''') + return cls("double quote \n with newline") def __new__( cls, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/schemas.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/schemas.py index 10985d6986..1338d43bfa 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/schemas.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/schemas.py @@ -201,6 +201,31 @@ class ValidatorBase: path_to_item=validation_metadata.path_to_item ) + @classmethod + def __data_with_boolclass_instead_of_bool(cls, data: typing.Any) -> typing.Any: + """ + In python bool is a subclass of int so 1 == True and 0 == False + This prevents code from being able to see the difference between 1 and True and 0 and False + To fix this swap in BoolClass singletons for True and False so they will differ from integers + """ + if isinstance(data, (list, tuple)): + new_data = [] + for item in data: + new_item = cls.__data_with_boolclass_instead_of_bool(item) + new_data.append(new_item) + return tuple(new_data) + elif isinstance(data, (dict, frozendict)): + new_data = {} + for key, value in data.items(): + new_value = cls.__data_with_boolclass_instead_of_bool(value) + new_data[key] = new_value + return frozendict(new_data) + elif isinstance(data, bool): + if data: + return BoolClass.TRUE + return BoolClass.FALSE + return data + @classmethod def __check_tuple_validations( cls, validations, input_values, @@ -228,10 +253,7 @@ class ValidatorBase: if (cls.__is_json_validation_enabled('uniqueItems', validation_metadata.configuration) and 'unique_items' in validations and validations['unique_items'] and input_values): - unique_items = [] - for item in input_values: - if item not in unique_items: - unique_items.append(item) + unique_items = set(cls.__data_with_boolclass_instead_of_bool(input_values)) if len(input_values) > len(unique_items): cls.__raise_validation_error_message( value=input_values, @@ -1872,8 +1894,9 @@ class IntBase(NumberBase): @classmethod def _validate_format(cls, arg: typing.Optional[decimal.Decimal], validation_metadata: ValidationMetadata): if isinstance(arg, decimal.Decimal): - exponent = arg.as_tuple().exponent - if exponent != 0: + + denominator = arg.as_integer_ratio()[-1] + if denominator != 1: raise ApiValueError( "Invalid value '{}' for type integer at {}".format(arg, validation_metadata.path_to_item) ) From b372f6424c9a17fa1a1839233aaf9678a7e394e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lazar=20Prijovi=C4=87?= Date: Sat, 2 Jul 2022 11:21:20 +0300 Subject: [PATCH 131/212] Fix codegen for nested container types (#12747) --- .../openapitools/codegen/languages/CppUE4ClientCodegen.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppUE4ClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppUE4ClientCodegen.java index 5eb601f0a0..d12569d3da 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppUE4ClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppUE4ClientCodegen.java @@ -383,11 +383,9 @@ public class CppUE4ClientCodegen extends AbstractCppCodegen { if (ModelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; - String inner = getSchemaType(ap.getItems()); - return getSchemaType(p) + "<" + getTypeDeclaration(inner) + ">"; + return getSchemaType(p) + "<" + getTypeDeclaration(ap.getItems()) + ">"; } else if (ModelUtils.isMapSchema(p)) { - String inner = getSchemaType(getAdditionalProperties(p)); - return getSchemaType(p) + ""; + return getSchemaType(p) + ""; } if (pointerClasses.contains(openAPIType)) { From 56583971528dbb3e6f0828b796ac442259c97347 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lazar=20Prijovi=C4=87?= Date: Sun, 3 Jul 2022 12:17:48 +0300 Subject: [PATCH 132/212] [BUG] [CPP-UE4] Fix unique items list codegen (#12745) * Fix unique items list codegen for UE4 * Update generator's doc --- docs/generators/cpp-ue4.md | 1 + .../org/openapitools/codegen/languages/CppUE4ClientCodegen.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/docs/generators/cpp-ue4.md b/docs/generators/cpp-ue4.md index 7c514088e2..d80c179ff8 100644 --- a/docs/generators/cpp-ue4.md +++ b/docs/generators/cpp-ue4.md @@ -54,6 +54,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
  • TArray
  • TArray<uint8>
  • TMap
  • +
  • TSet
  • TSharedPtr<FJsonObject>
  • TSharedPtr<FJsonValue>
  • bool
  • diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppUE4ClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppUE4ClientCodegen.java index d12569d3da..09f7808f11 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppUE4ClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppUE4ClientCodegen.java @@ -145,6 +145,7 @@ public class CppUE4ClientCodegen extends AbstractCppCodegen { "TArray", "TArray", // For byte arrays "TMap", + "TSet", "TSharedPtr", "TSharedPtr") ); @@ -180,6 +181,7 @@ public class CppUE4ClientCodegen extends AbstractCppCodegen { typeMapping.put("date-time", "FDateTime"); typeMapping.put("DateTime", "FDateTime"); typeMapping.put("array", "TArray"); + typeMapping.put("set", "TSet"); typeMapping.put("list", "TArray"); typeMapping.put("map", "TMap"); typeMapping.put("object", "TSharedPtr"); From f1dd44d70ca1d12673cf806e13812f201c812187 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 3 Jul 2022 17:26:12 +0800 Subject: [PATCH 133/212] add tests for item with special characters (#12757) --- .../src/test/resources/3_0/r/petstore.yaml | 4 ++ samples/client/petstore/R/R/special.R | 46 ++++++++++++++++++- samples/client/petstore/R/docs/Special.md | 2 + 3 files changed, 51 insertions(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml b/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml index b6c2731285..c2dc0e77df 100644 --- a/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml @@ -796,6 +796,10 @@ components: type: string super: type: string + "123_number": + type: string + "array[test]": + type: string "": type: string Dog: diff --git a/samples/client/petstore/R/R/special.R b/samples/client/petstore/R/R/special.R index 7d34c26a9a..94d3c4b8a2 100644 --- a/samples/client/petstore/R/R/special.R +++ b/samples/client/petstore/R/R/special.R @@ -13,6 +13,8 @@ #' @field item_self integer [optional] #' @field item_private character [optional] #' @field item_super character [optional] +#' @field 123_number character [optional] +#' @field array[test] character [optional] #' @field empty_string character [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON @@ -23,6 +25,8 @@ Special <- R6::R6Class( `item_self` = NULL, `item_private` = NULL, `item_super` = NULL, + `123_number` = NULL, + `array[test]` = NULL, `empty_string` = NULL, #' Initialize a new Special class. #' @@ -32,11 +36,13 @@ Special <- R6::R6Class( #' @param item_self item_self #' @param item_private item_private #' @param item_super item_super + #' @param 123_number 123_number + #' @param array[test] array[test] #' @param empty_string empty_string #' @param ... Other optional arguments. #' @export initialize = function( - `item_self`=NULL, `item_private`=NULL, `item_super`=NULL, `empty_string`=NULL, ... + `item_self`=NULL, `item_private`=NULL, `item_super`=NULL, `123_number`=NULL, `array[test]`=NULL, `empty_string`=NULL, ... ) { if (!is.null(`item_self`)) { stopifnot(is.numeric(`item_self`), length(`item_self`) == 1) @@ -50,6 +56,14 @@ Special <- R6::R6Class( stopifnot(is.character(`item_super`), length(`item_super`) == 1) self$`item_super` <- `item_super` } + if (!is.null(`123_number`)) { + stopifnot(is.character(`123_number`), length(`123_number`) == 1) + self$`123_number` <- `123_number` + } + if (!is.null(`array[test]`)) { + stopifnot(is.character(`array[test]`), length(`array[test]`) == 1) + self$`array[test]` <- `array[test]` + } if (!is.null(`empty_string`)) { stopifnot(is.character(`empty_string`), length(`empty_string`) == 1) self$`empty_string` <- `empty_string` @@ -76,6 +90,14 @@ Special <- R6::R6Class( SpecialObject[['super']] <- self$`item_super` } + if (!is.null(self$`123_number`)) { + SpecialObject[['123_number']] <- + self$`123_number` + } + if (!is.null(self$`array[test]`)) { + SpecialObject[['array[test]']] <- + self$`array[test]` + } if (!is.null(self$`empty_string`)) { SpecialObject[['empty_string']] <- self$`empty_string` @@ -102,6 +124,12 @@ Special <- R6::R6Class( if (!is.null(this_object$`super`)) { self$`item_super` <- this_object$`super` } + if (!is.null(this_object$`123_number`)) { + self$`123_number` <- this_object$`123_number` + } + if (!is.null(this_object$`array[test]`)) { + self$`array[test]` <- this_object$`array[test]` + } if (!is.null(this_object$`empty_string`)) { self$`empty_string` <- this_object$`empty_string` } @@ -137,6 +165,20 @@ Special <- R6::R6Class( ', self$`item_super` )}, + if (!is.null(self$`123_number`)) { + sprintf( + '"123_number": + "%s" + ', + self$`123_number` + )}, + if (!is.null(self$`array[test]`)) { + sprintf( + '"array[test]": + "%s" + ', + self$`array[test]` + )}, if (!is.null(self$`empty_string`)) { sprintf( '"empty_string": @@ -161,6 +203,8 @@ Special <- R6::R6Class( self$`item_self` <- this_object$`item_self` self$`item_private` <- this_object$`item_private` self$`item_super` <- this_object$`item_super` + self$`123_number` <- this_object$`123_number` + self$`array[test]` <- this_object$`array[test]` self$`empty_string` <- this_object$`empty_string` self }, diff --git a/samples/client/petstore/R/docs/Special.md b/samples/client/petstore/R/docs/Special.md index 9939ec7bde..0114a84c8f 100644 --- a/samples/client/petstore/R/docs/Special.md +++ b/samples/client/petstore/R/docs/Special.md @@ -8,6 +8,8 @@ Name | Type | Description | Notes **item_self** | **integer** | | [optional] **item_private** | **character** | | [optional] **item_super** | **character** | | [optional] +**123_number** | **character** | | [optional] +**array[test]** | **character** | | [optional] **empty_string** | **character** | | [optional] From 18a07eab3750967a5f271d10bb14ffb1aa2c7c22 Mon Sep 17 00:00:00 2001 From: Austin Ziegler Date: Sun, 3 Jul 2022 05:31:34 -0400 Subject: [PATCH 134/212] 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. --- .../languages/ElixirClientCodegen.java | 52 +++++++++++- .../src/main/resources/elixir/api.mustache | 4 +- .../main/resources/elixir/config.exs.mustache | 35 ++------ .../src/main/resources/elixir/formatter.exs | 3 + .../main/resources/elixir/mix.exs.mustache | 2 +- .../src/main/resources/elixir/model.mustache | 6 +- .../resources/elixir/runtime.exs.mustache | 12 +++ samples/client/petstore/elixir/.formatter.exs | 3 + .../petstore/elixir/.openapi-generator/FILES | 3 + .../client/petstore/elixir/config/config.exs | 35 ++------ .../client/petstore/elixir/config/runtime.exs | 12 +++ .../elixir/lib/openapi_petstore/api/fake.ex | 82 +++++++++---------- .../elixir/lib/openapi_petstore/api/pet.ex | 18 ++-- .../elixir/lib/openapi_petstore/api/user.ex | 4 +- .../model/_foo_get_default_response.ex | 6 +- .../model/additional_properties_any_type.ex | 25 ------ .../model/additional_properties_array.ex | 25 ------ .../model/additional_properties_boolean.ex | 25 ------ .../model/additional_properties_class.ex | 8 +- .../model/additional_properties_integer.ex | 25 ------ .../model/additional_properties_number.ex | 25 ------ .../model/additional_properties_object.ex | 25 ------ .../model/additional_properties_string.ex | 25 ------ .../model/all_of_with_single_ref.ex | 10 +-- .../lib/openapi_petstore/model/animal.ex | 8 +- .../openapi_petstore/model/api_response.ex | 12 +-- .../model/array_of_array_of_number_only.ex | 4 +- .../model/array_of_number_only.ex | 4 +- .../lib/openapi_petstore/model/array_test.ex | 12 +-- .../lib/openapi_petstore/model/big_cat.ex | 31 ------- .../openapi_petstore/model/big_cat_all_of.ex | 25 ------ .../openapi_petstore/model/capitalization.ex | 24 +++--- .../elixir/lib/openapi_petstore/model/cat.ex | 12 +-- .../lib/openapi_petstore/model/cat_all_of.ex | 4 +- .../lib/openapi_petstore/model/category.ex | 8 +- .../lib/openapi_petstore/model/class_model.ex | 4 +- .../lib/openapi_petstore/model/client.ex | 4 +- .../model/deprecated_object.ex | 4 +- .../elixir/lib/openapi_petstore/model/dog.ex | 12 +-- .../lib/openapi_petstore/model/dog_all_of.ex | 4 +- .../lib/openapi_petstore/model/enum_arrays.ex | 8 +- .../lib/openapi_petstore/model/enum_test.ex | 40 ++++----- .../elixir/lib/openapi_petstore/model/file.ex | 4 +- .../model/file_schema_test_class.ex | 12 +-- .../elixir/lib/openapi_petstore/model/foo.ex | 4 +- .../lib/openapi_petstore/model/format_test.ex | 66 +++++++-------- .../model/has_only_read_only.ex | 8 +- .../model/health_check_result.ex | 4 +- .../model/inline_response_default.ex | 27 ------ .../lib/openapi_petstore/model/map_test.ex | 16 ++-- ...perties_and_additional_properties_class.ex | 14 ++-- .../model/model_200_response.ex | 8 +- .../elixir/lib/openapi_petstore/model/name.ex | 12 +-- .../openapi_petstore/model/nullable_class.ex | 50 +++++------ .../lib/openapi_petstore/model/number_only.ex | 4 +- .../model/object_with_deprecated_fields.ex | 18 ++-- .../lib/openapi_petstore/model/order.ex | 24 +++--- .../openapi_petstore/model/outer_composite.ex | 12 +-- .../model/outer_object_with_enum_property.ex | 6 +- .../elixir/lib/openapi_petstore/model/pet.ex | 28 +++---- .../openapi_petstore/model/read_only_first.ex | 8 +- .../lib/openapi_petstore/model/return.ex | 4 +- .../model/special_model_name.ex | 25 ------ .../elixir/lib/openapi_petstore/model/tag.ex | 8 +- .../model/type_holder_default.ex | 33 -------- .../model/type_holder_example.ex | 35 -------- .../elixir/lib/openapi_petstore/model/user.ex | 32 ++++---- .../lib/openapi_petstore/model/xml_item.ex | 81 ------------------ samples/client/petstore/elixir/mix.exs | 9 +- samples/client/petstore/elixir/pom.xml | 75 ----------------- .../client/petstore/elixir/test/pet_test.exs | 60 -------------- 71 files changed, 427 insertions(+), 950 deletions(-) create mode 100644 modules/openapi-generator/src/main/resources/elixir/formatter.exs create mode 100644 modules/openapi-generator/src/main/resources/elixir/runtime.exs.mustache create mode 100644 samples/client/petstore/elixir/.formatter.exs create mode 100644 samples/client/petstore/elixir/config/runtime.exs delete mode 100644 samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_any_type.ex delete mode 100644 samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_array.ex delete mode 100644 samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_boolean.ex delete mode 100644 samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_integer.ex delete mode 100644 samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_number.ex delete mode 100644 samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_object.ex delete mode 100644 samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_string.ex delete mode 100644 samples/client/petstore/elixir/lib/openapi_petstore/model/big_cat.ex delete mode 100644 samples/client/petstore/elixir/lib/openapi_petstore/model/big_cat_all_of.ex delete mode 100644 samples/client/petstore/elixir/lib/openapi_petstore/model/inline_response_default.ex delete mode 100644 samples/client/petstore/elixir/lib/openapi_petstore/model/special_model_name.ex delete mode 100644 samples/client/petstore/elixir/lib/openapi_petstore/model/type_holder_default.ex delete mode 100644 samples/client/petstore/elixir/lib/openapi_petstore/model/type_holder_example.ex delete mode 100644 samples/client/petstore/elixir/lib/openapi_petstore/model/xml_item.ex delete mode 100644 samples/client/petstore/elixir/pom.xml delete mode 100644 samples/client/petstore/elixir/test/pet_test.exs diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElixirClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElixirClientCodegen.java index 5ae204450b..f66a51fdfb 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElixirClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElixirClientCodegen.java @@ -44,9 +44,11 @@ import java.util.regex.Pattern; import static org.openapitools.codegen.utils.StringUtils.camelize; import static org.openapitools.codegen.utils.StringUtils.underscore; -public class ElixirClientCodegen extends DefaultCodegen implements CodegenConfig { +public class ElixirClientCodegen extends DefaultCodegen { private final Logger LOGGER = LoggerFactory.getLogger(ElixirClientCodegen.class); + private final Pattern simpleAtomPattern = Pattern.compile("\\A(?:(?:[_@\\p{Alpha}][_@\\p{Alnum}]*[?!]?)|-)\\z"); + protected String apiVersion = "1.0.0"; protected String moduleName; protected static final String defaultModuleName = "OpenAPI.Client"; @@ -54,11 +56,12 @@ public class ElixirClientCodegen extends DefaultCodegen implements CodegenConfig // This is the name of elixir project name; protected static final String defaultPackageName = "openapi_client"; - String supportedElixirVersion = "1.6"; + String supportedElixirVersion = "1.10"; List extraApplications = Arrays.asList(":logger"); List deps = Arrays.asList( - "{:tesla, \"~> 1.2\"}", - "{:poison, \"~> 3.0\"}" + "{:tesla, \"~> 1.4\"}", + "{:poison, \"~> 3.0\"}", + "{:ex_doc, \"~> 0.28\", only: :dev, runtime: false}" ); public ElixirClientCodegen() { @@ -150,10 +153,18 @@ public class ElixirClientCodegen extends DefaultCodegen implements CodegenConfig "config", "config.exs") ); + supportingFiles.add(new SupportingFile("runtime.exs.mustache", + "config", + "runtime.exs") + ); supportingFiles.add(new SupportingFile("mix.exs.mustache", "", "mix.exs") ); + supportingFiles.add(new SupportingFile("formatter.exs", + "", + ".formatter.exs") + ); supportingFiles.add(new SupportingFile("test_helper.exs.mustache", "test", "test_helper.exs") @@ -262,6 +273,19 @@ public class ElixirClientCodegen extends DefaultCodegen implements CodegenConfig writer.write(modulized(fragment.execute())); } }); + additionalProperties.put("atom", new Mustache.Lambda() { + @Override + public void execute(Template.Fragment fragment, Writer writer) throws IOException { + writer.write(atomized(fragment.execute())); + } + }); + additionalProperties.put("env_var", new Mustache.Lambda() { + @Override + public void execute(Template.Fragment fragment, Writer writer) throws IOException { + String text = underscored(fragment.execute()); + writer.write(text.toUpperCase(Locale.ROOT)); + } + }); if (additionalProperties.containsKey(CodegenConstants.INVOKER_PACKAGE)) { setModuleName((String) additionalProperties.get(CodegenConstants.INVOKER_PACKAGE)); @@ -377,6 +401,26 @@ public class ElixirClientCodegen extends DefaultCodegen implements CodegenConfig return join("", modulizedWords); } + private String atomized(String text) { + StringBuilder atom = new StringBuilder(); + Matcher m = simpleAtomPattern.matcher(text); + + atom.append(":"); + + if (!m.matches()) { + atom.append("\""); + } + + atom.append(text); + + if (!m.matches()) { + atom.append("\""); + } + + return atom.toString(); + } + + /** * Escapes a reserved word as defined in the `reservedWords` array. Handle escaping * those terms here. This logic is only called if a variable matches the reserved words diff --git a/modules/openapi-generator/src/main/resources/elixir/api.mustache b/modules/openapi-generator/src/main/resources/elixir/api.mustache index eb923cb392..6d5e0d44fa 100644 --- a/modules/openapi-generator/src/main/resources/elixir/api.mustache +++ b/modules/openapi-generator/src/main/resources/elixir/api.mustache @@ -48,7 +48,7 @@ defmodule {{moduleName}}.Api.{{classname}} do :body => :body {{/isBodyParam}} {{^isBodyParam}} - :"{{baseName}}" => {{#isFormParam}}:form{{/isFormParam}}{{#isQueryParam}}:query{{/isQueryParam}}{{#isHeaderParam}}:headers{{/isHeaderParam}}{{^-last}},{{/-last}} + {{#atom}}{{baseName}}{{/atom}} => {{#isFormParam}}:form{{/isFormParam}}{{#isQueryParam}}:query{{/isQueryParam}}{{#isHeaderParam}}:headers{{/isHeaderParam}}{{^-last}},{{/-last}} {{/isBodyParam}} {{#-last}} } @@ -59,7 +59,7 @@ defmodule {{moduleName}}.Api.{{classname}} do |> url("{{replacedPathName}}") {{#requiredParams}} {{^isPathParam}} - |> add_param({{#isBodyParam}}:body{{/isBodyParam}}{{#isFormParam}}{{#isMultipart}}{{#isFile}}:file{{/isFile}}{{^isFile}}:form{{/isFile}}{{/isMultipart}}{{^isMultipart}}:form{{/isMultipart}}{{/isFormParam}}{{#isQueryParam}}:query{{/isQueryParam}}{{#isHeaderParam}}:headers{{/isHeaderParam}}, {{#isBodyParam}}:body, {{/isBodyParam}}{{^isBodyParam}}:"{{baseName}}", {{/isBodyParam}}{{#underscored}}{{paramName}}{{/underscored}}) + |> add_param({{#isBodyParam}}:body{{/isBodyParam}}{{#isFormParam}}{{#isMultipart}}{{#isFile}}:file{{/isFile}}{{^isFile}}:form{{/isFile}}{{/isMultipart}}{{^isMultipart}}:form{{/isMultipart}}{{/isFormParam}}{{#isQueryParam}}:query{{/isQueryParam}}{{#isHeaderParam}}:headers{{/isHeaderParam}}, {{#isBodyParam}}:body, {{/isBodyParam}}{{^isBodyParam}}{{#atom}}{{baseName}}{{/atom}}, {{/isBodyParam}}{{#underscored}}{{paramName}}{{/underscored}}) {{/isPathParam}} {{/requiredParams}} {{#optionalParams}} diff --git a/modules/openapi-generator/src/main/resources/elixir/config.exs.mustache b/modules/openapi-generator/src/main/resources/elixir/config.exs.mustache index da8f554eb7..05fd56545d 100644 --- a/modules/openapi-generator/src/main/resources/elixir/config.exs.mustache +++ b/modules/openapi-generator/src/main/resources/elixir/config.exs.mustache @@ -1,32 +1,15 @@ # This file is responsible for configuring your application -# and its dependencies with the aid of the Mix.Config module. -use Mix.Config +# and its dependencies with the aid of the Config module. +# +# This configuration file is loaded before any dependency and +# is restricted to this project. -# This configuration is loaded before any dependency and is restricted -# to this project. If another project depends on this project, this -# file won't be loaded nor affect the parent project. For this reason, -# if you want to provide default values for your application for -# 3rd-party users, it should be done in your "mix.exs" file. - -# You can configure for your application as: -# -# config :{{#underscored}}{{appName}}{{/underscored}}, key: :value -# -# And access this configuration in your application as: -# -# Application.get_env(:{{#underscored}}{{appName}}{{/underscored}}, :key) -# -# Or configure a 3rd-party app: -# -# config :logger, level: :info -# +# General application configuration +import Config config :{{#underscored}}{{appName}}{{/underscored}}, base_url: "{{{basePath}}}" -# It is also possible to import configuration files, relative to this -# directory. For example, you can emulate configuration per environment -# by uncommenting the line below and defining dev.exs, test.exs and such. -# Configuration from the imported file will override the ones defined -# here (which is why it is important to import them last). +# Import environment specific config. This must remain at the bottom +# of this file so it overrides the configuration defined above. # -# import_config "#{Mix.env}.exs" +# import_config "#{config_env()}.exs" diff --git a/modules/openapi-generator/src/main/resources/elixir/formatter.exs b/modules/openapi-generator/src/main/resources/elixir/formatter.exs new file mode 100644 index 0000000000..d304ff320a --- /dev/null +++ b/modules/openapi-generator/src/main/resources/elixir/formatter.exs @@ -0,0 +1,3 @@ +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/modules/openapi-generator/src/main/resources/elixir/mix.exs.mustache b/modules/openapi-generator/src/main/resources/elixir/mix.exs.mustache index fe7e9bcae3..aa05473908 100644 --- a/modules/openapi-generator/src/main/resources/elixir/mix.exs.mustache +++ b/modules/openapi-generator/src/main/resources/elixir/mix.exs.mustache @@ -40,7 +40,7 @@ defmodule {{moduleName}}.Mixfile do defp package() do [ name: "{{#underscored}}{{packageName}}{{/underscored}}", - files: ~w(lib mix.exs README* LICENSE*), + files: ~w(.formatter.exs config lib mix.exs README* LICENSE*), licenses: ["{{licenseId}}"] ] end diff --git a/modules/openapi-generator/src/main/resources/elixir/model.mustache b/modules/openapi-generator/src/main/resources/elixir/model.mustache index 8f9c6fe0d1..0f9cc57a89 100644 --- a/modules/openapi-generator/src/main/resources/elixir/model.mustache +++ b/modules/openapi-generator/src/main/resources/elixir/model.mustache @@ -6,12 +6,12 @@ @derive [Poison.Encoder] defstruct [ - {{#vars}}:"{{&baseName}}"{{^-last}}, + {{#vars}}{{#atom}}{{&baseName}}{{/atom}}{{^-last}}, {{/-last}}{{/vars}} ] @type t :: %__MODULE__{ - {{#vars}}:"{{&baseName}}" => {{{datatype}}}{{#isNullable}} | nil{{/isNullable}}{{^isNullable}}{{^required}} | nil{{/required}}{{/isNullable}}{{^-last}}, + {{#vars}}{{#atom}}{{&baseName}}{{/atom}} => {{{datatype}}}{{#isNullable}} | nil{{/isNullable}}{{^isNullable}}{{^required}} | nil{{/required}}{{/isNullable}}{{^-last}}, {{/-last}}{{/vars}} } end @@ -23,7 +23,7 @@ defimpl Poison.Decoder, for: {{&moduleName}}.Model.{{&classname}} do value {{#vars}} {{^isPrimitiveType}} - {{#baseType}}|> deserialize(:"{{&baseName}}", {{#isArray}}:list, {{&moduleName}}.Model.{{{items.baseType}}}{{/isArray}}{{#isMap}}:map, {{&moduleName}}.Model.{{{items.baseType}}}{{/isMap}}{{#isDate}}:date, nil{{/isDate}}{{#isDateTime}}:date, nil{{/isDateTime}}{{^isDate}}{{^isDateTime}}{{^isMap}}{{^isArray}}:struct, {{moduleName}}.Model.{{baseType}}{{/isArray}}{{/isMap}}{{/isDateTime}}{{/isDate}}, options) + {{#baseType}}|> deserialize({{#atom}}{{&baseName}}{{/atom}}, {{#isArray}}:list, {{&moduleName}}.Model.{{{items.baseType}}}{{/isArray}}{{#isMap}}:map, {{&moduleName}}.Model.{{{items.baseType}}}{{/isMap}}{{#isDate}}:date, nil{{/isDate}}{{#isDateTime}}:date, nil{{/isDateTime}}{{^isDate}}{{^isDateTime}}{{^isMap}}{{^isArray}}:struct, {{moduleName}}.Model.{{baseType}}{{/isArray}}{{/isMap}}{{/isDateTime}}{{/isDate}}, options) {{/baseType}} {{/isPrimitiveType}} {{/vars}} diff --git a/modules/openapi-generator/src/main/resources/elixir/runtime.exs.mustache b/modules/openapi-generator/src/main/resources/elixir/runtime.exs.mustache new file mode 100644 index 0000000000..e10c690c80 --- /dev/null +++ b/modules/openapi-generator/src/main/resources/elixir/runtime.exs.mustache @@ -0,0 +1,12 @@ +import Config + +# config/runtime.exs is executed for all environments, including +# during releases. It is executed after compilation and before the +# system starts, so it is typically used to load production configuration +# and secrets from environment variables or elsewhere. Do not define +# any compile-time configuration in here, as it won't be applied. +# The block below contains prod specific runtime configuration. + +if env = System.get_env("{{#env_var}}{{appName}}{{/env_var}}_BASE_URI") do + config :{{#underscored}}{{appName}}{{/underscored}}, base_url: env +end diff --git a/samples/client/petstore/elixir/.formatter.exs b/samples/client/petstore/elixir/.formatter.exs new file mode 100644 index 0000000000..d304ff320a --- /dev/null +++ b/samples/client/petstore/elixir/.formatter.exs @@ -0,0 +1,3 @@ +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/samples/client/petstore/elixir/.openapi-generator/FILES b/samples/client/petstore/elixir/.openapi-generator/FILES index 9f21ec0f85..c08711e037 100644 --- a/samples/client/petstore/elixir/.openapi-generator/FILES +++ b/samples/client/petstore/elixir/.openapi-generator/FILES @@ -1,6 +1,9 @@ +.formatter.exs .gitignore +.openapi-generator-ignore README.md config/config.exs +config/runtime.exs lib/openapi_petstore/api/another_fake.ex lib/openapi_petstore/api/default.ex lib/openapi_petstore/api/fake.ex diff --git a/samples/client/petstore/elixir/config/config.exs b/samples/client/petstore/elixir/config/config.exs index e2fdf3c3b4..6056f2411d 100644 --- a/samples/client/petstore/elixir/config/config.exs +++ b/samples/client/petstore/elixir/config/config.exs @@ -1,32 +1,15 @@ # This file is responsible for configuring your application -# and its dependencies with the aid of the Mix.Config module. -use Mix.Config +# and its dependencies with the aid of the Config module. +# +# This configuration file is loaded before any dependency and +# is restricted to this project. -# This configuration is loaded before any dependency and is restricted -# to this project. If another project depends on this project, this -# file won't be loaded nor affect the parent project. For this reason, -# if you want to provide default values for your application for -# 3rd-party users, it should be done in your "mix.exs" file. - -# You can configure for your application as: -# -# config :open_api_petstore, key: :value -# -# And access this configuration in your application as: -# -# Application.get_env(:open_api_petstore, :key) -# -# Or configure a 3rd-party app: -# -# config :logger, level: :info -# +# General application configuration +import Config config :open_api_petstore, base_url: "http://petstore.swagger.io:80/v2" -# It is also possible to import configuration files, relative to this -# directory. For example, you can emulate configuration per environment -# by uncommenting the line below and defining dev.exs, test.exs and such. -# Configuration from the imported file will override the ones defined -# here (which is why it is important to import them last). +# Import environment specific config. This must remain at the bottom +# of this file so it overrides the configuration defined above. # -# import_config "#{Mix.env}.exs" +# import_config "#{config_env()}.exs" diff --git a/samples/client/petstore/elixir/config/runtime.exs b/samples/client/petstore/elixir/config/runtime.exs new file mode 100644 index 0000000000..a034b2dac4 --- /dev/null +++ b/samples/client/petstore/elixir/config/runtime.exs @@ -0,0 +1,12 @@ +import Config + +# config/runtime.exs is executed for all environments, including +# during releases. It is executed after compilation and before the +# system starts, so it is typically used to load production configuration +# and secrets from environment variables or elsewhere. Do not define +# any compile-time configuration in here, as it won't be applied. +# The block below contains prod specific runtime configuration. + +if env = System.get_env("OPEN_API_PETSTORE_BASE_URI") do + config :open_api_petstore, base_url: env +end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/api/fake.ex b/samples/client/petstore/elixir/lib/openapi_petstore/api/fake.ex index 1bf34def23..1d2b32abc9 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/api/fake.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/api/fake.ex @@ -53,8 +53,8 @@ defmodule OpenapiPetstore.Api.Fake do @spec fake_http_signature_test(Tesla.Env.client, OpenapiPetstore.Model.Pet.t, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def fake_http_signature_test(connection, pet, opts \\ []) do optional_params = %{ - :"query_1" => :query, - :"header_1" => :headers + :query_1 => :query, + :header_1 => :headers } %{} |> method(:get) @@ -284,7 +284,7 @@ defmodule OpenapiPetstore.Api.Fake do %{} |> method(:put) |> url("/fake/body-with-query-params") - |> add_param(:query, :"query", query) + |> add_param(:query, :query, query) |> add_param(:body, :body, user) |> Enum.into([]) |> (&Connection.request(connection, &1)).() @@ -350,24 +350,24 @@ defmodule OpenapiPetstore.Api.Fake do @spec test_endpoint_parameters(Tesla.Env.client, float(), float(), String.t, binary(), keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def test_endpoint_parameters(connection, number, double, pattern_without_delimiter, byte, opts \\ []) do optional_params = %{ - :"integer" => :form, - :"int32" => :form, - :"int64" => :form, - :"float" => :form, - :"string" => :form, - :"binary" => :form, - :"date" => :form, - :"dateTime" => :form, - :"password" => :form, - :"callback" => :form + :integer => :form, + :int32 => :form, + :int64 => :form, + :float => :form, + :string => :form, + :binary => :form, + :date => :form, + :dateTime => :form, + :password => :form, + :callback => :form } %{} |> method(:post) |> url("/fake") - |> add_param(:form, :"number", number) - |> add_param(:form, :"double", double) - |> add_param(:form, :"pattern_without_delimiter", pattern_without_delimiter) - |> add_param(:form, :"byte", byte) + |> add_param(:form, :number, number) + |> add_param(:form, :double, double) + |> add_param(:form, :pattern_without_delimiter, pattern_without_delimiter) + |> add_param(:form, :byte, byte) |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() @@ -402,15 +402,15 @@ defmodule OpenapiPetstore.Api.Fake do @spec test_enum_parameters(Tesla.Env.client, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def test_enum_parameters(connection, opts \\ []) do optional_params = %{ - :"enum_header_string_array" => :headers, - :"enum_header_string" => :headers, - :"enum_query_string_array" => :query, - :"enum_query_string" => :query, - :"enum_query_integer" => :query, - :"enum_query_double" => :query, - :"enum_query_model_array" => :query, - :"enum_form_string_array" => :form, - :"enum_form_string" => :form + :enum_header_string_array => :headers, + :enum_header_string => :headers, + :enum_query_string_array => :query, + :enum_query_string => :query, + :enum_query_integer => :query, + :enum_query_double => :query, + :enum_query_model_array => :query, + :enum_form_string_array => :form, + :enum_form_string => :form } %{} |> method(:get) @@ -446,16 +446,16 @@ defmodule OpenapiPetstore.Api.Fake do @spec test_group_parameters(Tesla.Env.client, integer(), boolean(), integer(), keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def test_group_parameters(connection, required_string_group, required_boolean_group, required_int64_group, opts \\ []) do optional_params = %{ - :"string_group" => :query, - :"boolean_group" => :headers, - :"int64_group" => :query + :string_group => :query, + :boolean_group => :headers, + :int64_group => :query } %{} |> method(:delete) |> url("/fake") - |> add_param(:query, :"required_string_group", required_string_group) - |> add_param(:headers, :"required_boolean_group", required_boolean_group) - |> add_param(:query, :"required_int64_group", required_int64_group) + |> add_param(:query, :required_string_group, required_string_group) + |> add_param(:headers, :required_boolean_group, required_boolean_group) + |> add_param(:query, :required_int64_group, required_int64_group) |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() @@ -511,8 +511,8 @@ defmodule OpenapiPetstore.Api.Fake do %{} |> method(:get) |> url("/fake/jsonFormData") - |> add_param(:form, :"param", param) - |> add_param(:form, :"param2", param2) + |> add_param(:form, :param, param) + |> add_param(:form, :param2, param2) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ @@ -542,17 +542,17 @@ defmodule OpenapiPetstore.Api.Fake do @spec test_query_parameter_collection_format(Tesla.Env.client, list(String.t), list(String.t), list(String.t), list(String.t), list(String.t), String.t, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def test_query_parameter_collection_format(connection, pipe, ioutil, http, url, context, allow_empty, opts \\ []) do optional_params = %{ - :"language" => :query + :language => :query } %{} |> method(:put) |> url("/fake/test-query-parameters") - |> add_param(:query, :"pipe", pipe) - |> add_param(:query, :"ioutil", ioutil) - |> add_param(:query, :"http", http) - |> add_param(:query, :"url", url) - |> add_param(:query, :"context", context) - |> add_param(:query, :"allowEmpty", allow_empty) + |> add_param(:query, :pipe, pipe) + |> add_param(:query, :ioutil, ioutil) + |> add_param(:query, :http, http) + |> add_param(:query, :url, url) + |> add_param(:query, :context, context) + |> add_param(:query, :allowEmpty, allow_empty) |> add_optional_params(optional_params, opts) |> ensure_body() |> Enum.into([]) diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/api/pet.ex b/samples/client/petstore/elixir/lib/openapi_petstore/api/pet.ex index 37c96f322f..acc415d75a 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/api/pet.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/api/pet.ex @@ -57,7 +57,7 @@ defmodule OpenapiPetstore.Api.Pet do @spec delete_pet(Tesla.Env.client, integer(), keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def delete_pet(connection, pet_id, opts \\ []) do optional_params = %{ - :"api_key" => :headers + :api_key => :headers } %{} |> method(:delete) @@ -90,7 +90,7 @@ defmodule OpenapiPetstore.Api.Pet do %{} |> method(:get) |> url("/pet/findByStatus") - |> add_param(:query, :"status", status) + |> add_param(:query, :status, status) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ @@ -118,7 +118,7 @@ defmodule OpenapiPetstore.Api.Pet do %{} |> method(:get) |> url("/pet/findByTags") - |> add_param(:query, :"tags", tags) + |> add_param(:query, :tags, tags) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ @@ -204,8 +204,8 @@ defmodule OpenapiPetstore.Api.Pet do @spec update_pet_with_form(Tesla.Env.client, integer(), keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def update_pet_with_form(connection, pet_id, opts \\ []) do optional_params = %{ - :"name" => :form, - :"status" => :form + :name => :form, + :status => :form } %{} |> method(:post) @@ -239,8 +239,8 @@ defmodule OpenapiPetstore.Api.Pet do @spec upload_file(Tesla.Env.client, integer(), keyword()) :: {:ok, OpenapiPetstore.Model.ApiResponse.t} | {:error, Tesla.Env.t} def upload_file(connection, pet_id, opts \\ []) do optional_params = %{ - :"additionalMetadata" => :form, - :"file" => :form + :additionalMetadata => :form, + :file => :form } %{} |> method(:post) @@ -273,12 +273,12 @@ defmodule OpenapiPetstore.Api.Pet do @spec upload_file_with_required_file(Tesla.Env.client, integer(), String.t, keyword()) :: {:ok, OpenapiPetstore.Model.ApiResponse.t} | {:error, Tesla.Env.t} def upload_file_with_required_file(connection, pet_id, required_file, opts \\ []) do optional_params = %{ - :"additionalMetadata" => :form + :additionalMetadata => :form } %{} |> method(:post) |> url("/fake/#{pet_id}/uploadImageWithRequiredFile") - |> add_param(:file, :"requiredFile", required_file) + |> add_param(:file, :requiredFile, required_file) |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/api/user.ex b/samples/client/petstore/elixir/lib/openapi_petstore/api/user.ex index 2fd22f27e6..ea436c9e40 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/api/user.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/api/user.ex @@ -167,8 +167,8 @@ defmodule OpenapiPetstore.Api.User do %{} |> method(:get) |> url("/user/login") - |> add_param(:query, :"username", username) - |> add_param(:query, :"password", password) + |> add_param(:query, :username, username) + |> add_param(:query, :password, password) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/_foo_get_default_response.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/_foo_get_default_response.ex index 5ad08d621f..c48a99b52e 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/_foo_get_default_response.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/_foo_get_default_response.ex @@ -9,11 +9,11 @@ defmodule OpenapiPetstore.Model.FooGetDefaultResponse do @derive [Poison.Encoder] defstruct [ - :"string" + :string ] @type t :: %__MODULE__{ - :"string" => OpenapiPetstore.Model.Foo.t | nil + :string => OpenapiPetstore.Model.Foo.t | nil } end @@ -21,7 +21,7 @@ defimpl Poison.Decoder, for: OpenapiPetstore.Model.FooGetDefaultResponse do import OpenapiPetstore.Deserializer def decode(value, options) do value - |> deserialize(:"string", :struct, OpenapiPetstore.Model.Foo, options) + |> deserialize(:string, :struct, OpenapiPetstore.Model.Foo, options) end end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_any_type.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_any_type.ex deleted file mode 100644 index 36cc16ce42..0000000000 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_any_type.ex +++ /dev/null @@ -1,25 +0,0 @@ -# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). -# https://openapi-generator.tech -# Do not edit the class manually. - -defmodule OpenapiPetstore.Model.AdditionalPropertiesAnyType do - @moduledoc """ - - """ - - @derive [Poison.Encoder] - defstruct [ - :"name" - ] - - @type t :: %__MODULE__{ - :"name" => String.t | nil - } -end - -defimpl Poison.Decoder, for: OpenapiPetstore.Model.AdditionalPropertiesAnyType do - def decode(value, _options) do - value - end -end - diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_array.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_array.ex deleted file mode 100644 index 5279e66ad7..0000000000 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_array.ex +++ /dev/null @@ -1,25 +0,0 @@ -# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). -# https://openapi-generator.tech -# Do not edit the class manually. - -defmodule OpenapiPetstore.Model.AdditionalPropertiesArray do - @moduledoc """ - - """ - - @derive [Poison.Encoder] - defstruct [ - :"name" - ] - - @type t :: %__MODULE__{ - :"name" => String.t | nil - } -end - -defimpl Poison.Decoder, for: OpenapiPetstore.Model.AdditionalPropertiesArray do - def decode(value, _options) do - value - end -end - diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_boolean.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_boolean.ex deleted file mode 100644 index 3a338e6b05..0000000000 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_boolean.ex +++ /dev/null @@ -1,25 +0,0 @@ -# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). -# https://openapi-generator.tech -# Do not edit the class manually. - -defmodule OpenapiPetstore.Model.AdditionalPropertiesBoolean do - @moduledoc """ - - """ - - @derive [Poison.Encoder] - defstruct [ - :"name" - ] - - @type t :: %__MODULE__{ - :"name" => String.t | nil - } -end - -defimpl Poison.Decoder, for: OpenapiPetstore.Model.AdditionalPropertiesBoolean do - def decode(value, _options) do - value - end -end - diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_class.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_class.ex index 837bf62a7c..722af9396b 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_class.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_class.ex @@ -9,13 +9,13 @@ defmodule OpenapiPetstore.Model.AdditionalPropertiesClass do @derive [Poison.Encoder] defstruct [ - :"map_property", - :"map_of_map_property" + :map_property, + :map_of_map_property ] @type t :: %__MODULE__{ - :"map_property" => %{optional(String.t) => String.t} | nil, - :"map_of_map_property" => %{optional(String.t) => %{optional(String.t) => String.t}} | nil + :map_property => %{optional(String.t) => String.t} | nil, + :map_of_map_property => %{optional(String.t) => %{optional(String.t) => String.t}} | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_integer.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_integer.ex deleted file mode 100644 index 06144a65df..0000000000 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_integer.ex +++ /dev/null @@ -1,25 +0,0 @@ -# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). -# https://openapi-generator.tech -# Do not edit the class manually. - -defmodule OpenapiPetstore.Model.AdditionalPropertiesInteger do - @moduledoc """ - - """ - - @derive [Poison.Encoder] - defstruct [ - :"name" - ] - - @type t :: %__MODULE__{ - :"name" => String.t | nil - } -end - -defimpl Poison.Decoder, for: OpenapiPetstore.Model.AdditionalPropertiesInteger do - def decode(value, _options) do - value - end -end - diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_number.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_number.ex deleted file mode 100644 index 646b8bef38..0000000000 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_number.ex +++ /dev/null @@ -1,25 +0,0 @@ -# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). -# https://openapi-generator.tech -# Do not edit the class manually. - -defmodule OpenapiPetstore.Model.AdditionalPropertiesNumber do - @moduledoc """ - - """ - - @derive [Poison.Encoder] - defstruct [ - :"name" - ] - - @type t :: %__MODULE__{ - :"name" => String.t | nil - } -end - -defimpl Poison.Decoder, for: OpenapiPetstore.Model.AdditionalPropertiesNumber do - def decode(value, _options) do - value - end -end - diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_object.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_object.ex deleted file mode 100644 index be9b2d866c..0000000000 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_object.ex +++ /dev/null @@ -1,25 +0,0 @@ -# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). -# https://openapi-generator.tech -# Do not edit the class manually. - -defmodule OpenapiPetstore.Model.AdditionalPropertiesObject do - @moduledoc """ - - """ - - @derive [Poison.Encoder] - defstruct [ - :"name" - ] - - @type t :: %__MODULE__{ - :"name" => String.t | nil - } -end - -defimpl Poison.Decoder, for: OpenapiPetstore.Model.AdditionalPropertiesObject do - def decode(value, _options) do - value - end -end - diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_string.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_string.ex deleted file mode 100644 index 9a53ba07ab..0000000000 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/additional_properties_string.ex +++ /dev/null @@ -1,25 +0,0 @@ -# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). -# https://openapi-generator.tech -# Do not edit the class manually. - -defmodule OpenapiPetstore.Model.AdditionalPropertiesString do - @moduledoc """ - - """ - - @derive [Poison.Encoder] - defstruct [ - :"name" - ] - - @type t :: %__MODULE__{ - :"name" => String.t | nil - } -end - -defimpl Poison.Decoder, for: OpenapiPetstore.Model.AdditionalPropertiesString do - def decode(value, _options) do - value - end -end - diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/all_of_with_single_ref.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/all_of_with_single_ref.ex index f76ffcb629..eaef9cbfcf 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/all_of_with_single_ref.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/all_of_with_single_ref.ex @@ -9,13 +9,13 @@ defmodule OpenapiPetstore.Model.AllOfWithSingleRef do @derive [Poison.Encoder] defstruct [ - :"username", - :"SingleRefType" + :username, + :SingleRefType ] @type t :: %__MODULE__{ - :"username" => String.t | nil, - :"SingleRefType" => SingleRefType | nil + :username => String.t | nil, + :SingleRefType => SingleRefType | nil } end @@ -23,7 +23,7 @@ defimpl Poison.Decoder, for: OpenapiPetstore.Model.AllOfWithSingleRef do import OpenapiPetstore.Deserializer def decode(value, options) do value - |> deserialize(:"SingleRefType", :struct, OpenapiPetstore.Model.SingleRefType, options) + |> deserialize(:SingleRefType, :struct, OpenapiPetstore.Model.SingleRefType, options) end end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/animal.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/animal.ex index deb93a04d0..2457f9dca1 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/animal.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/animal.ex @@ -9,13 +9,13 @@ defmodule OpenapiPetstore.Model.Animal do @derive [Poison.Encoder] defstruct [ - :"className", - :"color" + :className, + :color ] @type t :: %__MODULE__{ - :"className" => String.t, - :"color" => String.t | nil + :className => String.t, + :color => String.t | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/api_response.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/api_response.ex index 7dc34e32ad..5df3e445eb 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/api_response.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/api_response.ex @@ -9,15 +9,15 @@ defmodule OpenapiPetstore.Model.ApiResponse do @derive [Poison.Encoder] defstruct [ - :"code", - :"type", - :"message" + :code, + :type, + :message ] @type t :: %__MODULE__{ - :"code" => integer() | nil, - :"type" => String.t | nil, - :"message" => String.t | nil + :code => integer() | nil, + :type => String.t | nil, + :message => String.t | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/array_of_array_of_number_only.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/array_of_array_of_number_only.ex index e126f51109..d0312d28ca 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/array_of_array_of_number_only.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/array_of_array_of_number_only.ex @@ -9,11 +9,11 @@ defmodule OpenapiPetstore.Model.ArrayOfArrayOfNumberOnly do @derive [Poison.Encoder] defstruct [ - :"ArrayArrayNumber" + :ArrayArrayNumber ] @type t :: %__MODULE__{ - :"ArrayArrayNumber" => [[float()]] | nil + :ArrayArrayNumber => [[float()]] | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/array_of_number_only.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/array_of_number_only.ex index 2e8e535524..770c78e85a 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/array_of_number_only.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/array_of_number_only.ex @@ -9,11 +9,11 @@ defmodule OpenapiPetstore.Model.ArrayOfNumberOnly do @derive [Poison.Encoder] defstruct [ - :"ArrayNumber" + :ArrayNumber ] @type t :: %__MODULE__{ - :"ArrayNumber" => [float()] | nil + :ArrayNumber => [float()] | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/array_test.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/array_test.ex index ccf61c3b5c..0314a88325 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/array_test.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/array_test.ex @@ -9,15 +9,15 @@ defmodule OpenapiPetstore.Model.ArrayTest do @derive [Poison.Encoder] defstruct [ - :"array_of_string", - :"array_array_of_integer", - :"array_array_of_model" + :array_of_string, + :array_array_of_integer, + :array_array_of_model ] @type t :: %__MODULE__{ - :"array_of_string" => [String.t] | nil, - :"array_array_of_integer" => [[integer()]] | nil, - :"array_array_of_model" => [[OpenapiPetstore.Model.ReadOnlyFirst.t]] | nil + :array_of_string => [String.t] | nil, + :array_array_of_integer => [[integer()]] | nil, + :array_array_of_model => [[OpenapiPetstore.Model.ReadOnlyFirst.t]] | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/big_cat.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/big_cat.ex deleted file mode 100644 index 46d755bde7..0000000000 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/big_cat.ex +++ /dev/null @@ -1,31 +0,0 @@ -# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). -# https://openapi-generator.tech -# Do not edit the class manually. - -defmodule OpenapiPetstore.Model.BigCat do - @moduledoc """ - - """ - - @derive [Poison.Encoder] - defstruct [ - :"className", - :"color", - :"declawed", - :"kind" - ] - - @type t :: %__MODULE__{ - :"className" => String.t, - :"color" => String.t | nil, - :"declawed" => boolean() | nil, - :"kind" => String.t | nil - } -end - -defimpl Poison.Decoder, for: OpenapiPetstore.Model.BigCat do - def decode(value, _options) do - value - end -end - diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/big_cat_all_of.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/big_cat_all_of.ex deleted file mode 100644 index 739bdd5ee4..0000000000 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/big_cat_all_of.ex +++ /dev/null @@ -1,25 +0,0 @@ -# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). -# https://openapi-generator.tech -# Do not edit the class manually. - -defmodule OpenapiPetstore.Model.BigCatAllOf do - @moduledoc """ - - """ - - @derive [Poison.Encoder] - defstruct [ - :"kind" - ] - - @type t :: %__MODULE__{ - :"kind" => String.t | nil - } -end - -defimpl Poison.Decoder, for: OpenapiPetstore.Model.BigCatAllOf do - def decode(value, _options) do - value - end -end - diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/capitalization.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/capitalization.ex index e9627cf334..23e25dfa36 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/capitalization.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/capitalization.ex @@ -9,21 +9,21 @@ defmodule OpenapiPetstore.Model.Capitalization do @derive [Poison.Encoder] defstruct [ - :"smallCamel", - :"CapitalCamel", - :"small_Snake", - :"Capital_Snake", - :"SCA_ETH_Flow_Points", - :"ATT_NAME" + :smallCamel, + :CapitalCamel, + :small_Snake, + :Capital_Snake, + :SCA_ETH_Flow_Points, + :ATT_NAME ] @type t :: %__MODULE__{ - :"smallCamel" => String.t | nil, - :"CapitalCamel" => String.t | nil, - :"small_Snake" => String.t | nil, - :"Capital_Snake" => String.t | nil, - :"SCA_ETH_Flow_Points" => String.t | nil, - :"ATT_NAME" => String.t | nil + :smallCamel => String.t | nil, + :CapitalCamel => String.t | nil, + :small_Snake => String.t | nil, + :Capital_Snake => String.t | nil, + :SCA_ETH_Flow_Points => String.t | nil, + :ATT_NAME => String.t | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/cat.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/cat.ex index 416bb0a73e..d3281a7ac1 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/cat.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/cat.ex @@ -9,15 +9,15 @@ defmodule OpenapiPetstore.Model.Cat do @derive [Poison.Encoder] defstruct [ - :"className", - :"color", - :"declawed" + :className, + :color, + :declawed ] @type t :: %__MODULE__{ - :"className" => String.t, - :"color" => String.t | nil, - :"declawed" => boolean() | nil + :className => String.t, + :color => String.t | nil, + :declawed => boolean() | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/cat_all_of.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/cat_all_of.ex index 5166b37383..6935c289a0 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/cat_all_of.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/cat_all_of.ex @@ -9,11 +9,11 @@ defmodule OpenapiPetstore.Model.CatAllOf do @derive [Poison.Encoder] defstruct [ - :"declawed" + :declawed ] @type t :: %__MODULE__{ - :"declawed" => boolean() | nil + :declawed => boolean() | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/category.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/category.ex index 2d1c853ab4..678b66a070 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/category.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/category.ex @@ -9,13 +9,13 @@ defmodule OpenapiPetstore.Model.Category do @derive [Poison.Encoder] defstruct [ - :"id", - :"name" + :id, + :name ] @type t :: %__MODULE__{ - :"id" => integer() | nil, - :"name" => String.t + :id => integer() | nil, + :name => String.t } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/class_model.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/class_model.ex index 95fe85e3c9..ba41186048 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/class_model.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/class_model.ex @@ -9,11 +9,11 @@ defmodule OpenapiPetstore.Model.ClassModel do @derive [Poison.Encoder] defstruct [ - :"_class" + :_class ] @type t :: %__MODULE__{ - :"_class" => String.t | nil + :_class => String.t | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/client.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/client.ex index cd5a452028..6ef6dddec0 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/client.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/client.ex @@ -9,11 +9,11 @@ defmodule OpenapiPetstore.Model.Client do @derive [Poison.Encoder] defstruct [ - :"client" + :client ] @type t :: %__MODULE__{ - :"client" => String.t | nil + :client => String.t | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/deprecated_object.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/deprecated_object.ex index 098c55b88a..0fd11a2a22 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/deprecated_object.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/deprecated_object.ex @@ -9,11 +9,11 @@ defmodule OpenapiPetstore.Model.DeprecatedObject do @derive [Poison.Encoder] defstruct [ - :"name" + :name ] @type t :: %__MODULE__{ - :"name" => String.t | nil + :name => String.t | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/dog.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/dog.ex index f4a7eae34a..567f056d8e 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/dog.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/dog.ex @@ -9,15 +9,15 @@ defmodule OpenapiPetstore.Model.Dog do @derive [Poison.Encoder] defstruct [ - :"className", - :"color", - :"breed" + :className, + :color, + :breed ] @type t :: %__MODULE__{ - :"className" => String.t, - :"color" => String.t | nil, - :"breed" => String.t | nil + :className => String.t, + :color => String.t | nil, + :breed => String.t | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/dog_all_of.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/dog_all_of.ex index 31c0ff6e50..5898abad3d 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/dog_all_of.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/dog_all_of.ex @@ -9,11 +9,11 @@ defmodule OpenapiPetstore.Model.DogAllOf do @derive [Poison.Encoder] defstruct [ - :"breed" + :breed ] @type t :: %__MODULE__{ - :"breed" => String.t | nil + :breed => String.t | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/enum_arrays.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/enum_arrays.ex index d8f98a028a..28f27eb79d 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/enum_arrays.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/enum_arrays.ex @@ -9,13 +9,13 @@ defmodule OpenapiPetstore.Model.EnumArrays do @derive [Poison.Encoder] defstruct [ - :"just_symbol", - :"array_enum" + :just_symbol, + :array_enum ] @type t :: %__MODULE__{ - :"just_symbol" => String.t | nil, - :"array_enum" => [String.t] | nil + :just_symbol => String.t | nil, + :array_enum => [String.t] | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/enum_test.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/enum_test.ex index 0d33162d25..1af76bedb3 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/enum_test.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/enum_test.ex @@ -9,25 +9,25 @@ defmodule OpenapiPetstore.Model.EnumTest do @derive [Poison.Encoder] defstruct [ - :"enum_string", - :"enum_string_required", - :"enum_integer", - :"enum_number", - :"outerEnum", - :"outerEnumInteger", - :"outerEnumDefaultValue", - :"outerEnumIntegerDefaultValue" + :enum_string, + :enum_string_required, + :enum_integer, + :enum_number, + :outerEnum, + :outerEnumInteger, + :outerEnumDefaultValue, + :outerEnumIntegerDefaultValue ] @type t :: %__MODULE__{ - :"enum_string" => String.t | nil, - :"enum_string_required" => String.t, - :"enum_integer" => integer() | nil, - :"enum_number" => float() | nil, - :"outerEnum" => OpenapiPetstore.Model.OuterEnum.t | nil, - :"outerEnumInteger" => OpenapiPetstore.Model.OuterEnumInteger.t | nil, - :"outerEnumDefaultValue" => OpenapiPetstore.Model.OuterEnumDefaultValue.t | nil, - :"outerEnumIntegerDefaultValue" => OpenapiPetstore.Model.OuterEnumIntegerDefaultValue.t | nil + :enum_string => String.t | nil, + :enum_string_required => String.t, + :enum_integer => integer() | nil, + :enum_number => float() | nil, + :outerEnum => OpenapiPetstore.Model.OuterEnum.t | nil, + :outerEnumInteger => OpenapiPetstore.Model.OuterEnumInteger.t | nil, + :outerEnumDefaultValue => OpenapiPetstore.Model.OuterEnumDefaultValue.t | nil, + :outerEnumIntegerDefaultValue => OpenapiPetstore.Model.OuterEnumIntegerDefaultValue.t | nil } end @@ -35,10 +35,10 @@ defimpl Poison.Decoder, for: OpenapiPetstore.Model.EnumTest do import OpenapiPetstore.Deserializer def decode(value, options) do value - |> deserialize(:"outerEnum", :struct, OpenapiPetstore.Model.OuterEnum, options) - |> deserialize(:"outerEnumInteger", :struct, OpenapiPetstore.Model.OuterEnumInteger, options) - |> deserialize(:"outerEnumDefaultValue", :struct, OpenapiPetstore.Model.OuterEnumDefaultValue, options) - |> deserialize(:"outerEnumIntegerDefaultValue", :struct, OpenapiPetstore.Model.OuterEnumIntegerDefaultValue, options) + |> deserialize(:outerEnum, :struct, OpenapiPetstore.Model.OuterEnum, options) + |> deserialize(:outerEnumInteger, :struct, OpenapiPetstore.Model.OuterEnumInteger, options) + |> deserialize(:outerEnumDefaultValue, :struct, OpenapiPetstore.Model.OuterEnumDefaultValue, options) + |> deserialize(:outerEnumIntegerDefaultValue, :struct, OpenapiPetstore.Model.OuterEnumIntegerDefaultValue, options) end end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/file.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/file.ex index 252466680d..659a4b26ec 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/file.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/file.ex @@ -9,11 +9,11 @@ defmodule OpenapiPetstore.Model.File do @derive [Poison.Encoder] defstruct [ - :"sourceURI" + :sourceURI ] @type t :: %__MODULE__{ - :"sourceURI" => String.t | nil + :sourceURI => String.t | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/file_schema_test_class.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/file_schema_test_class.ex index 6c91069f9c..9edcf4f8a0 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/file_schema_test_class.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/file_schema_test_class.ex @@ -9,13 +9,13 @@ defmodule OpenapiPetstore.Model.FileSchemaTestClass do @derive [Poison.Encoder] defstruct [ - :"file", - :"files" + :file, + :files ] @type t :: %__MODULE__{ - :"file" => OpenapiPetstore.Model.File.t | nil, - :"files" => [OpenapiPetstore.Model.File.t] | nil + :file => OpenapiPetstore.Model.File.t | nil, + :files => [OpenapiPetstore.Model.File.t] | nil } end @@ -23,8 +23,8 @@ defimpl Poison.Decoder, for: OpenapiPetstore.Model.FileSchemaTestClass do import OpenapiPetstore.Deserializer def decode(value, options) do value - |> deserialize(:"file", :struct, OpenapiPetstore.Model.File, options) - |> deserialize(:"files", :list, OpenapiPetstore.Model.File, options) + |> deserialize(:file, :struct, OpenapiPetstore.Model.File, options) + |> deserialize(:files, :list, OpenapiPetstore.Model.File, options) end end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/foo.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/foo.ex index d73897b40e..b25263be9a 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/foo.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/foo.ex @@ -9,11 +9,11 @@ defmodule OpenapiPetstore.Model.Foo do @derive [Poison.Encoder] defstruct [ - :"bar" + :bar ] @type t :: %__MODULE__{ - :"bar" => String.t | nil + :bar => String.t | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/format_test.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/format_test.ex index 5c7e4a6429..6dafb14d70 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/format_test.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/format_test.ex @@ -9,41 +9,41 @@ defmodule OpenapiPetstore.Model.FormatTest do @derive [Poison.Encoder] defstruct [ - :"integer", - :"int32", - :"int64", - :"number", - :"float", - :"double", - :"decimal", - :"string", - :"byte", - :"binary", - :"date", - :"dateTime", - :"uuid", - :"password", - :"pattern_with_digits", - :"pattern_with_digits_and_delimiter" + :integer, + :int32, + :int64, + :number, + :float, + :double, + :decimal, + :string, + :byte, + :binary, + :date, + :dateTime, + :uuid, + :password, + :pattern_with_digits, + :pattern_with_digits_and_delimiter ] @type t :: %__MODULE__{ - :"integer" => integer() | nil, - :"int32" => integer() | nil, - :"int64" => integer() | nil, - :"number" => float(), - :"float" => float() | nil, - :"double" => float() | nil, - :"decimal" => String.t | nil, - :"string" => String.t | nil, - :"byte" => binary(), - :"binary" => String.t | nil, - :"date" => Date.t, - :"dateTime" => DateTime.t | nil, - :"uuid" => String.t | nil, - :"password" => String.t, - :"pattern_with_digits" => String.t | nil, - :"pattern_with_digits_and_delimiter" => String.t | nil + :integer => integer() | nil, + :int32 => integer() | nil, + :int64 => integer() | nil, + :number => float(), + :float => float() | nil, + :double => float() | nil, + :decimal => String.t | nil, + :string => String.t | nil, + :byte => binary(), + :binary => String.t | nil, + :date => Date.t, + :dateTime => DateTime.t | nil, + :uuid => String.t | nil, + :password => String.t, + :pattern_with_digits => String.t | nil, + :pattern_with_digits_and_delimiter => String.t | nil } end @@ -51,7 +51,7 @@ defimpl Poison.Decoder, for: OpenapiPetstore.Model.FormatTest do import OpenapiPetstore.Deserializer def decode(value, options) do value - |> deserialize(:"date", :date, nil, options) + |> deserialize(:date, :date, nil, options) end end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/has_only_read_only.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/has_only_read_only.ex index 1a1fa302ed..c8bf68f5b2 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/has_only_read_only.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/has_only_read_only.ex @@ -9,13 +9,13 @@ defmodule OpenapiPetstore.Model.HasOnlyReadOnly do @derive [Poison.Encoder] defstruct [ - :"bar", - :"foo" + :bar, + :foo ] @type t :: %__MODULE__{ - :"bar" => String.t | nil, - :"foo" => String.t | nil + :bar => String.t | nil, + :foo => String.t | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/health_check_result.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/health_check_result.ex index 269dc67b7d..339a5fe876 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/health_check_result.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/health_check_result.ex @@ -9,11 +9,11 @@ defmodule OpenapiPetstore.Model.HealthCheckResult do @derive [Poison.Encoder] defstruct [ - :"NullableMessage" + :NullableMessage ] @type t :: %__MODULE__{ - :"NullableMessage" => String.t | nil + :NullableMessage => String.t | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/inline_response_default.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/inline_response_default.ex deleted file mode 100644 index 0bc779e951..0000000000 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/inline_response_default.ex +++ /dev/null @@ -1,27 +0,0 @@ -# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). -# https://openapi-generator.tech -# Do not edit the class manually. - -defmodule OpenapiPetstore.Model.InlineResponseDefault do - @moduledoc """ - - """ - - @derive [Poison.Encoder] - defstruct [ - :"string" - ] - - @type t :: %__MODULE__{ - :"string" => OpenapiPetstore.Model.Foo.t | nil - } -end - -defimpl Poison.Decoder, for: OpenapiPetstore.Model.InlineResponseDefault do - import OpenapiPetstore.Deserializer - def decode(value, options) do - value - |> deserialize(:"string", :struct, OpenapiPetstore.Model.Foo, options) - end -end - diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/map_test.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/map_test.ex index 726814dd81..6d94cf83c1 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/map_test.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/map_test.ex @@ -9,17 +9,17 @@ defmodule OpenapiPetstore.Model.MapTest do @derive [Poison.Encoder] defstruct [ - :"map_map_of_string", - :"map_of_enum_string", - :"direct_map", - :"indirect_map" + :map_map_of_string, + :map_of_enum_string, + :direct_map, + :indirect_map ] @type t :: %__MODULE__{ - :"map_map_of_string" => %{optional(String.t) => %{optional(String.t) => String.t}} | nil, - :"map_of_enum_string" => %{optional(String.t) => String.t} | nil, - :"direct_map" => %{optional(String.t) => boolean()} | nil, - :"indirect_map" => %{optional(String.t) => boolean()} | nil + :map_map_of_string => %{optional(String.t) => %{optional(String.t) => String.t}} | nil, + :map_of_enum_string => %{optional(String.t) => String.t} | nil, + :direct_map => %{optional(String.t) => boolean()} | nil, + :indirect_map => %{optional(String.t) => boolean()} | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/mixed_properties_and_additional_properties_class.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/mixed_properties_and_additional_properties_class.ex index c807226af2..a8e4981cd3 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/mixed_properties_and_additional_properties_class.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/mixed_properties_and_additional_properties_class.ex @@ -9,15 +9,15 @@ defmodule OpenapiPetstore.Model.MixedPropertiesAndAdditionalPropertiesClass do @derive [Poison.Encoder] defstruct [ - :"uuid", - :"dateTime", - :"map" + :uuid, + :dateTime, + :map ] @type t :: %__MODULE__{ - :"uuid" => String.t | nil, - :"dateTime" => DateTime.t | nil, - :"map" => %{optional(String.t) => OpenapiPetstore.Model.Animal.t} | nil + :uuid => String.t | nil, + :dateTime => DateTime.t | nil, + :map => %{optional(String.t) => OpenapiPetstore.Model.Animal.t} | nil } end @@ -25,7 +25,7 @@ defimpl Poison.Decoder, for: OpenapiPetstore.Model.MixedPropertiesAndAdditionalP import OpenapiPetstore.Deserializer def decode(value, options) do value - |> deserialize(:"map", :map, OpenapiPetstore.Model.Animal, options) + |> deserialize(:map, :map, OpenapiPetstore.Model.Animal, options) end end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/model_200_response.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/model_200_response.ex index 2bc6d15290..3fbd1067f7 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/model_200_response.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/model_200_response.ex @@ -9,13 +9,13 @@ defmodule OpenapiPetstore.Model.Model200Response do @derive [Poison.Encoder] defstruct [ - :"name", - :"class" + :name, + :class ] @type t :: %__MODULE__{ - :"name" => integer() | nil, - :"class" => String.t | nil + :name => integer() | nil, + :class => String.t | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/name.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/name.ex index cd2fdce24d..42d93796dd 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/name.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/name.ex @@ -9,16 +9,16 @@ defmodule OpenapiPetstore.Model.Name do @derive [Poison.Encoder] defstruct [ - :"name", - :"snake_case", - :"property", + :name, + :snake_case, + :property, :"123Number" ] @type t :: %__MODULE__{ - :"name" => integer(), - :"snake_case" => integer() | nil, - :"property" => String.t | nil, + :name => integer(), + :snake_case => integer() | nil, + :property => String.t | nil, :"123Number" => integer() | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/nullable_class.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/nullable_class.ex index 7fcdc03ddc..45174fd475 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/nullable_class.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/nullable_class.ex @@ -9,33 +9,33 @@ defmodule OpenapiPetstore.Model.NullableClass do @derive [Poison.Encoder] defstruct [ - :"integer_prop", - :"number_prop", - :"boolean_prop", - :"string_prop", - :"date_prop", - :"datetime_prop", - :"array_nullable_prop", - :"array_and_items_nullable_prop", - :"array_items_nullable", - :"object_nullable_prop", - :"object_and_items_nullable_prop", - :"object_items_nullable" + :integer_prop, + :number_prop, + :boolean_prop, + :string_prop, + :date_prop, + :datetime_prop, + :array_nullable_prop, + :array_and_items_nullable_prop, + :array_items_nullable, + :object_nullable_prop, + :object_and_items_nullable_prop, + :object_items_nullable ] @type t :: %__MODULE__{ - :"integer_prop" => integer() | nil, - :"number_prop" => float() | nil, - :"boolean_prop" => boolean() | nil, - :"string_prop" => String.t | nil, - :"date_prop" => Date.t | nil, - :"datetime_prop" => DateTime.t | nil, - :"array_nullable_prop" => [map()] | nil, - :"array_and_items_nullable_prop" => [map()] | nil, - :"array_items_nullable" => [map()] | nil, - :"object_nullable_prop" => %{optional(String.t) => map()} | nil, - :"object_and_items_nullable_prop" => %{optional(String.t) => map()} | nil, - :"object_items_nullable" => %{optional(String.t) => map()} | nil + :integer_prop => integer() | nil, + :number_prop => float() | nil, + :boolean_prop => boolean() | nil, + :string_prop => String.t | nil, + :date_prop => Date.t | nil, + :datetime_prop => DateTime.t | nil, + :array_nullable_prop => [map()] | nil, + :array_and_items_nullable_prop => [map()] | nil, + :array_items_nullable => [map()] | nil, + :object_nullable_prop => %{optional(String.t) => map()} | nil, + :object_and_items_nullable_prop => %{optional(String.t) => map()} | nil, + :object_items_nullable => %{optional(String.t) => map()} | nil } end @@ -43,7 +43,7 @@ defimpl Poison.Decoder, for: OpenapiPetstore.Model.NullableClass do import OpenapiPetstore.Deserializer def decode(value, options) do value - |> deserialize(:"date_prop", :date, nil, options) + |> deserialize(:date_prop, :date, nil, options) end end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/number_only.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/number_only.ex index 825553cf9f..5658d13314 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/number_only.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/number_only.ex @@ -9,11 +9,11 @@ defmodule OpenapiPetstore.Model.NumberOnly do @derive [Poison.Encoder] defstruct [ - :"JustNumber" + :JustNumber ] @type t :: %__MODULE__{ - :"JustNumber" => float() | nil + :JustNumber => float() | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/object_with_deprecated_fields.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/object_with_deprecated_fields.ex index 71c8cb4a82..a3f5cc4a53 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/object_with_deprecated_fields.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/object_with_deprecated_fields.ex @@ -9,17 +9,17 @@ defmodule OpenapiPetstore.Model.ObjectWithDeprecatedFields do @derive [Poison.Encoder] defstruct [ - :"uuid", - :"id", - :"deprecatedRef", - :"bars" + :uuid, + :id, + :deprecatedRef, + :bars ] @type t :: %__MODULE__{ - :"uuid" => String.t | nil, - :"id" => float() | nil, - :"deprecatedRef" => OpenapiPetstore.Model.DeprecatedObject.t | nil, - :"bars" => [OpenapiPetstore.Model.String.t] | nil + :uuid => String.t | nil, + :id => float() | nil, + :deprecatedRef => OpenapiPetstore.Model.DeprecatedObject.t | nil, + :bars => [OpenapiPetstore.Model.String.t] | nil } end @@ -27,7 +27,7 @@ defimpl Poison.Decoder, for: OpenapiPetstore.Model.ObjectWithDeprecatedFields do import OpenapiPetstore.Deserializer def decode(value, options) do value - |> deserialize(:"deprecatedRef", :struct, OpenapiPetstore.Model.DeprecatedObject, options) + |> deserialize(:deprecatedRef, :struct, OpenapiPetstore.Model.DeprecatedObject, options) end end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/order.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/order.ex index 936a7039dc..0b430ca41c 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/order.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/order.ex @@ -9,21 +9,21 @@ defmodule OpenapiPetstore.Model.Order do @derive [Poison.Encoder] defstruct [ - :"id", - :"petId", - :"quantity", - :"shipDate", - :"status", - :"complete" + :id, + :petId, + :quantity, + :shipDate, + :status, + :complete ] @type t :: %__MODULE__{ - :"id" => integer() | nil, - :"petId" => integer() | nil, - :"quantity" => integer() | nil, - :"shipDate" => DateTime.t | nil, - :"status" => String.t | nil, - :"complete" => boolean() | nil + :id => integer() | nil, + :petId => integer() | nil, + :quantity => integer() | nil, + :shipDate => DateTime.t | nil, + :status => String.t | nil, + :complete => boolean() | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/outer_composite.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/outer_composite.ex index 04143a20a5..abacaa6d85 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/outer_composite.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/outer_composite.ex @@ -9,15 +9,15 @@ defmodule OpenapiPetstore.Model.OuterComposite do @derive [Poison.Encoder] defstruct [ - :"my_number", - :"my_string", - :"my_boolean" + :my_number, + :my_string, + :my_boolean ] @type t :: %__MODULE__{ - :"my_number" => float() | nil, - :"my_string" => String.t | nil, - :"my_boolean" => boolean() | nil + :my_number => float() | nil, + :my_string => String.t | nil, + :my_boolean => boolean() | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/outer_object_with_enum_property.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/outer_object_with_enum_property.ex index 2eed9a6dfa..23502200bf 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/outer_object_with_enum_property.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/outer_object_with_enum_property.ex @@ -9,11 +9,11 @@ defmodule OpenapiPetstore.Model.OuterObjectWithEnumProperty do @derive [Poison.Encoder] defstruct [ - :"value" + :value ] @type t :: %__MODULE__{ - :"value" => OpenapiPetstore.Model.OuterEnumInteger.t + :value => OpenapiPetstore.Model.OuterEnumInteger.t } end @@ -21,7 +21,7 @@ defimpl Poison.Decoder, for: OpenapiPetstore.Model.OuterObjectWithEnumProperty d import OpenapiPetstore.Deserializer def decode(value, options) do value - |> deserialize(:"value", :struct, OpenapiPetstore.Model.OuterEnumInteger, options) + |> deserialize(:value, :struct, OpenapiPetstore.Model.OuterEnumInteger, options) end end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/pet.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/pet.ex index a46e041dcb..046e5bee22 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/pet.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/pet.ex @@ -9,21 +9,21 @@ defmodule OpenapiPetstore.Model.Pet do @derive [Poison.Encoder] defstruct [ - :"id", - :"category", - :"name", - :"photoUrls", - :"tags", - :"status" + :id, + :category, + :name, + :photoUrls, + :tags, + :status ] @type t :: %__MODULE__{ - :"id" => integer() | nil, - :"category" => OpenapiPetstore.Model.Category.t | nil, - :"name" => String.t, - :"photoUrls" => [String.t], - :"tags" => [OpenapiPetstore.Model.Tag.t] | nil, - :"status" => String.t | nil + :id => integer() | nil, + :category => OpenapiPetstore.Model.Category.t | nil, + :name => String.t, + :photoUrls => [String.t], + :tags => [OpenapiPetstore.Model.Tag.t] | nil, + :status => String.t | nil } end @@ -31,8 +31,8 @@ defimpl Poison.Decoder, for: OpenapiPetstore.Model.Pet do import OpenapiPetstore.Deserializer def decode(value, options) do value - |> deserialize(:"category", :struct, OpenapiPetstore.Model.Category, options) - |> deserialize(:"tags", :list, OpenapiPetstore.Model.Tag, options) + |> deserialize(:category, :struct, OpenapiPetstore.Model.Category, options) + |> deserialize(:tags, :list, OpenapiPetstore.Model.Tag, options) end end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/read_only_first.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/read_only_first.ex index bfd2dda207..6f36aba467 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/read_only_first.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/read_only_first.ex @@ -9,13 +9,13 @@ defmodule OpenapiPetstore.Model.ReadOnlyFirst do @derive [Poison.Encoder] defstruct [ - :"bar", - :"baz" + :bar, + :baz ] @type t :: %__MODULE__{ - :"bar" => String.t | nil, - :"baz" => String.t | nil + :bar => String.t | nil, + :baz => String.t | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/return.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/return.ex index 8a2102c598..54b3cbf391 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/return.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/return.ex @@ -9,11 +9,11 @@ defmodule OpenapiPetstore.Model.Return do @derive [Poison.Encoder] defstruct [ - :"return" + :return ] @type t :: %__MODULE__{ - :"return" => integer() | nil + :return => integer() | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/special_model_name.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/special_model_name.ex deleted file mode 100644 index 429129b42a..0000000000 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/special_model_name.ex +++ /dev/null @@ -1,25 +0,0 @@ -# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). -# https://openapi-generator.tech -# Do not edit the class manually. - -defmodule OpenapiPetstore.Model.SpecialModelName do - @moduledoc """ - - """ - - @derive [Poison.Encoder] - defstruct [ - :"$special[property.name]" - ] - - @type t :: %__MODULE__{ - :"$special[property.name]" => integer() | nil - } -end - -defimpl Poison.Decoder, for: OpenapiPetstore.Model.SpecialModelName do - def decode(value, _options) do - value - end -end - diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/tag.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/tag.ex index 5dd3bac750..f64ba461a3 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/tag.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/tag.ex @@ -9,13 +9,13 @@ defmodule OpenapiPetstore.Model.Tag do @derive [Poison.Encoder] defstruct [ - :"id", - :"name" + :id, + :name ] @type t :: %__MODULE__{ - :"id" => integer() | nil, - :"name" => String.t | nil + :id => integer() | nil, + :name => String.t | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/type_holder_default.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/type_holder_default.ex deleted file mode 100644 index 7964b258c7..0000000000 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/type_holder_default.ex +++ /dev/null @@ -1,33 +0,0 @@ -# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). -# https://openapi-generator.tech -# Do not edit the class manually. - -defmodule OpenapiPetstore.Model.TypeHolderDefault do - @moduledoc """ - - """ - - @derive [Poison.Encoder] - defstruct [ - :"string_item", - :"number_item", - :"integer_item", - :"bool_item", - :"array_item" - ] - - @type t :: %__MODULE__{ - :"string_item" => String.t, - :"number_item" => float(), - :"integer_item" => integer(), - :"bool_item" => boolean(), - :"array_item" => [integer()] - } -end - -defimpl Poison.Decoder, for: OpenapiPetstore.Model.TypeHolderDefault do - def decode(value, _options) do - value - end -end - diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/type_holder_example.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/type_holder_example.ex deleted file mode 100644 index 194a74c32c..0000000000 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/type_holder_example.ex +++ /dev/null @@ -1,35 +0,0 @@ -# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). -# https://openapi-generator.tech -# Do not edit the class manually. - -defmodule OpenapiPetstore.Model.TypeHolderExample do - @moduledoc """ - - """ - - @derive [Poison.Encoder] - defstruct [ - :"string_item", - :"number_item", - :"float_item", - :"integer_item", - :"bool_item", - :"array_item" - ] - - @type t :: %__MODULE__{ - :"string_item" => String.t, - :"number_item" => float(), - :"float_item" => float(), - :"integer_item" => integer(), - :"bool_item" => boolean(), - :"array_item" => [integer()] - } -end - -defimpl Poison.Decoder, for: OpenapiPetstore.Model.TypeHolderExample do - def decode(value, _options) do - value - end -end - diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/user.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/user.ex index faaf4ab9a9..368e3f52a3 100644 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/user.ex +++ b/samples/client/petstore/elixir/lib/openapi_petstore/model/user.ex @@ -9,25 +9,25 @@ defmodule OpenapiPetstore.Model.User do @derive [Poison.Encoder] defstruct [ - :"id", - :"username", - :"firstName", - :"lastName", - :"email", - :"password", - :"phone", - :"userStatus" + :id, + :username, + :firstName, + :lastName, + :email, + :password, + :phone, + :userStatus ] @type t :: %__MODULE__{ - :"id" => integer() | nil, - :"username" => String.t | nil, - :"firstName" => String.t | nil, - :"lastName" => String.t | nil, - :"email" => String.t | nil, - :"password" => String.t | nil, - :"phone" => String.t | nil, - :"userStatus" => integer() | nil + :id => integer() | nil, + :username => String.t | nil, + :firstName => String.t | nil, + :lastName => String.t | nil, + :email => String.t | nil, + :password => String.t | nil, + :phone => String.t | nil, + :userStatus => integer() | nil } end diff --git a/samples/client/petstore/elixir/lib/openapi_petstore/model/xml_item.ex b/samples/client/petstore/elixir/lib/openapi_petstore/model/xml_item.ex deleted file mode 100644 index 48cb6a573e..0000000000 --- a/samples/client/petstore/elixir/lib/openapi_petstore/model/xml_item.ex +++ /dev/null @@ -1,81 +0,0 @@ -# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). -# https://openapi-generator.tech -# Do not edit the class manually. - -defmodule OpenapiPetstore.Model.XmlItem do - @moduledoc """ - - """ - - @derive [Poison.Encoder] - defstruct [ - :"attribute_string", - :"attribute_number", - :"attribute_integer", - :"attribute_boolean", - :"wrapped_array", - :"name_string", - :"name_number", - :"name_integer", - :"name_boolean", - :"name_array", - :"name_wrapped_array", - :"prefix_string", - :"prefix_number", - :"prefix_integer", - :"prefix_boolean", - :"prefix_array", - :"prefix_wrapped_array", - :"namespace_string", - :"namespace_number", - :"namespace_integer", - :"namespace_boolean", - :"namespace_array", - :"namespace_wrapped_array", - :"prefix_ns_string", - :"prefix_ns_number", - :"prefix_ns_integer", - :"prefix_ns_boolean", - :"prefix_ns_array", - :"prefix_ns_wrapped_array" - ] - - @type t :: %__MODULE__{ - :"attribute_string" => String.t | nil, - :"attribute_number" => float() | nil, - :"attribute_integer" => integer() | nil, - :"attribute_boolean" => boolean() | nil, - :"wrapped_array" => [integer()] | nil, - :"name_string" => String.t | nil, - :"name_number" => float() | nil, - :"name_integer" => integer() | nil, - :"name_boolean" => boolean() | nil, - :"name_array" => [integer()] | nil, - :"name_wrapped_array" => [integer()] | nil, - :"prefix_string" => String.t | nil, - :"prefix_number" => float() | nil, - :"prefix_integer" => integer() | nil, - :"prefix_boolean" => boolean() | nil, - :"prefix_array" => [integer()] | nil, - :"prefix_wrapped_array" => [integer()] | nil, - :"namespace_string" => String.t | nil, - :"namespace_number" => float() | nil, - :"namespace_integer" => integer() | nil, - :"namespace_boolean" => boolean() | nil, - :"namespace_array" => [integer()] | nil, - :"namespace_wrapped_array" => [integer()] | nil, - :"prefix_ns_string" => String.t | nil, - :"prefix_ns_number" => float() | nil, - :"prefix_ns_integer" => integer() | nil, - :"prefix_ns_boolean" => boolean() | nil, - :"prefix_ns_array" => [integer()] | nil, - :"prefix_ns_wrapped_array" => [integer()] | nil - } -end - -defimpl Poison.Decoder, for: OpenapiPetstore.Model.XmlItem do - def decode(value, _options) do - value - end -end - diff --git a/samples/client/petstore/elixir/mix.exs b/samples/client/petstore/elixir/mix.exs index 2a76144361..c03b200a50 100644 --- a/samples/client/petstore/elixir/mix.exs +++ b/samples/client/petstore/elixir/mix.exs @@ -4,7 +4,7 @@ defmodule OpenapiPetstore.Mixfile do def project do [app: :openapi_petstore, version: "1.0.0", - elixir: "~> 1.6", + elixir: "~> 1.10", build_embedded: Mix.env == :prod, start_permanent: Mix.env == :prod, package: package(), @@ -31,15 +31,16 @@ defmodule OpenapiPetstore.Mixfile do # Type "mix help deps" for more examples and options defp deps do [ - {:tesla, "~> 1.2"}, - {:poison, "~> 3.0"} + {:tesla, "~> 1.4"}, + {:poison, "~> 3.0"}, + {:ex_doc, "~> 0.28", only: :dev, runtime: false} ] end defp package() do [ name: "openapi_petstore", - files: ~w(lib mix.exs README* LICENSE*), + files: ~w(.formatter.exs config lib mix.exs README* LICENSE*), licenses: [""] ] end diff --git a/samples/client/petstore/elixir/pom.xml b/samples/client/petstore/elixir/pom.xml deleted file mode 100644 index 589db62d2d..0000000000 --- a/samples/client/petstore/elixir/pom.xml +++ /dev/null @@ -1,75 +0,0 @@ - - 4.0.0 - io.swagger - ElixirPetstoreClientTests - pom - 1.0-SNAPSHOT - Elixir Petstore Client - - - - maven-dependency-plugin - - - package - - copy-dependencies - - - ${project.build.directory} - - - - - - org.codehaus.mojo - exec-maven-plugin - 1.2.1 - - - dep-install - pre-integration-test - - exec - - - mix - - local.hex - --force - - - - - compile - integration-test - - exec - - - mix - - do - deps.get, - compile - - - - - test - integration-test - - exec - - - mix - - test - - - - - - - - diff --git a/samples/client/petstore/elixir/test/pet_test.exs b/samples/client/petstore/elixir/test/pet_test.exs deleted file mode 100644 index 6011a08ccf..0000000000 --- a/samples/client/petstore/elixir/test/pet_test.exs +++ /dev/null @@ -1,60 +0,0 @@ -defmodule PetTest do - use ExUnit.Case - alias OpenapiPetstore.Connection - alias OpenapiPetstore.Api.Pet, as: PetApi - alias OpenapiPetstore.Model.Pet - alias OpenapiPetstore.Model.Category - alias OpenapiPetstore.Model.Tag - - test "add and delete a pet" do - petId = 10007 - pet = %Pet{ - :id => petId, - :name => "elixir client test", - :photoUrls => ["http://test_elixir_unit_test.com"], - :category => %Category{:id => petId, :name=> "test elixir category"}, - :tags => [%Tag{:id => petId, :name => "test elixir tag"}], - } - {:ok, response} = PetApi.add_pet(Connection.new, pet) - assert response.status == 200 - - {:ok, pet} = PetApi.get_pet_by_id(Connection.new, petId) - assert pet.id == petId - assert pet.name == "elixir client test" - assert List.first(pet.photoUrls) == "http://test_elixir_unit_test.com" - assert pet.category.id == petId - assert pet.category.name == "test elixir category" - assert List.first(pet.tags) == %Tag{:id => petId, :name => "test elixir tag"} - - {:ok, response} = PetApi.delete_pet(Connection.new, petId) - assert response.status == 200 - {:ok, response} = PetApi.get_pet_by_id(Connection.new, petId) - assert response.status == 404 - end - - test "update a pet" do - petId = 10007 - pet = %Pet{ - :id => petId, - :name => "elixir client updatePet", - :status => "pending", - :photoUrls => ["http://test_elixir_unit_test.com"] - } - {:ok, response} = PetApi.update_pet(Connection.new, pet) - assert response.status == 200 - - {:ok, pet} = PetApi.get_pet_by_id(Connection.new, petId) - assert pet.id == petId - assert pet.name == "elixir client updatePet" - assert pet.status == "pending" - end - - test "find pet by status" do - {:ok, listPets} = PetApi.find_pets_by_status(Connection.new, "available") - assert List.first(listPets) != nil - - {:ok, listPets} = PetApi.find_pets_by_status(Connection.new, "unknown_and_incorrect_status") - assert List.first(listPets) == nil - end - -end From 72b4189f76accaddd5aeab8923bfef3316d5b46a Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 3 Jul 2022 17:34:11 +0800 Subject: [PATCH 135/212] add back elixir petstore test-related files --- .../petstore/elixir/.openapi-generator/FILES | 1 - samples/client/petstore/elixir/pom.xml | 75 +++++++++++++++++++ .../client/petstore/elixir/test/pet_test.exs | 60 +++++++++++++++ 3 files changed, 135 insertions(+), 1 deletion(-) create mode 100644 samples/client/petstore/elixir/pom.xml create mode 100644 samples/client/petstore/elixir/test/pet_test.exs diff --git a/samples/client/petstore/elixir/.openapi-generator/FILES b/samples/client/petstore/elixir/.openapi-generator/FILES index c08711e037..d3fc358810 100644 --- a/samples/client/petstore/elixir/.openapi-generator/FILES +++ b/samples/client/petstore/elixir/.openapi-generator/FILES @@ -1,6 +1,5 @@ .formatter.exs .gitignore -.openapi-generator-ignore README.md config/config.exs config/runtime.exs diff --git a/samples/client/petstore/elixir/pom.xml b/samples/client/petstore/elixir/pom.xml new file mode 100644 index 0000000000..589db62d2d --- /dev/null +++ b/samples/client/petstore/elixir/pom.xml @@ -0,0 +1,75 @@ + + 4.0.0 + io.swagger + ElixirPetstoreClientTests + pom + 1.0-SNAPSHOT + Elixir Petstore Client + + + + maven-dependency-plugin + + + package + + copy-dependencies + + + ${project.build.directory} + + + + + + org.codehaus.mojo + exec-maven-plugin + 1.2.1 + + + dep-install + pre-integration-test + + exec + + + mix + + local.hex + --force + + + + + compile + integration-test + + exec + + + mix + + do + deps.get, + compile + + + + + test + integration-test + + exec + + + mix + + test + + + + + + + + diff --git a/samples/client/petstore/elixir/test/pet_test.exs b/samples/client/petstore/elixir/test/pet_test.exs new file mode 100644 index 0000000000..6011a08ccf --- /dev/null +++ b/samples/client/petstore/elixir/test/pet_test.exs @@ -0,0 +1,60 @@ +defmodule PetTest do + use ExUnit.Case + alias OpenapiPetstore.Connection + alias OpenapiPetstore.Api.Pet, as: PetApi + alias OpenapiPetstore.Model.Pet + alias OpenapiPetstore.Model.Category + alias OpenapiPetstore.Model.Tag + + test "add and delete a pet" do + petId = 10007 + pet = %Pet{ + :id => petId, + :name => "elixir client test", + :photoUrls => ["http://test_elixir_unit_test.com"], + :category => %Category{:id => petId, :name=> "test elixir category"}, + :tags => [%Tag{:id => petId, :name => "test elixir tag"}], + } + {:ok, response} = PetApi.add_pet(Connection.new, pet) + assert response.status == 200 + + {:ok, pet} = PetApi.get_pet_by_id(Connection.new, petId) + assert pet.id == petId + assert pet.name == "elixir client test" + assert List.first(pet.photoUrls) == "http://test_elixir_unit_test.com" + assert pet.category.id == petId + assert pet.category.name == "test elixir category" + assert List.first(pet.tags) == %Tag{:id => petId, :name => "test elixir tag"} + + {:ok, response} = PetApi.delete_pet(Connection.new, petId) + assert response.status == 200 + {:ok, response} = PetApi.get_pet_by_id(Connection.new, petId) + assert response.status == 404 + end + + test "update a pet" do + petId = 10007 + pet = %Pet{ + :id => petId, + :name => "elixir client updatePet", + :status => "pending", + :photoUrls => ["http://test_elixir_unit_test.com"] + } + {:ok, response} = PetApi.update_pet(Connection.new, pet) + assert response.status == 200 + + {:ok, pet} = PetApi.get_pet_by_id(Connection.new, petId) + assert pet.id == petId + assert pet.name == "elixir client updatePet" + assert pet.status == "pending" + end + + test "find pet by status" do + {:ok, listPets} = PetApi.find_pets_by_status(Connection.new, "available") + assert List.first(listPets) != nil + + {:ok, listPets} = PetApi.find_pets_by_status(Connection.new, "unknown_and_incorrect_status") + assert List.first(listPets) == nil + end + +end From 2d3bfaf96dad35629453c1b99a3f8efa0a084bee Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 3 Jul 2022 17:46:39 +0800 Subject: [PATCH 136/212] Add schema mappings (#12600) * add option schema mappings * add schema mapping support, update tests * minor fix * update other generators, tests --- .../openapitools/codegen/cmd/ConfigHelp.java | 15 +++++++ .../openapitools/codegen/cmd/Generate.java | 8 ++++ .../codegen/config/GeneratorSettings.java | 45 +++++++++++++++++++ .../gradle/plugin/OpenApiGeneratorPlugin.kt | 1 + .../OpenApiGeneratorGenerateExtension.kt | 5 +++ .../gradle/plugin/tasks/GenerateTask.kt | 13 ++++++ .../codegen/plugin/CodeGenMojo.java | 17 +++++++ .../openapitools/codegen/CodegenConfig.java | 4 +- .../openapitools/codegen/DefaultCodegen.java | 44 ++++++++++-------- .../codegen/DefaultGenerator.java | 20 ++++++++- .../codegen/config/CodegenConfigurator.java | 17 +++++++ .../config/CodegenConfiguratorUtils.java | 13 ++++++ .../languages/AbstractCSharpCodegen.java | 6 +-- .../languages/AbstractDartCodegen.java | 2 +- .../languages/AbstractEiffelCodegen.java | 6 +-- .../languages/AbstractJavaCodegen.java | 8 +++- .../languages/AbstractKotlinCodegen.java | 8 +++- .../languages/AbstractScalaCodegen.java | 2 +- .../languages/CppRestSdkClientCodegen.java | 2 +- .../languages/PythonClientCodegen.java | 24 +++++----- .../PythonExperimentalClientCodegen.java | 28 ++++++------ .../languages/TypeScriptClientCodegen.java | 2 +- .../TypeScriptFetchClientCodegen.java | 2 +- .../codegen/utils/ModelUtils.java | 16 +++---- .../codegen/DefaultCodegenTest.java | 15 +++++++ .../codegen/java/AbstractJavaCodegenTest.java | 6 +-- .../codegen/java/JavaClientCodegenTest.java | 14 +++--- .../kotlin/AbstractKotlinCodegenTest.java | 9 +++- .../codegen/utils/ModelUtilsTest.java | 6 +-- 29 files changed, 277 insertions(+), 81 deletions(-) diff --git a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/ConfigHelp.java b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/ConfigHelp.java index 07bf359e99..d206a6749f 100644 --- a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/ConfigHelp.java +++ b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/ConfigHelp.java @@ -71,6 +71,9 @@ public class ConfigHelp extends OpenApiGeneratorCommand { @Option(name = {"--import-mappings"}, title = "import mappings", description = "displays the default import mappings (types and aliases, and what imports they will pull into the template)") private Boolean importMappings; + @Option(name = {"--schema-mappings"}, title = "schema mappings", description = "display the schema mappings (none)") + private Boolean schemaMappings; + @Option(name = {"--inline-schema-name-mappings"}, title = "inline schema name mappings", description = "displays the inline schema name mappings (none)") private Boolean inlineSchemaNameMappings; @@ -455,6 +458,18 @@ public class ConfigHelp extends OpenApiGeneratorCommand { sb.append(newline); } + if (Boolean.TRUE.equals(schemaMappings)) { + sb.append(newline).append("SCHEMA MAPPING").append(newline).append(newline); + Map map = config.schemaMapping() + .entrySet() + .stream() + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (a, b) -> { + throw new IllegalStateException(String.format(Locale.ROOT, "Duplicated options! %s and %s", a, b)); + }, TreeMap::new)); + writePlainTextFromMap(sb, map, optIndent, optNestedIndent, "Scheme", "Mapped to"); + sb.append(newline); + } + if (Boolean.TRUE.equals(inlineSchemaNameMappings)) { sb.append(newline).append("INLINE SCHEMA NAME MAPPING").append(newline).append(newline); Map map = config.inlineSchemaNameMapping() diff --git a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java index 967fd6192d..02f6f99f61 100644 --- a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java +++ b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java @@ -159,6 +159,13 @@ public class Generate extends OpenApiGeneratorCommand { + " You can also have multiple occurrences of this option.") private List importMappings = new ArrayList<>(); + @Option( + name = {"--schema-mappings"}, + title = "schema mappings", + description = "specifies mappings between the schema and the new name in the format of schema_a=Cat,schema_b=Bird." + + " You can also have multiple occurrences of this option.") + private List schemaMappings = new ArrayList<>(); + @Option( name = {"--inline-schema-name-mappings"}, title = "inline schema name mappings", @@ -437,6 +444,7 @@ public class Generate extends OpenApiGeneratorCommand { } applyInstantiationTypesKvpList(instantiationTypes, configurator); applyImportMappingsKvpList(importMappings, configurator); + applySchemaMappingsKvpList(schemaMappings, configurator); applyInlineSchemaNameMappingsKvpList(inlineSchemaNameMappings, configurator); applyInlineSchemaNameDefaultsKvpList(inlineSchemaNameDefaults, configurator); applyTypeMappingsKvpList(typeMappings, configurator); diff --git a/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/GeneratorSettings.java b/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/GeneratorSettings.java index 265fd2f34e..c14a06721e 100644 --- a/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/GeneratorSettings.java +++ b/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/GeneratorSettings.java @@ -50,6 +50,7 @@ public final class GeneratorSettings implements Serializable { private final Map typeMappings; private final Map additionalProperties; private final Map importMappings; + private final Map schemaMappings; private final Map inlineSchemaNameMappings; private final Map inlineSchemaNameDefaults; private final Set languageSpecificPrimitives; @@ -236,6 +237,15 @@ public final class GeneratorSettings implements Serializable { return importMappings; } + /** + * Gets schema mappings between a schema and the new name. + * + * @return the schema mappings + */ + public Map getSchemaMappings() { + return schemaMappings; + } + /** * Gets inline schema name mappings between an inline schema name and the new name. * @@ -369,6 +379,7 @@ public final class GeneratorSettings implements Serializable { instantiationTypes = Collections.unmodifiableMap(builder.instantiationTypes); typeMappings = Collections.unmodifiableMap(builder.typeMappings); importMappings = Collections.unmodifiableMap(builder.importMappings); + schemaMappings = Collections.unmodifiableMap(builder.schemaMappings); inlineSchemaNameMappings = Collections.unmodifiableMap(builder.inlineSchemaNameMappings); inlineSchemaNameDefaults = Collections.unmodifiableMap(builder.inlineSchemaNameDefaults); languageSpecificPrimitives = Collections.unmodifiableSet(builder.languageSpecificPrimitives); @@ -441,6 +452,7 @@ public final class GeneratorSettings implements Serializable { typeMappings = Collections.unmodifiableMap(new HashMap<>(0)); additionalProperties = Collections.unmodifiableMap(new HashMap<>(0)); importMappings = Collections.unmodifiableMap(new HashMap<>(0)); + schemaMappings = Collections.unmodifiableMap(new HashMap<>(0)); inlineSchemaNameMappings = Collections.unmodifiableMap(new HashMap<>(0)); inlineSchemaNameDefaults = Collections.unmodifiableMap(new HashMap<>(0)); languageSpecificPrimitives = Collections.unmodifiableSet(new HashSet<>(0)); @@ -494,6 +506,9 @@ public final class GeneratorSettings implements Serializable { if (copy.getImportMappings() != null) { builder.importMappings.putAll(copy.getImportMappings()); } + if (copy.getSchemaMappings() != null) { + builder.schemaMappings.putAll(copy.getSchemaMappings()); + } if (copy.getInlineSchemaNameMappings() != null) { builder.inlineSchemaNameMappings.putAll(copy.getInlineSchemaNameMappings()); } @@ -539,6 +554,7 @@ public final class GeneratorSettings implements Serializable { private Map typeMappings; private Map additionalProperties; private Map importMappings; + private Map schemaMappings; private Map inlineSchemaNameMappings; private Map inlineSchemaNameDefaults; private Set languageSpecificPrimitives; @@ -558,6 +574,7 @@ public final class GeneratorSettings implements Serializable { typeMappings = new HashMap<>(); additionalProperties = new HashMap<>(); importMappings = new HashMap<>(); + schemaMappings = new HashMap<>(); inlineSchemaNameMappings = new HashMap<>(); inlineSchemaNameDefaults = new HashMap<>(); languageSpecificPrimitives = new HashSet<>(); @@ -776,6 +793,32 @@ public final class GeneratorSettings implements Serializable { return this; } + /** + * Sets the {@code schemaMappings} and returns a reference to this Builder so that the methods can be chained together. + * + * @param schemaMappings the {@code schemaMappings} to set + * @return a reference to this Builder + */ + public Builder withSchemaMappings(Map schemaMappings) { + this.schemaMappings = schemaMappings; + return this; + } + + /** + * Sets a single {@code schemaMappings} and returns a reference to this Builder so that the methods can be chained together. + * + * @param key A key for some schema mapping + * @param value The value of some schema mapping + * @return a reference to this Builder + */ + public Builder withSchemaMapping(String key, String value) { + if (this.schemaMappings == null) { + this.schemaMappings = new HashMap<>(); + } + this.schemaMappings.put(key, value); + return this; + } + /** * Sets the {@code importMappings} and returns a reference to this Builder so that the methods can be chained together. * @@ -1039,6 +1082,7 @@ public final class GeneratorSettings implements Serializable { Objects.equals(getTypeMappings(), that.getTypeMappings()) && Objects.equals(getAdditionalProperties(), that.getAdditionalProperties()) && Objects.equals(getImportMappings(), that.getImportMappings()) && + Objects.equals(getSchemaMappings(), that.getSchemaMappings()) && Objects.equals(getInlineSchemaNameMappings(), that.getInlineSchemaNameMappings()) && Objects.equals(getInlineSchemaNameDefaults(), that.getInlineSchemaNameDefaults()) && Objects.equals(getLanguageSpecificPrimitives(), that.getLanguageSpecificPrimitives()) && @@ -1069,6 +1113,7 @@ public final class GeneratorSettings implements Serializable { getTypeMappings(), getAdditionalProperties(), getImportMappings(), + getSchemaMappings(), getInlineSchemaNameMappings(), getInlineSchemaNameDefaults(), getLanguageSpecificPrimitives(), diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/OpenApiGeneratorPlugin.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/OpenApiGeneratorPlugin.kt index c6410ced6e..7457ccf98b 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/OpenApiGeneratorPlugin.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/OpenApiGeneratorPlugin.kt @@ -113,6 +113,7 @@ class OpenApiGeneratorPlugin : Plugin { serverVariables.set(generate.serverVariables) languageSpecificPrimitives.set(generate.languageSpecificPrimitives) importMappings.set(generate.importMappings) + schemaMappings.set(generate.schemaMappings) inlineSchemaNameMappings.set(generate.inlineSchemaNameMappings) inlineSchemaNameDefaults.set(generate.inlineSchemaNameDefaults) invokerPackage.set(generate.invokerPackage) diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGenerateExtension.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGenerateExtension.kt index 6ea8608fd4..6a5ef25cc0 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGenerateExtension.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGenerateExtension.kt @@ -141,6 +141,11 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { */ val importMappings = project.objects.mapProperty() + /** + * Specifies mappings between a given schema and the new one + */ + val schemaMappings = project.objects.mapProperty() + /** * Specifies mappings between an inline schema name and the new name */ diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GenerateTask.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GenerateTask.kt index 5ebec599e6..d81ab68d91 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GenerateTask.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GenerateTask.kt @@ -219,6 +219,13 @@ open class GenerateTask : DefaultTask() { @Input val importMappings = project.objects.mapProperty() + /** + * Specifies mappings between a given schema and the new one. + */ + @Optional + @Input + val schemaMappings = project.objects.mapProperty() + /** * Specifies mappings between the inline scheme name and the new name */ @@ -692,6 +699,12 @@ open class GenerateTask : DefaultTask() { } } + if (schemaMappings.isPresent) { + schemaMappings.get().forEach { entry -> + configurator.addSchemaMapping(entry.key, entry.value) + } + } + if (inlineSchemaNameMappings.isPresent) { inlineSchemaNameMappings.get().forEach { entry -> configurator.addInlineSchemaNameMapping(entry.key, entry.value) diff --git a/modules/openapi-generator-maven-plugin/src/main/java/org/openapitools/codegen/plugin/CodeGenMojo.java b/modules/openapi-generator-maven-plugin/src/main/java/org/openapitools/codegen/plugin/CodeGenMojo.java index 56e39b8284..44e49ca521 100644 --- a/modules/openapi-generator-maven-plugin/src/main/java/org/openapitools/codegen/plugin/CodeGenMojo.java +++ b/modules/openapi-generator-maven-plugin/src/main/java/org/openapitools/codegen/plugin/CodeGenMojo.java @@ -298,6 +298,12 @@ public class CodeGenMojo extends AbstractMojo { @Parameter(name = "importMappings", property = "openapi.generator.maven.plugin.importMappings") private List importMappings; + /** + * A map of scheme and the new one + */ + @Parameter(name = "schemaMappings", property = "openapi.generator.maven.plugin.schemaMappings") + private List schemaMappings; + /** * A map of inline scheme names and the new names */ @@ -671,6 +677,12 @@ public class CodeGenMojo extends AbstractMojo { configurator); } + // Retained for backwards-compatibility with configOptions -> schema-mappings + if (schemaMappings == null && configOptions.containsKey("schema-mappings")) { + applySchemaMappingsKvp(configOptions.get("schema-mappings").toString(), + configurator); + } + // Retained for backwards-compatibility with configOptions -> inline-schema-name-mappings if (inlineSchemaNameMappings == null && configOptions.containsKey("inline-schema-name-mappings")) { applyInlineSchemaNameMappingsKvp(configOptions.get("inline-schema-name-mappings").toString(), @@ -721,6 +733,11 @@ public class CodeGenMojo extends AbstractMojo { applyImportMappingsKvpList(importMappings, configurator); } + // Apply Schema Mappings + if (schemaMappings != null && (configOptions == null || !configOptions.containsKey("schema-mappings"))) { + applySchemaMappingsKvpList(schemaMappings, configurator); + } + // Apply Inline Schema Name Mappings if (inlineSchemaNameMappings != null && (configOptions == null || !configOptions.containsKey("inline-schema-name-mappings"))) { applyInlineSchemaNameMappingsKvpList(inlineSchemaNameMappings, configurator); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfig.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfig.java index 970bbe5a2b..e18324d541 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfig.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfig.java @@ -141,6 +141,8 @@ public interface CodegenConfig { Map importMapping(); + Map schemaMapping(); + Map inlineSchemaNameMapping(); Map inlineSchemaNameDefault(); @@ -311,7 +313,7 @@ public interface CodegenConfig { void setRemoveEnumValuePrefix(boolean removeEnumValuePrefix); - Schema unaliasSchema(Schema schema, Map usedImportMappings); + Schema unaliasSchema(Schema schema, Map schemaMappings); String defaultTemplatingEngine(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index bc93c143f7..e4c488d3c0 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -153,6 +153,8 @@ public class DefaultCodegen implements CodegenConfig { protected Set reservedWords; protected Set languageSpecificPrimitives = new HashSet<>(); protected Map importMapping = new HashMap<>(); + // a map to store the mappping between a schema and the new one + protected Map schemaMapping = new HashMap<>(); // a map to store the mappping between inline schema and the name provided by the user protected Map inlineSchemaNameMapping = new HashMap<>(); // a map to store the inline schema naming conventions @@ -1060,6 +1062,11 @@ public class DefaultCodegen implements CodegenConfig { return importMapping; } + @Override + public Map schemaMapping() { + return schemaMapping; + } + @Override public Map inlineSchemaNameMapping() { return inlineSchemaNameMapping; @@ -2191,8 +2198,8 @@ public class DefaultCodegen implements CodegenConfig { } @Override - public Schema unaliasSchema(Schema schema, Map usedImportMappings) { - return ModelUtils.unaliasSchema(this.openAPI, schema, usedImportMappings); + public Schema unaliasSchema(Schema schema, Map schemaMappings) { + return ModelUtils.unaliasSchema(this.openAPI, schema, schemaMappings); } /** @@ -2202,13 +2209,13 @@ public class DefaultCodegen implements CodegenConfig { * @return the string representation of the schema type. */ protected String getSingleSchemaType(Schema schema) { - Schema unaliasSchema = unaliasSchema(schema, importMapping); + Schema unaliasSchema = unaliasSchema(schema, schemaMapping); if (StringUtils.isNotBlank(unaliasSchema.get$ref())) { // reference to another definition/schema // get the schema/model name from $ref String schemaName = ModelUtils.getSimpleRef(unaliasSchema.get$ref()); if (StringUtils.isNotEmpty(schemaName)) { - if (importMapping.containsKey(schemaName)) { + if (schemaMapping.containsKey(schemaName)) { return schemaName; } return getAlias(schemaName); @@ -2304,8 +2311,8 @@ public class DefaultCodegen implements CodegenConfig { } else if (ModelUtils.isAnyType(schema)) { return "AnyType"; } else if (StringUtils.isNotEmpty(schema.getType())) { - if (!importMapping.containsKey(schema.getType())) { - LOGGER.warn("Unknown type found in the schema: {}", schema.getType()); + if (!schemaMapping.containsKey(schema.getType())) { + LOGGER.warn("Unknown type found in the schema: {}. To map it, please use the schema mapping option (e.g. --schema-mappings in CLI)", schema.getType()); } return schema.getType(); } @@ -2531,7 +2538,7 @@ public class DefaultCodegen implements CodegenConfig { m.interfaces = new ArrayList<>(); for (Schema interfaceSchema : interfaces) { - interfaceSchema = unaliasSchema(interfaceSchema, importMapping); + interfaceSchema = unaliasSchema(interfaceSchema, schemaMapping); if (StringUtils.isBlank(interfaceSchema.get$ref())) { // primitive type @@ -2759,7 +2766,7 @@ public class DefaultCodegen implements CodegenConfig { } // unalias schema - schema = unaliasSchema(schema, importMapping); + schema = unaliasSchema(schema, schemaMapping); if (schema == null) { LOGGER.warn("Schema {} not found", name); return null; @@ -3432,7 +3439,7 @@ public class DefaultCodegen implements CodegenConfig { property.maxItems = p.getMaxProperties(); // handle inner property - Schema innerSchema = unaliasSchema(getAdditionalProperties(p), importMapping); + Schema innerSchema = unaliasSchema(getAdditionalProperties(p), schemaMapping); if (innerSchema == null) { LOGGER.error("Undefined map inner type for `{}`. Default to String.", p.getName()); innerSchema = new StringSchema().description("//TODO automatically added by openapi-generator due to undefined type"); @@ -3535,7 +3542,7 @@ public class DefaultCodegen implements CodegenConfig { return cpc; } // unalias schema - p = unaliasSchema(p, importMapping); + p = unaliasSchema(p, schemaMapping); CodegenProperty property = CodegenModelFactory.newInstance(CodegenModelType.PROPERTY); ModelUtils.syncValidationProperties(p, property); @@ -3703,7 +3710,7 @@ public class DefaultCodegen implements CodegenConfig { itemName = property.name; } ArraySchema arraySchema = (ArraySchema) p; - Schema innerSchema = unaliasSchema(getSchemaItems(arraySchema), importMapping); + Schema innerSchema = unaliasSchema(getSchemaItems(arraySchema), schemaMapping); CodegenProperty cp = fromProperty(itemName, innerSchema); updatePropertyForArray(property, cp); } else if (ModelUtils.isTypeObjectSchema(p)) { @@ -3942,14 +3949,14 @@ public class DefaultCodegen implements CodegenConfig { * @param schemas a map of the schemas in the openapi spec * @param op endpoint CodegenOperation * @param methodResponse the default ApiResponse for the endpoint - * @param importMappings mappings of external types to be omitted by unaliasing + * @param schemaMappings mappings of external types to be omitted by unaliasing */ protected void handleMethodResponse(Operation operation, Map schemas, CodegenOperation op, ApiResponse methodResponse, - Map importMappings) { - Schema responseSchema = unaliasSchema(ModelUtils.getSchemaFromResponse(methodResponse), importMapping); + Map schemaMappings) { + Schema responseSchema = unaliasSchema(ModelUtils.getSchemaFromResponse(methodResponse), schemaMapping); if (responseSchema != null) { CodegenProperty cm = fromProperty("response", responseSchema); @@ -4388,7 +4395,7 @@ public class DefaultCodegen implements CodegenConfig { Schema responseSchema; if (this.openAPI != null && this.openAPI.getComponents() != null) { - responseSchema = unaliasSchema(ModelUtils.getSchemaFromResponse(response), importMapping); + responseSchema = unaliasSchema(ModelUtils.getSchemaFromResponse(response), schemaMapping); } else { // no model/alias defined responseSchema = ModelUtils.getSchemaFromResponse(response); } @@ -4726,6 +4733,7 @@ public class DefaultCodegen implements CodegenConfig { return codegenParameter; } + // TODO need to reivew replacing empty map with schemaMapping instead parameterSchema = unaliasSchema(parameterSchema, Collections.emptyMap()); if (parameterSchema == null) { LOGGER.warn("warning! Schema not found for parameter \" {} \"", parameter.getName()); @@ -5314,7 +5322,7 @@ public class DefaultCodegen implements CodegenConfig { protected Map unaliasPropertySchema(Map properties) { if (properties != null) { for (String key : properties.keySet()) { - properties.put(key, unaliasSchema(properties.get(key), importMapping())); + properties.put(key, unaliasSchema(properties.get(key), schemaMapping())); } } @@ -6424,7 +6432,7 @@ public class DefaultCodegen implements CodegenConfig { LOGGER.debug("Debugging fromFormProperty {}: {}", name, propertySchema); CodegenProperty codegenProperty = fromProperty(name, propertySchema); - Schema ps = unaliasSchema(propertySchema, importMapping); + Schema ps = unaliasSchema(propertySchema, schemaMapping); ModelUtils.syncValidationProperties(ps, codegenParameter); codegenParameter.setTypeProperties(ps); codegenParameter.setComposedSchemas(getComposedSchemas(ps)); @@ -6935,7 +6943,7 @@ public class DefaultCodegen implements CodegenConfig { name = ModelUtils.getSimpleRef(schema.get$ref()); } - Schema unaliasedSchema = unaliasSchema(schema, importMapping); + Schema unaliasedSchema = unaliasSchema(schema, schemaMapping); schema = ModelUtils.getReferencedSchema(this.openAPI, schema); ModelUtils.syncValidationProperties(unaliasedSchema, codegenParameter); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java index 65f99563cc..420ad43698 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java @@ -441,6 +441,19 @@ public class DefaultGenerator implements Generator { // process models only for (String name : modelKeys) { try { + //don't generate models that have an import mapping + if (config.schemaMapping().containsKey(name)) { + LOGGER.debug("Model {} not imported due to import mapping", name); + + for (String templateName : config.modelTemplateFiles().keySet()) { + // HACK: Because this returns early, could lead to some invalid model reporting. + String filename = config.modelFilename(templateName, name); + Path path = java.nio.file.Paths.get(filename); + this.templateProcessor.skip(path,"Skipped prior to model processing due to schema mapping." ); + } + continue; + } + // don't generate models that are not used as object (e.g. form parameters) if (unusedModels.contains(name)) { if (Boolean.FALSE.equals(skipFormModel)) { @@ -464,7 +477,7 @@ public class DefaultGenerator implements Generator { // generators may choose to make models for use case 2 + 3 Schema refSchema = new Schema(); refSchema.set$ref("#/components/schemas/" + name); - Schema unaliasedSchema = config.unaliasSchema(refSchema, config.importMapping()); + Schema unaliasedSchema = config.unaliasSchema(refSchema, config.schemaMapping()); if (unaliasedSchema.get$ref() == null) { LOGGER.info("Model {} not generated since it's a free-form object", name); continue; @@ -508,6 +521,11 @@ public class DefaultGenerator implements Generator { ModelsMap models = allProcessedModels.get(modelName); models.put("modelPackage", config.modelPackage()); try { + //don't generate models that have a schema mapping + if (config.schemaMapping().containsKey(modelName)) { + continue; + } + // TODO revise below as we've already performed unaliasing so that the isAlias check may be removed List modelList = models.getModels(); if (modelList != null && !modelList.isEmpty()) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java index 374ee3116d..3d2d9c3aaa 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java @@ -68,6 +68,7 @@ public class CodegenConfigurator { private Map typeMappings = new HashMap<>(); private Map additionalProperties = new HashMap<>(); private Map importMappings = new HashMap<>(); + private Map schemaMappings = new HashMap<>(); private Map inlineSchemaNameMappings = new HashMap<>(); private Map inlineSchemaNameDefaults = new HashMap<>(); private Set languageSpecificPrimitives = new HashSet<>(); @@ -113,6 +114,9 @@ public class CodegenConfigurator { if(generatorSettings.getImportMappings() != null) { configurator.importMappings.putAll(generatorSettings.getImportMappings()); } + if(generatorSettings.getSchemaMappings() != null) { + configurator.schemaMappings.putAll(generatorSettings.getSchemaMappings()); + } if(generatorSettings.getInlineSchemaNameMappings() != null) { configurator.inlineSchemaNameMappings.putAll(generatorSettings.getInlineSchemaNameMappings()); } @@ -188,6 +192,12 @@ public class CodegenConfigurator { return this; } + public CodegenConfigurator addSchemaMapping(String key, String value) { + this.schemaMappings.put(key, value); + generatorSettingsBuilder.withSchemaMapping(key, value); + return this; + } + public CodegenConfigurator addInlineSchemaNameMapping(String key, String value) { this.inlineSchemaNameMappings.put(key, value); generatorSettingsBuilder.withInlineSchemaNameMapping(key, value); @@ -354,6 +364,12 @@ public class CodegenConfigurator { return this; } + public CodegenConfigurator setSchemaMappings(Map schemaMappings) { + this.schemaMappings = schemaMappings; + generatorSettingsBuilder.withSchemaMappings(schemaMappings); + return this; + } + public CodegenConfigurator setInlineSchemaNameMappings(Map inlineSchemaNameMappings) { this.inlineSchemaNameMappings = inlineSchemaNameMappings; generatorSettingsBuilder.withInlineSchemaNameMappings(inlineSchemaNameMappings); @@ -642,6 +658,7 @@ public class CodegenConfigurator { config.instantiationTypes().putAll(generatorSettings.getInstantiationTypes()); config.typeMapping().putAll(generatorSettings.getTypeMappings()); config.importMapping().putAll(generatorSettings.getImportMappings()); + config.schemaMapping().putAll(generatorSettings.getSchemaMappings()); config.inlineSchemaNameMapping().putAll(generatorSettings.getInlineSchemaNameMappings()); config.inlineSchemaNameDefault().putAll(generatorSettings.getInlineSchemaNameDefaults()); config.languageSpecificPrimitives().addAll(generatorSettings.getLanguageSpecificPrimitives()); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfiguratorUtils.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfiguratorUtils.java index 15a516a655..fb708d4b2f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfiguratorUtils.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfiguratorUtils.java @@ -81,6 +81,19 @@ public final class CodegenConfiguratorUtils { } } + public static void applySchemaMappingsKvpList(List schemaMappings, CodegenConfigurator configurator) { + for (String propString : schemaMappings) { + applySchemaMappingsKvp(propString, configurator); + } + } + + public static void applySchemaMappingsKvp(String schemaMappings, CodegenConfigurator configurator) { + final Map map = createMapFromKeyValuePairs(schemaMappings); + for (Map.Entry entry : map.entrySet()) { + configurator.addSchemaMapping(entry.getKey().trim(), entry.getValue().trim()); + } + } + public static void applyInlineSchemaNameMappingsKvpList(List inlineSchemaNameMappings, CodegenConfigurator configurator) { for (String propString : inlineSchemaNameMappings) { applyInlineSchemaNameMappingsKvp(propString, configurator); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java index dbc934e0bb..960a6ae7f3 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java @@ -1070,10 +1070,10 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co @Override public String toModelName(String name) { - // We need to check if import-mapping has a different model for this class, so we use it + // We need to check if schema-mapping has a different model for this class, so we use it // instead of the auto-generated one. - if (importMapping.containsKey(name)) { - return importMapping.get(name); + if (schemaMapping.containsKey(name)) { + return schemaMapping.get(name); } // memoization and lookup in the cache diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java index 544d6d6908..bc42591cb2 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java @@ -488,7 +488,7 @@ public abstract class AbstractDartCodegen extends DefaultCodegen { @Override public String getTypeDeclaration(Schema p) { - Schema schema = ModelUtils.unaliasSchema(this.openAPI, p, importMapping); + Schema schema = ModelUtils.unaliasSchema(this.openAPI, p, schemaMapping); Schema target = ModelUtils.isGenerateAliasAsModel() ? p : schema; if (ModelUtils.isArraySchema(target)) { Schema items = getSchemaItems((ArraySchema) schema); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractEiffelCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractEiffelCodegen.java index 7e3846981f..5e179068c5 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractEiffelCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractEiffelCodegen.java @@ -177,10 +177,10 @@ public abstract class AbstractEiffelCodegen extends DefaultCodegen implements Co @Override public String toModelFilename(String name) { - // We need to check if import-mapping has a different model for this class, so we use it + // We need to check if schema-mapping has a different model for this class, so we use it // instead of the auto-generated one. - if (importMapping.containsKey(name)) { - return importMapping.get(name); + if (schemaMapping.containsKey(name)) { + return schemaMapping.get(name); } if (!StringUtils.isEmpty(modelNamePrefix)) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java index 357bc078f4..3102703b83 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java @@ -824,6 +824,12 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code @Override public String toModelName(final String name) { + // We need to check if schema-mapping has a different model for this class, so we use it + // instead of the auto-generated one. + if (schemaMapping.containsKey(name)) { + return schemaMapping.get(name); + } + final String sanitizedName = sanitizeName(name); String nameWithPrefixSuffix = sanitizedName; @@ -867,7 +873,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code @Override public String getTypeDeclaration(Schema p) { - Schema schema = ModelUtils.unaliasSchema(this.openAPI, p, importMapping); + Schema schema = ModelUtils.unaliasSchema(this.openAPI, p, schemaMapping); Schema target = ModelUtils.isGenerateAliasAsModel() ? p : schema; if (ModelUtils.isArraySchema(target)) { Schema items = getSchemaItems((ArraySchema) schema); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java index 0c00eca3ef..59a9af6e8b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java @@ -365,7 +365,7 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co */ @Override public String getTypeDeclaration(Schema p) { - Schema schema = ModelUtils.unaliasSchema(this.openAPI, p, importMapping); + Schema schema = ModelUtils.unaliasSchema(this.openAPI, p, schemaMapping); Schema target = ModelUtils.isGenerateAliasAsModel() ? p : schema; if (ModelUtils.isArraySchema(target)) { Schema items = getSchemaItems((ArraySchema) schema); @@ -674,6 +674,12 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co return name; } + // If schemaMapping contains name, assume this is a legitimate model name. + if (schemaMapping.containsKey(name)) { + return schemaMapping.get(name); + } + + // TODO review importMapping below as we've added schema mapping support // If importMapping contains name, assume this is a legitimate model name. if (importMapping.containsKey(name)) { return importMapping.get(name); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java index 10ddac83e5..f0dbaed17a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java @@ -357,7 +357,7 @@ public abstract class AbstractScalaCodegen extends DefaultCodegen { @Override public String getTypeDeclaration(Schema p) { - Schema schema = ModelUtils.unaliasSchema(this.openAPI, p, importMapping); + Schema schema = ModelUtils.unaliasSchema(this.openAPI, p, schemaMapping); Schema target = ModelUtils.isGenerateAliasAsModel() ? p : schema; if (ModelUtils.isArraySchema(target)) { Schema items = getSchemaItems((ArraySchema) schema); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java index 8810aefabc..13be5ab413 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java @@ -295,7 +295,7 @@ public class CppRestSdkClientCodegen extends AbstractCppCodegen { if (methodResponse != null) { Schema response = ModelUtils.getSchemaFromResponse(methodResponse); - response = ModelUtils.unaliasSchema(this.openAPI, response, importMapping); + response = ModelUtils.unaliasSchema(this.openAPI, response, schemaMapping); if (response != null) { CodegenProperty cm = fromProperty("response", response); op.vendorExtensions.put("x-codegen-response", cm); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java index 942358eac0..b6f7eef407 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java @@ -215,7 +215,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { } @Override - public Schema unaliasSchema(Schema schema, Map usedImportMappings) { + public Schema unaliasSchema(Schema schema, Map schemaMappings) { Map allSchemas = ModelUtils.getSchemas(openAPI); if (allSchemas == null || allSchemas.isEmpty()) { // skip the warning as the spec can have no model defined @@ -225,8 +225,8 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { if (schema != null && StringUtils.isNotEmpty(schema.get$ref())) { String simpleRef = ModelUtils.getSimpleRef(schema.get$ref()); - if (usedImportMappings.containsKey(simpleRef)) { - LOGGER.debug("Schema unaliasing of {} omitted because aliased class is to be mapped to {}", simpleRef, usedImportMappings.get(simpleRef)); + if (schemaMappings.containsKey(simpleRef)) { + LOGGER.debug("Schema unaliasing of {} omitted because aliased class is to be mapped to {}", simpleRef, schemaMappings.get(simpleRef)); return schema; } Schema ref = allSchemas.get(simpleRef); @@ -241,7 +241,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { return schema; // generate a model extending array } else { return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), - usedImportMappings); + schemaMappings); } } else if (ModelUtils.isComposedSchema(ref)) { return schema; @@ -254,7 +254,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { } else { // treat it as a typical map return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), - usedImportMappings); + schemaMappings); } } } else if (ModelUtils.isObjectSchema(ref)) { // model @@ -268,7 +268,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { return schema; } else { return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), - usedImportMappings); + schemaMappings); } } } else if (ModelUtils.hasValidation(ref)) { @@ -279,7 +279,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { // - use those validations when we use this schema in composed oneOf schemas return schema; } else { - return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), usedImportMappings); + return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), schemaMappings); } } return schema; @@ -407,7 +407,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { Map allDefinitions = ModelUtils.getSchemas(this.openAPI); for (String schemaName : allDefinitions.keySet()) { Schema refSchema = new Schema().$ref("#/components/schemas/" + schemaName); - Schema unaliasedSchema = unaliasSchema(refSchema, importMapping); + Schema unaliasedSchema = unaliasSchema(refSchema, schemaMapping); String modelName = toModelName(schemaName); if (unaliasedSchema.get$ref() == null) { modelsToRemove.add(modelName); @@ -517,7 +517,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { if (schema.get$ref() == null) { return cp; } - Schema unaliasedSchema = unaliasSchema(schema, importMapping); + Schema unaliasedSchema = unaliasSchema(schema, schemaMapping); CodegenProperty unaliasedProp = fromProperty("body", unaliasedSchema); Boolean dataTypeMismatch = !cp.dataType.equals(unaliasedProp.dataType); Boolean baseTypeMismatch = !cp.baseType.equals(unaliasedProp.complexType) && unaliasedProp.complexType != null; @@ -547,7 +547,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { protected void addBodyModelSchema(CodegenParameter codegenParameter, String name, Schema schema, Set imports, String bodyParameterName, boolean forceSimpleRef) { if (name != null) { Schema bodySchema = new Schema().$ref("#/components/schemas/" + name); - Schema unaliased = unaliasSchema(bodySchema, importMapping); + Schema unaliased = unaliasSchema(bodySchema, schemaMapping); if (unaliased.get$ref() != null) { forceSimpleRef = true; } @@ -758,7 +758,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { public String getModelName(Schema sc) { if (sc.get$ref() != null) { - Schema unaliasedSchema = unaliasSchema(sc, importMapping); + Schema unaliasedSchema = unaliasSchema(sc, schemaMapping); if (unaliasedSchema.get$ref() != null) { return toModelName(ModelUtils.getSimpleRef(sc.get$ref())); } @@ -851,7 +851,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { if (StringUtils.isNotEmpty(p.get$ref())) { // The input schema is a reference. If the resolved schema is // a composed schema, convert the name to a Python class. - Schema unaliasedSchema = unaliasSchema(p, importMapping); + Schema unaliasedSchema = unaliasSchema(p, schemaMapping); if (unaliasedSchema.get$ref() != null) { String modelName = toModelName(ModelUtils.getSimpleRef(p.get$ref())); if (referencedModelNames != null) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java index 19d2f6db89..3be88480dd 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java @@ -561,7 +561,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { } @Override - public Schema unaliasSchema(Schema schema, Map usedImportMappings) { + public Schema unaliasSchema(Schema schema, Map schemaMappings) { Map allSchemas = ModelUtils.getSchemas(openAPI); if (allSchemas == null || allSchemas.isEmpty()) { // skip the warning as the spec can have no model defined @@ -571,8 +571,8 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { if (schema != null && StringUtils.isNotEmpty(schema.get$ref())) { String simpleRef = ModelUtils.getSimpleRef(schema.get$ref()); - if (usedImportMappings.containsKey(simpleRef)) { - LOGGER.debug("Schema unaliasing of {} omitted because aliased class is to be mapped to {}", simpleRef, usedImportMappings.get(simpleRef)); + if (schemaMappings.containsKey(simpleRef)) { + LOGGER.debug("Schema unaliasing of {} omitted because aliased class is to be mapped to {}", simpleRef, schemaMappings.get(simpleRef)); return schema; } Schema ref = allSchemas.get(simpleRef); @@ -587,7 +587,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { return schema; // generate a model extending array } else { return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), - usedImportMappings); + schemaMappings); } } else if (ModelUtils.isComposedSchema(ref)) { return schema; @@ -600,7 +600,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { } else { // treat it as a typical map return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), - usedImportMappings); + schemaMappings); } } } else if (ModelUtils.isObjectSchema(ref)) { // model @@ -614,7 +614,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { return schema; } return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), - usedImportMappings); + schemaMappings); } } else if (ModelUtils.hasValidation(ref)) { // non object non array non map schemas that have validations @@ -628,7 +628,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { // we make these models so instances of this will be subclasses of this model return schema; } else { - return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), usedImportMappings); + return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), schemaMappings); } } return schema; @@ -751,7 +751,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { Map allDefinitions = ModelUtils.getSchemas(this.openAPI); for (String schemaName : allDefinitions.keySet()) { Schema refSchema = new Schema().$ref("#/components/schemas/" + schemaName); - Schema unaliasedSchema = unaliasSchema(refSchema, importMapping); + Schema unaliasedSchema = unaliasSchema(refSchema, schemaMapping); String modelName = toModelName(schemaName); if (unaliasedSchema.get$ref() == null) { continue; @@ -856,7 +856,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { if (cp.isEnum) { updateCodegenPropertyEnum(cp); } - Schema unaliasedSchema = unaliasSchema(p, importMapping); + Schema unaliasedSchema = unaliasSchema(p, schemaMapping); if (cp.isPrimitiveType && unaliasedSchema.get$ref() != null) { cp.complexType = cp.dataType; } @@ -944,7 +944,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { if (schema.get$ref() == null) { return cp; } - Schema unaliasedSchema = unaliasSchema(schema, importMapping); + Schema unaliasedSchema = unaliasSchema(schema, schemaMapping); CodegenProperty unaliasedProp = fromProperty("body", unaliasedSchema); Boolean dataTypeMismatch = !cp.dataType.equals(unaliasedProp.dataType); Boolean baseTypeMismatch = !cp.baseType.equals(unaliasedProp.complexType) && unaliasedProp.complexType != null; @@ -975,7 +975,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { protected void addBodyModelSchema(CodegenParameter codegenParameter, String name, Schema schema, Set imports, String bodyParameterName, boolean forceSimpleRef) { if (name != null) { Schema bodySchema = new Schema().$ref("#/components/schemas/" + name); - Schema unaliased = unaliasSchema(bodySchema, importMapping); + Schema unaliased = unaliasSchema(bodySchema, schemaMapping); if (unaliased.get$ref() != null) { forceSimpleRef = true; } @@ -1229,7 +1229,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { @Override public CodegenModel fromModel(String name, Schema sc) { CodegenModel cm = super.fromModel(name, sc); - Schema unaliasedSchema = unaliasSchema(sc, importMapping); + Schema unaliasedSchema = unaliasSchema(sc, schemaMapping); if (unaliasedSchema != null) { if (ModelUtils.isDecimalSchema(unaliasedSchema)) { // type: string, format: number cm.isString = false; @@ -1280,7 +1280,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { public String getModelName(Schema sc) { if (sc.get$ref() != null) { - Schema unaliasedSchema = unaliasSchema(sc, importMapping); + Schema unaliasedSchema = unaliasSchema(sc, schemaMapping); if (unaliasedSchema.get$ref() != null) { return toModelName(ModelUtils.getSimpleRef(sc.get$ref())); } @@ -1317,7 +1317,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { if (StringUtils.isNotEmpty(p.get$ref())) { // The input schema is a reference. If the resolved schema is // a composed schema, convert the name to a Python class. - Schema unaliasedSchema = unaliasSchema(p, importMapping); + Schema unaliasedSchema = unaliasSchema(p, schemaMapping); if (unaliasedSchema.get$ref() != null) { String modelName = toModelName(ModelUtils.getSimpleRef(p.get$ref())); if (referencedModelNames != null) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java index 3d84fb3c94..e0bd61d53a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java @@ -940,7 +940,7 @@ public class TypeScriptClientCodegen extends DefaultCodegen implements CodegenCo public String getModelName(Schema sc) { if (sc.get$ref() != null) { - Schema unaliasedSchema = unaliasSchema(sc, importMapping); + Schema unaliasedSchema = unaliasSchema(sc, schemaMapping); if (unaliasedSchema.get$ref() != null) { return toModelName(ModelUtils.getSimpleRef(sc.get$ref())); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java index 0fa0ba0598..38a75efd9d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java @@ -510,7 +510,7 @@ public class TypeScriptFetchClientCodegen extends AbstractTypeScriptClientCodege } if (!op.hasReturnPassthroughVoid) { - Schema responseSchema = unaliasSchema(ModelUtils.getSchemaFromResponse(methodResponse), importMapping); + Schema responseSchema = unaliasSchema(ModelUtils.getSchemaFromResponse(methodResponse), schemaMapping); ExtendedCodegenProperty cp = null; if (op.returnPassthrough instanceof String && cm != null) { cp = (ExtendedCodegenProperty) this.processCodeGenModel(cm).vars.get(1); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/ModelUtils.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/ModelUtils.java index cb475a64c2..09bc8dc2c8 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/ModelUtils.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/ModelUtils.java @@ -1191,12 +1191,12 @@ public class ModelUtils { * * @param openAPI OpenAPI document containing the schemas. * @param schema schema (alias or direct reference) - * @param importMappings mappings of external types to be omitted by unaliasing + * @param schemaMappings mappings of external types to be omitted by unaliasing * @return actual schema */ public static Schema unaliasSchema(OpenAPI openAPI, Schema schema, - Map importMappings) { + Map schemaMappings) { Map allSchemas = getSchemas(openAPI); if (allSchemas == null || allSchemas.isEmpty()) { // skip the warning as the spec can have no model defined @@ -1206,8 +1206,8 @@ public class ModelUtils { if (schema != null && StringUtils.isNotEmpty(schema.get$ref())) { String simpleRef = ModelUtils.getSimpleRef(schema.get$ref()); - if (importMappings.containsKey(simpleRef)) { - LOGGER.debug("Schema unaliasing of {} omitted because aliased class is to be mapped to {}", simpleRef, importMappings.get(simpleRef)); + if (schemaMappings.containsKey(simpleRef)) { + LOGGER.debug("Schema unaliasing of {} omitted because aliased class is to be mapped to {}", simpleRef, schemaMappings.get(simpleRef)); return schema; } Schema ref = allSchemas.get(simpleRef); @@ -1222,7 +1222,7 @@ public class ModelUtils { return schema; // generate a model extending array } else { return unaliasSchema(openAPI, allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), - importMappings); + schemaMappings); } } else if (isComposedSchema(ref)) { return schema; @@ -1235,7 +1235,7 @@ public class ModelUtils { } else { // treat it as a typical map return unaliasSchema(openAPI, allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), - importMappings); + schemaMappings); } } } else if (isObjectSchema(ref)) { // model @@ -1250,10 +1250,10 @@ public class ModelUtils { } } else { // free form object (type: object) return unaliasSchema(openAPI, allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), - importMappings); + schemaMappings); } } else { - return unaliasSchema(openAPI, allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), importMappings); + return unaliasSchema(openAPI, allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), schemaMappings); } } return schema; diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java index 29c7066193..4005601df8 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java @@ -2120,6 +2120,21 @@ public class DefaultCodegenTest { CodegenModel codegenModel = codegen.fromModel("ParentType", openAPI.getComponents().getSchemas().get("ParentType")); + Assert.assertEquals(codegenModel.vars.size(), 1); + Assert.assertEquals(codegenModel.vars.get(0).getBaseType(), "string"); + } + + @Test + public void schemaMapping() { + DefaultCodegen codegen = new DefaultCodegen(); + codegen.schemaMapping.put("TypeAlias", "foo.bar.TypeAlias"); + + OpenAPI openAPI = new OpenAPIParser() + .readLocation("src/test/resources/3_0/type-alias.yaml", null, new ParseOptions()).getOpenAPI(); + codegen.setOpenAPI(openAPI); + + CodegenModel codegenModel = codegen.fromModel("ParentType", openAPI.getComponents().getSchemas().get("ParentType")); + Assert.assertEquals(codegenModel.vars.size(), 1); Assert.assertEquals(codegenModel.vars.get(0).getBaseType(), "TypeAlias"); } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java index d3e45b52fc..64b6c1cf38 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java @@ -674,13 +674,13 @@ public class AbstractJavaCodegenTest { } @Test - public void getTypeDeclarationGivenImportMappingTest() { + public void getTypeDeclarationGivenSchemaMappingTest() { final P_AbstractJavaCodegen codegen = new P_AbstractJavaCodegen(); - codegen.importMapping().put("MyStringType", "com.example.foo"); + codegen.schemaMapping().put("MyStringType", "com.example.foo"); codegen.setOpenAPI(new OpenAPI().components(new Components().addSchemas("MyStringType", new StringSchema()))); Schema schema = new ArraySchema().items(new Schema().$ref("#/components/schemas/MyStringType")); String defaultValue = codegen.getTypeDeclaration(schema); - Assert.assertEquals(defaultValue, "List"); + Assert.assertEquals(defaultValue, "List"); } @Test diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java index caec1aaf00..71ba4734dd 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java @@ -652,13 +652,13 @@ public class JavaClientCodegenTest { * See https://github.com/OpenAPITools/openapi-generator/issues/3589 */ @Test - public void testImportMapping() throws IOException { + public void testSchemaMapping() throws IOException { Map properties = new HashMap<>(); properties.put(CodegenConstants.API_PACKAGE, "xyz.abcdef.api"); - Map importMappings = new HashMap<>(); - importMappings.put("TypeAlias", "foo.bar.TypeAlias"); + Map schemaMappings = new HashMap<>(); + schemaMappings.put("TypeAlias", "foo.bar.TypeAlias"); File output = Files.createTempDirectory("test").toFile(); output.deleteOnExit(); @@ -667,13 +667,13 @@ public class JavaClientCodegenTest { .setGeneratorName("java") .setLibrary(JavaClientCodegen.RESTEASY) .setAdditionalProperties(properties) - .setImportMappings(importMappings) + .setSchemaMappings(schemaMappings) .setGenerateAliasAsModel(true) .setInputSpec("src/test/resources/3_0/type-alias.yaml") .setOutputDir(output.getAbsolutePath().replace("\\", "/")); final ClientOptInput clientOptInput = configurator.toClientOptInput(); - Assert.assertEquals(clientOptInput.getConfig().importMapping().get("TypeAlias"), "foo.bar.TypeAlias"); + Assert.assertEquals(clientOptInput.getConfig().schemaMapping().get("TypeAlias"), "foo.bar.TypeAlias"); DefaultGenerator generator = new DefaultGenerator(); generator.setGeneratorPropertyDefault(CodegenConstants.MODELS, "true"); @@ -702,9 +702,9 @@ public class JavaClientCodegenTest { Matcher fieldMatcher = FIELD_PATTERN.matcher(parentTypeContents); Assert.assertTrue(fieldMatcher.matches()); - // this is the type of the field 'typeAlias'. With a working importMapping it should + // this is the type of the field 'typeAlias'. With a working schemaMapping it should // be 'foo.bar.TypeAlias' or just 'TypeAlias' - Assert.assertEquals(fieldMatcher.group(1), "TypeAlias"); + Assert.assertEquals(fieldMatcher.group(1), "foo.bar.TypeAlias"); } @Test diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/AbstractKotlinCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/AbstractKotlinCodegenTest.java index d3698e7ab5..7873dff7cb 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/AbstractKotlinCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/AbstractKotlinCodegenTest.java @@ -102,7 +102,14 @@ public class AbstractKotlinCodegenTest { } @Test - public void toModelNameShouldUseProvidedMapping() { + public void toModelNameShouldUseProvideSchemaMapping() { + codegen.schemaMapping().put("json_myclass", "com.test.MyClass"); + assertEquals("com.test.MyClass", codegen.toModelName("json_myclass")); + } + + @Test + public void toModelNameShouldUseProvideImportMapping() { + // TODO review this test to see if it's still needed after adding scheme mapping support codegen.importMapping().put("json_myclass", "com.test.MyClass"); assertEquals("com.test.MyClass", codegen.toModelName("json_myclass")); } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/utils/ModelUtilsTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/utils/ModelUtilsTest.java index 6ef8d716e8..f962efee4e 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/utils/ModelUtilsTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/utils/ModelUtilsTest.java @@ -221,12 +221,12 @@ public class ModelUtilsTest { public void testAliasedTypeIsNotUnaliasedIfUsedForImportMapping() { Schema emailSchema = new Schema().$ref("#/components/schemas/Email").type("string"); StringSchema stringSchema = new StringSchema(); - HashMap importMappings = new HashMap<>(); - importMappings.put("Email", "foo.bar.Email"); + HashMap schemaMappings = new HashMap<>(); + schemaMappings.put("Email", "foo.bar.Email"); OpenAPI openAPI = TestUtils.createOpenAPIWithOneSchema("Email", stringSchema); - Assert.assertEquals(emailSchema, ModelUtils.unaliasSchema(openAPI, emailSchema, importMappings)); + Assert.assertEquals(emailSchema, ModelUtils.unaliasSchema(openAPI, emailSchema, schemaMappings)); Assert.assertEquals(stringSchema, ModelUtils.unaliasSchema(openAPI, emailSchema, new HashMap<>())); } From b97a4ad12a59025fa51244d082f475315987a69a Mon Sep 17 00:00:00 2001 From: Gabriel Mazetto Date: Sun, 3 Jul 2022 10:52:32 +0100 Subject: [PATCH 137/212] Generate .gitlab-ci.yml files for Ruby template (#12750) --- .../codegen/languages/RubyClientCodegen.java | 1 + .../resources/ruby-client/gitlab-ci.mustache | 26 +++++++++++++++++++ .../petstore/ruby-faraday/.gitlab-ci.yml | 26 +++++++++++++++++++ .../ruby-faraday/.openapi-generator/FILES | 1 + samples/client/petstore/ruby/.gitlab-ci.yml | 26 +++++++++++++++++++ .../petstore/ruby/.openapi-generator/FILES | 1 + .../ruby-client/.gitlab-ci.yml | 26 +++++++++++++++++++ .../ruby-client/.openapi-generator/FILES | 1 + .../dynamic-servers/ruby/.gitlab-ci.yml | 26 +++++++++++++++++++ .../ruby/.openapi-generator/FILES | 1 + .../ruby-client/.gitlab-ci.yml | 26 +++++++++++++++++++ .../ruby-client/.openapi-generator/FILES | 1 + 12 files changed, 162 insertions(+) create mode 100644 modules/openapi-generator/src/main/resources/ruby-client/gitlab-ci.mustache create mode 100644 samples/client/petstore/ruby-faraday/.gitlab-ci.yml create mode 100644 samples/client/petstore/ruby/.gitlab-ci.yml create mode 100644 samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/.gitlab-ci.yml create mode 100644 samples/openapi3/client/features/dynamic-servers/ruby/.gitlab-ci.yml create mode 100644 samples/openapi3/client/features/generate-alias-as-model/ruby-client/.gitlab-ci.yml diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyClientCodegen.java index 1ac9398c1a..4d1bbeb16c 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyClientCodegen.java @@ -251,6 +251,7 @@ public class RubyClientCodegen extends AbstractRubyCodegen { supportingFiles.add(new SupportingFile("Gemfile.mustache", "", "Gemfile")); supportingFiles.add(new SupportingFile("rubocop.mustache", "", ".rubocop.yml")); supportingFiles.add(new SupportingFile("travis.mustache", "", ".travis.yml")); + supportingFiles.add(new SupportingFile("gitlab-ci.mustache", "", ".gitlab-ci.yml")); supportingFiles.add(new SupportingFile("gemspec.mustache", "", gemName + ".gemspec")); supportingFiles.add(new SupportingFile("configuration.mustache", gemFolder, "configuration.rb")); supportingFiles.add(new SupportingFile("api_client.mustache", gemFolder, "api_client.rb")); diff --git a/modules/openapi-generator/src/main/resources/ruby-client/gitlab-ci.mustache b/modules/openapi-generator/src/main/resources/ruby-client/gitlab-ci.mustache new file mode 100644 index 0000000000..3d57c5b30c --- /dev/null +++ b/modules/openapi-generator/src/main/resources/ruby-client/gitlab-ci.mustache @@ -0,0 +1,26 @@ +.ruby: &ruby + variables: + LANG: "C.UTF-8" + before_script: + - ruby -v + - bundle config set --local deployment true + - bundle install -j $(nproc) + parallel: + matrix: + - RUBY_VERSION: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0'] + image: "ruby:$RUBY_VERSION" + cache: + paths: + - vendor/ruby + key: 'ruby-$RUBY_VERSION' + +gem: + extends: .ruby + script: + - bundle exec rspec + - bundle exec rake build + - bundle exec rake install + artifacts: + paths: + - pkg/*.gem + diff --git a/samples/client/petstore/ruby-faraday/.gitlab-ci.yml b/samples/client/petstore/ruby-faraday/.gitlab-ci.yml new file mode 100644 index 0000000000..3d57c5b30c --- /dev/null +++ b/samples/client/petstore/ruby-faraday/.gitlab-ci.yml @@ -0,0 +1,26 @@ +.ruby: &ruby + variables: + LANG: "C.UTF-8" + before_script: + - ruby -v + - bundle config set --local deployment true + - bundle install -j $(nproc) + parallel: + matrix: + - RUBY_VERSION: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0'] + image: "ruby:$RUBY_VERSION" + cache: + paths: + - vendor/ruby + key: 'ruby-$RUBY_VERSION' + +gem: + extends: .ruby + script: + - bundle exec rspec + - bundle exec rake build + - bundle exec rake install + artifacts: + paths: + - pkg/*.gem + diff --git a/samples/client/petstore/ruby-faraday/.openapi-generator/FILES b/samples/client/petstore/ruby-faraday/.openapi-generator/FILES index 4745216bb7..9335129107 100644 --- a/samples/client/petstore/ruby-faraday/.openapi-generator/FILES +++ b/samples/client/petstore/ruby-faraday/.openapi-generator/FILES @@ -1,4 +1,5 @@ .gitignore +.gitlab-ci.yml .rspec .rubocop.yml .travis.yml diff --git a/samples/client/petstore/ruby/.gitlab-ci.yml b/samples/client/petstore/ruby/.gitlab-ci.yml new file mode 100644 index 0000000000..3d57c5b30c --- /dev/null +++ b/samples/client/petstore/ruby/.gitlab-ci.yml @@ -0,0 +1,26 @@ +.ruby: &ruby + variables: + LANG: "C.UTF-8" + before_script: + - ruby -v + - bundle config set --local deployment true + - bundle install -j $(nproc) + parallel: + matrix: + - RUBY_VERSION: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0'] + image: "ruby:$RUBY_VERSION" + cache: + paths: + - vendor/ruby + key: 'ruby-$RUBY_VERSION' + +gem: + extends: .ruby + script: + - bundle exec rspec + - bundle exec rake build + - bundle exec rake install + artifacts: + paths: + - pkg/*.gem + diff --git a/samples/client/petstore/ruby/.openapi-generator/FILES b/samples/client/petstore/ruby/.openapi-generator/FILES index 4745216bb7..9335129107 100644 --- a/samples/client/petstore/ruby/.openapi-generator/FILES +++ b/samples/client/petstore/ruby/.openapi-generator/FILES @@ -1,4 +1,5 @@ .gitignore +.gitlab-ci.yml .rspec .rubocop.yml .travis.yml diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/.gitlab-ci.yml b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/.gitlab-ci.yml new file mode 100644 index 0000000000..3d57c5b30c --- /dev/null +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/.gitlab-ci.yml @@ -0,0 +1,26 @@ +.ruby: &ruby + variables: + LANG: "C.UTF-8" + before_script: + - ruby -v + - bundle config set --local deployment true + - bundle install -j $(nproc) + parallel: + matrix: + - RUBY_VERSION: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0'] + image: "ruby:$RUBY_VERSION" + cache: + paths: + - vendor/ruby + key: 'ruby-$RUBY_VERSION' + +gem: + extends: .ruby + script: + - bundle exec rspec + - bundle exec rake build + - bundle exec rake install + artifacts: + paths: + - pkg/*.gem + diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/.openapi-generator/FILES b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/.openapi-generator/FILES index 113a62913f..dfc08bbc7f 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/.openapi-generator/FILES +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/.openapi-generator/FILES @@ -1,4 +1,5 @@ .gitignore +.gitlab-ci.yml .rspec .rubocop.yml .travis.yml diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/.gitlab-ci.yml b/samples/openapi3/client/features/dynamic-servers/ruby/.gitlab-ci.yml new file mode 100644 index 0000000000..3d57c5b30c --- /dev/null +++ b/samples/openapi3/client/features/dynamic-servers/ruby/.gitlab-ci.yml @@ -0,0 +1,26 @@ +.ruby: &ruby + variables: + LANG: "C.UTF-8" + before_script: + - ruby -v + - bundle config set --local deployment true + - bundle install -j $(nproc) + parallel: + matrix: + - RUBY_VERSION: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0'] + image: "ruby:$RUBY_VERSION" + cache: + paths: + - vendor/ruby + key: 'ruby-$RUBY_VERSION' + +gem: + extends: .ruby + script: + - bundle exec rspec + - bundle exec rake build + - bundle exec rake install + artifacts: + paths: + - pkg/*.gem + diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/.openapi-generator/FILES b/samples/openapi3/client/features/dynamic-servers/ruby/.openapi-generator/FILES index acdf7ab239..33ffe73a2d 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/.openapi-generator/FILES +++ b/samples/openapi3/client/features/dynamic-servers/ruby/.openapi-generator/FILES @@ -1,4 +1,5 @@ .gitignore +.gitlab-ci.yml .rspec .rubocop.yml .travis.yml diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/.gitlab-ci.yml b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/.gitlab-ci.yml new file mode 100644 index 0000000000..3d57c5b30c --- /dev/null +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/.gitlab-ci.yml @@ -0,0 +1,26 @@ +.ruby: &ruby + variables: + LANG: "C.UTF-8" + before_script: + - ruby -v + - bundle config set --local deployment true + - bundle install -j $(nproc) + parallel: + matrix: + - RUBY_VERSION: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0'] + image: "ruby:$RUBY_VERSION" + cache: + paths: + - vendor/ruby + key: 'ruby-$RUBY_VERSION' + +gem: + extends: .ruby + script: + - bundle exec rspec + - bundle exec rake build + - bundle exec rake install + artifacts: + paths: + - pkg/*.gem + diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/.openapi-generator/FILES b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/.openapi-generator/FILES index f2383908ca..3d3b3e99e4 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/.openapi-generator/FILES +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/.openapi-generator/FILES @@ -1,4 +1,5 @@ .gitignore +.gitlab-ci.yml .rspec .rubocop.yml .travis.yml From d36dabaf776cde4fcfd74918b1eee71a531fe337 Mon Sep 17 00:00:00 2001 From: Oleh Kurpiak Date: Sun, 3 Jul 2022 12:54:55 +0300 Subject: [PATCH 138/212] [Java][microprofile] fix constructor creation (#12627) --- .../Java/libraries/microprofile/pojo.mustache | 2 +- .../codegen/java/JavaClientCodegenTest.java | 28 ++++++++++ .../src/test/resources/bugs/issue_12622.json | 53 +++++++++++++++++++ 3 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 modules/openapi-generator/src/test/resources/bugs/issue_12622.json diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/microprofile/pojo.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/microprofile/pojo.mustache index 84c08fbb26..ddec54aae1 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/microprofile/pojo.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/microprofile/pojo.mustache @@ -72,7 +72,7 @@ public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}}{{#vendorExtensi @JsonbCreator public {{classname}}( {{#readOnlyVars}} - @JsonbProperty("{{baseName}}") {{{datatypeWithEnum}}} {{name}}{{^-last}}, {{/-last}} + @JsonbProperty(value = "{{baseName}}"{{^required}}, nillable = true{{/required}}) {{{datatypeWithEnum}}} {{name}}{{^-last}}, {{/-last}} {{/readOnlyVars}} ) { {{#readOnlyVars}} diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java index 71ba4734dd..7b1c4215cc 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java @@ -1513,6 +1513,34 @@ public class JavaClientCodegenTest { output.deleteOnExit(); } + @Test + public void testMicroprofileGenerateCorrectJsonbCreator_issue12622() throws Exception { + Map properties = new HashMap<>(); + properties.put(JavaClientCodegen.MICROPROFILE_REST_CLIENT_VERSION, "3.0"); + + File output = Files.createTempDirectory("test").toFile(); + output.deleteOnExit(); + + final CodegenConfigurator configurator = new CodegenConfigurator() + .setAdditionalProperties(properties) + .setGeneratorName("java") + .setLibrary(JavaClientCodegen.MICROPROFILE) + .setInputSpec("src/test/resources/bugs/issue_12622.json") + .setOutputDir(output.getAbsolutePath().replace("\\", "/")); + + final ClientOptInput clientOptInput = configurator.toClientOptInput(); + DefaultGenerator generator = new DefaultGenerator(); + Map files = generator.opts(clientOptInput).generate().stream() + .collect(Collectors.toMap(File::getName, Function.identity())); + + JavaFileAssert.assertThat(files.get("Foo.java")) + .printFileContent() + .fileContains( + "@JsonbProperty(value = \"b\", nillable = true) String b", + "@JsonbProperty(value = \"c\") Integer c" + ); + } + public void testExtraAnnotations(String library) throws IOException { File output = Files.createTempDirectory("test").toFile().getCanonicalFile(); output.deleteOnExit(); diff --git a/modules/openapi-generator/src/test/resources/bugs/issue_12622.json b/modules/openapi-generator/src/test/resources/bugs/issue_12622.json new file mode 100644 index 0000000000..33d760899a --- /dev/null +++ b/modules/openapi-generator/src/test/resources/bugs/issue_12622.json @@ -0,0 +1,53 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "Bug Report", + "version": "1.0.0" + }, + "paths": { + "/foo": { + "get": { + "operationId": "getFoo", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Foo" + } + } + }, + "description": "get foo" + } + } + } + } + }, + "components": { + "schemas": { + "Foo": { + "type": "object", + "properties": { + "a": { + "type": "string" + }, + "b": { + "type": "string", + "readOnly": true + }, + "c": { + "type": "integer", + "readOnly": true + }, + "d:": { + "type": "boolean" + } + }, + "required": [ + "c", + "d" + ] + } + } + } +} \ No newline at end of file From 9e412edb640a8e7e49db1ecc24958fdc9a50533e Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 3 Jul 2022 23:36:46 +0800 Subject: [PATCH 139/212] Prepare 6.0.1 release (#12762) * update to v6.0.1 * update doc * update samples --- README.md | 10 +++++----- docs/installation.md | 6 +++--- modules/openapi-generator-cli/pom.xml | 2 +- modules/openapi-generator-core/pom.xml | 2 +- modules/openapi-generator-gradle-plugin/README.adoc | 6 +++--- .../openapi-generator-gradle-plugin/gradle.properties | 2 +- modules/openapi-generator-gradle-plugin/pom.xml | 2 +- .../samples/local-spec/README.md | 2 +- .../samples/local-spec/gradle.properties | 2 +- modules/openapi-generator-maven-plugin/README.md | 2 +- .../examples/java-client.xml | 2 +- .../openapi-generator-maven-plugin/examples/kotlin.xml | 2 +- .../examples/multi-module/java-client/pom.xml | 2 +- .../examples/non-java-invalid-spec.xml | 2 +- .../examples/non-java.xml | 2 +- .../openapi-generator-maven-plugin/examples/spring.xml | 2 +- modules/openapi-generator-maven-plugin/pom.xml | 2 +- modules/openapi-generator-online/pom.xml | 2 +- modules/openapi-generator/pom.xml | 2 +- pom.xml | 2 +- .../.openapi-generator/VERSION | 2 +- .../okhttp-gson-streaming/.openapi-generator/VERSION | 2 +- .../with-unique-items/.openapi-generator/VERSION | 2 +- samples/client/petstore/R/.openapi-generator/VERSION | 2 +- .../client/petstore/apex/.openapi-generator/VERSION | 2 +- .../client/petstore/bash/.openapi-generator/VERSION | 2 +- samples/client/petstore/c/.openapi-generator/VERSION | 2 +- .../client/petstore/cpp-qt/.openapi-generator/VERSION | 2 +- .../cpp-restsdk/client/.openapi-generator/VERSION | 2 +- .../client/include/CppRestPetstoreClient/ApiClient.h | 2 +- .../include/CppRestPetstoreClient/ApiConfiguration.h | 2 +- .../include/CppRestPetstoreClient/ApiException.h | 2 +- .../client/include/CppRestPetstoreClient/HttpContent.h | 2 +- .../client/include/CppRestPetstoreClient/IHttpBody.h | 2 +- .../client/include/CppRestPetstoreClient/JsonBody.h | 2 +- .../client/include/CppRestPetstoreClient/ModelBase.h | 2 +- .../include/CppRestPetstoreClient/MultipartFormData.h | 2 +- .../client/include/CppRestPetstoreClient/Object.h | 2 +- .../client/include/CppRestPetstoreClient/api/PetApi.h | 2 +- .../include/CppRestPetstoreClient/api/StoreApi.h | 2 +- .../client/include/CppRestPetstoreClient/api/UserApi.h | 2 +- .../include/CppRestPetstoreClient/model/ApiResponse.h | 2 +- .../include/CppRestPetstoreClient/model/Category.h | 2 +- .../client/include/CppRestPetstoreClient/model/Order.h | 2 +- .../client/include/CppRestPetstoreClient/model/Pet.h | 2 +- .../client/include/CppRestPetstoreClient/model/Tag.h | 2 +- .../client/include/CppRestPetstoreClient/model/User.h | 2 +- .../petstore/cpp-restsdk/client/src/ApiClient.cpp | 2 +- .../cpp-restsdk/client/src/ApiConfiguration.cpp | 2 +- .../petstore/cpp-restsdk/client/src/ApiException.cpp | 2 +- .../petstore/cpp-restsdk/client/src/HttpContent.cpp | 2 +- .../petstore/cpp-restsdk/client/src/JsonBody.cpp | 2 +- .../petstore/cpp-restsdk/client/src/ModelBase.cpp | 2 +- .../cpp-restsdk/client/src/MultipartFormData.cpp | 2 +- .../client/petstore/cpp-restsdk/client/src/Object.cpp | 2 +- .../petstore/cpp-restsdk/client/src/api/PetApi.cpp | 2 +- .../petstore/cpp-restsdk/client/src/api/StoreApi.cpp | 2 +- .../petstore/cpp-restsdk/client/src/api/UserApi.cpp | 2 +- .../cpp-restsdk/client/src/model/ApiResponse.cpp | 2 +- .../petstore/cpp-restsdk/client/src/model/Category.cpp | 2 +- .../petstore/cpp-restsdk/client/src/model/Order.cpp | 2 +- .../petstore/cpp-restsdk/client/src/model/Pet.cpp | 2 +- .../petstore/cpp-restsdk/client/src/model/Tag.cpp | 2 +- .../petstore/cpp-restsdk/client/src/model/User.cpp | 2 +- .../petstore/cpp-tiny/.openapi-generator/VERSION | 2 +- .../client/petstore/cpp-ue4/.openapi-generator/VERSION | 2 +- .../client/petstore/crystal/.openapi-generator/VERSION | 2 +- samples/client/petstore/crystal/.travis.yml | 2 +- samples/client/petstore/crystal/spec/spec_helper.cr | 2 +- samples/client/petstore/crystal/src/petstore.cr | 2 +- .../petstore/crystal/src/petstore/api/pet_api.cr | 2 +- .../petstore/crystal/src/petstore/api/store_api.cr | 2 +- .../petstore/crystal/src/petstore/api/user_api.cr | 2 +- .../client/petstore/crystal/src/petstore/api_client.cr | 2 +- .../client/petstore/crystal/src/petstore/api_error.cr | 2 +- .../petstore/crystal/src/petstore/configuration.cr | 2 +- .../crystal/src/petstore/models/api_response.cr | 2 +- .../petstore/crystal/src/petstore/models/category.cr | 2 +- .../petstore/crystal/src/petstore/models/order.cr | 2 +- .../client/petstore/crystal/src/petstore/models/pet.cr | 2 +- .../client/petstore/crystal/src/petstore/models/tag.cr | 2 +- .../petstore/crystal/src/petstore/models/user.cr | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../OpenAPIClient-net47/.openapi-generator/VERSION | 2 +- .../OpenAPIClient-net5.0/.openapi-generator/VERSION | 2 +- .../OpenAPIClient/.openapi-generator/VERSION | 2 +- .../OpenAPIClientCore/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../csharp/OpenAPIClient/.openapi-generator/VERSION | 2 +- .../client/petstore/elixir/.openapi-generator/VERSION | 2 +- .../petstore/go/go-petstore/.openapi-generator/VERSION | 2 +- .../client/petstore/groovy/.openapi-generator/VERSION | 2 +- .../haskell-http-client/.openapi-generator/VERSION | 2 +- .../java-micronaut-client/.openapi-generator/VERSION | 2 +- .../java/apache-httpclient/.openapi-generator/VERSION | 2 +- .../java/feign-no-nullable/.openapi-generator/VERSION | 2 +- .../petstore/java/feign/.openapi-generator/VERSION | 2 +- .../java/google-api-client/.openapi-generator/VERSION | 2 +- .../petstore/java/jersey1/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../java/jersey2-java8/.openapi-generator/VERSION | 2 +- .../petstore/java/jersey3/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../java/native-async/.openapi-generator/VERSION | 2 +- .../petstore/java/native/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../java/okhttp-gson/.openapi-generator/VERSION | 2 +- .../rest-assured-jackson/.openapi-generator/VERSION | 2 +- .../java/rest-assured/.openapi-generator/VERSION | 2 +- .../petstore/java/resteasy/.openapi-generator/VERSION | 2 +- .../resttemplate-withXml/.openapi-generator/VERSION | 2 +- .../java/resttemplate/.openapi-generator/VERSION | 2 +- .../java/retrofit2-play26/.openapi-generator/VERSION | 2 +- .../petstore/java/retrofit2/.openapi-generator/VERSION | 2 +- .../java/retrofit2rx2/.openapi-generator/VERSION | 2 +- .../java/retrofit2rx3/.openapi-generator/VERSION | 2 +- .../java/vertx-no-nullable/.openapi-generator/VERSION | 2 +- .../petstore/java/vertx/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../petstore/java/webclient/.openapi-generator/VERSION | 2 +- .../petstore/javascript-es6/.openapi-generator/VERSION | 2 +- .../javascript-promise-es6/.openapi-generator/VERSION | 2 +- samples/client/petstore/k6/.openapi-generator/VERSION | 2 +- samples/client/petstore/k6/script.js | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../petstore/kotlin-gson/.openapi-generator/VERSION | 2 +- .../petstore/kotlin-jackson/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../kotlin-jvm-ktor-gson/.openapi-generator/VERSION | 2 +- .../kotlin-jvm-ktor-jackson/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../kotlin-jvm-volley/.openapi-generator/VERSION | 2 +- .../kotlin-modelMutable/.openapi-generator/VERSION | 2 +- .../kotlin-moshi-codegen/.openapi-generator/VERSION | 2 +- .../kotlin-multiplatform/.openapi-generator/VERSION | 2 +- .../kotlin-nonpublic/.openapi-generator/VERSION | 2 +- .../kotlin-nullable/.openapi-generator/VERSION | 2 +- .../petstore/kotlin-okhttp3/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../kotlin-retrofit2-rx3/.openapi-generator/VERSION | 2 +- .../kotlin-retrofit2/.openapi-generator/VERSION | 2 +- .../petstore/kotlin-string/.openapi-generator/VERSION | 2 +- .../kotlin-threetenbp/.openapi-generator/VERSION | 2 +- .../kotlin-uppercase-enum/.openapi-generator/VERSION | 2 +- .../client/petstore/kotlin/.openapi-generator/VERSION | 2 +- samples/client/petstore/lua/.openapi-generator/VERSION | 2 +- samples/client/petstore/nim/.openapi-generator/VERSION | 2 +- .../petstore/objc/core-data/.openapi-generator/VERSION | 2 +- .../petstore/objc/default/.openapi-generator/VERSION | 2 +- .../client/petstore/perl/.openapi-generator/VERSION | 2 +- .../petstore/php-dt-modern/.openapi-generator/VERSION | 2 +- .../client/petstore/php-dt/.openapi-generator/VERSION | 2 +- .../php/OpenAPIClient-php/.openapi-generator/VERSION | 2 +- .../php/OpenAPIClient-php/lib/Api/AnotherFakeApi.php | 2 +- .../php/OpenAPIClient-php/lib/Api/DefaultApi.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Api/FakeApi.php | 2 +- .../lib/Api/FakeClassnameTags123Api.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Api/PetApi.php | 2 +- .../php/OpenAPIClient-php/lib/Api/StoreApi.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Api/UserApi.php | 2 +- .../php/OpenAPIClient-php/lib/ApiException.php | 2 +- .../php/OpenAPIClient-php/lib/Configuration.php | 2 +- .../php/OpenAPIClient-php/lib/HeaderSelector.php | 2 +- .../lib/Model/AdditionalPropertiesClass.php | 2 +- .../OpenAPIClient-php/lib/Model/AllOfWithSingleRef.php | 2 +- .../php/OpenAPIClient-php/lib/Model/Animal.php | 2 +- .../php/OpenAPIClient-php/lib/Model/ApiResponse.php | 2 +- .../lib/Model/ArrayOfArrayOfNumberOnly.php | 2 +- .../OpenAPIClient-php/lib/Model/ArrayOfNumberOnly.php | 2 +- .../php/OpenAPIClient-php/lib/Model/ArrayTest.php | 2 +- .../php/OpenAPIClient-php/lib/Model/Capitalization.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/Cat.php | 2 +- .../php/OpenAPIClient-php/lib/Model/CatAllOf.php | 2 +- .../php/OpenAPIClient-php/lib/Model/Category.php | 2 +- .../php/OpenAPIClient-php/lib/Model/ClassModel.php | 2 +- .../php/OpenAPIClient-php/lib/Model/Client.php | 2 +- .../OpenAPIClient-php/lib/Model/DeprecatedObject.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/Dog.php | 2 +- .../php/OpenAPIClient-php/lib/Model/DogAllOf.php | 2 +- .../php/OpenAPIClient-php/lib/Model/EnumArrays.php | 2 +- .../php/OpenAPIClient-php/lib/Model/EnumClass.php | 2 +- .../php/OpenAPIClient-php/lib/Model/EnumTest.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/File.php | 2 +- .../lib/Model/FileSchemaTestClass.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/Foo.php | 2 +- .../lib/Model/FooGetDefaultResponse.php | 2 +- .../php/OpenAPIClient-php/lib/Model/FormatTest.php | 2 +- .../OpenAPIClient-php/lib/Model/HasOnlyReadOnly.php | 2 +- .../OpenAPIClient-php/lib/Model/HealthCheckResult.php | 2 +- .../php/OpenAPIClient-php/lib/Model/MapTest.php | 2 +- .../MixedPropertiesAndAdditionalPropertiesClass.php | 2 +- .../OpenAPIClient-php/lib/Model/Model200Response.php | 2 +- .../php/OpenAPIClient-php/lib/Model/ModelInterface.php | 2 +- .../php/OpenAPIClient-php/lib/Model/ModelList.php | 2 +- .../php/OpenAPIClient-php/lib/Model/ModelReturn.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/Name.php | 2 +- .../php/OpenAPIClient-php/lib/Model/NullableClass.php | 2 +- .../php/OpenAPIClient-php/lib/Model/NumberOnly.php | 2 +- .../lib/Model/ObjectWithDeprecatedFields.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/Order.php | 2 +- .../php/OpenAPIClient-php/lib/Model/OuterComposite.php | 2 +- .../php/OpenAPIClient-php/lib/Model/OuterEnum.php | 2 +- .../lib/Model/OuterEnumDefaultValue.php | 2 +- .../OpenAPIClient-php/lib/Model/OuterEnumInteger.php | 2 +- .../lib/Model/OuterEnumIntegerDefaultValue.php | 2 +- .../lib/Model/OuterObjectWithEnumProperty.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/Pet.php | 2 +- .../php/OpenAPIClient-php/lib/Model/ReadOnlyFirst.php | 2 +- .../php/OpenAPIClient-php/lib/Model/SingleRefType.php | 2 +- .../OpenAPIClient-php/lib/Model/SpecialModelName.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/Tag.php | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/User.php | 2 +- .../php/OpenAPIClient-php/lib/ObjectSerializer.php | 2 +- .../petstore/powershell/.openapi-generator/VERSION | 2 +- .../petstore/python-asyncio/.openapi-generator/VERSION | 2 +- .../petstore/python-legacy/.openapi-generator/VERSION | 2 +- .../petstore/python-tornado/.openapi-generator/VERSION | 2 +- .../client/petstore/python/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../petstore/ruby-faraday/.openapi-generator/VERSION | 2 +- samples/client/petstore/ruby-faraday/lib/petstore.rb | 2 +- .../ruby-faraday/lib/petstore/api/another_fake_api.rb | 2 +- .../ruby-faraday/lib/petstore/api/default_api.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/api/fake_api.rb | 2 +- .../lib/petstore/api/fake_classname_tags123_api.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/api/pet_api.rb | 2 +- .../ruby-faraday/lib/petstore/api/store_api.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/api/user_api.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/api_client.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/api_error.rb | 2 +- .../ruby-faraday/lib/petstore/configuration.rb | 2 +- .../lib/petstore/models/additional_properties_class.rb | 2 +- .../lib/petstore/models/all_of_with_single_ref.rb | 2 +- .../ruby-faraday/lib/petstore/models/animal.rb | 2 +- .../ruby-faraday/lib/petstore/models/api_response.rb | 2 +- .../petstore/models/array_of_array_of_number_only.rb | 2 +- .../lib/petstore/models/array_of_number_only.rb | 2 +- .../ruby-faraday/lib/petstore/models/array_test.rb | 2 +- .../ruby-faraday/lib/petstore/models/capitalization.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/cat.rb | 2 +- .../ruby-faraday/lib/petstore/models/cat_all_of.rb | 2 +- .../ruby-faraday/lib/petstore/models/category.rb | 2 +- .../ruby-faraday/lib/petstore/models/class_model.rb | 2 +- .../ruby-faraday/lib/petstore/models/client.rb | 2 +- .../lib/petstore/models/deprecated_object.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/dog.rb | 2 +- .../ruby-faraday/lib/petstore/models/dog_all_of.rb | 2 +- .../ruby-faraday/lib/petstore/models/enum_arrays.rb | 2 +- .../ruby-faraday/lib/petstore/models/enum_class.rb | 2 +- .../ruby-faraday/lib/petstore/models/enum_test.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/file.rb | 2 +- .../lib/petstore/models/file_schema_test_class.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/foo.rb | 2 +- .../lib/petstore/models/foo_get_default_response.rb | 2 +- .../ruby-faraday/lib/petstore/models/format_test.rb | 2 +- .../lib/petstore/models/has_only_read_only.rb | 2 +- .../lib/petstore/models/health_check_result.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/list.rb | 2 +- .../ruby-faraday/lib/petstore/models/map_test.rb | 2 +- ...mixed_properties_and_additional_properties_class.rb | 2 +- .../lib/petstore/models/model200_response.rb | 2 +- .../ruby-faraday/lib/petstore/models/model_return.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/name.rb | 2 +- .../ruby-faraday/lib/petstore/models/nullable_class.rb | 2 +- .../ruby-faraday/lib/petstore/models/number_only.rb | 2 +- .../petstore/models/object_with_deprecated_fields.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/order.rb | 2 +- .../lib/petstore/models/outer_composite.rb | 2 +- .../ruby-faraday/lib/petstore/models/outer_enum.rb | 2 +- .../lib/petstore/models/outer_enum_default_value.rb | 2 +- .../lib/petstore/models/outer_enum_integer.rb | 2 +- .../models/outer_enum_integer_default_value.rb | 2 +- .../petstore/models/outer_object_with_enum_property.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/pet.rb | 2 +- .../lib/petstore/models/read_only_first.rb | 2 +- .../lib/petstore/models/single_ref_type.rb | 2 +- .../lib/petstore/models/special_model_name.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/tag.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/models/user.rb | 2 +- .../petstore/ruby-faraday/lib/petstore/version.rb | 2 +- samples/client/petstore/ruby-faraday/petstore.gemspec | 2 +- .../petstore/ruby-faraday/spec/api_client_spec.rb | 2 +- .../petstore/ruby-faraday/spec/configuration_spec.rb | 2 +- .../client/petstore/ruby-faraday/spec/spec_helper.rb | 2 +- .../client/petstore/ruby/.openapi-generator/VERSION | 2 +- samples/client/petstore/ruby/lib/petstore.rb | 2 +- .../petstore/ruby/lib/petstore/api/another_fake_api.rb | 2 +- .../petstore/ruby/lib/petstore/api/default_api.rb | 2 +- .../client/petstore/ruby/lib/petstore/api/fake_api.rb | 2 +- .../lib/petstore/api/fake_classname_tags123_api.rb | 2 +- .../client/petstore/ruby/lib/petstore/api/pet_api.rb | 2 +- .../client/petstore/ruby/lib/petstore/api/store_api.rb | 2 +- .../client/petstore/ruby/lib/petstore/api/user_api.rb | 2 +- .../client/petstore/ruby/lib/petstore/api_client.rb | 2 +- samples/client/petstore/ruby/lib/petstore/api_error.rb | 2 +- .../client/petstore/ruby/lib/petstore/configuration.rb | 2 +- .../lib/petstore/models/additional_properties_class.rb | 2 +- .../ruby/lib/petstore/models/all_of_with_single_ref.rb | 2 +- .../client/petstore/ruby/lib/petstore/models/animal.rb | 2 +- .../petstore/ruby/lib/petstore/models/api_response.rb | 2 +- .../petstore/models/array_of_array_of_number_only.rb | 2 +- .../ruby/lib/petstore/models/array_of_number_only.rb | 2 +- .../petstore/ruby/lib/petstore/models/array_test.rb | 2 +- .../ruby/lib/petstore/models/capitalization.rb | 2 +- .../client/petstore/ruby/lib/petstore/models/cat.rb | 2 +- .../petstore/ruby/lib/petstore/models/cat_all_of.rb | 2 +- .../petstore/ruby/lib/petstore/models/category.rb | 2 +- .../petstore/ruby/lib/petstore/models/class_model.rb | 2 +- .../client/petstore/ruby/lib/petstore/models/client.rb | 2 +- .../ruby/lib/petstore/models/deprecated_object.rb | 2 +- .../client/petstore/ruby/lib/petstore/models/dog.rb | 2 +- .../petstore/ruby/lib/petstore/models/dog_all_of.rb | 2 +- .../petstore/ruby/lib/petstore/models/enum_arrays.rb | 2 +- .../petstore/ruby/lib/petstore/models/enum_class.rb | 2 +- .../petstore/ruby/lib/petstore/models/enum_test.rb | 2 +- .../client/petstore/ruby/lib/petstore/models/file.rb | 2 +- .../ruby/lib/petstore/models/file_schema_test_class.rb | 2 +- .../client/petstore/ruby/lib/petstore/models/foo.rb | 2 +- .../lib/petstore/models/foo_get_default_response.rb | 2 +- .../petstore/ruby/lib/petstore/models/format_test.rb | 2 +- .../ruby/lib/petstore/models/has_only_read_only.rb | 2 +- .../ruby/lib/petstore/models/health_check_result.rb | 2 +- .../client/petstore/ruby/lib/petstore/models/list.rb | 2 +- .../petstore/ruby/lib/petstore/models/map_test.rb | 2 +- ...mixed_properties_and_additional_properties_class.rb | 2 +- .../ruby/lib/petstore/models/model200_response.rb | 2 +- .../petstore/ruby/lib/petstore/models/model_return.rb | 2 +- .../client/petstore/ruby/lib/petstore/models/name.rb | 2 +- .../ruby/lib/petstore/models/nullable_class.rb | 2 +- .../petstore/ruby/lib/petstore/models/number_only.rb | 2 +- .../petstore/models/object_with_deprecated_fields.rb | 2 +- .../client/petstore/ruby/lib/petstore/models/order.rb | 2 +- .../ruby/lib/petstore/models/outer_composite.rb | 2 +- .../petstore/ruby/lib/petstore/models/outer_enum.rb | 2 +- .../lib/petstore/models/outer_enum_default_value.rb | 2 +- .../ruby/lib/petstore/models/outer_enum_integer.rb | 2 +- .../models/outer_enum_integer_default_value.rb | 2 +- .../petstore/models/outer_object_with_enum_property.rb | 2 +- .../client/petstore/ruby/lib/petstore/models/pet.rb | 2 +- .../ruby/lib/petstore/models/read_only_first.rb | 2 +- .../ruby/lib/petstore/models/single_ref_type.rb | 2 +- .../ruby/lib/petstore/models/special_model_name.rb | 2 +- .../client/petstore/ruby/lib/petstore/models/tag.rb | 2 +- .../client/petstore/ruby/lib/petstore/models/user.rb | 2 +- samples/client/petstore/ruby/lib/petstore/version.rb | 2 +- samples/client/petstore/ruby/petstore.gemspec | 2 +- samples/client/petstore/ruby/spec/api_client_spec.rb | 2 +- .../client/petstore/ruby/spec/configuration_spec.rb | 2 +- samples/client/petstore/ruby/spec/spec_helper.rb | 2 +- .../rust/hyper/petstore/.openapi-generator/VERSION | 2 +- .../reqwest/petstore-async/.openapi-generator/VERSION | 2 +- .../petstore-awsv4signature/.openapi-generator/VERSION | 2 +- .../rust/reqwest/petstore/.openapi-generator/VERSION | 2 +- .../petstore/scala-akka/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../petstore/scala-sttp/.openapi-generator/VERSION | 2 +- .../spring-cloud-async/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../spring-cloud-date-time/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/DefaultApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../petstore/spring-cloud/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../petstore/spring-stubs/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../swift5/alamofireLibrary/.openapi-generator/VERSION | 2 +- .../asyncAwaitLibrary/.openapi-generator/VERSION | 2 +- .../swift5/combineLibrary/.openapi-generator/VERSION | 2 +- .../petstore/swift5/default/.openapi-generator/VERSION | 2 +- .../swift5/deprecated/.openapi-generator/VERSION | 2 +- .../swift5/frozenEnums/.openapi-generator/VERSION | 2 +- .../swift5/nonPublicApi/.openapi-generator/VERSION | 2 +- .../swift5/objcCompatible/.openapi-generator/VERSION | 2 +- .../petstore/swift5/oneOf/.openapi-generator/VERSION | 2 +- .../promisekitLibrary/.openapi-generator/VERSION | 2 +- .../readonlyProperties/.openapi-generator/VERSION | 2 +- .../swift5/resultLibrary/.openapi-generator/VERSION | 2 +- .../swift5/rxswiftLibrary/.openapi-generator/VERSION | 2 +- .../urlsessionLibrary/.openapi-generator/VERSION | 2 +- .../swift5/vaporLibrary/.openapi-generator/VERSION | 2 +- .../swift5/x-swift-hashable/.openapi-generator/VERSION | 2 +- .../builds/default/.openapi-generator/VERSION | 2 +- .../builds/default/.openapi-generator/VERSION | 2 +- .../builds/default/.openapi-generator/VERSION | 2 +- .../builds/with-npm/.openapi-generator/VERSION | 2 +- .../builds/default/.openapi-generator/VERSION | 2 +- .../builds/default/.openapi-generator/VERSION | 2 +- .../builds/default/.openapi-generator/VERSION | 2 +- .../builds/with-npm/.openapi-generator/VERSION | 2 +- .../default/.openapi-generator/VERSION | 2 +- .../builds/composed-schemas/.openapi-generator/VERSION | 2 +- .../builds/default/.openapi-generator/VERSION | 2 +- .../builds/es6-target/.openapi-generator/VERSION | 2 +- .../builds/test-petstore/.openapi-generator/VERSION | 2 +- .../with-complex-headers/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../builds/with-interfaces/.openapi-generator/VERSION | 2 +- .../with-node-imports/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../builds/with-npm-version/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../with-string-enums/.openapi-generator/VERSION | 2 +- .../builds/default-v3.0/.openapi-generator/VERSION | 2 +- .../builds/default/.openapi-generator/VERSION | 2 +- .../builds/enum/.openapi-generator/VERSION | 2 +- .../builds/es6-target/.openapi-generator/VERSION | 2 +- .../multiple-parameters/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../sagas-and-records/.openapi-generator/VERSION | 2 +- .../builds/with-interfaces/.openapi-generator/VERSION | 2 +- .../builds/with-npm-version/.openapi-generator/VERSION | 2 +- .../with-string-enums/.openapi-generator/VERSION | 2 +- .../without-runtime-checks/.openapi-generator/VERSION | 2 +- .../typescript-inversify/.openapi-generator/VERSION | 2 +- .../default/.openapi-generator/VERSION | 2 +- .../typescript-jquery/npm/.openapi-generator/VERSION | 2 +- .../builds/default/.openapi-generator/VERSION | 2 +- .../typescript-node/default/.openapi-generator/VERSION | 2 +- .../typescript-node/npm/.openapi-generator/VERSION | 2 +- .../builds/with-npm-version/.openapi-generator/VERSION | 2 +- .../builds/default/.openapi-generator/VERSION | 2 +- .../builds/es6-target/.openapi-generator/VERSION | 2 +- .../builds/with-npm-version/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../protobuf-schema/.openapi-generator/VERSION | 2 +- samples/meta-codegen/lib/pom.xml | 2 +- samples/meta-codegen/usage/.openapi-generator/VERSION | 2 +- .../python-experimental/.openapi-generator/VERSION | 2 +- samples/openapi3/client/elm/.openapi-generator/VERSION | 2 +- .../go-experimental/.openapi-generator/VERSION | 2 +- .../java/jersey2-java8/.openapi-generator/VERSION | 2 +- .../x-auth-id-alias/python/.openapi-generator/VERSION | 2 +- .../ruby-client/.openapi-generator/VERSION | 2 +- .../x-auth-id-alias/ruby-client/lib/x_auth_id_alias.rb | 2 +- .../ruby-client/lib/x_auth_id_alias/api/usage_api.rb | 2 +- .../ruby-client/lib/x_auth_id_alias/api_client.rb | 2 +- .../ruby-client/lib/x_auth_id_alias/api_error.rb | 2 +- .../ruby-client/lib/x_auth_id_alias/configuration.rb | 2 +- .../ruby-client/lib/x_auth_id_alias/version.rb | 2 +- .../ruby-client/spec/api_client_spec.rb | 2 +- .../ruby-client/spec/configuration_spec.rb | 2 +- .../x-auth-id-alias/ruby-client/spec/spec_helper.rb | 2 +- .../ruby-client/x_auth_id_alias.gemspec | 2 +- .../dynamic-servers/python/.openapi-generator/VERSION | 2 +- .../dynamic-servers/ruby/.openapi-generator/VERSION | 2 +- .../dynamic-servers/ruby/dynamic_servers.gemspec | 2 +- .../dynamic-servers/ruby/lib/dynamic_servers.rb | 2 +- .../ruby/lib/dynamic_servers/api/usage_api.rb | 2 +- .../ruby/lib/dynamic_servers/api_client.rb | 2 +- .../ruby/lib/dynamic_servers/api_error.rb | 2 +- .../ruby/lib/dynamic_servers/configuration.rb | 2 +- .../ruby/lib/dynamic_servers/version.rb | 2 +- .../dynamic-servers/ruby/spec/api_client_spec.rb | 2 +- .../dynamic-servers/ruby/spec/configuration_spec.rb | 2 +- .../features/dynamic-servers/ruby/spec/spec_helper.rb | 2 +- .../ruby-client/.openapi-generator/VERSION | 2 +- .../ruby-client/lib/petstore.rb | 2 +- .../ruby-client/lib/petstore/api/usage_api.rb | 2 +- .../ruby-client/lib/petstore/api_client.rb | 2 +- .../ruby-client/lib/petstore/api_error.rb | 2 +- .../ruby-client/lib/petstore/configuration.rb | 2 +- .../ruby-client/lib/petstore/models/array_alias.rb | 2 +- .../ruby-client/lib/petstore/models/map_alias.rb | 2 +- .../ruby-client/lib/petstore/version.rb | 2 +- .../ruby-client/petstore.gemspec | 2 +- .../ruby-client/spec/api_client_spec.rb | 2 +- .../ruby-client/spec/configuration_spec.rb | 2 +- .../ruby-client/spec/spec_helper.rb | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../petstore_client_lib/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../petstore/go/go-petstore/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../java/jersey2-java8/.openapi-generator/VERSION | 2 +- .../python-experimental/.openapi-generator/VERSION | 2 +- .../petstore/python-legacy/.openapi-generator/VERSION | 2 +- .../client/petstore/python/.openapi-generator/VERSION | 2 +- .../petstore/spring-cloud-3/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../spring-cloud-async/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../spring-cloud-date-time/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/DefaultApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../org/openapitools/api/FakeClassnameTags123Api.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../petstore/spring-cloud/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../petstore/spring-stubs/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../builds/browser/.openapi-generator/VERSION | 2 +- .../builds/composed-schemas/.openapi-generator/VERSION | 2 +- .../builds/default/.openapi-generator/VERSION | 2 +- .../typescript/builds/deno/.openapi-generator/VERSION | 2 +- .../builds/inversify/.openapi-generator/VERSION | 2 +- .../builds/jquery/.openapi-generator/VERSION | 2 +- .../builds/object_params/.openapi-generator/VERSION | 2 +- .../petstore/avro-schema/.openapi-generator/VERSION | 2 +- .../spring-boot-oneof/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/BarApi.java | 2 +- .../src/main/java/org/openapitools/api/FooApi.java | 2 +- .../spring-boot-springdoc/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../petstore/springboot-3/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../springboot-delegate/.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../springboot-reactive/.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../springboot-source/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../springboot-useoptional/.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../petstore/springboot/.openapi-generator/VERSION | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../ktorm-modelMutable/.openapi-generator/VERSION | 2 +- .../schema/petstore/ktorm/.openapi-generator/VERSION | 2 +- .../schema/petstore/mysql/.openapi-generator/VERSION | 2 +- .../petstore/wsdl-schema/.openapi-generator/VERSION | 2 +- .../petstore/aspnetcore-3.0/.openapi-generator/VERSION | 2 +- .../petstore/aspnetcore-3.1/.openapi-generator/VERSION | 2 +- .../petstore/aspnetcore-5.0/.openapi-generator/VERSION | 2 +- .../petstore/aspnetcore-6.0/.openapi-generator/VERSION | 2 +- .../petstore/aspnetcore/.openapi-generator/VERSION | 2 +- .../petstore/cpp-pistache/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../petstore/erlang-server/.openapi-generator/VERSION | 2 +- .../petstore/go-api-server/.openapi-generator/VERSION | 2 +- .../petstore/go-chi-server/.openapi-generator/VERSION | 2 +- .../petstore/go-echo-server/.openapi-generator/VERSION | 2 +- .../go-gin-api-server/.openapi-generator/VERSION | 2 +- .../go-server-required/.openapi-generator/VERSION | 2 +- .../haskell-servant/.openapi-generator/VERSION | 2 +- .../petstore/haskell-yesod/.openapi-generator/VERSION | 2 +- .../petstore/java-camel/.openapi-generator/VERSION | 2 +- samples/server/petstore/java-camel/pom.xml | 2 +- .../main/java/org/openapitools/RestConfiguration.java | 2 +- .../org/openapitools/ValidationErrorProcessor.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../java/org/openapitools/api/PetApiRoutesImpl.java | 2 +- .../java/org/openapitools/api/PetApiValidator.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../java/org/openapitools/api/StoreApiRoutesImpl.java | 2 +- .../java/org/openapitools/api/StoreApiValidator.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../java/org/openapitools/api/UserApiRoutesImpl.java | 2 +- .../java/org/openapitools/api/UserApiValidator.java | 2 +- .../src/main/resources/application.properties | 2 +- .../java-micronaut-server/.openapi-generator/VERSION | 2 +- .../petstore/java-msf4j/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../java-play-framework/.openapi-generator/VERSION | 2 +- .../petstore/java-undertow/.openapi-generator/VERSION | 2 +- .../petstore/java-vertx-web/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../petstore/jaxrs-cxf-cdi/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../petstore/jaxrs-cxf/.openapi-generator/VERSION | 2 +- .../jaxrs-datelib-j8/.openapi-generator/VERSION | 2 +- .../petstore/jaxrs-jersey/.openapi-generator/VERSION | 2 +- .../jaxrs-resteasy/default/.openapi-generator/VERSION | 2 +- .../eap-java8/.openapi-generator/VERSION | 2 +- .../jaxrs-resteasy/eap-joda/.openapi-generator/VERSION | 2 +- .../jaxrs-resteasy/eap/.openapi-generator/VERSION | 2 +- .../jaxrs-resteasy/java8/.openapi-generator/VERSION | 2 +- .../jaxrs-resteasy/joda/.openapi-generator/VERSION | 2 +- .../jaxrs-spec-interface/.openapi-generator/VERSION | 2 +- .../petstore/jaxrs-spec/.openapi-generator/VERSION | 2 +- .../jaxrs/jersey1-useTags/.openapi-generator/VERSION | 2 +- .../petstore/jaxrs/jersey1/.openapi-generator/VERSION | 2 +- .../jaxrs/jersey2-useTags/.openapi-generator/VERSION | 2 +- .../petstore/jaxrs/jersey2/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../petstore/kotlin-server-modelMutable/README.md | 2 +- .../jaxrs-spec/.openapi-generator/VERSION | 2 +- .../kotlin-server/ktor/.openapi-generator/VERSION | 2 +- samples/server/petstore/kotlin-server/ktor/README.md | 2 +- .../.openapi-generator/VERSION | 2 +- .../src/main/kotlin/org/openapitools/api/PetApi.kt | 2 +- .../src/main/kotlin/org/openapitools/api/StoreApi.kt | 2 +- .../src/main/kotlin/org/openapitools/api/UserApi.kt | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../kotlin-springboot/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../petstore/kotlin/vertx/.openapi-generator/VERSION | 2 +- .../petstore/php-laravel/.openapi-generator/VERSION | 2 +- .../petstore/php-lumen/.openapi-generator/VERSION | 2 +- .../php-mezzio-ph-modern/.openapi-generator/VERSION | 2 +- .../petstore/php-mezzio-ph/.openapi-generator/VERSION | 2 +- .../petstore/php-slim4/.openapi-generator/VERSION | 2 +- .../SymfonyBundle-php/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../petstore/python-aiohttp/.openapi-generator/VERSION | 2 +- .../python-blueplanet/.openapi-generator/VERSION | 2 +- .../petstore/python-fastapi/.openapi-generator/VERSION | 2 +- .../petstore/python-flask/.openapi-generator/VERSION | 2 +- .../output/multipart-v3/.openapi-generator/VERSION | 2 +- .../output/no-example-v3/.openapi-generator/VERSION | 2 +- .../output/openapi-v3/.openapi-generator/VERSION | 2 +- .../output/ops-v3/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../output/ping-bearer-auth/.openapi-generator/VERSION | 2 +- .../output/rust-server-test/.openapi-generator/VERSION | 2 +- .../scala-akka-http-server/.openapi-generator/VERSION | 2 +- .../.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/NullableApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../springboot-delegate-j8/.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../springboot-delegate/.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../springboot-reactive/.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../springboot-useoptional/.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- .../springboot-virtualan/.openapi-generator/VERSION | 2 +- .../org/openapitools/virtualan/api/AnotherFakeApi.java | 2 +- .../java/org/openapitools/virtualan/api/FakeApi.java | 2 +- .../virtualan/api/FakeClassnameTestApi.java | 2 +- .../java/org/openapitools/virtualan/api/PetApi.java | 2 +- .../java/org/openapitools/virtualan/api/StoreApi.java | 2 +- .../java/org/openapitools/virtualan/api/UserApi.java | 2 +- .../petstore/springboot/.openapi-generator/VERSION | 2 +- .../main/java/org/openapitools/api/AnotherFakeApi.java | 2 +- .../src/main/java/org/openapitools/api/FakeApi.java | 2 +- .../org/openapitools/api/FakeClassnameTestApi.java | 2 +- .../src/main/java/org/openapitools/api/PetApi.java | 2 +- .../src/main/java/org/openapitools/api/StoreApi.java | 2 +- .../src/main/java/org/openapitools/api/UserApi.java | 2 +- website/src/pages/index.js | 2 +- 810 files changed, 818 insertions(+), 818 deletions(-) diff --git a/README.md b/README.md index a74caca1e2..badf62e37d 100644 --- a/README.md +++ b/README.md @@ -179,16 +179,16 @@ See the different versions of the [openapi-generator-cli](https://search.maven.o If you're looking for the latest stable version, you can grab it directly from Maven.org (Java 8 runtime at a minimum): -JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.0/openapi-generator-cli-6.0.0.jar` +JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.1/openapi-generator-cli-6.0.1.jar` For **Mac/Linux** users: ```sh -wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.0/openapi-generator-cli-6.0.0.jar -O openapi-generator-cli.jar +wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.1/openapi-generator-cli-6.0.1.jar -O openapi-generator-cli.jar ``` For **Windows** users, you will need to install [wget](http://gnuwin32.sourceforge.net/packages/wget.htm) or you can use Invoke-WebRequest in PowerShell (3.0+), e.g. ``` -Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.0/openapi-generator-cli-6.0.0.jar +Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.1/openapi-generator-cli-6.0.1.jar ``` After downloading the JAR, run `java -jar openapi-generator-cli.jar help` to show the usage. @@ -413,7 +413,7 @@ openapi-generator-cli version To use a specific version of "openapi-generator-cli" ```sh -openapi-generator-cli version-manager set 6.0.0 +openapi-generator-cli version-manager set 6.0.1 ``` Or install it as dev-dependency: @@ -437,7 +437,7 @@ java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generat (if you're on Windows, replace the last command with `java -jar modules\openapi-generator-cli\target\openapi-generator-cli.jar generate -i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g php -o c:\temp\php_api_client`) -You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.0/openapi-generator-cli-6.0.0.jar) +You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.1/openapi-generator-cli-6.0.1.jar) To get a list of **general** options available, please run `java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar help generate` diff --git a/docs/installation.md b/docs/installation.md index c3551a78fd..4aadfcbf3e 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -103,18 +103,18 @@ docker run --rm \ If you're looking for the latest stable version, you can grab it directly from Maven.org (Java 8 runtime at a minimum): -JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.0/openapi-generator-cli-6.0.0.jar` +JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.1/openapi-generator-cli-6.0.1.jar` For **Mac/Linux** users: ```bash -wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.0/openapi-generator-cli-6.0.0.jar -O openapi-generator-cli.jar +wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.1/openapi-generator-cli-6.0.1.jar -O openapi-generator-cli.jar ``` For **Windows** users, you will need to install [wget](http://gnuwin32.sourceforge.net/packages/wget.htm) or you can use Invoke-WebRequest in PowerShell (3.0+), e.g. ```powershell -Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.0/openapi-generator-cli-6.0.0.jar +Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.1/openapi-generator-cli-6.0.1.jar ``` diff --git a/modules/openapi-generator-cli/pom.xml b/modules/openapi-generator-cli/pom.xml index a64e865eaa..d882c909b3 100644 --- a/modules/openapi-generator-cli/pom.xml +++ b/modules/openapi-generator-cli/pom.xml @@ -4,7 +4,7 @@ org.openapitools openapi-generator-project - 6.0.1-SNAPSHOT + 6.0.1 ../.. diff --git a/modules/openapi-generator-core/pom.xml b/modules/openapi-generator-core/pom.xml index 73107d4e21..04bedff215 100644 --- a/modules/openapi-generator-core/pom.xml +++ b/modules/openapi-generator-core/pom.xml @@ -6,7 +6,7 @@ openapi-generator-project org.openapitools - 6.0.1-SNAPSHOT + 6.0.1 ../.. diff --git a/modules/openapi-generator-gradle-plugin/README.adoc b/modules/openapi-generator-gradle-plugin/README.adoc index 35faad5e6c..9f993fb548 100644 --- a/modules/openapi-generator-gradle-plugin/README.adoc +++ b/modules/openapi-generator-gradle-plugin/README.adoc @@ -97,7 +97,7 @@ task validateGoodSpec(type: org.openapitools.generator.gradle.plugin.tasks.Valid [source,group] ---- plugins { - id "org.openapi.generator" version "6.0.0" + id "org.openapi.generator" version "6.0.1" } ---- @@ -113,7 +113,7 @@ buildscript { // url "https://plugins.gradle.org/m2/" } dependencies { - classpath "org.openapitools:openapi-generator-gradle-plugin:6.0.0" + classpath "org.openapitools:openapi-generator-gradle-plugin:6.0.1" } } @@ -695,7 +695,7 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:3.2.1' - classpath('org.openapitools:openapi-generator-gradle-plugin:6.0.0') { + classpath('org.openapitools:openapi-generator-gradle-plugin:6.0.1') { exclude group: 'com.google.guava' } } diff --git a/modules/openapi-generator-gradle-plugin/gradle.properties b/modules/openapi-generator-gradle-plugin/gradle.properties index 99633efa93..2015ea197e 100644 --- a/modules/openapi-generator-gradle-plugin/gradle.properties +++ b/modules/openapi-generator-gradle-plugin/gradle.properties @@ -1,5 +1,5 @@ # RELEASE_VERSION -openApiGeneratorVersion=6.0.1-SNAPSHOT +openApiGeneratorVersion=6.0.1 # /RELEASE_VERSION # BEGIN placeholders diff --git a/modules/openapi-generator-gradle-plugin/pom.xml b/modules/openapi-generator-gradle-plugin/pom.xml index fc5395f03c..7a34ebb3ab 100644 --- a/modules/openapi-generator-gradle-plugin/pom.xml +++ b/modules/openapi-generator-gradle-plugin/pom.xml @@ -4,7 +4,7 @@ org.openapitools openapi-generator-project - 6.0.1-SNAPSHOT + 6.0.1 ../.. diff --git a/modules/openapi-generator-gradle-plugin/samples/local-spec/README.md b/modules/openapi-generator-gradle-plugin/samples/local-spec/README.md index 68d4256dfe..d3ffccdb69 100644 --- a/modules/openapi-generator-gradle-plugin/samples/local-spec/README.md +++ b/modules/openapi-generator-gradle-plugin/samples/local-spec/README.md @@ -18,5 +18,5 @@ gradle generateGoWithInvalidSpec # expected outcome: BUILD FAILED The samples can be tested against other versions of the plugin using the `openApiGeneratorVersion` property. For example: ```bash -gradle -PopenApiGeneratorVersion=5.3.0 openApiValidate +gradle -PopenApiGeneratorVersion=6.0.1 openApiValidate ``` diff --git a/modules/openapi-generator-gradle-plugin/samples/local-spec/gradle.properties b/modules/openapi-generator-gradle-plugin/samples/local-spec/gradle.properties index 42427749f1..a9abdcf563 100644 --- a/modules/openapi-generator-gradle-plugin/samples/local-spec/gradle.properties +++ b/modules/openapi-generator-gradle-plugin/samples/local-spec/gradle.properties @@ -1,3 +1,3 @@ # RELEASE_VERSION -openApiGeneratorVersion=6.0.1-SNAPSHOT +openApiGeneratorVersion=6.0.1 # /RELEASE_VERSION diff --git a/modules/openapi-generator-maven-plugin/README.md b/modules/openapi-generator-maven-plugin/README.md index c7b2c05861..2d28480f1b 100644 --- a/modules/openapi-generator-maven-plugin/README.md +++ b/modules/openapi-generator-maven-plugin/README.md @@ -12,7 +12,7 @@ Add to your `build->plugins` section (default phase is `generate-sources` phase) org.openapitools openapi-generator-maven-plugin - 6.0.0 + 6.0.1 diff --git a/modules/openapi-generator-maven-plugin/examples/java-client.xml b/modules/openapi-generator-maven-plugin/examples/java-client.xml index 9c6426f7cd..1465af5d01 100644 --- a/modules/openapi-generator-maven-plugin/examples/java-client.xml +++ b/modules/openapi-generator-maven-plugin/examples/java-client.xml @@ -13,7 +13,7 @@ org.openapitools openapi-generator-maven-plugin - 6.0.1-SNAPSHOT + 6.0.1 diff --git a/modules/openapi-generator-maven-plugin/examples/kotlin.xml b/modules/openapi-generator-maven-plugin/examples/kotlin.xml index 2686d13ac1..889472f143 100644 --- a/modules/openapi-generator-maven-plugin/examples/kotlin.xml +++ b/modules/openapi-generator-maven-plugin/examples/kotlin.xml @@ -15,7 +15,7 @@ org.openapitools openapi-generator-maven-plugin - 6.0.1-SNAPSHOT + 6.0.1 diff --git a/modules/openapi-generator-maven-plugin/examples/multi-module/java-client/pom.xml b/modules/openapi-generator-maven-plugin/examples/multi-module/java-client/pom.xml index 6d342388a4..30431fe4bb 100644 --- a/modules/openapi-generator-maven-plugin/examples/multi-module/java-client/pom.xml +++ b/modules/openapi-generator-maven-plugin/examples/multi-module/java-client/pom.xml @@ -19,7 +19,7 @@ org.openapitools openapi-generator-maven-plugin - 6.0.1-SNAPSHOT + 6.0.1 diff --git a/modules/openapi-generator-maven-plugin/examples/non-java-invalid-spec.xml b/modules/openapi-generator-maven-plugin/examples/non-java-invalid-spec.xml index dafebe3e16..70d51c536e 100644 --- a/modules/openapi-generator-maven-plugin/examples/non-java-invalid-spec.xml +++ b/modules/openapi-generator-maven-plugin/examples/non-java-invalid-spec.xml @@ -13,7 +13,7 @@ org.openapitools openapi-generator-maven-plugin - 6.0.1-SNAPSHOT + 6.0.1 diff --git a/modules/openapi-generator-maven-plugin/examples/non-java.xml b/modules/openapi-generator-maven-plugin/examples/non-java.xml index f043ceb2e3..68fc2c6e02 100644 --- a/modules/openapi-generator-maven-plugin/examples/non-java.xml +++ b/modules/openapi-generator-maven-plugin/examples/non-java.xml @@ -13,7 +13,7 @@ org.openapitools openapi-generator-maven-plugin - 6.0.1-SNAPSHOT + 6.0.1 diff --git a/modules/openapi-generator-maven-plugin/examples/spring.xml b/modules/openapi-generator-maven-plugin/examples/spring.xml index e62ac7431d..163589e715 100644 --- a/modules/openapi-generator-maven-plugin/examples/spring.xml +++ b/modules/openapi-generator-maven-plugin/examples/spring.xml @@ -20,7 +20,7 @@ org.openapitools openapi-generator-maven-plugin - 6.0.1-SNAPSHOT + 6.0.1 diff --git a/modules/openapi-generator-maven-plugin/pom.xml b/modules/openapi-generator-maven-plugin/pom.xml index 255c644d32..34246a14dc 100644 --- a/modules/openapi-generator-maven-plugin/pom.xml +++ b/modules/openapi-generator-maven-plugin/pom.xml @@ -5,7 +5,7 @@ org.openapitools openapi-generator-project - 6.0.1-SNAPSHOT + 6.0.1 ../.. diff --git a/modules/openapi-generator-online/pom.xml b/modules/openapi-generator-online/pom.xml index c5bfaf49f4..444342dfb3 100644 --- a/modules/openapi-generator-online/pom.xml +++ b/modules/openapi-generator-online/pom.xml @@ -4,7 +4,7 @@ org.openapitools openapi-generator-project - 6.0.1-SNAPSHOT + 6.0.1 ../.. diff --git a/modules/openapi-generator/pom.xml b/modules/openapi-generator/pom.xml index 79502ccb81..b95c1d1161 100644 --- a/modules/openapi-generator/pom.xml +++ b/modules/openapi-generator/pom.xml @@ -4,7 +4,7 @@ org.openapitools openapi-generator-project - 6.0.1-SNAPSHOT + 6.0.1 ../.. diff --git a/pom.xml b/pom.xml index 3ad05ef1fb..26dfd67182 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ pom openapi-generator-project - 6.0.1-SNAPSHOT + 6.0.1 https://github.com/openapitools/openapi-generator diff --git a/samples/client/others/csharp-netcore-complex-files/.openapi-generator/VERSION b/samples/client/others/csharp-netcore-complex-files/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/others/csharp-netcore-complex-files/.openapi-generator/VERSION +++ b/samples/client/others/csharp-netcore-complex-files/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/others/java/okhttp-gson-streaming/.openapi-generator/VERSION b/samples/client/others/java/okhttp-gson-streaming/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/others/java/okhttp-gson-streaming/.openapi-generator/VERSION +++ b/samples/client/others/java/okhttp-gson-streaming/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/others/typescript/builds/with-unique-items/.openapi-generator/VERSION b/samples/client/others/typescript/builds/with-unique-items/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/others/typescript/builds/with-unique-items/.openapi-generator/VERSION +++ b/samples/client/others/typescript/builds/with-unique-items/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/R/.openapi-generator/VERSION b/samples/client/petstore/R/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/R/.openapi-generator/VERSION +++ b/samples/client/petstore/R/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/apex/.openapi-generator/VERSION b/samples/client/petstore/apex/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/apex/.openapi-generator/VERSION +++ b/samples/client/petstore/apex/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/bash/.openapi-generator/VERSION b/samples/client/petstore/bash/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/bash/.openapi-generator/VERSION +++ b/samples/client/petstore/bash/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/c/.openapi-generator/VERSION b/samples/client/petstore/c/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/c/.openapi-generator/VERSION +++ b/samples/client/petstore/c/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/cpp-qt/.openapi-generator/VERSION b/samples/client/petstore/cpp-qt/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/cpp-qt/.openapi-generator/VERSION +++ b/samples/client/petstore/cpp-qt/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/cpp-restsdk/client/.openapi-generator/VERSION b/samples/client/petstore/cpp-restsdk/client/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/cpp-restsdk/client/.openapi-generator/VERSION +++ b/samples/client/petstore/cpp-restsdk/client/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiClient.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiClient.h index 892399ceee..ccf8190513 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiClient.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiClient.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiConfiguration.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiConfiguration.h index 2fb88e9677..572d0d19b5 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiConfiguration.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiConfiguration.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiException.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiException.h index 687a7fa3e8..b5dbfc4f6c 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiException.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ApiException.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/HttpContent.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/HttpContent.h index fe4e44b008..cc055a01f2 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/HttpContent.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/HttpContent.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/IHttpBody.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/IHttpBody.h index 13c813cbd7..40afecdc7a 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/IHttpBody.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/IHttpBody.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/JsonBody.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/JsonBody.h index 62776ccfef..74359ceadb 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/JsonBody.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/JsonBody.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ModelBase.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ModelBase.h index 807d2512ef..73b65fa84a 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ModelBase.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/ModelBase.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/MultipartFormData.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/MultipartFormData.h index 7b581a79b9..90d5d64989 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/MultipartFormData.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/MultipartFormData.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/Object.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/Object.h index fed90b9ffa..c1a3d1ebd3 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/Object.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/Object.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/PetApi.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/PetApi.h index 781437f222..5360109f4d 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/PetApi.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/PetApi.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/StoreApi.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/StoreApi.h index 27d448071c..141b266585 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/StoreApi.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/StoreApi.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/UserApi.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/UserApi.h index a6e636d3ad..ab039631dd 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/UserApi.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/api/UserApi.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/ApiResponse.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/ApiResponse.h index d52696c7e9..65f12e07cd 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/ApiResponse.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/ApiResponse.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Category.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Category.h index 8ef65ef4b0..47059d9151 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Category.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Category.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Order.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Order.h index c6d4162cf0..cdec8855fd 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Order.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Order.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Pet.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Pet.h index ebb4d75b4b..3d3f1ad081 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Pet.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Pet.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Tag.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Tag.h index 09a36ebd91..14758e02b7 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Tag.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/Tag.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/User.h b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/User.h index 23d113836e..db9fab5b29 100644 --- a/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/User.h +++ b/samples/client/petstore/cpp-restsdk/client/include/CppRestPetstoreClient/model/User.h @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/ApiClient.cpp b/samples/client/petstore/cpp-restsdk/client/src/ApiClient.cpp index a855db1584..088f17e350 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/ApiClient.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/ApiClient.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/ApiConfiguration.cpp b/samples/client/petstore/cpp-restsdk/client/src/ApiConfiguration.cpp index 6b49660323..346afc85ec 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/ApiConfiguration.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/ApiConfiguration.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/ApiException.cpp b/samples/client/petstore/cpp-restsdk/client/src/ApiException.cpp index c87917ef80..c6c5d18810 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/ApiException.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/ApiException.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/HttpContent.cpp b/samples/client/petstore/cpp-restsdk/client/src/HttpContent.cpp index eb21ad1108..0303ab5b06 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/HttpContent.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/HttpContent.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/JsonBody.cpp b/samples/client/petstore/cpp-restsdk/client/src/JsonBody.cpp index c2fde277ea..d7a000cd5e 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/JsonBody.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/JsonBody.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/ModelBase.cpp b/samples/client/petstore/cpp-restsdk/client/src/ModelBase.cpp index 94c2d0bf59..9e5bfa1803 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/ModelBase.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/ModelBase.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/MultipartFormData.cpp b/samples/client/petstore/cpp-restsdk/client/src/MultipartFormData.cpp index 2e1b3212d8..dbfa10af5b 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/MultipartFormData.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/MultipartFormData.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/Object.cpp b/samples/client/petstore/cpp-restsdk/client/src/Object.cpp index 5a3e676308..3f54de711d 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/Object.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/Object.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/api/PetApi.cpp b/samples/client/petstore/cpp-restsdk/client/src/api/PetApi.cpp index 4f71e9f197..839bdaa9ee 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/api/PetApi.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/api/PetApi.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/api/StoreApi.cpp b/samples/client/petstore/cpp-restsdk/client/src/api/StoreApi.cpp index 421c87fc66..7e95439676 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/api/StoreApi.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/api/StoreApi.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/api/UserApi.cpp b/samples/client/petstore/cpp-restsdk/client/src/api/UserApi.cpp index 91797aca52..ef17004d85 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/api/UserApi.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/api/UserApi.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/model/ApiResponse.cpp b/samples/client/petstore/cpp-restsdk/client/src/model/ApiResponse.cpp index 69c94fa342..72737d9e14 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/model/ApiResponse.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/model/ApiResponse.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/model/Category.cpp b/samples/client/petstore/cpp-restsdk/client/src/model/Category.cpp index c38ba407ef..302092f774 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/model/Category.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/model/Category.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/model/Order.cpp b/samples/client/petstore/cpp-restsdk/client/src/model/Order.cpp index 958465faab..ac500b99ec 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/model/Order.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/model/Order.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/model/Pet.cpp b/samples/client/petstore/cpp-restsdk/client/src/model/Pet.cpp index 68a01b8a66..75234cf5a0 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/model/Pet.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/model/Pet.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/model/Tag.cpp b/samples/client/petstore/cpp-restsdk/client/src/model/Tag.cpp index db089acdae..fd89f03e8f 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/model/Tag.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/model/Tag.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-restsdk/client/src/model/User.cpp b/samples/client/petstore/cpp-restsdk/client/src/model/User.cpp index c99c184fe4..d9c2c82c11 100644 --- a/samples/client/petstore/cpp-restsdk/client/src/model/User.cpp +++ b/samples/client/petstore/cpp-restsdk/client/src/model/User.cpp @@ -4,7 +4,7 @@ * * The version of the OpenAPI document: 1.0.0 * - * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1-SNAPSHOT. + * NOTE: This class is auto generated by OpenAPI-Generator 6.0.1. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/cpp-tiny/.openapi-generator/VERSION b/samples/client/petstore/cpp-tiny/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/cpp-tiny/.openapi-generator/VERSION +++ b/samples/client/petstore/cpp-tiny/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/cpp-ue4/.openapi-generator/VERSION b/samples/client/petstore/cpp-ue4/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/cpp-ue4/.openapi-generator/VERSION +++ b/samples/client/petstore/cpp-ue4/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/crystal/.openapi-generator/VERSION b/samples/client/petstore/crystal/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/crystal/.openapi-generator/VERSION +++ b/samples/client/petstore/crystal/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/crystal/.travis.yml b/samples/client/petstore/crystal/.travis.yml index 358cf610e6..dc73056584 100644 --- a/samples/client/petstore/crystal/.travis.yml +++ b/samples/client/petstore/crystal/.travis.yml @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.0.1 # language: crystal diff --git a/samples/client/petstore/crystal/spec/spec_helper.cr b/samples/client/petstore/crystal/spec/spec_helper.cr index 46a407a4e2..ec8b7b017f 100644 --- a/samples/client/petstore/crystal/spec/spec_helper.cr +++ b/samples/client/petstore/crystal/spec/spec_helper.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.0.1 # # load modules diff --git a/samples/client/petstore/crystal/src/petstore.cr b/samples/client/petstore/crystal/src/petstore.cr index a601e8513d..03e5fb7d38 100644 --- a/samples/client/petstore/crystal/src/petstore.cr +++ b/samples/client/petstore/crystal/src/petstore.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.0.1 # # Dependencies diff --git a/samples/client/petstore/crystal/src/petstore/api/pet_api.cr b/samples/client/petstore/crystal/src/petstore/api/pet_api.cr index b069ffac9a..0e5195920a 100644 --- a/samples/client/petstore/crystal/src/petstore/api/pet_api.cr +++ b/samples/client/petstore/crystal/src/petstore/api/pet_api.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.0.1 # require "uri" diff --git a/samples/client/petstore/crystal/src/petstore/api/store_api.cr b/samples/client/petstore/crystal/src/petstore/api/store_api.cr index 811ebf88c2..565bdb45a4 100644 --- a/samples/client/petstore/crystal/src/petstore/api/store_api.cr +++ b/samples/client/petstore/crystal/src/petstore/api/store_api.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.0.1 # require "uri" diff --git a/samples/client/petstore/crystal/src/petstore/api/user_api.cr b/samples/client/petstore/crystal/src/petstore/api/user_api.cr index 0b322f5f77..2d025c6740 100644 --- a/samples/client/petstore/crystal/src/petstore/api/user_api.cr +++ b/samples/client/petstore/crystal/src/petstore/api/user_api.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.0.1 # require "uri" diff --git a/samples/client/petstore/crystal/src/petstore/api_client.cr b/samples/client/petstore/crystal/src/petstore/api_client.cr index a0bc234d56..39df4df6f4 100644 --- a/samples/client/petstore/crystal/src/petstore/api_client.cr +++ b/samples/client/petstore/crystal/src/petstore/api_client.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.0.1 # require "json" diff --git a/samples/client/petstore/crystal/src/petstore/api_error.cr b/samples/client/petstore/crystal/src/petstore/api_error.cr index 8ec41a6310..eaae7e3f1c 100644 --- a/samples/client/petstore/crystal/src/petstore/api_error.cr +++ b/samples/client/petstore/crystal/src/petstore/api_error.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.0.1 # module Petstore diff --git a/samples/client/petstore/crystal/src/petstore/configuration.cr b/samples/client/petstore/crystal/src/petstore/configuration.cr index 5112138d60..4f66c472f1 100644 --- a/samples/client/petstore/crystal/src/petstore/configuration.cr +++ b/samples/client/petstore/crystal/src/petstore/configuration.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.0.1 # require "log" diff --git a/samples/client/petstore/crystal/src/petstore/models/api_response.cr b/samples/client/petstore/crystal/src/petstore/models/api_response.cr index 30aee8634c..360b3555ff 100644 --- a/samples/client/petstore/crystal/src/petstore/models/api_response.cr +++ b/samples/client/petstore/crystal/src/petstore/models/api_response.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.0.1 # require "json" diff --git a/samples/client/petstore/crystal/src/petstore/models/category.cr b/samples/client/petstore/crystal/src/petstore/models/category.cr index fc2711f9a6..e43cad027d 100644 --- a/samples/client/petstore/crystal/src/petstore/models/category.cr +++ b/samples/client/petstore/crystal/src/petstore/models/category.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.0.1 # require "json" diff --git a/samples/client/petstore/crystal/src/petstore/models/order.cr b/samples/client/petstore/crystal/src/petstore/models/order.cr index 59263477cd..dbcfc06624 100644 --- a/samples/client/petstore/crystal/src/petstore/models/order.cr +++ b/samples/client/petstore/crystal/src/petstore/models/order.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.0.1 # require "json" diff --git a/samples/client/petstore/crystal/src/petstore/models/pet.cr b/samples/client/petstore/crystal/src/petstore/models/pet.cr index f8da4f9f60..d7f0e9ab13 100644 --- a/samples/client/petstore/crystal/src/petstore/models/pet.cr +++ b/samples/client/petstore/crystal/src/petstore/models/pet.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.0.1 # require "json" diff --git a/samples/client/petstore/crystal/src/petstore/models/tag.cr b/samples/client/petstore/crystal/src/petstore/models/tag.cr index d2ca78ee0b..bb79d0bee5 100644 --- a/samples/client/petstore/crystal/src/petstore/models/tag.cr +++ b/samples/client/petstore/crystal/src/petstore/models/tag.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.0.1 # require "json" diff --git a/samples/client/petstore/crystal/src/petstore/models/user.cr b/samples/client/petstore/crystal/src/petstore/models/user.cr index a4d4f53082..2f65a38354 100644 --- a/samples/client/petstore/crystal/src/petstore/models/user.cr +++ b/samples/client/petstore/crystal/src/petstore/models/user.cr @@ -5,7 +5,7 @@ #The version of the OpenAPI document: 1.0.0 # #Generated by: https://openapi-generator.tech -#OpenAPI Generator version: 6.0.1-SNAPSHOT +#OpenAPI Generator version: 6.0.1 # require "json" diff --git a/samples/client/petstore/csharp-netcore-functions/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore-functions/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/csharp-netcore-functions/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore-functions/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClient/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/.openapi-generator/VERSION b/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCoreAndNet47/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/csharp/OpenAPIClient/.openapi-generator/VERSION b/samples/client/petstore/csharp/OpenAPIClient/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/csharp/OpenAPIClient/.openapi-generator/VERSION +++ b/samples/client/petstore/csharp/OpenAPIClient/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/elixir/.openapi-generator/VERSION b/samples/client/petstore/elixir/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/elixir/.openapi-generator/VERSION +++ b/samples/client/petstore/elixir/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/go/go-petstore/.openapi-generator/VERSION b/samples/client/petstore/go/go-petstore/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/go/go-petstore/.openapi-generator/VERSION +++ b/samples/client/petstore/go/go-petstore/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/groovy/.openapi-generator/VERSION b/samples/client/petstore/groovy/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/groovy/.openapi-generator/VERSION +++ b/samples/client/petstore/groovy/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/haskell-http-client/.openapi-generator/VERSION b/samples/client/petstore/haskell-http-client/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/haskell-http-client/.openapi-generator/VERSION +++ b/samples/client/petstore/haskell-http-client/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java-micronaut-client/.openapi-generator/VERSION b/samples/client/petstore/java-micronaut-client/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java-micronaut-client/.openapi-generator/VERSION +++ b/samples/client/petstore/java-micronaut-client/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/apache-httpclient/.openapi-generator/VERSION b/samples/client/petstore/java/apache-httpclient/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/apache-httpclient/.openapi-generator/VERSION +++ b/samples/client/petstore/java/apache-httpclient/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/feign-no-nullable/.openapi-generator/VERSION b/samples/client/petstore/java/feign-no-nullable/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/feign-no-nullable/.openapi-generator/VERSION +++ b/samples/client/petstore/java/feign-no-nullable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/feign/.openapi-generator/VERSION b/samples/client/petstore/java/feign/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/feign/.openapi-generator/VERSION +++ b/samples/client/petstore/java/feign/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/google-api-client/.openapi-generator/VERSION b/samples/client/petstore/java/google-api-client/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/google-api-client/.openapi-generator/VERSION +++ b/samples/client/petstore/java/google-api-client/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/jersey1/.openapi-generator/VERSION b/samples/client/petstore/java/jersey1/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/jersey1/.openapi-generator/VERSION +++ b/samples/client/petstore/java/jersey1/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/jersey2-java8-localdatetime/.openapi-generator/VERSION b/samples/client/petstore/java/jersey2-java8-localdatetime/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/jersey2-java8-localdatetime/.openapi-generator/VERSION +++ b/samples/client/petstore/java/jersey2-java8-localdatetime/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/jersey2-java8/.openapi-generator/VERSION b/samples/client/petstore/java/jersey2-java8/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/jersey2-java8/.openapi-generator/VERSION +++ b/samples/client/petstore/java/jersey2-java8/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/jersey3/.openapi-generator/VERSION b/samples/client/petstore/java/jersey3/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/jersey3/.openapi-generator/VERSION +++ b/samples/client/petstore/java/jersey3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/microprofile-rest-client-3.0/.openapi-generator/VERSION b/samples/client/petstore/java/microprofile-rest-client-3.0/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/microprofile-rest-client-3.0/.openapi-generator/VERSION +++ b/samples/client/petstore/java/microprofile-rest-client-3.0/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/microprofile-rest-client/.openapi-generator/VERSION b/samples/client/petstore/java/microprofile-rest-client/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/microprofile-rest-client/.openapi-generator/VERSION +++ b/samples/client/petstore/java/microprofile-rest-client/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/native-async/.openapi-generator/VERSION b/samples/client/petstore/java/native-async/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/native-async/.openapi-generator/VERSION +++ b/samples/client/petstore/java/native-async/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/native/.openapi-generator/VERSION b/samples/client/petstore/java/native/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/native/.openapi-generator/VERSION +++ b/samples/client/petstore/java/native/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/okhttp-gson-dynamicOperations/.openapi-generator/VERSION b/samples/client/petstore/java/okhttp-gson-dynamicOperations/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/okhttp-gson-dynamicOperations/.openapi-generator/VERSION +++ b/samples/client/petstore/java/okhttp-gson-dynamicOperations/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/.openapi-generator/VERSION b/samples/client/petstore/java/okhttp-gson-group-parameter/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/okhttp-gson-group-parameter/.openapi-generator/VERSION +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/okhttp-gson-parcelableModel/.openapi-generator/VERSION b/samples/client/petstore/java/okhttp-gson-parcelableModel/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/okhttp-gson-parcelableModel/.openapi-generator/VERSION +++ b/samples/client/petstore/java/okhttp-gson-parcelableModel/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/okhttp-gson/.openapi-generator/VERSION b/samples/client/petstore/java/okhttp-gson/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/okhttp-gson/.openapi-generator/VERSION +++ b/samples/client/petstore/java/okhttp-gson/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/rest-assured-jackson/.openapi-generator/VERSION b/samples/client/petstore/java/rest-assured-jackson/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/rest-assured-jackson/.openapi-generator/VERSION +++ b/samples/client/petstore/java/rest-assured-jackson/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/rest-assured/.openapi-generator/VERSION b/samples/client/petstore/java/rest-assured/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/rest-assured/.openapi-generator/VERSION +++ b/samples/client/petstore/java/rest-assured/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/resteasy/.openapi-generator/VERSION b/samples/client/petstore/java/resteasy/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/resteasy/.openapi-generator/VERSION +++ b/samples/client/petstore/java/resteasy/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/resttemplate-withXml/.openapi-generator/VERSION b/samples/client/petstore/java/resttemplate-withXml/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/resttemplate-withXml/.openapi-generator/VERSION +++ b/samples/client/petstore/java/resttemplate-withXml/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/resttemplate/.openapi-generator/VERSION b/samples/client/petstore/java/resttemplate/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/resttemplate/.openapi-generator/VERSION +++ b/samples/client/petstore/java/resttemplate/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/retrofit2-play26/.openapi-generator/VERSION b/samples/client/petstore/java/retrofit2-play26/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/retrofit2-play26/.openapi-generator/VERSION +++ b/samples/client/petstore/java/retrofit2-play26/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/retrofit2/.openapi-generator/VERSION b/samples/client/petstore/java/retrofit2/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/retrofit2/.openapi-generator/VERSION +++ b/samples/client/petstore/java/retrofit2/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/retrofit2rx2/.openapi-generator/VERSION b/samples/client/petstore/java/retrofit2rx2/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/retrofit2rx2/.openapi-generator/VERSION +++ b/samples/client/petstore/java/retrofit2rx2/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/retrofit2rx3/.openapi-generator/VERSION b/samples/client/petstore/java/retrofit2rx3/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/retrofit2rx3/.openapi-generator/VERSION +++ b/samples/client/petstore/java/retrofit2rx3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/vertx-no-nullable/.openapi-generator/VERSION b/samples/client/petstore/java/vertx-no-nullable/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/vertx-no-nullable/.openapi-generator/VERSION +++ b/samples/client/petstore/java/vertx-no-nullable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/vertx/.openapi-generator/VERSION b/samples/client/petstore/java/vertx/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/vertx/.openapi-generator/VERSION +++ b/samples/client/petstore/java/vertx/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/webclient-nulable-arrays/.openapi-generator/VERSION b/samples/client/petstore/java/webclient-nulable-arrays/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/webclient-nulable-arrays/.openapi-generator/VERSION +++ b/samples/client/petstore/java/webclient-nulable-arrays/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/java/webclient/.openapi-generator/VERSION b/samples/client/petstore/java/webclient/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/java/webclient/.openapi-generator/VERSION +++ b/samples/client/petstore/java/webclient/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/javascript-es6/.openapi-generator/VERSION b/samples/client/petstore/javascript-es6/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/javascript-es6/.openapi-generator/VERSION +++ b/samples/client/petstore/javascript-es6/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/javascript-promise-es6/.openapi-generator/VERSION b/samples/client/petstore/javascript-promise-es6/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/javascript-promise-es6/.openapi-generator/VERSION +++ b/samples/client/petstore/javascript-promise-es6/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/k6/.openapi-generator/VERSION b/samples/client/petstore/k6/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/k6/.openapi-generator/VERSION +++ b/samples/client/petstore/k6/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/k6/script.js b/samples/client/petstore/k6/script.js index d024f22637..cab4d5d95f 100644 --- a/samples/client/petstore/k6/script.js +++ b/samples/client/petstore/k6/script.js @@ -7,7 +7,7 @@ * NOTE: This class is auto generated by OpenAPI Generator. * https://github.com/OpenAPITools/openapi-generator * - * OpenAPI generator version: 6.0.1-SNAPSHOT + * OpenAPI generator version: 6.0.1 */ diff --git a/samples/client/petstore/kotlin-allOff-discriminator/.openapi-generator/VERSION b/samples/client/petstore/kotlin-allOff-discriminator/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-allOff-discriminator/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-allOff-discriminator/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/.openapi-generator/VERSION b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/.openapi-generator/VERSION b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-array-simple-string-jvm-volley/.openapi-generator/VERSION b/samples/client/petstore/kotlin-array-simple-string-jvm-volley/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-array-simple-string-jvm-volley/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-array-simple-string-jvm-volley/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-array-simple-string-multiplatform/.openapi-generator/VERSION b/samples/client/petstore/kotlin-array-simple-string-multiplatform/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-array-simple-string-multiplatform/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-array-simple-string-multiplatform/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-bigdecimal-default-multiplatform/.openapi-generator/VERSION b/samples/client/petstore/kotlin-bigdecimal-default-multiplatform/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-bigdecimal-default-multiplatform/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-bigdecimal-default-multiplatform/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/.openapi-generator/VERSION b/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-default-values-jvm-okhttp3/.openapi-generator/VERSION b/samples/client/petstore/kotlin-default-values-jvm-okhttp3/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-default-values-jvm-okhttp3/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-default-values-jvm-okhttp3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/.openapi-generator/VERSION b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-default-values-jvm-retrofit2/.openapi-generator/VERSION b/samples/client/petstore/kotlin-default-values-jvm-retrofit2/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-default-values-jvm-retrofit2/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-default-values-jvm-retrofit2/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-default-values-jvm-volley/.openapi-generator/VERSION b/samples/client/petstore/kotlin-default-values-jvm-volley/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-default-values-jvm-volley/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-default-values-jvm-volley/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-default-values-multiplatform/.openapi-generator/VERSION b/samples/client/petstore/kotlin-default-values-multiplatform/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-default-values-multiplatform/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-default-values-multiplatform/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-enum-default-value/.openapi-generator/VERSION b/samples/client/petstore/kotlin-enum-default-value/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-enum-default-value/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-enum-default-value/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-gson/.openapi-generator/VERSION b/samples/client/petstore/kotlin-gson/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-gson/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-gson/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-jackson/.openapi-generator/VERSION b/samples/client/petstore/kotlin-jackson/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-jackson/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-jackson/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-json-request-string/.openapi-generator/VERSION b/samples/client/petstore/kotlin-json-request-string/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-json-request-string/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-json-request-string/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-jvm-ktor-gson/.openapi-generator/VERSION b/samples/client/petstore/kotlin-jvm-ktor-gson/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-jvm-ktor-gson/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-jvm-ktor-gson/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-jvm-ktor-jackson/.openapi-generator/VERSION b/samples/client/petstore/kotlin-jvm-ktor-jackson/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-jvm-ktor-jackson/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-jvm-ktor-jackson/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/.openapi-generator/VERSION b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-jvm-volley/.openapi-generator/VERSION b/samples/client/petstore/kotlin-jvm-volley/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-jvm-volley/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-jvm-volley/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-modelMutable/.openapi-generator/VERSION b/samples/client/petstore/kotlin-modelMutable/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-modelMutable/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-modelMutable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-moshi-codegen/.openapi-generator/VERSION b/samples/client/petstore/kotlin-moshi-codegen/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-moshi-codegen/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-moshi-codegen/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-multiplatform/.openapi-generator/VERSION b/samples/client/petstore/kotlin-multiplatform/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-multiplatform/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-multiplatform/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-nonpublic/.openapi-generator/VERSION b/samples/client/petstore/kotlin-nonpublic/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-nonpublic/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-nonpublic/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-nullable/.openapi-generator/VERSION b/samples/client/petstore/kotlin-nullable/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-nullable/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-nullable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-okhttp3/.openapi-generator/VERSION b/samples/client/petstore/kotlin-okhttp3/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-okhttp3/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-okhttp3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/.openapi-generator/VERSION b/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/.openapi-generator/VERSION b/samples/client/petstore/kotlin-retrofit2-rx3/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-retrofit2-rx3/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-retrofit2-rx3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-retrofit2/.openapi-generator/VERSION b/samples/client/petstore/kotlin-retrofit2/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-retrofit2/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-retrofit2/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-string/.openapi-generator/VERSION b/samples/client/petstore/kotlin-string/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-string/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-string/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-threetenbp/.openapi-generator/VERSION b/samples/client/petstore/kotlin-threetenbp/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-threetenbp/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-threetenbp/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin-uppercase-enum/.openapi-generator/VERSION b/samples/client/petstore/kotlin-uppercase-enum/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin-uppercase-enum/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin-uppercase-enum/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/kotlin/.openapi-generator/VERSION b/samples/client/petstore/kotlin/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/kotlin/.openapi-generator/VERSION +++ b/samples/client/petstore/kotlin/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/lua/.openapi-generator/VERSION b/samples/client/petstore/lua/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/lua/.openapi-generator/VERSION +++ b/samples/client/petstore/lua/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/nim/.openapi-generator/VERSION b/samples/client/petstore/nim/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/nim/.openapi-generator/VERSION +++ b/samples/client/petstore/nim/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/objc/core-data/.openapi-generator/VERSION b/samples/client/petstore/objc/core-data/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/objc/core-data/.openapi-generator/VERSION +++ b/samples/client/petstore/objc/core-data/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/objc/default/.openapi-generator/VERSION b/samples/client/petstore/objc/default/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/objc/default/.openapi-generator/VERSION +++ b/samples/client/petstore/objc/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/perl/.openapi-generator/VERSION b/samples/client/petstore/perl/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/perl/.openapi-generator/VERSION +++ b/samples/client/petstore/perl/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/php-dt-modern/.openapi-generator/VERSION b/samples/client/petstore/php-dt-modern/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/php-dt-modern/.openapi-generator/VERSION +++ b/samples/client/petstore/php-dt-modern/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/php-dt/.openapi-generator/VERSION b/samples/client/petstore/php-dt/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/php-dt/.openapi-generator/VERSION +++ b/samples/client/petstore/php-dt/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/php/OpenAPIClient-php/.openapi-generator/VERSION b/samples/client/petstore/php/OpenAPIClient-php/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/.openapi-generator/VERSION +++ b/samples/client/petstore/php/OpenAPIClient-php/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/AnotherFakeApi.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/AnotherFakeApi.php index e521b9f45e..27d9de09e1 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/AnotherFakeApi.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/AnotherFakeApi.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/DefaultApi.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/DefaultApi.php index b60b82bb84..ee64ea6bc2 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/DefaultApi.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/DefaultApi.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/FakeApi.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/FakeApi.php index 741026e28b..8a6f2f8641 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/FakeApi.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/FakeApi.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/FakeClassnameTags123Api.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/FakeClassnameTags123Api.php index 143026ac25..2b5eda19d9 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/FakeClassnameTags123Api.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/FakeClassnameTags123Api.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/PetApi.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/PetApi.php index d7b95d4ba8..5fed8330de 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/PetApi.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/PetApi.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/StoreApi.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/StoreApi.php index fca4a391fa..7f7d034396 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/StoreApi.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/StoreApi.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/UserApi.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/UserApi.php index 65cd5e11e2..b9418dbb69 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Api/UserApi.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Api/UserApi.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/ApiException.php b/samples/client/petstore/php/OpenAPIClient-php/lib/ApiException.php index 0de2874a42..32c2f165f2 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/ApiException.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/ApiException.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Configuration.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Configuration.php index edf5a974e4..c9cfbe91cc 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Configuration.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Configuration.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/HeaderSelector.php b/samples/client/petstore/php/OpenAPIClient-php/lib/HeaderSelector.php index 2aa1ffc651..7c2312264a 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/HeaderSelector.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/HeaderSelector.php @@ -16,7 +16,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AdditionalPropertiesClass.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AdditionalPropertiesClass.php index 72836e1549..8c14c9c40b 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AdditionalPropertiesClass.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AdditionalPropertiesClass.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AllOfWithSingleRef.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AllOfWithSingleRef.php index 24617f9e87..ea1ba263c6 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AllOfWithSingleRef.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AllOfWithSingleRef.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Animal.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Animal.php index 4283265d8a..1838aba6a2 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Animal.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Animal.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ApiResponse.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ApiResponse.php index a54748d89c..c647f9833d 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ApiResponse.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ApiResponse.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfArrayOfNumberOnly.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfArrayOfNumberOnly.php index d58969a67f..c5259e98f5 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfArrayOfNumberOnly.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfArrayOfNumberOnly.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfNumberOnly.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfNumberOnly.php index 27312a638e..b0fac225fa 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfNumberOnly.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfNumberOnly.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayTest.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayTest.php index a592d10095..03879585bb 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayTest.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayTest.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Capitalization.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Capitalization.php index afb7471383..8bde66ed6c 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Capitalization.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Capitalization.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Cat.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Cat.php index 0f070cf11d..f3d584d01a 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Cat.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Cat.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/CatAllOf.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/CatAllOf.php index 90426fb218..1464afe335 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/CatAllOf.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/CatAllOf.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Category.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Category.php index cac2e05465..075c29c016 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Category.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Category.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ClassModel.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ClassModel.php index a7bfa64f3a..aa485a8752 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ClassModel.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ClassModel.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Client.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Client.php index a9edce765d..96eee61ae0 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Client.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Client.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DeprecatedObject.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DeprecatedObject.php index 032f98e898..c4b4ac9ff6 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DeprecatedObject.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DeprecatedObject.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Dog.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Dog.php index b74513b4e3..718c179cc8 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Dog.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Dog.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DogAllOf.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DogAllOf.php index e9f9cd06fd..c529cb9c13 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DogAllOf.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DogAllOf.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumArrays.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumArrays.php index 3d57e5dc76..b4a09b41b0 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumArrays.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumArrays.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumClass.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumClass.php index df2803a485..221f4a3f64 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumClass.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumClass.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumTest.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumTest.php index c2421e83dc..9cdb9bc0fe 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumTest.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumTest.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/File.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/File.php index 3564426185..6f033239b8 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/File.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/File.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FileSchemaTestClass.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FileSchemaTestClass.php index ef2b5a1fa5..f0a38e6a0c 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FileSchemaTestClass.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FileSchemaTestClass.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Foo.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Foo.php index 3d716640fa..8629c5843c 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Foo.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Foo.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FooGetDefaultResponse.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FooGetDefaultResponse.php index ac2ff8dad0..68d38990e7 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FooGetDefaultResponse.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FooGetDefaultResponse.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php index b9a52ce254..90955a9eb7 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HasOnlyReadOnly.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HasOnlyReadOnly.php index a8c5a90b02..15d26c98ec 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HasOnlyReadOnly.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HasOnlyReadOnly.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HealthCheckResult.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HealthCheckResult.php index c11d09c012..a13d99d387 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HealthCheckResult.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HealthCheckResult.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MapTest.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MapTest.php index 93e1f67e1b..e16b061d8f 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MapTest.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MapTest.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MixedPropertiesAndAdditionalPropertiesClass.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MixedPropertiesAndAdditionalPropertiesClass.php index 3d5b1a4de4..b02fcd61a9 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MixedPropertiesAndAdditionalPropertiesClass.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MixedPropertiesAndAdditionalPropertiesClass.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Model200Response.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Model200Response.php index 9785d16677..eff97af9b5 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Model200Response.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Model200Response.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelInterface.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelInterface.php index fa95487aa4..4ba19b5977 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelInterface.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelInterface.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelList.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelList.php index d302c7bcee..c43507c42f 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelList.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelList.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelReturn.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelReturn.php index 86e39e74e5..fcdfbc9083 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelReturn.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelReturn.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Name.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Name.php index 8bfb529aec..b9f168761d 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Name.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Name.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NullableClass.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NullableClass.php index 4a95074f76..20ebc666de 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NullableClass.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NullableClass.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NumberOnly.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NumberOnly.php index 20515342ad..28e16ebbe6 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NumberOnly.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NumberOnly.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ObjectWithDeprecatedFields.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ObjectWithDeprecatedFields.php index 72f3943790..2f6f6b8650 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ObjectWithDeprecatedFields.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ObjectWithDeprecatedFields.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Order.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Order.php index a6225ab391..0c99185dee 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Order.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Order.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterComposite.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterComposite.php index 507bda5e12..1de73948b4 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterComposite.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterComposite.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnum.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnum.php index 284fa78e29..fde8dd704d 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnum.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnum.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumDefaultValue.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumDefaultValue.php index 0a9ddac8fd..91746709ab 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumDefaultValue.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumDefaultValue.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumInteger.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumInteger.php index 07928d6474..0f56a0485e 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumInteger.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumInteger.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumIntegerDefaultValue.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumIntegerDefaultValue.php index c9463014b1..3246db8ce9 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumIntegerDefaultValue.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterEnumIntegerDefaultValue.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterObjectWithEnumProperty.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterObjectWithEnumProperty.php index d8250a7464..32a874be85 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterObjectWithEnumProperty.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterObjectWithEnumProperty.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Pet.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Pet.php index f347464549..1b0de82666 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Pet.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Pet.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ReadOnlyFirst.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ReadOnlyFirst.php index b30ecd15b2..73874fceb4 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ReadOnlyFirst.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ReadOnlyFirst.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SingleRefType.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SingleRefType.php index af52a6dd0d..8683bd0c92 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SingleRefType.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SingleRefType.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SpecialModelName.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SpecialModelName.php index fe4b8bb878..9aa6f444f8 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SpecialModelName.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SpecialModelName.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Tag.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Tag.php index 965d117373..4b6c44bf5b 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Tag.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Tag.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/User.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/User.php index a65976119c..cfb6351bf4 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/User.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/User.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/ObjectSerializer.php b/samples/client/petstore/php/OpenAPIClient-php/lib/ObjectSerializer.php index 31456f7393..2c4432ee7a 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/ObjectSerializer.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/ObjectSerializer.php @@ -17,7 +17,7 @@ * * The version of the OpenAPI document: 1.0.0 * Generated by: https://openapi-generator.tech - * OpenAPI Generator version: 6.0.1-SNAPSHOT + * OpenAPI Generator version: 6.0.1 */ /** diff --git a/samples/client/petstore/powershell/.openapi-generator/VERSION b/samples/client/petstore/powershell/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/powershell/.openapi-generator/VERSION +++ b/samples/client/petstore/powershell/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/python-asyncio/.openapi-generator/VERSION b/samples/client/petstore/python-asyncio/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/python-asyncio/.openapi-generator/VERSION +++ b/samples/client/petstore/python-asyncio/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/python-legacy/.openapi-generator/VERSION b/samples/client/petstore/python-legacy/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/python-legacy/.openapi-generator/VERSION +++ b/samples/client/petstore/python-legacy/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/python-tornado/.openapi-generator/VERSION b/samples/client/petstore/python-tornado/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/python-tornado/.openapi-generator/VERSION +++ b/samples/client/petstore/python-tornado/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/python/.openapi-generator/VERSION b/samples/client/petstore/python/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/python/.openapi-generator/VERSION +++ b/samples/client/petstore/python/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/python_disallowAdditionalPropertiesIfNotPresent/.openapi-generator/VERSION b/samples/client/petstore/python_disallowAdditionalPropertiesIfNotPresent/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/python_disallowAdditionalPropertiesIfNotPresent/.openapi-generator/VERSION +++ b/samples/client/petstore/python_disallowAdditionalPropertiesIfNotPresent/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/ruby-faraday/.openapi-generator/VERSION b/samples/client/petstore/ruby-faraday/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/ruby-faraday/.openapi-generator/VERSION +++ b/samples/client/petstore/ruby-faraday/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/ruby-faraday/lib/petstore.rb b/samples/client/petstore/ruby-faraday/lib/petstore.rb index 31252f3b01..fa5bccc816 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/api/another_fake_api.rb b/samples/client/petstore/ruby-faraday/lib/petstore/api/another_fake_api.rb index 0066f4b322..bea0c3c623 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/api/another_fake_api.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/api/another_fake_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/api/default_api.rb b/samples/client/petstore/ruby-faraday/lib/petstore/api/default_api.rb index 6edfb79cad..b055e103ed 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/api/default_api.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/api/default_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/api/fake_api.rb b/samples/client/petstore/ruby-faraday/lib/petstore/api/fake_api.rb index f5cd1c0fb9..a12e7d1ead 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/api/fake_api.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/api/fake_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/api/fake_classname_tags123_api.rb b/samples/client/petstore/ruby-faraday/lib/petstore/api/fake_classname_tags123_api.rb index a61ee0013e..f38c898d09 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/api/fake_classname_tags123_api.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/api/fake_classname_tags123_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/api/pet_api.rb b/samples/client/petstore/ruby-faraday/lib/petstore/api/pet_api.rb index ef1110791a..9c090f6d09 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/api/pet_api.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/api/pet_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/api/store_api.rb b/samples/client/petstore/ruby-faraday/lib/petstore/api/store_api.rb index 5f40117485..89407d6286 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/api/store_api.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/api/store_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/api/user_api.rb b/samples/client/petstore/ruby-faraday/lib/petstore/api/user_api.rb index 02ada40fa6..058bb3b2ce 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/api/user_api.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/api/user_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/api_client.rb b/samples/client/petstore/ruby-faraday/lib/petstore/api_client.rb index 8ffaebe0a9..34e7262619 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/api_client.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/api_client.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/api_error.rb b/samples/client/petstore/ruby-faraday/lib/petstore/api_error.rb index f8fdf8e0cd..98a9c34241 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/api_error.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/api_error.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/configuration.rb b/samples/client/petstore/ruby-faraday/lib/petstore/configuration.rb index cd19263b33..c9cd7036ca 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/configuration.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/configuration.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/additional_properties_class.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/additional_properties_class.rb index f63639a246..50f3d61128 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/additional_properties_class.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/additional_properties_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/all_of_with_single_ref.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/all_of_with_single_ref.rb index 11bfa0c0a3..d9b4a74cc4 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/all_of_with_single_ref.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/all_of_with_single_ref.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/animal.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/animal.rb index 94a2ffca49..9f563e1d7c 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/animal.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/animal.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/api_response.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/api_response.rb index ca9a5eaac3..33b09dfbf3 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/api_response.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/api_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/array_of_array_of_number_only.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/array_of_array_of_number_only.rb index 85c6e27aed..65b8200f44 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/array_of_array_of_number_only.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/array_of_array_of_number_only.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/array_of_number_only.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/array_of_number_only.rb index 5cd376ed17..165e198b7a 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/array_of_number_only.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/array_of_number_only.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/array_test.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/array_test.rb index 4adbdb31b8..05d6bc4561 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/array_test.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/array_test.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/capitalization.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/capitalization.rb index be1c21d31c..4489c5a410 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/capitalization.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/capitalization.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/cat.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/cat.rb index eefb8990cd..065e644a7f 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/cat.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/cat.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/cat_all_of.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/cat_all_of.rb index df39e8c60b..908ce65b04 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/cat_all_of.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/cat_all_of.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/category.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/category.rb index 016e0d1d51..794ed89656 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/category.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/category.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/class_model.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/class_model.rb index bc0c547837..80bf4592b5 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/class_model.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/class_model.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/client.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/client.rb index 98f62b72cf..49a05ff2b7 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/client.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/client.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/deprecated_object.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/deprecated_object.rb index d42e33ddee..503c602b32 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/deprecated_object.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/deprecated_object.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/dog.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/dog.rb index b9aa6cae55..3a89332644 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/dog.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/dog.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/dog_all_of.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/dog_all_of.rb index 12fca22bb5..c12577efa6 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/dog_all_of.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/dog_all_of.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_arrays.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_arrays.rb index 1d5f5b945a..67d559898d 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_arrays.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_arrays.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_class.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_class.rb index 2a3704a4cf..801bf2b184 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_class.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_test.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_test.rb index 9da364b800..a27ea890bb 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_test.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/enum_test.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/file.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/file.rb index b5b8496a98..d270fe9d6a 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/file.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/file.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/file_schema_test_class.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/file_schema_test_class.rb index 2aa76bc598..7b7dd3990c 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/file_schema_test_class.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/file_schema_test_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/foo.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/foo.rb index 56f3b6eb49..c76ec8041b 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/foo.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/foo.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/foo_get_default_response.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/foo_get_default_response.rb index f951696f77..f89ca8ef23 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/foo_get_default_response.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/foo_get_default_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/format_test.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/format_test.rb index b17badf18c..f02024bd8e 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/format_test.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/format_test.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/has_only_read_only.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/has_only_read_only.rb index 3a63c26c1c..6abd309dfb 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/has_only_read_only.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/has_only_read_only.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/health_check_result.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/health_check_result.rb index cfdd7573d1..c7e111dcff 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/health_check_result.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/health_check_result.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/list.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/list.rb index f3926db331..9cb3ec1eea 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/list.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/list.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/map_test.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/map_test.rb index ab7453ec35..f72a2e6ef2 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/map_test.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/map_test.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/mixed_properties_and_additional_properties_class.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/mixed_properties_and_additional_properties_class.rb index 8ebaf8fa2a..c35d0f6863 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/mixed_properties_and_additional_properties_class.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/mixed_properties_and_additional_properties_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/model200_response.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/model200_response.rb index f7803fe699..e12191f341 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/model200_response.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/model200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/model_return.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/model_return.rb index 249399f3bc..339f68a8fe 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/model_return.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/model_return.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/name.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/name.rb index 7b0493fe90..01661f2794 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/name.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/name.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/nullable_class.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/nullable_class.rb index 1df16fe7ad..8c6c4eb9e9 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/nullable_class.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/nullable_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/number_only.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/number_only.rb index dd0af4625d..9805b392e0 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/number_only.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/number_only.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/object_with_deprecated_fields.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/object_with_deprecated_fields.rb index 7c865d0446..33e97795a0 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/object_with_deprecated_fields.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/object_with_deprecated_fields.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/order.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/order.rb index 6b6f2fde30..d44442094c 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/order.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/order.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_composite.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_composite.rb index 836bc711e0..c9eb7b760d 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_composite.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_composite.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum.rb index fae9f33235..b9c618758c 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_default_value.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_default_value.rb index c84ac34f99..a49b9ef26f 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_default_value.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_default_value.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_integer.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_integer.rb index f4d17ae24a..403da4efd0 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_integer.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_integer.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_integer_default_value.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_integer_default_value.rb index 96c34b23a5..e5f0099e6a 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_integer_default_value.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_enum_integer_default_value.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_object_with_enum_property.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_object_with_enum_property.rb index 470a90c2dd..656a175d93 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_object_with_enum_property.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/outer_object_with_enum_property.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/pet.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/pet.rb index 56808f6045..5bfd8870b7 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/pet.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/pet.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/read_only_first.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/read_only_first.rb index c6a56d20dd..ae21add94a 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/read_only_first.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/read_only_first.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/single_ref_type.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/single_ref_type.rb index 179ac137f0..ce280f79e6 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/single_ref_type.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/single_ref_type.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/special_model_name.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/special_model_name.rb index 43a7be1aa5..363ae367cc 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/special_model_name.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/special_model_name.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/tag.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/tag.rb index 2fc8586c15..8feada193d 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/tag.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/tag.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/models/user.rb b/samples/client/petstore/ruby-faraday/lib/petstore/models/user.rb index 34c11fcdc4..97b3a3c3e6 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/models/user.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/models/user.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/lib/petstore/version.rb b/samples/client/petstore/ruby-faraday/lib/petstore/version.rb index f5d92d0f3f..f1c431e339 100644 --- a/samples/client/petstore/ruby-faraday/lib/petstore/version.rb +++ b/samples/client/petstore/ruby-faraday/lib/petstore/version.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/petstore.gemspec b/samples/client/petstore/ruby-faraday/petstore.gemspec index 34763a0062..5e9251e161 100644 --- a/samples/client/petstore/ruby-faraday/petstore.gemspec +++ b/samples/client/petstore/ruby-faraday/petstore.gemspec @@ -8,7 +8,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/spec/api_client_spec.rb b/samples/client/petstore/ruby-faraday/spec/api_client_spec.rb index 0e91f6d9a0..1889431feb 100644 --- a/samples/client/petstore/ruby-faraday/spec/api_client_spec.rb +++ b/samples/client/petstore/ruby-faraday/spec/api_client_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/spec/configuration_spec.rb b/samples/client/petstore/ruby-faraday/spec/configuration_spec.rb index d2666a5483..873430f78f 100644 --- a/samples/client/petstore/ruby-faraday/spec/configuration_spec.rb +++ b/samples/client/petstore/ruby-faraday/spec/configuration_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby-faraday/spec/spec_helper.rb b/samples/client/petstore/ruby-faraday/spec/spec_helper.rb index 2de79b886e..fa4b40c349 100644 --- a/samples/client/petstore/ruby-faraday/spec/spec_helper.rb +++ b/samples/client/petstore/ruby-faraday/spec/spec_helper.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/.openapi-generator/VERSION b/samples/client/petstore/ruby/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/ruby/.openapi-generator/VERSION +++ b/samples/client/petstore/ruby/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/ruby/lib/petstore.rb b/samples/client/petstore/ruby/lib/petstore.rb index 31252f3b01..fa5bccc816 100644 --- a/samples/client/petstore/ruby/lib/petstore.rb +++ b/samples/client/petstore/ruby/lib/petstore.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/api/another_fake_api.rb b/samples/client/petstore/ruby/lib/petstore/api/another_fake_api.rb index 0066f4b322..bea0c3c623 100644 --- a/samples/client/petstore/ruby/lib/petstore/api/another_fake_api.rb +++ b/samples/client/petstore/ruby/lib/petstore/api/another_fake_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/api/default_api.rb b/samples/client/petstore/ruby/lib/petstore/api/default_api.rb index 6edfb79cad..b055e103ed 100644 --- a/samples/client/petstore/ruby/lib/petstore/api/default_api.rb +++ b/samples/client/petstore/ruby/lib/petstore/api/default_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/api/fake_api.rb b/samples/client/petstore/ruby/lib/petstore/api/fake_api.rb index f5cd1c0fb9..a12e7d1ead 100644 --- a/samples/client/petstore/ruby/lib/petstore/api/fake_api.rb +++ b/samples/client/petstore/ruby/lib/petstore/api/fake_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/api/fake_classname_tags123_api.rb b/samples/client/petstore/ruby/lib/petstore/api/fake_classname_tags123_api.rb index a61ee0013e..f38c898d09 100644 --- a/samples/client/petstore/ruby/lib/petstore/api/fake_classname_tags123_api.rb +++ b/samples/client/petstore/ruby/lib/petstore/api/fake_classname_tags123_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/api/pet_api.rb b/samples/client/petstore/ruby/lib/petstore/api/pet_api.rb index e411d6d700..978a1b2f11 100644 --- a/samples/client/petstore/ruby/lib/petstore/api/pet_api.rb +++ b/samples/client/petstore/ruby/lib/petstore/api/pet_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/api/store_api.rb b/samples/client/petstore/ruby/lib/petstore/api/store_api.rb index 7b2dad8fbd..08aff3cc94 100644 --- a/samples/client/petstore/ruby/lib/petstore/api/store_api.rb +++ b/samples/client/petstore/ruby/lib/petstore/api/store_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/api/user_api.rb b/samples/client/petstore/ruby/lib/petstore/api/user_api.rb index 40ae9e9f65..7ae298198c 100644 --- a/samples/client/petstore/ruby/lib/petstore/api/user_api.rb +++ b/samples/client/petstore/ruby/lib/petstore/api/user_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/api_client.rb b/samples/client/petstore/ruby/lib/petstore/api_client.rb index ee131039c2..9ff9853457 100644 --- a/samples/client/petstore/ruby/lib/petstore/api_client.rb +++ b/samples/client/petstore/ruby/lib/petstore/api_client.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/api_error.rb b/samples/client/petstore/ruby/lib/petstore/api_error.rb index f8fdf8e0cd..98a9c34241 100644 --- a/samples/client/petstore/ruby/lib/petstore/api_error.rb +++ b/samples/client/petstore/ruby/lib/petstore/api_error.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/configuration.rb b/samples/client/petstore/ruby/lib/petstore/configuration.rb index bab17070f6..143b6d0950 100644 --- a/samples/client/petstore/ruby/lib/petstore/configuration.rb +++ b/samples/client/petstore/ruby/lib/petstore/configuration.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/additional_properties_class.rb b/samples/client/petstore/ruby/lib/petstore/models/additional_properties_class.rb index f63639a246..50f3d61128 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/additional_properties_class.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/additional_properties_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/all_of_with_single_ref.rb b/samples/client/petstore/ruby/lib/petstore/models/all_of_with_single_ref.rb index 11bfa0c0a3..d9b4a74cc4 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/all_of_with_single_ref.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/all_of_with_single_ref.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/animal.rb b/samples/client/petstore/ruby/lib/petstore/models/animal.rb index 94a2ffca49..9f563e1d7c 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/animal.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/animal.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/api_response.rb b/samples/client/petstore/ruby/lib/petstore/models/api_response.rb index ca9a5eaac3..33b09dfbf3 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/api_response.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/api_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/array_of_array_of_number_only.rb b/samples/client/petstore/ruby/lib/petstore/models/array_of_array_of_number_only.rb index 85c6e27aed..65b8200f44 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/array_of_array_of_number_only.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/array_of_array_of_number_only.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/array_of_number_only.rb b/samples/client/petstore/ruby/lib/petstore/models/array_of_number_only.rb index 5cd376ed17..165e198b7a 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/array_of_number_only.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/array_of_number_only.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/array_test.rb b/samples/client/petstore/ruby/lib/petstore/models/array_test.rb index 4adbdb31b8..05d6bc4561 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/array_test.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/array_test.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/capitalization.rb b/samples/client/petstore/ruby/lib/petstore/models/capitalization.rb index be1c21d31c..4489c5a410 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/capitalization.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/capitalization.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/cat.rb b/samples/client/petstore/ruby/lib/petstore/models/cat.rb index eefb8990cd..065e644a7f 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/cat.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/cat.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/cat_all_of.rb b/samples/client/petstore/ruby/lib/petstore/models/cat_all_of.rb index df39e8c60b..908ce65b04 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/cat_all_of.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/cat_all_of.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/category.rb b/samples/client/petstore/ruby/lib/petstore/models/category.rb index 016e0d1d51..794ed89656 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/category.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/category.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/class_model.rb b/samples/client/petstore/ruby/lib/petstore/models/class_model.rb index bc0c547837..80bf4592b5 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/class_model.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/class_model.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/client.rb b/samples/client/petstore/ruby/lib/petstore/models/client.rb index 98f62b72cf..49a05ff2b7 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/client.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/client.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/deprecated_object.rb b/samples/client/petstore/ruby/lib/petstore/models/deprecated_object.rb index d42e33ddee..503c602b32 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/deprecated_object.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/deprecated_object.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/dog.rb b/samples/client/petstore/ruby/lib/petstore/models/dog.rb index b9aa6cae55..3a89332644 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/dog.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/dog.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/dog_all_of.rb b/samples/client/petstore/ruby/lib/petstore/models/dog_all_of.rb index 12fca22bb5..c12577efa6 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/dog_all_of.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/dog_all_of.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/enum_arrays.rb b/samples/client/petstore/ruby/lib/petstore/models/enum_arrays.rb index 1d5f5b945a..67d559898d 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/enum_arrays.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/enum_arrays.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/enum_class.rb b/samples/client/petstore/ruby/lib/petstore/models/enum_class.rb index 2a3704a4cf..801bf2b184 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/enum_class.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/enum_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/enum_test.rb b/samples/client/petstore/ruby/lib/petstore/models/enum_test.rb index 9da364b800..a27ea890bb 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/enum_test.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/enum_test.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/file.rb b/samples/client/petstore/ruby/lib/petstore/models/file.rb index b5b8496a98..d270fe9d6a 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/file.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/file.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/file_schema_test_class.rb b/samples/client/petstore/ruby/lib/petstore/models/file_schema_test_class.rb index 2aa76bc598..7b7dd3990c 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/file_schema_test_class.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/file_schema_test_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/foo.rb b/samples/client/petstore/ruby/lib/petstore/models/foo.rb index 56f3b6eb49..c76ec8041b 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/foo.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/foo.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/foo_get_default_response.rb b/samples/client/petstore/ruby/lib/petstore/models/foo_get_default_response.rb index f951696f77..f89ca8ef23 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/foo_get_default_response.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/foo_get_default_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/format_test.rb b/samples/client/petstore/ruby/lib/petstore/models/format_test.rb index b17badf18c..f02024bd8e 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/format_test.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/format_test.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/has_only_read_only.rb b/samples/client/petstore/ruby/lib/petstore/models/has_only_read_only.rb index 3a63c26c1c..6abd309dfb 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/has_only_read_only.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/has_only_read_only.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/health_check_result.rb b/samples/client/petstore/ruby/lib/petstore/models/health_check_result.rb index cfdd7573d1..c7e111dcff 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/health_check_result.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/health_check_result.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/list.rb b/samples/client/petstore/ruby/lib/petstore/models/list.rb index f3926db331..9cb3ec1eea 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/list.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/list.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/map_test.rb b/samples/client/petstore/ruby/lib/petstore/models/map_test.rb index ab7453ec35..f72a2e6ef2 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/map_test.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/map_test.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/mixed_properties_and_additional_properties_class.rb b/samples/client/petstore/ruby/lib/petstore/models/mixed_properties_and_additional_properties_class.rb index 8ebaf8fa2a..c35d0f6863 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/mixed_properties_and_additional_properties_class.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/mixed_properties_and_additional_properties_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/model200_response.rb b/samples/client/petstore/ruby/lib/petstore/models/model200_response.rb index f7803fe699..e12191f341 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/model200_response.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/model200_response.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/model_return.rb b/samples/client/petstore/ruby/lib/petstore/models/model_return.rb index 249399f3bc..339f68a8fe 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/model_return.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/model_return.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/name.rb b/samples/client/petstore/ruby/lib/petstore/models/name.rb index 7b0493fe90..01661f2794 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/name.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/name.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/nullable_class.rb b/samples/client/petstore/ruby/lib/petstore/models/nullable_class.rb index 1df16fe7ad..8c6c4eb9e9 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/nullable_class.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/nullable_class.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/number_only.rb b/samples/client/petstore/ruby/lib/petstore/models/number_only.rb index dd0af4625d..9805b392e0 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/number_only.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/number_only.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/object_with_deprecated_fields.rb b/samples/client/petstore/ruby/lib/petstore/models/object_with_deprecated_fields.rb index 7c865d0446..33e97795a0 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/object_with_deprecated_fields.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/object_with_deprecated_fields.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/order.rb b/samples/client/petstore/ruby/lib/petstore/models/order.rb index 6b6f2fde30..d44442094c 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/order.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/order.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/outer_composite.rb b/samples/client/petstore/ruby/lib/petstore/models/outer_composite.rb index 836bc711e0..c9eb7b760d 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/outer_composite.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/outer_composite.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/outer_enum.rb b/samples/client/petstore/ruby/lib/petstore/models/outer_enum.rb index fae9f33235..b9c618758c 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/outer_enum.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/outer_enum.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/outer_enum_default_value.rb b/samples/client/petstore/ruby/lib/petstore/models/outer_enum_default_value.rb index c84ac34f99..a49b9ef26f 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/outer_enum_default_value.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/outer_enum_default_value.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/outer_enum_integer.rb b/samples/client/petstore/ruby/lib/petstore/models/outer_enum_integer.rb index f4d17ae24a..403da4efd0 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/outer_enum_integer.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/outer_enum_integer.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/outer_enum_integer_default_value.rb b/samples/client/petstore/ruby/lib/petstore/models/outer_enum_integer_default_value.rb index 96c34b23a5..e5f0099e6a 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/outer_enum_integer_default_value.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/outer_enum_integer_default_value.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/outer_object_with_enum_property.rb b/samples/client/petstore/ruby/lib/petstore/models/outer_object_with_enum_property.rb index 470a90c2dd..656a175d93 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/outer_object_with_enum_property.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/outer_object_with_enum_property.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/pet.rb b/samples/client/petstore/ruby/lib/petstore/models/pet.rb index 56808f6045..5bfd8870b7 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/pet.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/pet.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/read_only_first.rb b/samples/client/petstore/ruby/lib/petstore/models/read_only_first.rb index c6a56d20dd..ae21add94a 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/read_only_first.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/read_only_first.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/single_ref_type.rb b/samples/client/petstore/ruby/lib/petstore/models/single_ref_type.rb index 179ac137f0..ce280f79e6 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/single_ref_type.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/single_ref_type.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/special_model_name.rb b/samples/client/petstore/ruby/lib/petstore/models/special_model_name.rb index 43a7be1aa5..363ae367cc 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/special_model_name.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/special_model_name.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/tag.rb b/samples/client/petstore/ruby/lib/petstore/models/tag.rb index 2fc8586c15..8feada193d 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/tag.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/tag.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/models/user.rb b/samples/client/petstore/ruby/lib/petstore/models/user.rb index 34c11fcdc4..97b3a3c3e6 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/user.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/user.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/lib/petstore/version.rb b/samples/client/petstore/ruby/lib/petstore/version.rb index f5d92d0f3f..f1c431e339 100644 --- a/samples/client/petstore/ruby/lib/petstore/version.rb +++ b/samples/client/petstore/ruby/lib/petstore/version.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/petstore.gemspec b/samples/client/petstore/ruby/petstore.gemspec index 8f33185e61..5260b6e112 100644 --- a/samples/client/petstore/ruby/petstore.gemspec +++ b/samples/client/petstore/ruby/petstore.gemspec @@ -8,7 +8,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/spec/api_client_spec.rb b/samples/client/petstore/ruby/spec/api_client_spec.rb index 6421300969..f3b81289b4 100644 --- a/samples/client/petstore/ruby/spec/api_client_spec.rb +++ b/samples/client/petstore/ruby/spec/api_client_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/spec/configuration_spec.rb b/samples/client/petstore/ruby/spec/configuration_spec.rb index d2666a5483..873430f78f 100644 --- a/samples/client/petstore/ruby/spec/configuration_spec.rb +++ b/samples/client/petstore/ruby/spec/configuration_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/ruby/spec/spec_helper.rb b/samples/client/petstore/ruby/spec/spec_helper.rb index 2de79b886e..fa4b40c349 100644 --- a/samples/client/petstore/ruby/spec/spec_helper.rb +++ b/samples/client/petstore/ruby/spec/spec_helper.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/client/petstore/rust/hyper/petstore/.openapi-generator/VERSION b/samples/client/petstore/rust/hyper/petstore/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/rust/hyper/petstore/.openapi-generator/VERSION +++ b/samples/client/petstore/rust/hyper/petstore/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/rust/reqwest/petstore-async/.openapi-generator/VERSION b/samples/client/petstore/rust/reqwest/petstore-async/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/.openapi-generator/VERSION +++ b/samples/client/petstore/rust/reqwest/petstore-async/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/.openapi-generator/VERSION b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/.openapi-generator/VERSION +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/VERSION b/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/VERSION +++ b/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/scala-akka/.openapi-generator/VERSION b/samples/client/petstore/scala-akka/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/scala-akka/.openapi-generator/VERSION +++ b/samples/client/petstore/scala-akka/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/scala-httpclient-deprecated/.openapi-generator/VERSION b/samples/client/petstore/scala-httpclient-deprecated/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/scala-httpclient-deprecated/.openapi-generator/VERSION +++ b/samples/client/petstore/scala-httpclient-deprecated/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/scala-sttp/.openapi-generator/VERSION b/samples/client/petstore/scala-sttp/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/scala-sttp/.openapi-generator/VERSION +++ b/samples/client/petstore/scala-sttp/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/spring-cloud-async/.openapi-generator/VERSION b/samples/client/petstore/spring-cloud-async/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/spring-cloud-async/.openapi-generator/VERSION +++ b/samples/client/petstore/spring-cloud-async/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java index af0eee5bf6..161e62ea0d 100644 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java index ccff3e72f9..166e7871ad 100644 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java index 60b2df7a2e..f76b9eb63e 100644 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud-date-time/.openapi-generator/VERSION b/samples/client/petstore/spring-cloud-date-time/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/spring-cloud-date-time/.openapi-generator/VERSION +++ b/samples/client/petstore/spring-cloud-date-time/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java b/samples/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java index 4b5dd08c0f..4820a04c54 100644 --- a/samples/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java +++ b/samples/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud-feign-without-url/.openapi-generator/VERSION b/samples/client/petstore/spring-cloud-feign-without-url/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/spring-cloud-feign-without-url/.openapi-generator/VERSION +++ b/samples/client/petstore/spring-cloud-feign-without-url/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/PetApi.java b/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/PetApi.java index 97e01992cd..d747d349a6 100644 --- a/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/StoreApi.java b/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/StoreApi.java index 91e7a06024..79b3764bc8 100644 --- a/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/UserApi.java b/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/UserApi.java index 03722bec7a..64b7d0d3e7 100644 --- a/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud-spring-pageable/.openapi-generator/VERSION b/samples/client/petstore/spring-cloud-spring-pageable/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/spring-cloud-spring-pageable/.openapi-generator/VERSION +++ b/samples/client/petstore/spring-cloud-spring-pageable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java index 2847e39927..b535070879 100644 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java index cbf9b2ae60..4c5dc08790 100644 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApi.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApi.java index f1f9df3d66..1047f80ac9 100644 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud/.openapi-generator/VERSION b/samples/client/petstore/spring-cloud/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/spring-cloud/.openapi-generator/VERSION +++ b/samples/client/petstore/spring-cloud/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java b/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java index 97e01992cd..d747d349a6 100644 --- a/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/StoreApi.java b/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/StoreApi.java index 91e7a06024..79b3764bc8 100644 --- a/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/UserApi.java b/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/UserApi.java index 03722bec7a..64b7d0d3e7 100644 --- a/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-stubs/.openapi-generator/VERSION b/samples/client/petstore/spring-stubs/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/spring-stubs/.openapi-generator/VERSION +++ b/samples/client/petstore/spring-stubs/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java b/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java index f159ad242e..06d55ac253 100644 --- a/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java b/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java index b59e5623f2..1d6d817b96 100644 --- a/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java b/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java index 40be182f0f..e5517cc004 100644 --- a/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/client/petstore/swift5/alamofireLibrary/.openapi-generator/VERSION b/samples/client/petstore/swift5/alamofireLibrary/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/swift5/alamofireLibrary/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/alamofireLibrary/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/swift5/asyncAwaitLibrary/.openapi-generator/VERSION b/samples/client/petstore/swift5/asyncAwaitLibrary/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/swift5/asyncAwaitLibrary/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/asyncAwaitLibrary/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/swift5/combineLibrary/.openapi-generator/VERSION b/samples/client/petstore/swift5/combineLibrary/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/swift5/combineLibrary/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/combineLibrary/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/swift5/default/.openapi-generator/VERSION b/samples/client/petstore/swift5/default/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/swift5/default/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/swift5/deprecated/.openapi-generator/VERSION b/samples/client/petstore/swift5/deprecated/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/swift5/deprecated/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/deprecated/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/swift5/frozenEnums/.openapi-generator/VERSION b/samples/client/petstore/swift5/frozenEnums/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/swift5/frozenEnums/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/frozenEnums/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/swift5/nonPublicApi/.openapi-generator/VERSION b/samples/client/petstore/swift5/nonPublicApi/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/swift5/nonPublicApi/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/nonPublicApi/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/swift5/objcCompatible/.openapi-generator/VERSION b/samples/client/petstore/swift5/objcCompatible/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/swift5/objcCompatible/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/objcCompatible/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/swift5/oneOf/.openapi-generator/VERSION b/samples/client/petstore/swift5/oneOf/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/swift5/oneOf/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/oneOf/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/swift5/promisekitLibrary/.openapi-generator/VERSION b/samples/client/petstore/swift5/promisekitLibrary/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/swift5/promisekitLibrary/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/promisekitLibrary/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/swift5/readonlyProperties/.openapi-generator/VERSION b/samples/client/petstore/swift5/readonlyProperties/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/swift5/readonlyProperties/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/readonlyProperties/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/swift5/resultLibrary/.openapi-generator/VERSION b/samples/client/petstore/swift5/resultLibrary/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/swift5/resultLibrary/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/resultLibrary/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/swift5/rxswiftLibrary/.openapi-generator/VERSION b/samples/client/petstore/swift5/rxswiftLibrary/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/swift5/rxswiftLibrary/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/rxswiftLibrary/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/swift5/urlsessionLibrary/.openapi-generator/VERSION b/samples/client/petstore/swift5/urlsessionLibrary/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/swift5/urlsessionLibrary/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/urlsessionLibrary/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/swift5/vaporLibrary/.openapi-generator/VERSION b/samples/client/petstore/swift5/vaporLibrary/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/swift5/vaporLibrary/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/vaporLibrary/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/swift5/x-swift-hashable/.openapi-generator/VERSION b/samples/client/petstore/swift5/x-swift-hashable/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/swift5/x-swift-hashable/.openapi-generator/VERSION +++ b/samples/client/petstore/swift5/x-swift-hashable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v12-oneOf/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v13-oneOf/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v13-provided-in-any/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v13-provided-in-root/builds/with-npm/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-aurelia/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-aurelia/default/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-aurelia/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-aurelia/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/composed-schemas/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/composed-schemas/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-axios/builds/composed-schemas/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/composed-schemas/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/default/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-axios/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/es6-target/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/es6-target/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-axios/builds/es6-target/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/es6-target/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/test-petstore/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/test-petstore/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-axios/builds/test-petstore/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/test-petstore/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/with-complex-headers/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/with-complex-headers/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-axios/builds/with-complex-headers/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/with-complex-headers/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/with-fake-endpoints-models-for-testing-with-http-signature/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/with-fake-endpoints-models-for-testing-with-http-signature/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-axios/builds/with-fake-endpoints-models-for-testing-with-http-signature/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/with-fake-endpoints-models-for-testing-with-http-signature/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/with-interfaces/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/with-interfaces/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-axios/builds/with-interfaces/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/with-interfaces/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/with-node-imports/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/with-node-imports/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-axios/builds/with-node-imports/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/with-node-imports/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/with-npm-version-and-separate-models-and-api/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/with-npm-version-and-separate-models-and-api/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-axios/builds/with-npm-version-and-separate-models-and-api/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/with-npm-version-and-separate-models-and-api/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/with-npm-version/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/with-npm-version/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-axios/builds/with-npm-version/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/with-npm-version/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/with-single-request-parameters/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/with-single-request-parameters/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-axios/builds/with-single-request-parameters/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/with-single-request-parameters/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-axios/builds/with-string-enums/.openapi-generator/VERSION b/samples/client/petstore/typescript-axios/builds/with-string-enums/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-axios/builds/with-string-enums/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-axios/builds/with-string-enums/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/default-v3.0/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/default/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/enum/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/enum/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-fetch/builds/enum/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/enum/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/es6-target/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/with-interfaces/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/with-npm-version/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/with-string-enums/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/with-string-enums/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-string-enums/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/with-string-enums/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/.openapi-generator/VERSION b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-inversify/.openapi-generator/VERSION b/samples/client/petstore/typescript-inversify/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-inversify/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-inversify/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-jquery/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-jquery/default/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-jquery/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-jquery/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-jquery/npm/.openapi-generator/VERSION b/samples/client/petstore/typescript-jquery/npm/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-jquery/npm/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-jquery/npm/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-nestjs-v6-provided-in-root/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-nestjs-v6-provided-in-root/builds/default/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-nestjs-v6-provided-in-root/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-nestjs-v6-provided-in-root/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-node/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-node/default/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-node/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-node/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-node/npm/.openapi-generator/VERSION b/samples/client/petstore/typescript-node/npm/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-node/npm/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-node/npm/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-redux-query/builds/with-npm-version/.openapi-generator/VERSION b/samples/client/petstore/typescript-redux-query/builds/with-npm-version/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-redux-query/builds/with-npm-version/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-redux-query/builds/with-npm-version/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-rxjs/builds/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-rxjs/builds/default/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-rxjs/builds/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-rxjs/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-rxjs/builds/es6-target/.openapi-generator/VERSION b/samples/client/petstore/typescript-rxjs/builds/es6-target/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-rxjs/builds/es6-target/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-rxjs/builds/es6-target/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-rxjs/builds/with-npm-version/.openapi-generator/VERSION b/samples/client/petstore/typescript-rxjs/builds/with-npm-version/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-rxjs/builds/with-npm-version/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-rxjs/builds/with-npm-version/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/client/petstore/typescript-rxjs/builds/with-progress-subscriber/.openapi-generator/VERSION b/samples/client/petstore/typescript-rxjs/builds/with-progress-subscriber/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/client/petstore/typescript-rxjs/builds/with-progress-subscriber/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-rxjs/builds/with-progress-subscriber/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/config/petstore/protobuf-schema/.openapi-generator/VERSION b/samples/config/petstore/protobuf-schema/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/config/petstore/protobuf-schema/.openapi-generator/VERSION +++ b/samples/config/petstore/protobuf-schema/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/meta-codegen/lib/pom.xml b/samples/meta-codegen/lib/pom.xml index fded0b117b..d408d427a3 100644 --- a/samples/meta-codegen/lib/pom.xml +++ b/samples/meta-codegen/lib/pom.xml @@ -121,7 +121,7 @@ UTF-8 - 6.0.1-SNAPSHOT + 6.0.1 1.0.0 4.13.2 diff --git a/samples/meta-codegen/usage/.openapi-generator/VERSION b/samples/meta-codegen/usage/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/meta-codegen/usage/.openapi-generator/VERSION +++ b/samples/meta-codegen/usage/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/VERSION b/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/VERSION +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/elm/.openapi-generator/VERSION b/samples/openapi3/client/elm/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/elm/.openapi-generator/VERSION +++ b/samples/openapi3/client/elm/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/.openapi-generator/VERSION b/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/.openapi-generator/VERSION +++ b/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/.openapi-generator/VERSION b/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/.openapi-generator/VERSION +++ b/samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/python/.openapi-generator/VERSION b/samples/openapi3/client/extensions/x-auth-id-alias/python/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/python/.openapi-generator/VERSION +++ b/samples/openapi3/client/extensions/x-auth-id-alias/python/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/.openapi-generator/VERSION b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/.openapi-generator/VERSION +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias.rb b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias.rb index acba9e59be..e4cd14f8db 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias.rb +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api/usage_api.rb b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api/usage_api.rb index e3f703f541..6b523d5a4e 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api/usage_api.rb +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api/usage_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api_client.rb b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api_client.rb index 605f7895e2..64b36f9457 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api_client.rb +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api_client.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api_error.rb b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api_error.rb index 2dbd46d6bb..87762ae6c2 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api_error.rb +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/api_error.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/configuration.rb b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/configuration.rb index 4c23901fb0..25efdd6ee3 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/configuration.rb +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/configuration.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/version.rb b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/version.rb index f272f4ac11..ae4df0efc3 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/version.rb +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/lib/x_auth_id_alias/version.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/api_client_spec.rb b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/api_client_spec.rb index 4eed490dd3..a1ef090803 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/api_client_spec.rb +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/api_client_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/configuration_spec.rb b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/configuration_spec.rb index cf44a3f7f1..39ffcbbaac 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/configuration_spec.rb +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/configuration_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/spec_helper.rb b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/spec_helper.rb index f7bc4a7ce2..8cf294466e 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/spec_helper.rb +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/spec/spec_helper.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/x_auth_id_alias.gemspec b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/x_auth_id_alias.gemspec index bfce972612..d02505fa81 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/x_auth_id_alias.gemspec +++ b/samples/openapi3/client/extensions/x-auth-id-alias/ruby-client/x_auth_id_alias.gemspec @@ -8,7 +8,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/dynamic-servers/python/.openapi-generator/VERSION b/samples/openapi3/client/features/dynamic-servers/python/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/features/dynamic-servers/python/.openapi-generator/VERSION +++ b/samples/openapi3/client/features/dynamic-servers/python/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/.openapi-generator/VERSION b/samples/openapi3/client/features/dynamic-servers/ruby/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/.openapi-generator/VERSION +++ b/samples/openapi3/client/features/dynamic-servers/ruby/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/dynamic_servers.gemspec b/samples/openapi3/client/features/dynamic-servers/ruby/dynamic_servers.gemspec index fdf0a7bc0d..f99806f871 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/dynamic_servers.gemspec +++ b/samples/openapi3/client/features/dynamic-servers/ruby/dynamic_servers.gemspec @@ -8,7 +8,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers.rb b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers.rb index b7452a67a0..b2ae4ae3a6 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers.rb +++ b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api/usage_api.rb b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api/usage_api.rb index 440ab3710e..2960f785a3 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api/usage_api.rb +++ b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api/usage_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api_client.rb b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api_client.rb index a3498df62d..88758909c3 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api_client.rb +++ b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api_client.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api_error.rb b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api_error.rb index 71c94d8679..6ca4bd141c 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api_error.rb +++ b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/api_error.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/configuration.rb b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/configuration.rb index 45e07f37ef..e9d51c2c6b 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/configuration.rb +++ b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/configuration.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/version.rb b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/version.rb index fdabae4ba4..f1b6a469c8 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/version.rb +++ b/samples/openapi3/client/features/dynamic-servers/ruby/lib/dynamic_servers/version.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/spec/api_client_spec.rb b/samples/openapi3/client/features/dynamic-servers/ruby/spec/api_client_spec.rb index 241098d21b..a82c342344 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/spec/api_client_spec.rb +++ b/samples/openapi3/client/features/dynamic-servers/ruby/spec/api_client_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/spec/configuration_spec.rb b/samples/openapi3/client/features/dynamic-servers/ruby/spec/configuration_spec.rb index 202153af37..df6b00aa10 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/spec/configuration_spec.rb +++ b/samples/openapi3/client/features/dynamic-servers/ruby/spec/configuration_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/dynamic-servers/ruby/spec/spec_helper.rb b/samples/openapi3/client/features/dynamic-servers/ruby/spec/spec_helper.rb index ac65c178f3..fcb04eb9f9 100644 --- a/samples/openapi3/client/features/dynamic-servers/ruby/spec/spec_helper.rb +++ b/samples/openapi3/client/features/dynamic-servers/ruby/spec/spec_helper.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/.openapi-generator/VERSION b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/.openapi-generator/VERSION +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore.rb index 66fbac4d82..89dc2f0f23 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api/usage_api.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api/usage_api.rb index e9b8d4abf8..5ec4001886 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api/usage_api.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api/usage_api.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api_client.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api_client.rb index 8da01e51c0..23bca4fe2e 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api_client.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api_client.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api_error.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api_error.rb index 525be6087e..f5b6348399 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api_error.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/api_error.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/configuration.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/configuration.rb index 9b73dbc454..4821ccff51 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/configuration.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/configuration.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/models/array_alias.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/models/array_alias.rb index 1a32235cba..b095082ed4 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/models/array_alias.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/models/array_alias.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/models/map_alias.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/models/map_alias.rb index dfa3d0a3b7..a5d0c90a18 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/models/map_alias.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/models/map_alias.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/version.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/version.rb index c5dc77666a..4fc4679ec2 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/version.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/lib/petstore/version.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/petstore.gemspec b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/petstore.gemspec index 49bbe86099..1b8d8f6139 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/petstore.gemspec +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/petstore.gemspec @@ -8,7 +8,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/api_client_spec.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/api_client_spec.rb index ab3dc03cca..3e832ac339 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/api_client_spec.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/api_client_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/configuration_spec.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/configuration_spec.rb index ce51dfd5c7..59ea4598ed 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/configuration_spec.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/configuration_spec.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/spec_helper.rb b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/spec_helper.rb index 371088f0ea..25b24df614 100644 --- a/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/spec_helper.rb +++ b/samples/openapi3/client/features/generate-alias-as-model/ruby-client/spec/spec_helper.rb @@ -6,7 +6,7 @@ The version of the OpenAPI document: 1.0.0 Generated by: https://openapi-generator.tech -OpenAPI Generator version: 6.0.1-SNAPSHOT +OpenAPI Generator version: 6.0.1 =end diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/.openapi-generator/VERSION b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/.openapi-generator/VERSION b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib/.openapi-generator/VERSION b/samples/openapi3/client/petstore/dart2/petstore_client_lib/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/.openapi-generator/VERSION b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/go/go-petstore/.openapi-generator/VERSION b/samples/openapi3/client/petstore/go/go-petstore/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/go/go-petstore/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/go/go-petstore/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/.openapi-generator/VERSION b/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/java/jersey2-java8/.openapi-generator/VERSION b/samples/openapi3/client/petstore/java/jersey2-java8/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/java/jersey2-java8/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/python-experimental/.openapi-generator/VERSION b/samples/openapi3/client/petstore/python-experimental/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/python-experimental/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/python-experimental/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/python-legacy/.openapi-generator/VERSION b/samples/openapi3/client/petstore/python-legacy/.openapi-generator/VERSION index 89648de331..6d54bbd775 100755 --- a/samples/openapi3/client/petstore/python-legacy/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/python-legacy/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/python/.openapi-generator/VERSION b/samples/openapi3/client/petstore/python/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/python/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/python/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator/VERSION b/samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/spring-cloud-3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/PetApi.java index a7afc17f8f..1a90637ec0 100644 --- a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/StoreApi.java index 13249b4234..bf5c8ba234 100644 --- a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/UserApi.java index d6c08baa20..13f7354b45 100644 --- a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-async/.openapi-generator/VERSION b/samples/openapi3/client/petstore/spring-cloud-async/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/spring-cloud-async/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/spring-cloud-async/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java index e13951e567..abcdc5ce91 100644 --- a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java index 8d852b4c2c..790f46e395 100644 --- a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java index 146b1b9371..4afba9e92b 100644 --- a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-date-time/.openapi-generator/VERSION b/samples/openapi3/client/petstore/spring-cloud-date-time/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/spring-cloud-date-time/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/spring-cloud-date-time/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java b/samples/openapi3/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java index c24320bb97..8f748f6524 100644 --- a/samples/openapi3/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-date-time/src/main/java/org/openapitools/api/DefaultApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/.openapi-generator/VERSION b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/AnotherFakeApi.java index 0e0c79d6a7..73a710fd52 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/FakeApi.java b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/FakeApi.java index 340f6f950c..c2132ba42c 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/FakeClassnameTags123Api.java b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/FakeClassnameTags123Api.java index d32cf3380e..1eee562896 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/FakeClassnameTags123Api.java +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/FakeClassnameTags123Api.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/PetApi.java index f1fc22097c..e04dcb7462 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/StoreApi.java index d65d639901..7db96d9b12 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/UserApi.java index 547e649682..0bac269699 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-spring-pageable/.openapi-generator/VERSION b/samples/openapi3/client/petstore/spring-cloud-spring-pageable/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/spring-cloud-spring-pageable/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/spring-cloud-spring-pageable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java index ead9a504d5..36f9d1b6d7 100644 --- a/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java index ed10144157..9ca4164499 100644 --- a/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApi.java index 50b0f8c7af..eb4fcae41c 100644 --- a/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud/.openapi-generator/VERSION b/samples/openapi3/client/petstore/spring-cloud/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/spring-cloud/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/spring-cloud/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java index ac6c6d614b..035435fb2e 100644 --- a/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/StoreApi.java index fcecfec3da..dd84c438e8 100644 --- a/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/UserApi.java index 35275ca6c2..6089ec4010 100644 --- a/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/.openapi-generator/VERSION b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/PetApi.java index 5dfa7333e7..028f7431c3 100644 --- a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/StoreApi.java index 4bbedc5612..6249a56fcd 100644 --- a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/UserApi.java index 8d8c250ce1..76a33dfecb 100644 --- a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-stubs/.openapi-generator/VERSION b/samples/openapi3/client/petstore/spring-stubs/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/spring-stubs/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/spring-stubs/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java index 39129b32f2..9e32a265ad 100644 --- a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java index 698f399576..68d15a40d0 100644 --- a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java index aa0e98950c..1eb0002a1f 100644 --- a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/client/petstore/typescript/builds/browser/.openapi-generator/VERSION b/samples/openapi3/client/petstore/typescript/builds/browser/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/typescript/builds/browser/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/typescript/builds/browser/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/typescript/builds/composed-schemas/.openapi-generator/VERSION b/samples/openapi3/client/petstore/typescript/builds/composed-schemas/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/typescript/builds/composed-schemas/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/typescript/builds/composed-schemas/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/typescript/builds/default/.openapi-generator/VERSION b/samples/openapi3/client/petstore/typescript/builds/default/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/typescript/builds/default/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/typescript/builds/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/typescript/builds/deno/.openapi-generator/VERSION b/samples/openapi3/client/petstore/typescript/builds/deno/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/typescript/builds/deno/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/typescript/builds/deno/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/typescript/builds/inversify/.openapi-generator/VERSION b/samples/openapi3/client/petstore/typescript/builds/inversify/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/typescript/builds/inversify/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/typescript/builds/inversify/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/typescript/builds/jquery/.openapi-generator/VERSION b/samples/openapi3/client/petstore/typescript/builds/jquery/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/typescript/builds/jquery/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/typescript/builds/jquery/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/client/petstore/typescript/builds/object_params/.openapi-generator/VERSION b/samples/openapi3/client/petstore/typescript/builds/object_params/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/client/petstore/typescript/builds/object_params/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/typescript/builds/object_params/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/schema/petstore/avro-schema/.openapi-generator/VERSION b/samples/openapi3/schema/petstore/avro-schema/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/schema/petstore/avro-schema/.openapi-generator/VERSION +++ b/samples/openapi3/schema/petstore/avro-schema/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/server/petstore/spring-boot-oneof/.openapi-generator/VERSION b/samples/openapi3/server/petstore/spring-boot-oneof/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/spring-boot-oneof/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/api/BarApi.java b/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/api/BarApi.java index f8e986d98a..311135e691 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/api/BarApi.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/api/BarApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/api/FooApi.java b/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/api/FooApi.java index 26b9020677..665a7e0403 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/api/FooApi.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/api/FooApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/spring-boot-springdoc/.openapi-generator/VERSION b/samples/openapi3/server/petstore/spring-boot-springdoc/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/server/petstore/spring-boot-springdoc/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/spring-boot-springdoc/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/PetApi.java index 141977eac6..d16669e6ef 100644 --- a/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/StoreApi.java index acc0304685..767fec0f9b 100644 --- a/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/UserApi.java index 534348964a..9d3e7df0bb 100644 --- a/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-3/.openapi-generator/VERSION b/samples/openapi3/server/petstore/springboot-3/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/server/petstore/springboot-3/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/springboot-3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApi.java index bea4438675..81d1243a24 100644 --- a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/StoreApi.java index a2456948e3..203a493821 100644 --- a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/UserApi.java index 095dda00fd..4c914fa694 100644 --- a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/.openapi-generator/VERSION b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/AnotherFakeApi.java index f61d3f0083..3e6d5b1a94 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeApi.java b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeApi.java index 797b79786e..97706b74ad 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index 9fe06b1105..3b7e1cd88b 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java index d10ef21132..a5f0044344 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/StoreApi.java index 5d70e4dabf..daaf9fcea7 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/UserApi.java index 67d586526d..959b90319c 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-delegate/.openapi-generator/VERSION b/samples/openapi3/server/petstore/springboot-delegate/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/springboot-delegate/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/AnotherFakeApi.java index 1a2b2b6b9b..e5737170e8 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeApi.java b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeApi.java index fd0cd9cd17..04ca3118e7 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index dfd52466a2..e35a40e7ab 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java index 98df88d41b..3752a001e0 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/StoreApi.java index 3c7f63eacd..b8cd18599a 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/UserApi.java index 844840400d..5725a806a8 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/.openapi-generator/VERSION b/samples/openapi3/server/petstore/springboot-implicitHeaders/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/AnotherFakeApi.java index f61d3f0083..3e6d5b1a94 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeApi.java b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeApi.java index 8d6af2cecc..177d1d36a3 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index 9fe06b1105..3b7e1cd88b 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java index 603fec820f..e328e65c58 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/StoreApi.java index 5d70e4dabf..daaf9fcea7 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/UserApi.java index 67d586526d..959b90319c 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-reactive/.openapi-generator/VERSION b/samples/openapi3/server/petstore/springboot-reactive/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/springboot-reactive/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/AnotherFakeApi.java index 8d32d71d0e..66a803fa83 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeApi.java b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeApi.java index 72dd44a31c..2f814b39bd 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index 08890fe728..3d85285895 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java index b2eae95a48..38e99b6b19 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/StoreApi.java index a76c8b6483..48866b5919 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/UserApi.java index 36cbb2ee35..98a7617001 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-source/.openapi-generator/VERSION b/samples/openapi3/server/petstore/springboot-source/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/server/petstore/springboot-source/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/springboot-source/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/PetApi.java index 8424fa0841..6a31335196 100644 --- a/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/StoreApi.java index 80e5546486..e2adf445ae 100644 --- a/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/UserApi.java index 80c42115c1..4185f02be8 100644 --- a/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-useoptional/.openapi-generator/VERSION b/samples/openapi3/server/petstore/springboot-useoptional/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/springboot-useoptional/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/AnotherFakeApi.java index f61d3f0083..3e6d5b1a94 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java index 982dc60ae5..b3ce7e2d68 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index 9fe06b1105..3b7e1cd88b 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java index d603c24d65..06001d3ca3 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/StoreApi.java index 5d70e4dabf..daaf9fcea7 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/UserApi.java index 67d586526d..959b90319c 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot/.openapi-generator/VERSION b/samples/openapi3/server/petstore/springboot/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/openapi3/server/petstore/springboot/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/springboot/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java index 141977eac6..d16669e6ef 100644 --- a/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/StoreApi.java index acc0304685..767fec0f9b 100644 --- a/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/UserApi.java index 534348964a..9d3e7df0bb 100644 --- a/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/schema/petstore/ktorm-modelMutable/.openapi-generator/VERSION b/samples/schema/petstore/ktorm-modelMutable/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/schema/petstore/ktorm-modelMutable/.openapi-generator/VERSION +++ b/samples/schema/petstore/ktorm-modelMutable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/schema/petstore/ktorm/.openapi-generator/VERSION b/samples/schema/petstore/ktorm/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/schema/petstore/ktorm/.openapi-generator/VERSION +++ b/samples/schema/petstore/ktorm/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/schema/petstore/mysql/.openapi-generator/VERSION b/samples/schema/petstore/mysql/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/schema/petstore/mysql/.openapi-generator/VERSION +++ b/samples/schema/petstore/mysql/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/schema/petstore/wsdl-schema/.openapi-generator/VERSION b/samples/schema/petstore/wsdl-schema/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/schema/petstore/wsdl-schema/.openapi-generator/VERSION +++ b/samples/schema/petstore/wsdl-schema/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/aspnetcore-3.0/.openapi-generator/VERSION b/samples/server/petstore/aspnetcore-3.0/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/aspnetcore-3.0/.openapi-generator/VERSION +++ b/samples/server/petstore/aspnetcore-3.0/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/aspnetcore-3.1/.openapi-generator/VERSION b/samples/server/petstore/aspnetcore-3.1/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/aspnetcore-3.1/.openapi-generator/VERSION +++ b/samples/server/petstore/aspnetcore-3.1/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/aspnetcore-5.0/.openapi-generator/VERSION b/samples/server/petstore/aspnetcore-5.0/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/aspnetcore-5.0/.openapi-generator/VERSION +++ b/samples/server/petstore/aspnetcore-5.0/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/aspnetcore-6.0/.openapi-generator/VERSION b/samples/server/petstore/aspnetcore-6.0/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/aspnetcore-6.0/.openapi-generator/VERSION +++ b/samples/server/petstore/aspnetcore-6.0/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/aspnetcore/.openapi-generator/VERSION b/samples/server/petstore/aspnetcore/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/aspnetcore/.openapi-generator/VERSION +++ b/samples/server/petstore/aspnetcore/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/cpp-pistache/.openapi-generator/VERSION b/samples/server/petstore/cpp-pistache/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/cpp-pistache/.openapi-generator/VERSION +++ b/samples/server/petstore/cpp-pistache/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/cpp-qt-qhttpengine-server/.openapi-generator/VERSION b/samples/server/petstore/cpp-qt-qhttpengine-server/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/cpp-qt-qhttpengine-server/.openapi-generator/VERSION +++ b/samples/server/petstore/cpp-qt-qhttpengine-server/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/erlang-server/.openapi-generator/VERSION b/samples/server/petstore/erlang-server/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/erlang-server/.openapi-generator/VERSION +++ b/samples/server/petstore/erlang-server/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/go-api-server/.openapi-generator/VERSION b/samples/server/petstore/go-api-server/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/go-api-server/.openapi-generator/VERSION +++ b/samples/server/petstore/go-api-server/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/go-chi-server/.openapi-generator/VERSION b/samples/server/petstore/go-chi-server/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/go-chi-server/.openapi-generator/VERSION +++ b/samples/server/petstore/go-chi-server/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/go-echo-server/.openapi-generator/VERSION b/samples/server/petstore/go-echo-server/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/go-echo-server/.openapi-generator/VERSION +++ b/samples/server/petstore/go-echo-server/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/go-gin-api-server/.openapi-generator/VERSION b/samples/server/petstore/go-gin-api-server/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/go-gin-api-server/.openapi-generator/VERSION +++ b/samples/server/petstore/go-gin-api-server/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/go-server-required/.openapi-generator/VERSION b/samples/server/petstore/go-server-required/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/go-server-required/.openapi-generator/VERSION +++ b/samples/server/petstore/go-server-required/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/haskell-servant/.openapi-generator/VERSION b/samples/server/petstore/haskell-servant/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/haskell-servant/.openapi-generator/VERSION +++ b/samples/server/petstore/haskell-servant/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/haskell-yesod/.openapi-generator/VERSION b/samples/server/petstore/haskell-yesod/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/haskell-yesod/.openapi-generator/VERSION +++ b/samples/server/petstore/haskell-yesod/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/java-camel/.openapi-generator/VERSION b/samples/server/petstore/java-camel/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/java-camel/.openapi-generator/VERSION +++ b/samples/server/petstore/java-camel/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/java-camel/pom.xml b/samples/server/petstore/java-camel/pom.xml index 37673159da..3b80e3feed 100644 --- a/samples/server/petstore/java-camel/pom.xml +++ b/samples/server/petstore/java-camel/pom.xml @@ -1,6 +1,6 @@ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/RestConfiguration.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/RestConfiguration.java index 308f0e1b24..d470ff8674 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/RestConfiguration.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/RestConfiguration.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/ValidationErrorProcessor.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/ValidationErrorProcessor.java index e2fee8066e..0d19318142 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/ValidationErrorProcessor.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/ValidationErrorProcessor.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApi.java index 702b9a802c..384ee54e59 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApiRoutesImpl.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApiRoutesImpl.java index c1076205a2..8639356245 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApiRoutesImpl.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApiRoutesImpl.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApiValidator.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApiValidator.java index aece1b708c..5aa085dcd6 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApiValidator.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/PetApiValidator.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApi.java index 98c3f09375..d5fe0c2d50 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApiRoutesImpl.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApiRoutesImpl.java index 7cfe48ba11..762d9f8246 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApiRoutesImpl.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApiRoutesImpl.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApiValidator.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApiValidator.java index 312980f3e1..09c6acc013 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApiValidator.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/StoreApiValidator.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApi.java index d729645411..d62c483269 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApiRoutesImpl.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApiRoutesImpl.java index 5bbeb1a07b..78419119b5 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApiRoutesImpl.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApiRoutesImpl.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApiValidator.java b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApiValidator.java index d7f613406d..c34e5d04eb 100644 --- a/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApiValidator.java +++ b/samples/server/petstore/java-camel/src/main/java/org/openapitools/api/UserApiValidator.java @@ -1,5 +1,5 @@ /** -* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/java-camel/src/main/resources/application.properties b/samples/server/petstore/java-camel/src/main/resources/application.properties index c79cb93839..e507d7526d 100644 --- a/samples/server/petstore/java-camel/src/main/resources/application.properties +++ b/samples/server/petstore/java-camel/src/main/resources/application.properties @@ -1,4 +1,4 @@ -# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). +# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). # https://openapi-generator.tech # Do not edit the class manually. diff --git a/samples/server/petstore/java-micronaut-server/.openapi-generator/VERSION b/samples/server/petstore/java-micronaut-server/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/java-micronaut-server/.openapi-generator/VERSION +++ b/samples/server/petstore/java-micronaut-server/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/java-msf4j/.openapi-generator/VERSION b/samples/server/petstore/java-msf4j/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/java-msf4j/.openapi-generator/VERSION +++ b/samples/server/petstore/java-msf4j/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-api-package-override/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-api-package-override/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/java-play-framework-api-package-override/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-api-package-override/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-async/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-async/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/java-play-framework-async/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-async/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-controller-only/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-controller-only/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/java-play-framework-controller-only/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-controller-only/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-fake-endpoints-with-security/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-fake-endpoints-with-security/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/java-play-framework-fake-endpoints-with-security/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-fake-endpoints-with-security/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-fake-endpoints/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-fake-endpoints/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/java-play-framework-fake-endpoints/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-fake-endpoints/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-no-bean-validation/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-no-bean-validation/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/java-play-framework-no-bean-validation/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-no-bean-validation/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-no-exception-handling/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-no-exception-handling/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/java-play-framework-no-exception-handling/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-no-exception-handling/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-no-interface/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-no-interface/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/java-play-framework-no-interface/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-no-interface/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-no-nullable/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-no-nullable/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/java-play-framework-no-nullable/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-no-nullable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-no-swagger-ui/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-no-swagger-ui/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/java-play-framework-no-swagger-ui/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-no-swagger-ui/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework-no-wrap-calls/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework-no-wrap-calls/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/java-play-framework-no-wrap-calls/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework-no-wrap-calls/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework/.openapi-generator/VERSION b/samples/server/petstore/java-play-framework/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/java-play-framework/.openapi-generator/VERSION +++ b/samples/server/petstore/java-play-framework/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/java-undertow/.openapi-generator/VERSION b/samples/server/petstore/java-undertow/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/java-undertow/.openapi-generator/VERSION +++ b/samples/server/petstore/java-undertow/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/java-vertx-web/.openapi-generator/VERSION b/samples/server/petstore/java-vertx-web/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/java-vertx-web/.openapi-generator/VERSION +++ b/samples/server/petstore/java-vertx-web/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-cxf-annotated-base-path/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-cxf-annotated-base-path/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/jaxrs-cxf-annotated-base-path/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-cxf-annotated-base-path/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-cxf-cdi/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-cxf-cdi/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/jaxrs-cxf-cdi/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-cxf-cdi/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-cxf-non-spring-app/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-cxf-non-spring-app/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/jaxrs-cxf-non-spring-app/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-cxf-non-spring-app/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-cxf/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-cxf/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/jaxrs-cxf/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-cxf/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-datelib-j8/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-datelib-j8/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/jaxrs-datelib-j8/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-datelib-j8/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-jersey/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-jersey/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/jaxrs-jersey/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-jersey/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/default/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-resteasy/default/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/jaxrs-resteasy/default/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-resteasy/default/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/eap-java8/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-resteasy/eap-java8/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/jaxrs-resteasy/eap-java8/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-resteasy/eap-java8/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/eap-joda/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-resteasy/eap-joda/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/jaxrs-resteasy/eap-joda/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-resteasy/eap-joda/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/eap/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-resteasy/eap/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/jaxrs-resteasy/eap/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-resteasy/eap/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/java8/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-resteasy/java8/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/jaxrs-resteasy/java8/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-resteasy/java8/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/joda/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-resteasy/joda/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/jaxrs-resteasy/joda/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-resteasy/joda/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-spec-interface/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-spec-interface/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/jaxrs-spec-interface/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-spec-interface/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-spec/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-spec/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/jaxrs-spec/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs-spec/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/jaxrs/jersey1-useTags/.openapi-generator/VERSION b/samples/server/petstore/jaxrs/jersey1-useTags/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/jaxrs/jersey1-useTags/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs/jersey1-useTags/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/jaxrs/jersey1/.openapi-generator/VERSION b/samples/server/petstore/jaxrs/jersey1/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/jaxrs/jersey1/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs/jersey1/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/jaxrs/jersey2-useTags/.openapi-generator/VERSION b/samples/server/petstore/jaxrs/jersey2-useTags/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/jaxrs/jersey2-useTags/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs/jersey2-useTags/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/jaxrs/jersey2/.openapi-generator/VERSION b/samples/server/petstore/jaxrs/jersey2/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/jaxrs/jersey2/.openapi-generator/VERSION +++ b/samples/server/petstore/jaxrs/jersey2/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/kotlin-server-modelMutable/.openapi-generator/VERSION b/samples/server/petstore/kotlin-server-modelMutable/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/kotlin-server-modelMutable/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-server-modelMutable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/kotlin-server-modelMutable/README.md b/samples/server/petstore/kotlin-server-modelMutable/README.md index 9fc3c2c2b0..3110b5018c 100644 --- a/samples/server/petstore/kotlin-server-modelMutable/README.md +++ b/samples/server/petstore/kotlin-server-modelMutable/README.md @@ -2,7 +2,7 @@ This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -Generated by OpenAPI Generator 6.0.1-SNAPSHOT. +Generated by OpenAPI Generator 6.0.1. ## Requires diff --git a/samples/server/petstore/kotlin-server/jaxrs-spec/.openapi-generator/VERSION b/samples/server/petstore/kotlin-server/jaxrs-spec/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/kotlin-server/jaxrs-spec/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-server/jaxrs-spec/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/kotlin-server/ktor/.openapi-generator/VERSION b/samples/server/petstore/kotlin-server/ktor/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/kotlin-server/ktor/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-server/ktor/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/kotlin-server/ktor/README.md b/samples/server/petstore/kotlin-server/ktor/README.md index 9fc3c2c2b0..3110b5018c 100644 --- a/samples/server/petstore/kotlin-server/ktor/README.md +++ b/samples/server/petstore/kotlin-server/ktor/README.md @@ -2,7 +2,7 @@ This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -Generated by OpenAPI Generator 6.0.1-SNAPSHOT. +Generated by OpenAPI Generator 6.0.1. ## Requires diff --git a/samples/server/petstore/kotlin-springboot-delegate/.openapi-generator/VERSION b/samples/server/petstore/kotlin-springboot-delegate/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/kotlin-springboot-delegate/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-springboot-delegate/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/PetApi.kt b/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/PetApi.kt index 238cfe18a2..23c01b18e3 100644 --- a/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/PetApi.kt +++ b/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/PetApi.kt @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/StoreApi.kt b/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/StoreApi.kt index 70919b1ad2..f15004a228 100644 --- a/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/StoreApi.kt +++ b/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/StoreApi.kt @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/UserApi.kt b/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/UserApi.kt index a5979558e9..358712df2b 100644 --- a/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/UserApi.kt +++ b/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/api/UserApi.kt @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/VERSION b/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/kotlin-springboot-reactive/.openapi-generator/VERSION b/samples/server/petstore/kotlin-springboot-reactive/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/kotlin-springboot-reactive/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-springboot-reactive/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/kotlin-springboot-source-swagger1/.openapi-generator/VERSION b/samples/server/petstore/kotlin-springboot-source-swagger1/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/kotlin-springboot-source-swagger1/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-springboot-source-swagger1/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/kotlin-springboot-source-swagger2/.openapi-generator/VERSION b/samples/server/petstore/kotlin-springboot-source-swagger2/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/kotlin-springboot-source-swagger2/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-springboot-source-swagger2/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/kotlin-springboot-springfox/.openapi-generator/VERSION b/samples/server/petstore/kotlin-springboot-springfox/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/kotlin-springboot-springfox/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-springboot-springfox/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/kotlin-springboot/.openapi-generator/VERSION b/samples/server/petstore/kotlin-springboot/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/kotlin-springboot/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-springboot/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/kotlin-vertx-modelMutable/.openapi-generator/VERSION b/samples/server/petstore/kotlin-vertx-modelMutable/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/kotlin-vertx-modelMutable/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin-vertx-modelMutable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/kotlin/vertx/.openapi-generator/VERSION b/samples/server/petstore/kotlin/vertx/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/kotlin/vertx/.openapi-generator/VERSION +++ b/samples/server/petstore/kotlin/vertx/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/php-laravel/.openapi-generator/VERSION b/samples/server/petstore/php-laravel/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/php-laravel/.openapi-generator/VERSION +++ b/samples/server/petstore/php-laravel/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/php-lumen/.openapi-generator/VERSION b/samples/server/petstore/php-lumen/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/php-lumen/.openapi-generator/VERSION +++ b/samples/server/petstore/php-lumen/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/php-mezzio-ph-modern/.openapi-generator/VERSION b/samples/server/petstore/php-mezzio-ph-modern/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/php-mezzio-ph-modern/.openapi-generator/VERSION +++ b/samples/server/petstore/php-mezzio-ph-modern/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/php-mezzio-ph/.openapi-generator/VERSION b/samples/server/petstore/php-mezzio-ph/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/php-mezzio-ph/.openapi-generator/VERSION +++ b/samples/server/petstore/php-mezzio-ph/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/php-slim4/.openapi-generator/VERSION b/samples/server/petstore/php-slim4/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/php-slim4/.openapi-generator/VERSION +++ b/samples/server/petstore/php-slim4/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/.openapi-generator/VERSION b/samples/server/petstore/php-symfony/SymfonyBundle-php/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/.openapi-generator/VERSION +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/python-aiohttp-srclayout/.openapi-generator/VERSION b/samples/server/petstore/python-aiohttp-srclayout/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/python-aiohttp-srclayout/.openapi-generator/VERSION +++ b/samples/server/petstore/python-aiohttp-srclayout/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/python-aiohttp/.openapi-generator/VERSION b/samples/server/petstore/python-aiohttp/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/python-aiohttp/.openapi-generator/VERSION +++ b/samples/server/petstore/python-aiohttp/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/python-blueplanet/.openapi-generator/VERSION b/samples/server/petstore/python-blueplanet/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/python-blueplanet/.openapi-generator/VERSION +++ b/samples/server/petstore/python-blueplanet/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/python-fastapi/.openapi-generator/VERSION b/samples/server/petstore/python-fastapi/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/python-fastapi/.openapi-generator/VERSION +++ b/samples/server/petstore/python-fastapi/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/python-flask/.openapi-generator/VERSION b/samples/server/petstore/python-flask/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/python-flask/.openapi-generator/VERSION +++ b/samples/server/petstore/python-flask/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/rust-server/output/multipart-v3/.openapi-generator/VERSION b/samples/server/petstore/rust-server/output/multipart-v3/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/rust-server/output/multipart-v3/.openapi-generator/VERSION +++ b/samples/server/petstore/rust-server/output/multipart-v3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/rust-server/output/no-example-v3/.openapi-generator/VERSION b/samples/server/petstore/rust-server/output/no-example-v3/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/rust-server/output/no-example-v3/.openapi-generator/VERSION +++ b/samples/server/petstore/rust-server/output/no-example-v3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/rust-server/output/openapi-v3/.openapi-generator/VERSION b/samples/server/petstore/rust-server/output/openapi-v3/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/rust-server/output/openapi-v3/.openapi-generator/VERSION +++ b/samples/server/petstore/rust-server/output/openapi-v3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/rust-server/output/ops-v3/.openapi-generator/VERSION b/samples/server/petstore/rust-server/output/ops-v3/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/rust-server/output/ops-v3/.openapi-generator/VERSION +++ b/samples/server/petstore/rust-server/output/ops-v3/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/.openapi-generator/VERSION b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/.openapi-generator/VERSION +++ b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/rust-server/output/ping-bearer-auth/.openapi-generator/VERSION b/samples/server/petstore/rust-server/output/ping-bearer-auth/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/rust-server/output/ping-bearer-auth/.openapi-generator/VERSION +++ b/samples/server/petstore/rust-server/output/ping-bearer-auth/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/rust-server/output/rust-server-test/.openapi-generator/VERSION b/samples/server/petstore/rust-server/output/rust-server-test/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/rust-server/output/rust-server-test/.openapi-generator/VERSION +++ b/samples/server/petstore/rust-server/output/rust-server-test/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/scala-akka-http-server/.openapi-generator/VERSION b/samples/server/petstore/scala-akka-http-server/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/scala-akka-http-server/.openapi-generator/VERSION +++ b/samples/server/petstore/scala-akka-http-server/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/.openapi-generator/VERSION b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/.openapi-generator/VERSION +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/AnotherFakeApi.java index b783e066ee..6b28ef82c5 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/FakeApi.java index b5d5ce5b9f..a3a4086cdd 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index f336449698..1d7daffd78 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/PetApi.java index ee286aaada..dd055d9009 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/StoreApi.java index b469832fdd..0c04f91fb4 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/UserApi.java index 0b32c42896..6d8f86f891 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/spring-boot-nullable-set/.openapi-generator/VERSION b/samples/server/petstore/spring-boot-nullable-set/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/spring-boot-nullable-set/.openapi-generator/VERSION +++ b/samples/server/petstore/spring-boot-nullable-set/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/spring-boot-nullable-set/src/main/java/org/openapitools/api/NullableApi.java b/samples/server/petstore/spring-boot-nullable-set/src/main/java/org/openapitools/api/NullableApi.java index da877cd817..5a8ed8558a 100644 --- a/samples/server/petstore/spring-boot-nullable-set/src/main/java/org/openapitools/api/NullableApi.java +++ b/samples/server/petstore/spring-boot-nullable-set/src/main/java/org/openapitools/api/NullableApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/.openapi-generator/VERSION b/samples/server/petstore/springboot-beanvalidation-no-nullable/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/AnotherFakeApi.java index 08c9361f61..8bb5cc5b21 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeApi.java index 11534c37ff..e20deb088b 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index ed384dd8db..7b481e8d8f 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java index 1b548a0707..0bbdc2e348 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/StoreApi.java index 01f870e51e..951ab0e406 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/UserApi.java index e3486bd80f..47358f85e6 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation/.openapi-generator/VERSION b/samples/server/petstore/springboot-beanvalidation/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/springboot-beanvalidation/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-beanvalidation/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/AnotherFakeApi.java index 08c9361f61..8bb5cc5b21 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/FakeApi.java index 11534c37ff..e20deb088b 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index ed384dd8db..7b481e8d8f 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/PetApi.java index 1b548a0707..0bbdc2e348 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/StoreApi.java index 01f870e51e..951ab0e406 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/UserApi.java index e3486bd80f..47358f85e6 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate-j8/.openapi-generator/VERSION b/samples/server/petstore/springboot-delegate-j8/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/springboot-delegate-j8/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-delegate-j8/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java index fa90d54a1b..abfce7cdf7 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/FakeApi.java index 6ee468bad8..6da52c4888 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index 866d1ba538..47317b34dc 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/PetApi.java index 7ff210661b..fb71d40047 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/StoreApi.java index 18b189e5e3..f93cd62b1b 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/UserApi.java index 6663bb7b0d..bfa88d40d5 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate/.openapi-generator/VERSION b/samples/server/petstore/springboot-delegate/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/springboot-delegate/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-delegate/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/AnotherFakeApi.java index fa90d54a1b..abfce7cdf7 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeApi.java index 6ee468bad8..6da52c4888 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index 866d1ba538..47317b34dc 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java index 7ff210661b..fb71d40047 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/StoreApi.java index 18b189e5e3..f93cd62b1b 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/UserApi.java index 6663bb7b0d..bfa88d40d5 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-implicitHeaders/.openapi-generator/VERSION b/samples/server/petstore/springboot-implicitHeaders/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/springboot-implicitHeaders/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-implicitHeaders/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/AnotherFakeApi.java index 08c9361f61..8bb5cc5b21 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeApi.java index 2ce42e7f20..26146f4321 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index ed384dd8db..7b481e8d8f 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java index 2c9bf0d3aa..458b78053b 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/StoreApi.java index 01f870e51e..951ab0e406 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/UserApi.java index e3486bd80f..47358f85e6 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-reactive/.openapi-generator/VERSION b/samples/server/petstore/springboot-reactive/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/springboot-reactive/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-reactive/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/AnotherFakeApi.java index 40936fabb7..35e03ca222 100644 --- a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeApi.java index 98a2bd557a..172b2914bd 100644 --- a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index 558897f756..27941eaac4 100644 --- a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java index 2fe7d975dd..f03773b082 100644 --- a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/StoreApi.java index 8920f7bfc9..73783138e3 100644 --- a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/UserApi.java index 47d79ebd65..95b47c4aa8 100644 --- a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/.openapi-generator/VERSION b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java index fa90d54a1b..abfce7cdf7 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/FakeApi.java index ec85dc25d3..ff31634e1f 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index 866d1ba538..47317b34dc 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/PetApi.java index 75b33db560..85beabac9a 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/StoreApi.java index 18b189e5e3..f93cd62b1b 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/UserApi.java index 6663bb7b0d..bfa88d40d5 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/.openapi-generator/VERSION b/samples/server/petstore/springboot-spring-pageable-delegatePattern/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/AnotherFakeApi.java index fa90d54a1b..abfce7cdf7 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/FakeApi.java index ec85dc25d3..ff31634e1f 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index 866d1ba538..47317b34dc 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/PetApi.java index 75b33db560..85beabac9a 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/StoreApi.java index 18b189e5e3..f93cd62b1b 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/UserApi.java index 6663bb7b0d..bfa88d40d5 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/.openapi-generator/VERSION b/samples/server/petstore/springboot-spring-pageable-without-j8/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java index 08c9361f61..8bb5cc5b21 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/FakeApi.java index 3d9161adc4..14277eb9e1 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index ed384dd8db..7b481e8d8f 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/PetApi.java index 5981ec86e7..04e693c28a 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/StoreApi.java index 01f870e51e..951ab0e406 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/UserApi.java index e3486bd80f..47358f85e6 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable/.openapi-generator/VERSION b/samples/server/petstore/springboot-spring-pageable/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/springboot-spring-pageable/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-spring-pageable/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/AnotherFakeApi.java index 08c9361f61..8bb5cc5b21 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/FakeApi.java index 3d9161adc4..14277eb9e1 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index ed384dd8db..7b481e8d8f 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/PetApi.java index 5981ec86e7..04e693c28a 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java index 01f870e51e..951ab0e406 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/UserApi.java index e3486bd80f..47358f85e6 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-useoptional/.openapi-generator/VERSION b/samples/server/petstore/springboot-useoptional/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/springboot-useoptional/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-useoptional/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/AnotherFakeApi.java index 08c9361f61..8bb5cc5b21 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java index 8c830376e1..a276eaefb8 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index ed384dd8db..7b481e8d8f 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java index 6025e32493..2370916b17 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/StoreApi.java index 01f870e51e..951ab0e406 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/UserApi.java index e3486bd80f..47358f85e6 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-virtualan/.openapi-generator/VERSION b/samples/server/petstore/springboot-virtualan/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/springboot-virtualan/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot-virtualan/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/AnotherFakeApi.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/AnotherFakeApi.java index 1be0c3368f..2bae9a9148 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeApi.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeApi.java index 61c967c111..de32a6c1a2 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeApi.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeClassnameTestApi.java index 0092a930e9..7fec63fd13 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/PetApi.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/PetApi.java index 6ff6c5169d..648baae7af 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/PetApi.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/StoreApi.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/StoreApi.java index 68a196c3c6..6898acacf7 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/StoreApi.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/UserApi.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/UserApi.java index 7a556e5ae0..a4a186c0be 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/UserApi.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot/.openapi-generator/VERSION b/samples/server/petstore/springboot/.openapi-generator/VERSION index 89648de331..6d54bbd775 100644 --- a/samples/server/petstore/springboot/.openapi-generator/VERSION +++ b/samples/server/petstore/springboot/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.0.1 \ No newline at end of file diff --git a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/AnotherFakeApi.java index 08c9361f61..8bb5cc5b21 100644 --- a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/AnotherFakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/FakeApi.java index 11534c37ff..e20deb088b 100644 --- a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/FakeApi.java +++ b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/FakeApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/FakeClassnameTestApi.java index ed384dd8db..7b481e8d8f 100644 --- a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/FakeClassnameTestApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java index 1b548a0707..0bbdc2e348 100644 --- a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/StoreApi.java index 01f870e51e..951ab0e406 100644 --- a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/StoreApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/UserApi.java index e3486bd80f..47358f85e6 100644 --- a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/UserApi.java @@ -1,5 +1,5 @@ /** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1-SNAPSHOT). + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.0.1). * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/website/src/pages/index.js b/website/src/pages/index.js index cc81a8564d..5c59453bc9 100755 --- a/website/src/pages/index.js +++ b/website/src/pages/index.js @@ -147,7 +147,7 @@ const callouts = [ |npm install @openapitools/openapi-generator-cli -g | |# use a specific version of "openapi-generator-cli" - |openapi-generator-cli version-manager set 5.3.0 + |openapi-generator-cli version-manager set 6.0.0 | |# Or install it as dev-dependency in your node.js projects |npm install @openapitools/openapi-generator-cli -D From 2f81e2d9e1caa0d93b4a01cd7b8b0d101965c3d7 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Mon, 4 Jul 2022 01:41:44 +0800 Subject: [PATCH 140/212] update readme with next release info --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- README.md | 13 +++---------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 09cbbfdeac..4466e9f51f 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -16,5 +16,5 @@ These must match the expectations made by your contribution. You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example `./bin/generate-samples.sh bin/configs/java*`. For Windows users, please run the script in [Git BASH](https://gitforwindows.org/). -- [ ] File the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master` (6.0.1) (patch release), `6.1.x` (breaking changes with fallbacks), `7.0.x` (breaking changes without fallbacks) +- [ ] File the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master` (6.1.0) (minor release - breaking changes with fallbacks), `7.0.x` (breaking changes without fallbacks) - [ ] If your PR is targeting a particular programming language, @mention the [technical committee](https://github.com/openapitools/openapi-generator/#62---openapi-generator-technical-committee) members, so they are more likely to review the pull request. diff --git a/README.md b/README.md index badf62e37d..dfc4a62b7c 100644 --- a/README.md +++ b/README.md @@ -9,19 +9,13 @@
    -[Master](https://github.com/OpenAPITools/openapi-generator/tree/master) (`6.0.1`): +[Master](https://github.com/OpenAPITools/openapi-generator/tree/master) (`6.1.0`): [![Build Status](https://img.shields.io/travis/OpenAPITools/openapi-generator/master.svg?label=Integration%20Test)](https://travis-ci.com/OpenAPITools/openapi-generator) [![Integration Test2](https://circleci.com/gh/OpenAPITools/openapi-generator.svg?style=shield)](https://circleci.com/gh/OpenAPITools/openapi-generator) [![Windows Test](https://ci.appveyor.com/api/projects/status/github/openapitools/openapi-generator?branch=master&svg=true&passingText=Windows%20Test%20-%20OK&failingText=Windows%20Test%20-%20Fails)](https://ci.appveyor.com/project/WilliamCheng/openapi-generator) [![Bitrise](https://img.shields.io/bitrise/4a2b10a819d12b67/master?label=bitrise%3A%20Swift+4,5&token=859FMDR8QHwabCzwvZK6vQ)](https://app.bitrise.io/app/4a2b10a819d12b67) [![GitHub Workflow Status (branch)](https://img.shields.io/github/workflow/status/openapitools/openapi-generator/Check%20Supported%20Java%20Versions/master?label=Check%20Supported%20Java%20Versions&logo=github&logoColor=green)](https://github.com/OpenAPITools/openapi-generator/actions?query=workflow%3A%22Check+Supported+Java+Versions%22) -[6.1.x](https://github.com/OpenAPITools/openapi-generator/tree/6.1.x) (`6.1.x`): -[![Build Status](https://img.shields.io/travis/OpenAPITools/openapi-generator/6.1.x.svg?label=Integration%20Test)](https://travis-ci.com/OpenAPITools/openapi-generator) -[![Integration Test2](https://circleci.com/gh/OpenAPITools/openapi-generator/tree/6.1.x.svg?style=shield)](https://circleci.com/gh/OpenAPITools/openapi-generator) -[![Windows Test](https://ci.appveyor.com/api/projects/status/github/openapitools/openapi-generator?branch=6.1.x&svg=true&passingText=Windows%20Test%20-%20OK&failingText=Windows%20Test%20-%20Fails)](https://ci.appveyor.com/project/WilliamCheng/openapi-generator) -[![Bitrise](https://img.shields.io/bitrise/4a2b10a819d12b67/6.1.x?label=bitrise%3A%20Swift+4,5&token=859FMDR8QHwabCzwvZK6vQ)](https://app.bitrise.io/app/4a2b10a819d12b67) - [7.0.x](https://github.com/OpenAPITools/openapi-generator/tree/7.0.x) (`7.0.x`): [![Build Status](https://img.shields.io/travis/OpenAPITools/openapi-generator/7.0.x.svg?label=Integration%20Test)](https://travis-ci.com/OpenAPITools/openapi-generator) [![Integration Test2](https://circleci.com/gh/OpenAPITools/openapi-generator/tree/7.0.x.svg?style=shield)](https://circleci.com/gh/OpenAPITools/openapi-generator) @@ -119,9 +113,8 @@ The OpenAPI Specification has undergone 3 revisions since initial creation in 20 | OpenAPI Generator Version | Release Date | Notes | | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------- | | 7.0.0 (upcoming major release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/7.0.0-SNAPSHOT/) | Feb/Mar 2023 | Major release with breaking changes (no fallback) | -| 6.1.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/6.1.0-SNAPSHOT/) | 26.07 2022 | Minor release with breaking changes (with fallbac) | -| 6.0.1 (upcoming patch release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/6.0.1-SNAPSHOT/) | 26.06 2022 | Patch release (enhancements, bug fixes, etc) | -| [6.0.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v6.0.0) (latest stable release) | 26.05.2022 | Major release with breaking changes (no fallback) | +| 6.1.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/6.1.0-SNAPSHOT/) | 03.08 2022 | Minor release with breaking changes (with fallback) | +| [6.0.1](https://github.com/OpenAPITools/openapi-generator/releases/tag/v6.0.1) (latest stable release) | 03.07.2022 | Patch release (enhancements, bug fixes, etc) | | [5.4.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v5.4.0) | 31.01.2022 | Minor release with breaking changes (with fallback) | | [4.3.1](https://github.com/OpenAPITools/openapi-generator/releases/tag/v4.3.1) | 06.05.2020 | Patch release (enhancements, bug fixes, etc) | From 97daba5c580822d1e3b9959c72add90c7e213bf5 Mon Sep 17 00:00:00 2001 From: Bogdan Ilchyshyn Date: Mon, 4 Jul 2022 17:06:34 +1000 Subject: [PATCH 141/212] fixing error handler interceptor (#12761) --- .../src/main/resources/typescript-fetch/runtime.mustache | 2 +- .../petstore/typescript-fetch/builds/default-v3.0/runtime.ts | 2 +- .../client/petstore/typescript-fetch/builds/default/runtime.ts | 2 +- samples/client/petstore/typescript-fetch/builds/enum/runtime.ts | 2 +- .../petstore/typescript-fetch/builds/es6-target/src/runtime.ts | 2 +- .../typescript-fetch/builds/multiple-parameters/runtime.ts | 2 +- .../builds/prefix-parameter-interfaces/src/runtime.ts | 2 +- .../typescript-fetch/builds/sagas-and-records/src/runtime.ts | 2 +- .../petstore/typescript-fetch/builds/with-interfaces/runtime.ts | 2 +- .../typescript-fetch/builds/with-npm-version/src/runtime.ts | 2 +- .../typescript-fetch/builds/with-string-enums/runtime.ts | 2 +- .../builds/without-runtime-checks/src/runtime.ts | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache b/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache index d4644d543f..a72fe562f4 100644 --- a/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache @@ -181,7 +181,7 @@ export class BaseAPI { }) || response; } } - if (response !== undefined) { + if (response === undefined) { throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); } } diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/runtime.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/runtime.ts index 01a6b3b2bd..699a8bc46f 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/runtime.ts @@ -192,7 +192,7 @@ export class BaseAPI { }) || response; } } - if (response !== undefined) { + if (response === undefined) { throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); } } diff --git a/samples/client/petstore/typescript-fetch/builds/default/runtime.ts b/samples/client/petstore/typescript-fetch/builds/default/runtime.ts index add595fb79..ec8bf8b7c5 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/runtime.ts @@ -192,7 +192,7 @@ export class BaseAPI { }) || response; } } - if (response !== undefined) { + if (response === undefined) { throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); } } diff --git a/samples/client/petstore/typescript-fetch/builds/enum/runtime.ts b/samples/client/petstore/typescript-fetch/builds/enum/runtime.ts index 99d8d846c8..c3bbbbc6cf 100644 --- a/samples/client/petstore/typescript-fetch/builds/enum/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/enum/runtime.ts @@ -192,7 +192,7 @@ export class BaseAPI { }) || response; } } - if (response !== undefined) { + if (response === undefined) { throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); } } diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts index add595fb79..ec8bf8b7c5 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts @@ -192,7 +192,7 @@ export class BaseAPI { }) || response; } } - if (response !== undefined) { + if (response === undefined) { throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); } } diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/runtime.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/runtime.ts index add595fb79..ec8bf8b7c5 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/runtime.ts @@ -192,7 +192,7 @@ export class BaseAPI { }) || response; } } - if (response !== undefined) { + if (response === undefined) { throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); } } diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts index add595fb79..ec8bf8b7c5 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts @@ -192,7 +192,7 @@ export class BaseAPI { }) || response; } } - if (response !== undefined) { + if (response === undefined) { throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); } } diff --git a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/runtime.ts index add595fb79..ec8bf8b7c5 100644 --- a/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/runtime.ts @@ -192,7 +192,7 @@ export class BaseAPI { }) || response; } } - if (response !== undefined) { + if (response === undefined) { throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); } } diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/runtime.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/runtime.ts index add595fb79..ec8bf8b7c5 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/runtime.ts @@ -192,7 +192,7 @@ export class BaseAPI { }) || response; } } - if (response !== undefined) { + if (response === undefined) { throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); } } diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts index add595fb79..ec8bf8b7c5 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts @@ -192,7 +192,7 @@ export class BaseAPI { }) || response; } } - if (response !== undefined) { + if (response === undefined) { throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); } } diff --git a/samples/client/petstore/typescript-fetch/builds/with-string-enums/runtime.ts b/samples/client/petstore/typescript-fetch/builds/with-string-enums/runtime.ts index 99d8d846c8..c3bbbbc6cf 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-string-enums/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-string-enums/runtime.ts @@ -192,7 +192,7 @@ export class BaseAPI { }) || response; } } - if (response !== undefined) { + if (response === undefined) { throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); } } diff --git a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/runtime.ts index 55c164497f..18b00f8985 100644 --- a/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/without-runtime-checks/src/runtime.ts @@ -192,7 +192,7 @@ export class BaseAPI { }) || response; } } - if (response !== undefined) { + if (response === undefined) { throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); } } From 1383be4a2e3c25b41c9f3f1cc0df9ba9f7407e70 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 5 Jul 2022 17:12:26 +0800 Subject: [PATCH 142/212] Fix missing import in jaxrs pojo (#12766) * fix missing import in jaxrs pojo * trigger build failure * Revert "trigger build failure" This reverts commit 4eed12f850cbc008404b0dc2284245f3d3ce4a15. --- .../resources/JavaJaxRS/cxf/pojo.mustache | 36 ++++---- .../java/org/openapitools/model/Category.java | 32 +++---- .../openapitools/model/ModelApiResponse.java | 34 ++++---- .../java/org/openapitools/model/Order.java | 40 ++++----- .../gen/java/org/openapitools/model/Pet.java | 40 ++++----- .../gen/java/org/openapitools/model/Tag.java | 32 +++---- .../gen/java/org/openapitools/model/User.java | 44 +++++----- .../java/org/openapitools/model/Category.java | 32 +++---- .../openapitools/model/ModelApiResponse.java | 34 ++++---- .../java/org/openapitools/model/Order.java | 40 ++++----- .../gen/java/org/openapitools/model/Pet.java | 40 ++++----- .../gen/java/org/openapitools/model/Tag.java | 32 +++---- .../gen/java/org/openapitools/model/User.java | 44 +++++----- .../model/AdditionalPropertiesAnyType.java | 32 +++---- .../model/AdditionalPropertiesArray.java | 32 +++---- .../model/AdditionalPropertiesBoolean.java | 32 +++---- .../model/AdditionalPropertiesClass.java | 50 +++++------ .../model/AdditionalPropertiesInteger.java | 32 +++---- .../model/AdditionalPropertiesNumber.java | 32 +++---- .../model/AdditionalPropertiesObject.java | 32 +++---- .../model/AdditionalPropertiesString.java | 32 +++---- .../java/org/openapitools/model/Animal.java | 32 +++---- .../model/ArrayOfArrayOfNumberOnly.java | 30 +++---- .../openapitools/model/ArrayOfNumberOnly.java | 30 +++---- .../org/openapitools/model/ArrayTest.java | 34 ++++---- .../java/org/openapitools/model/BigCat.java | 32 +++---- .../org/openapitools/model/BigCatAllOf.java | 30 +++---- .../openapitools/model/Capitalization.java | 40 ++++----- .../gen/java/org/openapitools/model/Cat.java | 32 +++---- .../java/org/openapitools/model/CatAllOf.java | 30 +++---- .../java/org/openapitools/model/Category.java | 32 +++---- .../org/openapitools/model/ClassModel.java | 30 +++---- .../java/org/openapitools/model/Client.java | 30 +++---- .../gen/java/org/openapitools/model/Dog.java | 32 +++---- .../java/org/openapitools/model/DogAllOf.java | 30 +++---- .../org/openapitools/model/EnumArrays.java | 32 +++---- .../java/org/openapitools/model/EnumTest.java | 38 ++++---- .../model/FileSchemaTestClass.java | 32 +++---- .../org/openapitools/model/FormatTest.java | 56 ++++++------ .../openapitools/model/HasOnlyReadOnly.java | 32 +++---- .../java/org/openapitools/model/MapTest.java | 36 ++++---- ...ropertiesAndAdditionalPropertiesClass.java | 34 ++++---- .../openapitools/model/Model200Response.java | 32 +++---- .../openapitools/model/ModelApiResponse.java | 34 ++++---- .../org/openapitools/model/ModelFile.java | 30 +++---- .../org/openapitools/model/ModelList.java | 30 +++---- .../org/openapitools/model/ModelReturn.java | 30 +++---- .../gen/java/org/openapitools/model/Name.java | 36 ++++---- .../org/openapitools/model/NumberOnly.java | 30 +++---- .../java/org/openapitools/model/Order.java | 40 ++++----- .../openapitools/model/OuterComposite.java | 34 ++++---- .../gen/java/org/openapitools/model/Pet.java | 40 ++++----- .../org/openapitools/model/ReadOnlyFirst.java | 32 +++---- .../openapitools/model/SpecialModelName.java | 30 +++---- .../gen/java/org/openapitools/model/Tag.java | 32 +++---- .../openapitools/model/TypeHolderDefault.java | 38 ++++---- .../openapitools/model/TypeHolderExample.java | 40 ++++----- .../gen/java/org/openapitools/model/User.java | 44 +++++----- .../java/org/openapitools/model/XmlItem.java | 86 +++++++++---------- 59 files changed, 1048 insertions(+), 1048 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf/pojo.mustache b/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf/pojo.mustache index 3a6b7be082..88548d4998 100644 --- a/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf/pojo.mustache +++ b/modules/openapi-generator/src/main/resources/JavaJaxRS/cxf/pojo.mustache @@ -1,4 +1,5 @@ import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; {{#withXml}} import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @@ -185,26 +186,25 @@ public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}}{{#vendorExtensi {{/isReadOnly}} {{/vars}} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - {{classname}} {{classVarName}} = ({{classname}}) o;{{#hasVars}} - return {{#vars}}Objects.equals({{name}}, {{classVarName}}.{{name}}){{^-last}} && - {{/-last}}{{/vars}}{{#parent}} && - super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}} - return true;{{/hasVars}} + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash({{#vars}}{{name}}{{^-last}}, {{/-last}}{{/vars}}{{#parent}}{{#hasVars}}, {{/hasVars}}super.hashCode(){{/parent}}); + if (o == null || getClass() != o.getClass()) { + return false; } + {{classname}} {{classVarName}} = ({{classname}}) o;{{#hasVars}} + return {{#vars}}Objects.equals({{name}}, {{classVarName}}.{{name}}){{^-last}} && + {{/-last}}{{/vars}}{{#parent}} && + super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}} + return true;{{/hasVars}} + } + + @Override + public int hashCode() { + return Objects.hash({{#vars}}{{name}}{{^-last}}, {{/-last}}{{/vars}}{{#parent}}{{#hasVars}}, {{/hasVars}}super.hashCode(){{/parent}}); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Category.java b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Category.java index ef6f8af839..d0d6a64d52 100644 --- a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Category.java +++ b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Category.java @@ -5,6 +5,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; /** @@ -55,24 +56,23 @@ public class Category { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Category category = (Category) o; - return Objects.equals(id, category.id) && - Objects.equals(name, category.name); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(id, name); + if (o == null || getClass() != o.getClass()) { + return false; } + Category category = (Category) o; + return Objects.equals(id, category.id) && + Objects.equals(name, category.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/ModelApiResponse.java b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/ModelApiResponse.java index 6d11a14079..731e38fc1f 100644 --- a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/ModelApiResponse.java +++ b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/ModelApiResponse.java @@ -6,6 +6,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; /** @@ -77,25 +78,24 @@ public class ModelApiResponse { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - ModelApiResponse _apiResponse = (ModelApiResponse) o; - return Objects.equals(code, _apiResponse.code) && - Objects.equals(type, _apiResponse.type) && - Objects.equals(message, _apiResponse.message); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(code, type, message); + if (o == null || getClass() != o.getClass()) { + return false; } + ModelApiResponse _apiResponse = (ModelApiResponse) o; + return Objects.equals(code, _apiResponse.code) && + Objects.equals(type, _apiResponse.type) && + Objects.equals(message, _apiResponse.message); + } + + @Override + public int hashCode() { + return Objects.hash(code, type, message); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Order.java b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Order.java index d10e29264e..173dc27081 100644 --- a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Order.java +++ b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Order.java @@ -8,6 +8,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; /** @@ -180,28 +181,27 @@ PLACED(String.valueOf("placed")), APPROVED(String.valueOf("approved")), DELIVERE return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Order order = (Order) o; - return Objects.equals(id, order.id) && - Objects.equals(petId, order.petId) && - Objects.equals(quantity, order.quantity) && - Objects.equals(shipDate, order.shipDate) && - Objects.equals(status, order.status) && - Objects.equals(complete, order.complete); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(id, petId, quantity, shipDate, status, complete); + if (o == null || getClass() != o.getClass()) { + return false; } + Order order = (Order) o; + return Objects.equals(id, order.id) && + Objects.equals(petId, order.petId) && + Objects.equals(quantity, order.quantity) && + Objects.equals(shipDate, order.shipDate) && + Objects.equals(status, order.status) && + Objects.equals(complete, order.complete); + } + + @Override + public int hashCode() { + return Objects.hash(id, petId, quantity, shipDate, status, complete); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Pet.java b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Pet.java index 5135b8d2e8..4952a77745 100644 --- a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Pet.java +++ b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Pet.java @@ -11,6 +11,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; /** @@ -197,28 +198,27 @@ AVAILABLE(String.valueOf("available")), PENDING(String.valueOf("pending")), SOLD return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Pet pet = (Pet) o; - return Objects.equals(id, pet.id) && - Objects.equals(category, pet.category) && - Objects.equals(name, pet.name) && - Objects.equals(photoUrls, pet.photoUrls) && - Objects.equals(tags, pet.tags) && - Objects.equals(status, pet.status); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(id, category, name, photoUrls, tags, status); + if (o == null || getClass() != o.getClass()) { + return false; } + Pet pet = (Pet) o; + return Objects.equals(id, pet.id) && + Objects.equals(category, pet.category) && + Objects.equals(name, pet.name) && + Objects.equals(photoUrls, pet.photoUrls) && + Objects.equals(tags, pet.tags) && + Objects.equals(status, pet.status); + } + + @Override + public int hashCode() { + return Objects.hash(id, category, name, photoUrls, tags, status); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Tag.java b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Tag.java index 2b12260720..ad06844b59 100644 --- a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Tag.java +++ b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/Tag.java @@ -5,6 +5,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; /** @@ -55,24 +56,23 @@ public class Tag { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Tag tag = (Tag) o; - return Objects.equals(id, tag.id) && - Objects.equals(name, tag.name); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(id, name); + if (o == null || getClass() != o.getClass()) { + return false; } + Tag tag = (Tag) o; + return Objects.equals(id, tag.id) && + Objects.equals(name, tag.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/User.java b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/User.java index 3ce5f64f06..95535c0da6 100644 --- a/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/User.java +++ b/samples/server/petstore/jaxrs-cxf-annotated-base-path/src/gen/java/org/openapitools/model/User.java @@ -5,6 +5,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; /** @@ -184,30 +185,29 @@ public class User { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - User user = (User) o; - return Objects.equals(id, user.id) && - Objects.equals(username, user.username) && - Objects.equals(firstName, user.firstName) && - Objects.equals(lastName, user.lastName) && - Objects.equals(email, user.email) && - Objects.equals(password, user.password) && - Objects.equals(phone, user.phone) && - Objects.equals(userStatus, user.userStatus); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(id, username, firstName, lastName, email, password, phone, userStatus); + if (o == null || getClass() != o.getClass()) { + return false; } + User user = (User) o; + return Objects.equals(id, user.id) && + Objects.equals(username, user.username) && + Objects.equals(firstName, user.firstName) && + Objects.equals(lastName, user.lastName) && + Objects.equals(email, user.email) && + Objects.equals(password, user.password) && + Objects.equals(phone, user.phone) && + Objects.equals(userStatus, user.userStatus); + } + + @Override + public int hashCode() { + return Objects.hash(id, username, firstName, lastName, email, password, phone, userStatus); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Category.java b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Category.java index ef6f8af839..d0d6a64d52 100644 --- a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Category.java +++ b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Category.java @@ -5,6 +5,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; /** @@ -55,24 +56,23 @@ public class Category { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Category category = (Category) o; - return Objects.equals(id, category.id) && - Objects.equals(name, category.name); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(id, name); + if (o == null || getClass() != o.getClass()) { + return false; } + Category category = (Category) o; + return Objects.equals(id, category.id) && + Objects.equals(name, category.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/ModelApiResponse.java b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/ModelApiResponse.java index 6d11a14079..731e38fc1f 100644 --- a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/ModelApiResponse.java +++ b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/ModelApiResponse.java @@ -6,6 +6,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; /** @@ -77,25 +78,24 @@ public class ModelApiResponse { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - ModelApiResponse _apiResponse = (ModelApiResponse) o; - return Objects.equals(code, _apiResponse.code) && - Objects.equals(type, _apiResponse.type) && - Objects.equals(message, _apiResponse.message); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(code, type, message); + if (o == null || getClass() != o.getClass()) { + return false; } + ModelApiResponse _apiResponse = (ModelApiResponse) o; + return Objects.equals(code, _apiResponse.code) && + Objects.equals(type, _apiResponse.type) && + Objects.equals(message, _apiResponse.message); + } + + @Override + public int hashCode() { + return Objects.hash(code, type, message); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Order.java b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Order.java index d10e29264e..173dc27081 100644 --- a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Order.java +++ b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Order.java @@ -8,6 +8,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; /** @@ -180,28 +181,27 @@ PLACED(String.valueOf("placed")), APPROVED(String.valueOf("approved")), DELIVERE return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Order order = (Order) o; - return Objects.equals(id, order.id) && - Objects.equals(petId, order.petId) && - Objects.equals(quantity, order.quantity) && - Objects.equals(shipDate, order.shipDate) && - Objects.equals(status, order.status) && - Objects.equals(complete, order.complete); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(id, petId, quantity, shipDate, status, complete); + if (o == null || getClass() != o.getClass()) { + return false; } + Order order = (Order) o; + return Objects.equals(id, order.id) && + Objects.equals(petId, order.petId) && + Objects.equals(quantity, order.quantity) && + Objects.equals(shipDate, order.shipDate) && + Objects.equals(status, order.status) && + Objects.equals(complete, order.complete); + } + + @Override + public int hashCode() { + return Objects.hash(id, petId, quantity, shipDate, status, complete); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Pet.java b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Pet.java index 5135b8d2e8..4952a77745 100644 --- a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Pet.java +++ b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Pet.java @@ -11,6 +11,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; /** @@ -197,28 +198,27 @@ AVAILABLE(String.valueOf("available")), PENDING(String.valueOf("pending")), SOLD return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Pet pet = (Pet) o; - return Objects.equals(id, pet.id) && - Objects.equals(category, pet.category) && - Objects.equals(name, pet.name) && - Objects.equals(photoUrls, pet.photoUrls) && - Objects.equals(tags, pet.tags) && - Objects.equals(status, pet.status); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(id, category, name, photoUrls, tags, status); + if (o == null || getClass() != o.getClass()) { + return false; } + Pet pet = (Pet) o; + return Objects.equals(id, pet.id) && + Objects.equals(category, pet.category) && + Objects.equals(name, pet.name) && + Objects.equals(photoUrls, pet.photoUrls) && + Objects.equals(tags, pet.tags) && + Objects.equals(status, pet.status); + } + + @Override + public int hashCode() { + return Objects.hash(id, category, name, photoUrls, tags, status); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Tag.java b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Tag.java index 2b12260720..ad06844b59 100644 --- a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Tag.java +++ b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/Tag.java @@ -5,6 +5,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; /** @@ -55,24 +56,23 @@ public class Tag { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Tag tag = (Tag) o; - return Objects.equals(id, tag.id) && - Objects.equals(name, tag.name); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(id, name); + if (o == null || getClass() != o.getClass()) { + return false; } + Tag tag = (Tag) o; + return Objects.equals(id, tag.id) && + Objects.equals(name, tag.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/User.java b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/User.java index 3ce5f64f06..95535c0da6 100644 --- a/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/User.java +++ b/samples/server/petstore/jaxrs-cxf-non-spring-app/src/gen/java/org/openapitools/model/User.java @@ -5,6 +5,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; /** @@ -184,30 +185,29 @@ public class User { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - User user = (User) o; - return Objects.equals(id, user.id) && - Objects.equals(username, user.username) && - Objects.equals(firstName, user.firstName) && - Objects.equals(lastName, user.lastName) && - Objects.equals(email, user.email) && - Objects.equals(password, user.password) && - Objects.equals(phone, user.phone) && - Objects.equals(userStatus, user.userStatus); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(id, username, firstName, lastName, email, password, phone, userStatus); + if (o == null || getClass() != o.getClass()) { + return false; } + User user = (User) o; + return Objects.equals(id, user.id) && + Objects.equals(username, user.username) && + Objects.equals(firstName, user.firstName) && + Objects.equals(lastName, user.lastName) && + Objects.equals(email, user.email) && + Objects.equals(password, user.password) && + Objects.equals(phone, user.phone) && + Objects.equals(userStatus, user.userStatus); + } + + @Override + public int hashCode() { + return Objects.hash(id, username, firstName, lastName, email, password, phone, userStatus); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesAnyType.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesAnyType.java index dc7f24496c..b3cf3df8d4 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesAnyType.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesAnyType.java @@ -6,6 +6,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -31,24 +32,23 @@ public class AdditionalPropertiesAnyType extends HashMap { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - AdditionalPropertiesAnyType additionalPropertiesAnyType = (AdditionalPropertiesAnyType) o; - return Objects.equals(name, additionalPropertiesAnyType.name) && - super.equals(o); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(name, super.hashCode()); + if (o == null || getClass() != o.getClass()) { + return false; } + AdditionalPropertiesAnyType additionalPropertiesAnyType = (AdditionalPropertiesAnyType) o; + return Objects.equals(name, additionalPropertiesAnyType.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesArray.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesArray.java index 8825d2c782..9159cc7106 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesArray.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesArray.java @@ -7,6 +7,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -32,24 +33,23 @@ public class AdditionalPropertiesArray extends HashMap { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - AdditionalPropertiesArray additionalPropertiesArray = (AdditionalPropertiesArray) o; - return Objects.equals(name, additionalPropertiesArray.name) && - super.equals(o); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(name, super.hashCode()); + if (o == null || getClass() != o.getClass()) { + return false; } + AdditionalPropertiesArray additionalPropertiesArray = (AdditionalPropertiesArray) o; + return Objects.equals(name, additionalPropertiesArray.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesBoolean.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesBoolean.java index 2dd653470c..6234531ab0 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesBoolean.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesBoolean.java @@ -6,6 +6,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -31,24 +32,23 @@ public class AdditionalPropertiesBoolean extends HashMap { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - AdditionalPropertiesBoolean additionalPropertiesBoolean = (AdditionalPropertiesBoolean) o; - return Objects.equals(name, additionalPropertiesBoolean.name) && - super.equals(o); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(name, super.hashCode()); + if (o == null || getClass() != o.getClass()) { + return false; } + AdditionalPropertiesBoolean additionalPropertiesBoolean = (AdditionalPropertiesBoolean) o; + return Objects.equals(name, additionalPropertiesBoolean.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java index 707e096dd0..d734964347 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java @@ -8,6 +8,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -288,33 +289,32 @@ public class AdditionalPropertiesClass { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - AdditionalPropertiesClass additionalPropertiesClass = (AdditionalPropertiesClass) o; - return Objects.equals(mapString, additionalPropertiesClass.mapString) && - Objects.equals(mapNumber, additionalPropertiesClass.mapNumber) && - Objects.equals(mapInteger, additionalPropertiesClass.mapInteger) && - Objects.equals(mapBoolean, additionalPropertiesClass.mapBoolean) && - Objects.equals(mapArrayInteger, additionalPropertiesClass.mapArrayInteger) && - Objects.equals(mapArrayAnytype, additionalPropertiesClass.mapArrayAnytype) && - Objects.equals(mapMapString, additionalPropertiesClass.mapMapString) && - Objects.equals(mapMapAnytype, additionalPropertiesClass.mapMapAnytype) && - Objects.equals(anytype1, additionalPropertiesClass.anytype1) && - Objects.equals(anytype2, additionalPropertiesClass.anytype2) && - Objects.equals(anytype3, additionalPropertiesClass.anytype3); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(mapString, mapNumber, mapInteger, mapBoolean, mapArrayInteger, mapArrayAnytype, mapMapString, mapMapAnytype, anytype1, anytype2, anytype3); + if (o == null || getClass() != o.getClass()) { + return false; } + AdditionalPropertiesClass additionalPropertiesClass = (AdditionalPropertiesClass) o; + return Objects.equals(mapString, additionalPropertiesClass.mapString) && + Objects.equals(mapNumber, additionalPropertiesClass.mapNumber) && + Objects.equals(mapInteger, additionalPropertiesClass.mapInteger) && + Objects.equals(mapBoolean, additionalPropertiesClass.mapBoolean) && + Objects.equals(mapArrayInteger, additionalPropertiesClass.mapArrayInteger) && + Objects.equals(mapArrayAnytype, additionalPropertiesClass.mapArrayAnytype) && + Objects.equals(mapMapString, additionalPropertiesClass.mapMapString) && + Objects.equals(mapMapAnytype, additionalPropertiesClass.mapMapAnytype) && + Objects.equals(anytype1, additionalPropertiesClass.anytype1) && + Objects.equals(anytype2, additionalPropertiesClass.anytype2) && + Objects.equals(anytype3, additionalPropertiesClass.anytype3); + } + + @Override + public int hashCode() { + return Objects.hash(mapString, mapNumber, mapInteger, mapBoolean, mapArrayInteger, mapArrayAnytype, mapMapString, mapMapAnytype, anytype1, anytype2, anytype3); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesInteger.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesInteger.java index 91bbd29c07..8c9bc00682 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesInteger.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesInteger.java @@ -6,6 +6,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -31,24 +32,23 @@ public class AdditionalPropertiesInteger extends HashMap { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - AdditionalPropertiesInteger additionalPropertiesInteger = (AdditionalPropertiesInteger) o; - return Objects.equals(name, additionalPropertiesInteger.name) && - super.equals(o); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(name, super.hashCode()); + if (o == null || getClass() != o.getClass()) { + return false; } + AdditionalPropertiesInteger additionalPropertiesInteger = (AdditionalPropertiesInteger) o; + return Objects.equals(name, additionalPropertiesInteger.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesNumber.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesNumber.java index 5e7f4f2a5f..8cfba20b44 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesNumber.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesNumber.java @@ -7,6 +7,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -32,24 +33,23 @@ public class AdditionalPropertiesNumber extends HashMap { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - AdditionalPropertiesNumber additionalPropertiesNumber = (AdditionalPropertiesNumber) o; - return Objects.equals(name, additionalPropertiesNumber.name) && - super.equals(o); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(name, super.hashCode()); + if (o == null || getClass() != o.getClass()) { + return false; } + AdditionalPropertiesNumber additionalPropertiesNumber = (AdditionalPropertiesNumber) o; + return Objects.equals(name, additionalPropertiesNumber.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesObject.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesObject.java index 13ae1dbad3..cb523f0de5 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesObject.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesObject.java @@ -6,6 +6,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -31,24 +32,23 @@ public class AdditionalPropertiesObject extends HashMap { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - AdditionalPropertiesObject additionalPropertiesObject = (AdditionalPropertiesObject) o; - return Objects.equals(name, additionalPropertiesObject.name) && - super.equals(o); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(name, super.hashCode()); + if (o == null || getClass() != o.getClass()) { + return false; } + AdditionalPropertiesObject additionalPropertiesObject = (AdditionalPropertiesObject) o; + return Objects.equals(name, additionalPropertiesObject.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesString.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesString.java index 45d4870c5e..45d39bbd9b 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesString.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/AdditionalPropertiesString.java @@ -6,6 +6,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -31,24 +32,23 @@ public class AdditionalPropertiesString extends HashMap { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - AdditionalPropertiesString additionalPropertiesString = (AdditionalPropertiesString) o; - return Objects.equals(name, additionalPropertiesString.name) && - super.equals(o); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(name, super.hashCode()); + if (o == null || getClass() != o.getClass()) { + return false; } + AdditionalPropertiesString additionalPropertiesString = (AdditionalPropertiesString) o; + return Objects.equals(name, additionalPropertiesString.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Animal.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Animal.java index b4d23bc566..62ec5a9396 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Animal.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Animal.java @@ -7,6 +7,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "className", visible = true) @@ -60,24 +61,23 @@ public class Animal { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Animal animal = (Animal) o; - return Objects.equals(className, animal.className) && - Objects.equals(color, animal.color); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(className, color); + if (o == null || getClass() != o.getClass()) { + return false; } + Animal animal = (Animal) o; + return Objects.equals(className, animal.className) && + Objects.equals(color, animal.color); + } + + @Override + public int hashCode() { + return Objects.hash(className, color); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayOfArrayOfNumberOnly.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayOfArrayOfNumberOnly.java index 9b59fe0624..f6b0839097 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayOfArrayOfNumberOnly.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayOfArrayOfNumberOnly.java @@ -7,6 +7,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -38,23 +39,22 @@ public class ArrayOfArrayOfNumberOnly { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - ArrayOfArrayOfNumberOnly arrayOfArrayOfNumberOnly = (ArrayOfArrayOfNumberOnly) o; - return Objects.equals(arrayArrayNumber, arrayOfArrayOfNumberOnly.arrayArrayNumber); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(arrayArrayNumber); + if (o == null || getClass() != o.getClass()) { + return false; } + ArrayOfArrayOfNumberOnly arrayOfArrayOfNumberOnly = (ArrayOfArrayOfNumberOnly) o; + return Objects.equals(arrayArrayNumber, arrayOfArrayOfNumberOnly.arrayArrayNumber); + } + + @Override + public int hashCode() { + return Objects.hash(arrayArrayNumber); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayOfNumberOnly.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayOfNumberOnly.java index 12d4aaf816..9f55bbb9b4 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayOfNumberOnly.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayOfNumberOnly.java @@ -7,6 +7,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -38,23 +39,22 @@ public class ArrayOfNumberOnly { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - ArrayOfNumberOnly arrayOfNumberOnly = (ArrayOfNumberOnly) o; - return Objects.equals(arrayNumber, arrayOfNumberOnly.arrayNumber); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(arrayNumber); + if (o == null || getClass() != o.getClass()) { + return false; } + ArrayOfNumberOnly arrayOfNumberOnly = (ArrayOfNumberOnly) o; + return Objects.equals(arrayNumber, arrayOfNumberOnly.arrayNumber); + } + + @Override + public int hashCode() { + return Objects.hash(arrayNumber); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayTest.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayTest.java index 812f5f2220..e88454f027 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayTest.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ArrayTest.java @@ -7,6 +7,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -91,25 +92,24 @@ public class ArrayTest { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - ArrayTest arrayTest = (ArrayTest) o; - return Objects.equals(arrayOfString, arrayTest.arrayOfString) && - Objects.equals(arrayArrayOfInteger, arrayTest.arrayArrayOfInteger) && - Objects.equals(arrayArrayOfModel, arrayTest.arrayArrayOfModel); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(arrayOfString, arrayArrayOfInteger, arrayArrayOfModel); + if (o == null || getClass() != o.getClass()) { + return false; } + ArrayTest arrayTest = (ArrayTest) o; + return Objects.equals(arrayOfString, arrayTest.arrayOfString) && + Objects.equals(arrayArrayOfInteger, arrayTest.arrayArrayOfInteger) && + Objects.equals(arrayArrayOfModel, arrayTest.arrayArrayOfModel); + } + + @Override + public int hashCode() { + return Objects.hash(arrayOfString, arrayArrayOfInteger, arrayArrayOfModel); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCat.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCat.java index a0ccc442b5..c33adeb6dd 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCat.java @@ -8,6 +8,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -68,24 +69,23 @@ LIONS(String.valueOf("lions")), TIGERS(String.valueOf("tigers")), LEOPARDS(Strin return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - BigCat bigCat = (BigCat) o; - return Objects.equals(kind, bigCat.kind) && - super.equals(o); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(kind, super.hashCode()); + if (o == null || getClass() != o.getClass()) { + return false; } + BigCat bigCat = (BigCat) o; + return Objects.equals(kind, bigCat.kind) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(kind, super.hashCode()); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCatAllOf.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCatAllOf.java index 45aa5ef73f..18eb9f2f5b 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCatAllOf.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCatAllOf.java @@ -7,6 +7,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -67,23 +68,22 @@ LIONS(String.valueOf("lions")), TIGERS(String.valueOf("tigers")), LEOPARDS(Strin return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - BigCatAllOf bigCatAllOf = (BigCatAllOf) o; - return Objects.equals(kind, bigCatAllOf.kind); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(kind); + if (o == null || getClass() != o.getClass()) { + return false; } + BigCatAllOf bigCatAllOf = (BigCatAllOf) o; + return Objects.equals(kind, bigCatAllOf.kind); + } + + @Override + public int hashCode() { + return Objects.hash(kind); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Capitalization.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Capitalization.java index 55bdfade10..255957a7b2 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Capitalization.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Capitalization.java @@ -4,6 +4,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -137,28 +138,27 @@ public class Capitalization { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Capitalization capitalization = (Capitalization) o; - return Objects.equals(smallCamel, capitalization.smallCamel) && - Objects.equals(capitalCamel, capitalization.capitalCamel) && - Objects.equals(smallSnake, capitalization.smallSnake) && - Objects.equals(capitalSnake, capitalization.capitalSnake) && - Objects.equals(scAETHFlowPoints, capitalization.scAETHFlowPoints) && - Objects.equals(ATT_NAME, capitalization.ATT_NAME); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(smallCamel, capitalCamel, smallSnake, capitalSnake, scAETHFlowPoints, ATT_NAME); + if (o == null || getClass() != o.getClass()) { + return false; } + Capitalization capitalization = (Capitalization) o; + return Objects.equals(smallCamel, capitalization.smallCamel) && + Objects.equals(capitalCamel, capitalization.capitalCamel) && + Objects.equals(smallSnake, capitalization.smallSnake) && + Objects.equals(capitalSnake, capitalization.capitalSnake) && + Objects.equals(scAETHFlowPoints, capitalization.scAETHFlowPoints) && + Objects.equals(ATT_NAME, capitalization.ATT_NAME); + } + + @Override + public int hashCode() { + return Objects.hash(smallCamel, capitalCamel, smallSnake, capitalSnake, scAETHFlowPoints, ATT_NAME); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Cat.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Cat.java index 642708114a..c5917d0378 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Cat.java @@ -6,6 +6,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -31,24 +32,23 @@ public class Cat extends Animal { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Cat cat = (Cat) o; - return Objects.equals(declawed, cat.declawed) && - super.equals(o); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(declawed, super.hashCode()); + if (o == null || getClass() != o.getClass()) { + return false; } + Cat cat = (Cat) o; + return Objects.equals(declawed, cat.declawed) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(declawed, super.hashCode()); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/CatAllOf.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/CatAllOf.java index b5ff80170e..96cde07730 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/CatAllOf.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/CatAllOf.java @@ -5,6 +5,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -30,23 +31,22 @@ public class CatAllOf { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - CatAllOf catAllOf = (CatAllOf) o; - return Objects.equals(declawed, catAllOf.declawed); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(declawed); + if (o == null || getClass() != o.getClass()) { + return false; } + CatAllOf catAllOf = (CatAllOf) o; + return Objects.equals(declawed, catAllOf.declawed); + } + + @Override + public int hashCode() { + return Objects.hash(declawed); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Category.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Category.java index 123d348aed..f958bc9cd3 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Category.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Category.java @@ -4,6 +4,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -51,24 +52,23 @@ public class Category { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Category category = (Category) o; - return Objects.equals(id, category.id) && - Objects.equals(name, category.name); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(id, name); + if (o == null || getClass() != o.getClass()) { + return false; } + Category category = (Category) o; + return Objects.equals(id, category.id) && + Objects.equals(name, category.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ClassModel.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ClassModel.java index 67b26335d0..137c3b81f5 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ClassModel.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ClassModel.java @@ -5,6 +5,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; /** @@ -34,23 +35,22 @@ public class ClassModel { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - ClassModel classModel = (ClassModel) o; - return Objects.equals(propertyClass, classModel.propertyClass); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(propertyClass); + if (o == null || getClass() != o.getClass()) { + return false; } + ClassModel classModel = (ClassModel) o; + return Objects.equals(propertyClass, classModel.propertyClass); + } + + @Override + public int hashCode() { + return Objects.hash(propertyClass); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Client.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Client.java index 932f7957e3..07383bf7c8 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Client.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Client.java @@ -4,6 +4,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -29,23 +30,22 @@ public class Client { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Client client = (Client) o; - return Objects.equals(client, client.client); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(client); + if (o == null || getClass() != o.getClass()) { + return false; } + Client client = (Client) o; + return Objects.equals(client, client.client); + } + + @Override + public int hashCode() { + return Objects.hash(client); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Dog.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Dog.java index 5b521d1821..506c38e5bb 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Dog.java @@ -6,6 +6,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -31,24 +32,23 @@ public class Dog extends Animal { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Dog dog = (Dog) o; - return Objects.equals(breed, dog.breed) && - super.equals(o); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(breed, super.hashCode()); + if (o == null || getClass() != o.getClass()) { + return false; } + Dog dog = (Dog) o; + return Objects.equals(breed, dog.breed) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(breed, super.hashCode()); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/DogAllOf.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/DogAllOf.java index 7eb31e85cc..cc9268c5a4 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/DogAllOf.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/DogAllOf.java @@ -5,6 +5,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -30,23 +31,22 @@ public class DogAllOf { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - DogAllOf dogAllOf = (DogAllOf) o; - return Objects.equals(breed, dogAllOf.breed); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(breed); + if (o == null || getClass() != o.getClass()) { + return false; } + DogAllOf dogAllOf = (DogAllOf) o; + return Objects.equals(breed, dogAllOf.breed); + } + + @Override + public int hashCode() { + return Objects.hash(breed); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/EnumArrays.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/EnumArrays.java index 4fddb13874..9e58f8485a 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/EnumArrays.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/EnumArrays.java @@ -8,6 +8,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -126,24 +127,23 @@ FISH(String.valueOf("fish")), CRAB(String.valueOf("crab")); return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - EnumArrays enumArrays = (EnumArrays) o; - return Objects.equals(justSymbol, enumArrays.justSymbol) && - Objects.equals(arrayEnum, enumArrays.arrayEnum); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(justSymbol, arrayEnum); + if (o == null || getClass() != o.getClass()) { + return false; } + EnumArrays enumArrays = (EnumArrays) o; + return Objects.equals(justSymbol, enumArrays.justSymbol) && + Objects.equals(arrayEnum, enumArrays.arrayEnum); + } + + @Override + public int hashCode() { + return Objects.hash(justSymbol, arrayEnum); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/EnumTest.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/EnumTest.java index 593e40452b..f928517939 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/EnumTest.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/EnumTest.java @@ -8,6 +8,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -259,27 +260,26 @@ NUMBER_1_DOT_1(Double.valueOf(1.1)), NUMBER_MINUS_1_DOT_2(Double.valueOf(-1.2)); return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - EnumTest enumTest = (EnumTest) o; - return Objects.equals(enumString, enumTest.enumString) && - Objects.equals(enumStringRequired, enumTest.enumStringRequired) && - Objects.equals(enumInteger, enumTest.enumInteger) && - Objects.equals(enumNumber, enumTest.enumNumber) && - Objects.equals(outerEnum, enumTest.outerEnum); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(enumString, enumStringRequired, enumInteger, enumNumber, outerEnum); + if (o == null || getClass() != o.getClass()) { + return false; } + EnumTest enumTest = (EnumTest) o; + return Objects.equals(enumString, enumTest.enumString) && + Objects.equals(enumStringRequired, enumTest.enumStringRequired) && + Objects.equals(enumInteger, enumTest.enumInteger) && + Objects.equals(enumNumber, enumTest.enumNumber) && + Objects.equals(outerEnum, enumTest.outerEnum); + } + + @Override + public int hashCode() { + return Objects.hash(enumString, enumStringRequired, enumInteger, enumNumber, outerEnum); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/FileSchemaTestClass.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/FileSchemaTestClass.java index 1c29eed66f..9e1eb92122 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/FileSchemaTestClass.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/FileSchemaTestClass.java @@ -7,6 +7,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -60,24 +61,23 @@ public class FileSchemaTestClass { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - FileSchemaTestClass fileSchemaTestClass = (FileSchemaTestClass) o; - return Objects.equals(_file, fileSchemaTestClass._file) && - Objects.equals(files, fileSchemaTestClass.files); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(_file, files); + if (o == null || getClass() != o.getClass()) { + return false; } + FileSchemaTestClass fileSchemaTestClass = (FileSchemaTestClass) o; + return Objects.equals(_file, fileSchemaTestClass._file) && + Objects.equals(files, fileSchemaTestClass.files); + } + + @Override + public int hashCode() { + return Objects.hash(_file, files); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/FormatTest.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/FormatTest.java index 94cbdd6a4f..dfd0ae304b 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/FormatTest.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/FormatTest.java @@ -10,6 +10,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -324,36 +325,35 @@ public class FormatTest { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - FormatTest formatTest = (FormatTest) o; - return Objects.equals(integer, formatTest.integer) && - Objects.equals(int32, formatTest.int32) && - Objects.equals(int64, formatTest.int64) && - Objects.equals(number, formatTest.number) && - Objects.equals(_float, formatTest._float) && - Objects.equals(_double, formatTest._double) && - Objects.equals(string, formatTest.string) && - Objects.equals(_byte, formatTest._byte) && - Objects.equals(binary, formatTest.binary) && - Objects.equals(date, formatTest.date) && - Objects.equals(dateTime, formatTest.dateTime) && - Objects.equals(uuid, formatTest.uuid) && - Objects.equals(password, formatTest.password) && - Objects.equals(bigDecimal, formatTest.bigDecimal); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(integer, int32, int64, number, _float, _double, string, _byte, binary, date, dateTime, uuid, password, bigDecimal); + if (o == null || getClass() != o.getClass()) { + return false; } + FormatTest formatTest = (FormatTest) o; + return Objects.equals(integer, formatTest.integer) && + Objects.equals(int32, formatTest.int32) && + Objects.equals(int64, formatTest.int64) && + Objects.equals(number, formatTest.number) && + Objects.equals(_float, formatTest._float) && + Objects.equals(_double, formatTest._double) && + Objects.equals(string, formatTest.string) && + Objects.equals(_byte, formatTest._byte) && + Objects.equals(binary, formatTest.binary) && + Objects.equals(date, formatTest.date) && + Objects.equals(dateTime, formatTest.dateTime) && + Objects.equals(uuid, formatTest.uuid) && + Objects.equals(password, formatTest.password) && + Objects.equals(bigDecimal, formatTest.bigDecimal); + } + + @Override + public int hashCode() { + return Objects.hash(integer, int32, int64, number, _float, _double, string, _byte, binary, date, dateTime, uuid, password, bigDecimal); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/HasOnlyReadOnly.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/HasOnlyReadOnly.java index b59d3b7d84..c99fc7cacb 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/HasOnlyReadOnly.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/HasOnlyReadOnly.java @@ -5,6 +5,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -35,24 +36,23 @@ public class HasOnlyReadOnly { } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - HasOnlyReadOnly hasOnlyReadOnly = (HasOnlyReadOnly) o; - return Objects.equals(bar, hasOnlyReadOnly.bar) && - Objects.equals(foo, hasOnlyReadOnly.foo); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(bar, foo); + if (o == null || getClass() != o.getClass()) { + return false; } + HasOnlyReadOnly hasOnlyReadOnly = (HasOnlyReadOnly) o; + return Objects.equals(bar, hasOnlyReadOnly.bar) && + Objects.equals(foo, hasOnlyReadOnly.foo); + } + + @Override + public int hashCode() { + return Objects.hash(bar, foo); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MapTest.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MapTest.java index 2ac9ab74f5..908fe5c3ba 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MapTest.java @@ -9,6 +9,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -150,26 +151,25 @@ UPPER(String.valueOf("UPPER")), LOWER(String.valueOf("lower")); return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - MapTest mapTest = (MapTest) o; - return Objects.equals(mapMapOfString, mapTest.mapMapOfString) && - Objects.equals(mapOfEnumString, mapTest.mapOfEnumString) && - Objects.equals(directMap, mapTest.directMap) && - Objects.equals(indirectMap, mapTest.indirectMap); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(mapMapOfString, mapOfEnumString, directMap, indirectMap); + if (o == null || getClass() != o.getClass()) { + return false; } + MapTest mapTest = (MapTest) o; + return Objects.equals(mapMapOfString, mapTest.mapMapOfString) && + Objects.equals(mapOfEnumString, mapTest.mapOfEnumString) && + Objects.equals(directMap, mapTest.directMap) && + Objects.equals(indirectMap, mapTest.indirectMap); + } + + @Override + public int hashCode() { + return Objects.hash(mapMapOfString, mapOfEnumString, directMap, indirectMap); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 5a287f0e07..96af44dbbe 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -10,6 +10,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -83,25 +84,24 @@ public class MixedPropertiesAndAdditionalPropertiesClass { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - MixedPropertiesAndAdditionalPropertiesClass mixedPropertiesAndAdditionalPropertiesClass = (MixedPropertiesAndAdditionalPropertiesClass) o; - return Objects.equals(uuid, mixedPropertiesAndAdditionalPropertiesClass.uuid) && - Objects.equals(dateTime, mixedPropertiesAndAdditionalPropertiesClass.dateTime) && - Objects.equals(map, mixedPropertiesAndAdditionalPropertiesClass.map); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(uuid, dateTime, map); + if (o == null || getClass() != o.getClass()) { + return false; } + MixedPropertiesAndAdditionalPropertiesClass mixedPropertiesAndAdditionalPropertiesClass = (MixedPropertiesAndAdditionalPropertiesClass) o; + return Objects.equals(uuid, mixedPropertiesAndAdditionalPropertiesClass.uuid) && + Objects.equals(dateTime, mixedPropertiesAndAdditionalPropertiesClass.dateTime) && + Objects.equals(map, mixedPropertiesAndAdditionalPropertiesClass.map); + } + + @Override + public int hashCode() { + return Objects.hash(uuid, dateTime, map); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Model200Response.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Model200Response.java index 1d75e4c72c..30da65fc16 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Model200Response.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Model200Response.java @@ -6,6 +6,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; /** @@ -56,24 +57,23 @@ public class Model200Response { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Model200Response _200response = (Model200Response) o; - return Objects.equals(name, _200response.name) && - Objects.equals(propertyClass, _200response.propertyClass); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(name, propertyClass); + if (o == null || getClass() != o.getClass()) { + return false; } + Model200Response _200response = (Model200Response) o; + return Objects.equals(name, _200response.name) && + Objects.equals(propertyClass, _200response.propertyClass); + } + + @Override + public int hashCode() { + return Objects.hash(name, propertyClass); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelApiResponse.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelApiResponse.java index 37c177f83d..06fd6b1f11 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelApiResponse.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelApiResponse.java @@ -5,6 +5,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -72,25 +73,24 @@ public class ModelApiResponse { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - ModelApiResponse _apiResponse = (ModelApiResponse) o; - return Objects.equals(code, _apiResponse.code) && - Objects.equals(type, _apiResponse.type) && - Objects.equals(message, _apiResponse.message); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(code, type, message); + if (o == null || getClass() != o.getClass()) { + return false; } + ModelApiResponse _apiResponse = (ModelApiResponse) o; + return Objects.equals(code, _apiResponse.code) && + Objects.equals(type, _apiResponse.type) && + Objects.equals(message, _apiResponse.message); + } + + @Override + public int hashCode() { + return Objects.hash(code, type, message); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelFile.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelFile.java index 4fdd53b886..f11410e576 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelFile.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelFile.java @@ -6,6 +6,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; /** @@ -38,23 +39,22 @@ public class ModelFile { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - ModelFile _file = (ModelFile) o; - return Objects.equals(sourceURI, _file.sourceURI); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(sourceURI); + if (o == null || getClass() != o.getClass()) { + return false; } + ModelFile _file = (ModelFile) o; + return Objects.equals(sourceURI, _file.sourceURI); + } + + @Override + public int hashCode() { + return Objects.hash(sourceURI); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelList.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelList.java index d814e76adc..b419eaab64 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelList.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelList.java @@ -5,6 +5,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -30,23 +31,22 @@ public class ModelList { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - ModelList _list = (ModelList) o; - return Objects.equals(_123list, _list._123list); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(_123list); + if (o == null || getClass() != o.getClass()) { + return false; } + ModelList _list = (ModelList) o; + return Objects.equals(_123list, _list._123list); + } + + @Override + public int hashCode() { + return Objects.hash(_123list); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelReturn.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelReturn.java index bcf4810e7e..bdfc8d8b9c 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelReturn.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ModelReturn.java @@ -6,6 +6,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; /** @@ -35,23 +36,22 @@ public class ModelReturn { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - ModelReturn _return = (ModelReturn) o; - return Objects.equals(_return, _return._return); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(_return); + if (o == null || getClass() != o.getClass()) { + return false; } + ModelReturn _return = (ModelReturn) o; + return Objects.equals(_return, _return._return); + } + + @Override + public int hashCode() { + return Objects.hash(_return); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Name.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Name.java index b10fc9126d..4f5a55f2c9 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Name.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Name.java @@ -5,6 +5,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; /** @@ -82,26 +83,25 @@ public class Name { } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Name name = (Name) o; - return Objects.equals(name, name.name) && - Objects.equals(snakeCase, name.snakeCase) && - Objects.equals(property, name.property) && - Objects.equals(_123number, name._123number); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(name, snakeCase, property, _123number); + if (o == null || getClass() != o.getClass()) { + return false; } + Name name = (Name) o; + return Objects.equals(name, name.name) && + Objects.equals(snakeCase, name.snakeCase) && + Objects.equals(property, name.property) && + Objects.equals(_123number, name._123number); + } + + @Override + public int hashCode() { + return Objects.hash(name, snakeCase, property, _123number); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/NumberOnly.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/NumberOnly.java index 2c8fb78cbe..d73e204beb 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/NumberOnly.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/NumberOnly.java @@ -5,6 +5,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -31,23 +32,22 @@ public class NumberOnly { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - NumberOnly numberOnly = (NumberOnly) o; - return Objects.equals(justNumber, numberOnly.justNumber); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(justNumber); + if (o == null || getClass() != o.getClass()) { + return false; } + NumberOnly numberOnly = (NumberOnly) o; + return Objects.equals(justNumber, numberOnly.justNumber); + } + + @Override + public int hashCode() { + return Objects.hash(justNumber); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Order.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Order.java index 410b623ebb..5b32525934 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Order.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Order.java @@ -7,6 +7,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -175,28 +176,27 @@ PLACED(String.valueOf("placed")), APPROVED(String.valueOf("approved")), DELIVERE return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Order order = (Order) o; - return Objects.equals(id, order.id) && - Objects.equals(petId, order.petId) && - Objects.equals(quantity, order.quantity) && - Objects.equals(shipDate, order.shipDate) && - Objects.equals(status, order.status) && - Objects.equals(complete, order.complete); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(id, petId, quantity, shipDate, status, complete); + if (o == null || getClass() != o.getClass()) { + return false; } + Order order = (Order) o; + return Objects.equals(id, order.id) && + Objects.equals(petId, order.petId) && + Objects.equals(quantity, order.quantity) && + Objects.equals(shipDate, order.shipDate) && + Objects.equals(status, order.status) && + Objects.equals(complete, order.complete); + } + + @Override + public int hashCode() { + return Objects.hash(id, petId, quantity, shipDate, status, complete); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/OuterComposite.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/OuterComposite.java index 46e8caeb5f..874caa1e7c 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/OuterComposite.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/OuterComposite.java @@ -5,6 +5,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -73,25 +74,24 @@ public class OuterComposite { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - OuterComposite outerComposite = (OuterComposite) o; - return Objects.equals(myNumber, outerComposite.myNumber) && - Objects.equals(myString, outerComposite.myString) && - Objects.equals(myBoolean, outerComposite.myBoolean); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(myNumber, myString, myBoolean); + if (o == null || getClass() != o.getClass()) { + return false; } + OuterComposite outerComposite = (OuterComposite) o; + return Objects.equals(myNumber, outerComposite.myNumber) && + Objects.equals(myString, outerComposite.myString) && + Objects.equals(myBoolean, outerComposite.myBoolean); + } + + @Override + public int hashCode() { + return Objects.hash(myNumber, myString, myBoolean); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Pet.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Pet.java index c9e9a0af5d..9cbd95c770 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Pet.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Pet.java @@ -13,6 +13,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -196,28 +197,27 @@ AVAILABLE(String.valueOf("available")), PENDING(String.valueOf("pending")), SOLD return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Pet pet = (Pet) o; - return Objects.equals(id, pet.id) && - Objects.equals(category, pet.category) && - Objects.equals(name, pet.name) && - Objects.equals(photoUrls, pet.photoUrls) && - Objects.equals(tags, pet.tags) && - Objects.equals(status, pet.status); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(id, category, name, photoUrls, tags, status); + if (o == null || getClass() != o.getClass()) { + return false; } + Pet pet = (Pet) o; + return Objects.equals(id, pet.id) && + Objects.equals(category, pet.category) && + Objects.equals(name, pet.name) && + Objects.equals(photoUrls, pet.photoUrls) && + Objects.equals(tags, pet.tags) && + Objects.equals(status, pet.status); + } + + @Override + public int hashCode() { + return Objects.hash(id, category, name, photoUrls, tags, status); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ReadOnlyFirst.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ReadOnlyFirst.java index a67cca8cfa..b07b95e253 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ReadOnlyFirst.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/ReadOnlyFirst.java @@ -4,6 +4,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -42,24 +43,23 @@ public class ReadOnlyFirst { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - ReadOnlyFirst readOnlyFirst = (ReadOnlyFirst) o; - return Objects.equals(bar, readOnlyFirst.bar) && - Objects.equals(baz, readOnlyFirst.baz); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(bar, baz); + if (o == null || getClass() != o.getClass()) { + return false; } + ReadOnlyFirst readOnlyFirst = (ReadOnlyFirst) o; + return Objects.equals(bar, readOnlyFirst.bar) && + Objects.equals(baz, readOnlyFirst.baz); + } + + @Override + public int hashCode() { + return Objects.hash(bar, baz); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/SpecialModelName.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/SpecialModelName.java index 99f87af037..d4a59f1ccf 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/SpecialModelName.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/SpecialModelName.java @@ -5,6 +5,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -30,23 +31,22 @@ public class SpecialModelName { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - SpecialModelName $specialModelName = (SpecialModelName) o; - return Objects.equals($specialPropertyName, $specialModelName.$specialPropertyName); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash($specialPropertyName); + if (o == null || getClass() != o.getClass()) { + return false; } + SpecialModelName $specialModelName = (SpecialModelName) o; + return Objects.equals($specialPropertyName, $specialModelName.$specialPropertyName); + } + + @Override + public int hashCode() { + return Objects.hash($specialPropertyName); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Tag.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Tag.java index 0bacb10acc..2cf3779e30 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Tag.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Tag.java @@ -4,6 +4,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -50,24 +51,23 @@ public class Tag { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Tag tag = (Tag) o; - return Objects.equals(id, tag.id) && - Objects.equals(name, tag.name); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(id, name); + if (o == null || getClass() != o.getClass()) { + return false; } + Tag tag = (Tag) o; + return Objects.equals(id, tag.id) && + Objects.equals(name, tag.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/TypeHolderDefault.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/TypeHolderDefault.java index e1c6c0be21..ebd19a69a6 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/TypeHolderDefault.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/TypeHolderDefault.java @@ -7,6 +7,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -127,27 +128,26 @@ public class TypeHolderDefault { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - TypeHolderDefault typeHolderDefault = (TypeHolderDefault) o; - return Objects.equals(stringItem, typeHolderDefault.stringItem) && - Objects.equals(numberItem, typeHolderDefault.numberItem) && - Objects.equals(integerItem, typeHolderDefault.integerItem) && - Objects.equals(boolItem, typeHolderDefault.boolItem) && - Objects.equals(arrayItem, typeHolderDefault.arrayItem); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(stringItem, numberItem, integerItem, boolItem, arrayItem); + if (o == null || getClass() != o.getClass()) { + return false; } + TypeHolderDefault typeHolderDefault = (TypeHolderDefault) o; + return Objects.equals(stringItem, typeHolderDefault.stringItem) && + Objects.equals(numberItem, typeHolderDefault.numberItem) && + Objects.equals(integerItem, typeHolderDefault.integerItem) && + Objects.equals(boolItem, typeHolderDefault.boolItem) && + Objects.equals(arrayItem, typeHolderDefault.arrayItem); + } + + @Override + public int hashCode() { + return Objects.hash(stringItem, numberItem, integerItem, boolItem, arrayItem); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/TypeHolderExample.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/TypeHolderExample.java index e92ee6e9b7..1b4139d81c 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/TypeHolderExample.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/TypeHolderExample.java @@ -7,6 +7,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -149,28 +150,27 @@ public class TypeHolderExample { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - TypeHolderExample typeHolderExample = (TypeHolderExample) o; - return Objects.equals(stringItem, typeHolderExample.stringItem) && - Objects.equals(numberItem, typeHolderExample.numberItem) && - Objects.equals(floatItem, typeHolderExample.floatItem) && - Objects.equals(integerItem, typeHolderExample.integerItem) && - Objects.equals(boolItem, typeHolderExample.boolItem) && - Objects.equals(arrayItem, typeHolderExample.arrayItem); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(stringItem, numberItem, floatItem, integerItem, boolItem, arrayItem); + if (o == null || getClass() != o.getClass()) { + return false; } + TypeHolderExample typeHolderExample = (TypeHolderExample) o; + return Objects.equals(stringItem, typeHolderExample.stringItem) && + Objects.equals(numberItem, typeHolderExample.numberItem) && + Objects.equals(floatItem, typeHolderExample.floatItem) && + Objects.equals(integerItem, typeHolderExample.integerItem) && + Objects.equals(boolItem, typeHolderExample.boolItem) && + Objects.equals(arrayItem, typeHolderExample.arrayItem); + } + + @Override + public int hashCode() { + return Objects.hash(stringItem, numberItem, floatItem, integerItem, boolItem, arrayItem); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/User.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/User.java index 2414e97df1..5df878d365 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/User.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/User.java @@ -4,6 +4,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -179,30 +180,29 @@ public class User { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - User user = (User) o; - return Objects.equals(id, user.id) && - Objects.equals(username, user.username) && - Objects.equals(firstName, user.firstName) && - Objects.equals(lastName, user.lastName) && - Objects.equals(email, user.email) && - Objects.equals(password, user.password) && - Objects.equals(phone, user.phone) && - Objects.equals(userStatus, user.userStatus); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(id, username, firstName, lastName, email, password, phone, userStatus); + if (o == null || getClass() != o.getClass()) { + return false; } + User user = (User) o; + return Objects.equals(id, user.id) && + Objects.equals(username, user.username) && + Objects.equals(firstName, user.firstName) && + Objects.equals(lastName, user.lastName) && + Objects.equals(email, user.email) && + Objects.equals(password, user.password) && + Objects.equals(phone, user.phone) && + Objects.equals(userStatus, user.userStatus); + } + + @Override + public int hashCode() { + return Objects.hash(id, username, firstName, lastName, email, password, phone, userStatus); + } @Override public String toString() { diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/XmlItem.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/XmlItem.java index 2cb15409a9..817c7e8d6a 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/XmlItem.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/XmlItem.java @@ -7,6 +7,7 @@ import javax.validation.constraints.*; import javax.validation.Valid; import io.swagger.annotations.ApiModelProperty; +import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; @@ -670,51 +671,50 @@ public class XmlItem { return this; } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - XmlItem xmlItem = (XmlItem) o; - return Objects.equals(attributeString, xmlItem.attributeString) && - Objects.equals(attributeNumber, xmlItem.attributeNumber) && - Objects.equals(attributeInteger, xmlItem.attributeInteger) && - Objects.equals(attributeBoolean, xmlItem.attributeBoolean) && - Objects.equals(wrappedArray, xmlItem.wrappedArray) && - Objects.equals(nameString, xmlItem.nameString) && - Objects.equals(nameNumber, xmlItem.nameNumber) && - Objects.equals(nameInteger, xmlItem.nameInteger) && - Objects.equals(nameBoolean, xmlItem.nameBoolean) && - Objects.equals(nameArray, xmlItem.nameArray) && - Objects.equals(nameWrappedArray, xmlItem.nameWrappedArray) && - Objects.equals(prefixString, xmlItem.prefixString) && - Objects.equals(prefixNumber, xmlItem.prefixNumber) && - Objects.equals(prefixInteger, xmlItem.prefixInteger) && - Objects.equals(prefixBoolean, xmlItem.prefixBoolean) && - Objects.equals(prefixArray, xmlItem.prefixArray) && - Objects.equals(prefixWrappedArray, xmlItem.prefixWrappedArray) && - Objects.equals(namespaceString, xmlItem.namespaceString) && - Objects.equals(namespaceNumber, xmlItem.namespaceNumber) && - Objects.equals(namespaceInteger, xmlItem.namespaceInteger) && - Objects.equals(namespaceBoolean, xmlItem.namespaceBoolean) && - Objects.equals(namespaceArray, xmlItem.namespaceArray) && - Objects.equals(namespaceWrappedArray, xmlItem.namespaceWrappedArray) && - Objects.equals(prefixNsString, xmlItem.prefixNsString) && - Objects.equals(prefixNsNumber, xmlItem.prefixNsNumber) && - Objects.equals(prefixNsInteger, xmlItem.prefixNsInteger) && - Objects.equals(prefixNsBoolean, xmlItem.prefixNsBoolean) && - Objects.equals(prefixNsArray, xmlItem.prefixNsArray) && - Objects.equals(prefixNsWrappedArray, xmlItem.prefixNsWrappedArray); + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hash(attributeString, attributeNumber, attributeInteger, attributeBoolean, wrappedArray, nameString, nameNumber, nameInteger, nameBoolean, nameArray, nameWrappedArray, prefixString, prefixNumber, prefixInteger, prefixBoolean, prefixArray, prefixWrappedArray, namespaceString, namespaceNumber, namespaceInteger, namespaceBoolean, namespaceArray, namespaceWrappedArray, prefixNsString, prefixNsNumber, prefixNsInteger, prefixNsBoolean, prefixNsArray, prefixNsWrappedArray); + if (o == null || getClass() != o.getClass()) { + return false; } + XmlItem xmlItem = (XmlItem) o; + return Objects.equals(attributeString, xmlItem.attributeString) && + Objects.equals(attributeNumber, xmlItem.attributeNumber) && + Objects.equals(attributeInteger, xmlItem.attributeInteger) && + Objects.equals(attributeBoolean, xmlItem.attributeBoolean) && + Objects.equals(wrappedArray, xmlItem.wrappedArray) && + Objects.equals(nameString, xmlItem.nameString) && + Objects.equals(nameNumber, xmlItem.nameNumber) && + Objects.equals(nameInteger, xmlItem.nameInteger) && + Objects.equals(nameBoolean, xmlItem.nameBoolean) && + Objects.equals(nameArray, xmlItem.nameArray) && + Objects.equals(nameWrappedArray, xmlItem.nameWrappedArray) && + Objects.equals(prefixString, xmlItem.prefixString) && + Objects.equals(prefixNumber, xmlItem.prefixNumber) && + Objects.equals(prefixInteger, xmlItem.prefixInteger) && + Objects.equals(prefixBoolean, xmlItem.prefixBoolean) && + Objects.equals(prefixArray, xmlItem.prefixArray) && + Objects.equals(prefixWrappedArray, xmlItem.prefixWrappedArray) && + Objects.equals(namespaceString, xmlItem.namespaceString) && + Objects.equals(namespaceNumber, xmlItem.namespaceNumber) && + Objects.equals(namespaceInteger, xmlItem.namespaceInteger) && + Objects.equals(namespaceBoolean, xmlItem.namespaceBoolean) && + Objects.equals(namespaceArray, xmlItem.namespaceArray) && + Objects.equals(namespaceWrappedArray, xmlItem.namespaceWrappedArray) && + Objects.equals(prefixNsString, xmlItem.prefixNsString) && + Objects.equals(prefixNsNumber, xmlItem.prefixNsNumber) && + Objects.equals(prefixNsInteger, xmlItem.prefixNsInteger) && + Objects.equals(prefixNsBoolean, xmlItem.prefixNsBoolean) && + Objects.equals(prefixNsArray, xmlItem.prefixNsArray) && + Objects.equals(prefixNsWrappedArray, xmlItem.prefixNsWrappedArray); + } + + @Override + public int hashCode() { + return Objects.hash(attributeString, attributeNumber, attributeInteger, attributeBoolean, wrappedArray, nameString, nameNumber, nameInteger, nameBoolean, nameArray, nameWrappedArray, prefixString, prefixNumber, prefixInteger, prefixBoolean, prefixArray, prefixWrappedArray, namespaceString, namespaceNumber, namespaceInteger, namespaceBoolean, namespaceArray, namespaceWrappedArray, prefixNsString, prefixNsNumber, prefixNsInteger, prefixNsBoolean, prefixNsArray, prefixNsWrappedArray); + } @Override public String toString() { From f5b5feb58d11603860ee4f3c1ebab5cdff8f3fb1 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Wed, 6 Jul 2022 14:19:40 +0800 Subject: [PATCH 143/212] remove warnings related to escaping the characters in the md generator (#12774) --- .../MarkdownDocumentationCodegen.java | 13 +++ .../markdown/.openapi-generator/FILES | 2 - .../markdown/.openapi-generator/VERSION | 2 +- samples/documentation/markdown/Apis/PetApi.md | 88 +++++++++++-------- .../documentation/markdown/Apis/StoreApi.md | 34 +++---- .../documentation/markdown/Apis/UserApi.md | 78 +++++++++------- .../markdown/Models/ApiResponse.md | 10 +-- .../documentation/markdown/Models/Category.md | 8 +- .../markdown/Models/InlineObject.md | 10 --- .../markdown/Models/InlineObject1.md | 10 --- .../documentation/markdown/Models/Order.md | 16 ++-- samples/documentation/markdown/Models/Pet.md | 16 ++-- samples/documentation/markdown/Models/Tag.md | 8 +- samples/documentation/markdown/Models/User.md | 20 ++--- samples/documentation/markdown/README.md | 46 +++++----- 15 files changed, 186 insertions(+), 175 deletions(-) delete mode 100644 samples/documentation/markdown/Models/InlineObject.md delete mode 100644 samples/documentation/markdown/Models/InlineObject1.md diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/MarkdownDocumentationCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/MarkdownDocumentationCodegen.java index 0e4ad861cb..7eb20048fe 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/MarkdownDocumentationCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/MarkdownDocumentationCodegen.java @@ -110,4 +110,17 @@ public class MarkdownDocumentationCodegen extends DefaultCodegen implements Code @Override public GeneratorLanguage generatorLanguage() { return null; } + + @Override + public String escapeUnsafeCharacters(String input) { + // do nothing as the output is just doc + return input; + } + + @Override + public String escapeQuotationMark(String input) { + // do nothing as the output is just doc + return input; + } + } diff --git a/samples/documentation/markdown/.openapi-generator/FILES b/samples/documentation/markdown/.openapi-generator/FILES index 53bf49ac0c..19e7a13dff 100644 --- a/samples/documentation/markdown/.openapi-generator/FILES +++ b/samples/documentation/markdown/.openapi-generator/FILES @@ -3,8 +3,6 @@ Apis/StoreApi.md Apis/UserApi.md Models/ApiResponse.md Models/Category.md -Models/InlineObject.md -Models/InlineObject1.md Models/Order.md Models/Pet.md Models/Tag.md diff --git a/samples/documentation/markdown/.openapi-generator/VERSION b/samples/documentation/markdown/.openapi-generator/VERSION index d99e7162d0..66672d4e9d 100644 --- a/samples/documentation/markdown/.openapi-generator/VERSION +++ b/samples/documentation/markdown/.openapi-generator/VERSION @@ -1 +1 @@ -5.0.0-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/samples/documentation/markdown/Apis/PetApi.md b/samples/documentation/markdown/Apis/PetApi.md index 7a8543f056..86022b308e 100644 --- a/samples/documentation/markdown/Apis/PetApi.md +++ b/samples/documentation/markdown/Apis/PetApi.md @@ -2,16 +2,16 @@ All URIs are relative to *http://petstore.swagger.io/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**addPet**](PetApi.md#addPet) | **POST** /pet | Add a new pet to the store -[**deletePet**](PetApi.md#deletePet) | **DELETE** /pet/{petId} | Deletes a pet -[**findPetsByStatus**](PetApi.md#findPetsByStatus) | **GET** /pet/findByStatus | Finds Pets by status -[**findPetsByTags**](PetApi.md#findPetsByTags) | **GET** /pet/findByTags | Finds Pets by tags -[**getPetById**](PetApi.md#getPetById) | **GET** /pet/{petId} | Find pet by ID -[**updatePet**](PetApi.md#updatePet) | **PUT** /pet | Update an existing pet -[**updatePetWithForm**](PetApi.md#updatePetWithForm) | **POST** /pet/{petId} | Updates a pet in the store with form data -[**uploadFile**](PetApi.md#uploadFile) | **POST** /pet/{petId}/uploadImage | uploads an image +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**addPet**](PetApi.md#addPet) | **POST** /pet | Add a new pet to the store | +| [**deletePet**](PetApi.md#deletePet) | **DELETE** /pet/{petId} | Deletes a pet | +| [**findPetsByStatus**](PetApi.md#findPetsByStatus) | **GET** /pet/findByStatus | Finds Pets by status | +| [**findPetsByTags**](PetApi.md#findPetsByTags) | **GET** /pet/findByTags | Finds Pets by tags | +| [**getPetById**](PetApi.md#getPetById) | **GET** /pet/{petId} | Find pet by ID | +| [**updatePet**](PetApi.md#updatePet) | **PUT** /pet | Update an existing pet | +| [**updatePetWithForm**](PetApi.md#updatePetWithForm) | **POST** /pet/{petId} | Updates a pet in the store with form data | +| [**uploadFile**](PetApi.md#uploadFile) | **POST** /pet/{petId}/uploadImage | uploads an image | @@ -20,11 +20,13 @@ Method | HTTP request | Description Add a new pet to the store + + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **Pet** | [**Pet**](../Models/Pet.md)| Pet object that needs to be added to the store | +|Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **Pet** | [**Pet**](../Models/Pet.md)| Pet object that needs to be added to the store | | ### Return type @@ -45,12 +47,14 @@ Name | Type | Description | Notes Deletes a pet + + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **Long**| Pet id to delete | [default to null] - **api\_key** | **String**| | [optional] [default to null] +|Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **petId** | **Long**| Pet id to delete | [default to null] | +| **api\_key** | **String**| | [optional] [default to null] | ### Return type @@ -75,9 +79,9 @@ Finds Pets by status ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **status** | [**List**](../Models/String.md)| Status values that need to be considered for filter | [default to null] [enum: available, pending, sold] +|Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **status** | [**List**](../Models/String.md)| Status values that need to be considered for filter | [default to null] [enum: available, pending, sold] | ### Return type @@ -102,9 +106,9 @@ Finds Pets by tags ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **tags** | [**List**](../Models/String.md)| Tags to filter by | [default to null] +|Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **tags** | [**List**](../Models/String.md)| Tags to filter by | [default to null] | ### Return type @@ -129,9 +133,9 @@ Find pet by ID ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **Long**| ID of pet to return | [default to null] +|Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **petId** | **Long**| ID of pet to return | [default to null] | ### Return type @@ -152,11 +156,13 @@ Name | Type | Description | Notes Update an existing pet + + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **Pet** | [**Pet**](../Models/Pet.md)| Pet object that needs to be added to the store | +|Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **Pet** | [**Pet**](../Models/Pet.md)| Pet object that needs to be added to the store | | ### Return type @@ -177,13 +183,15 @@ Name | Type | Description | Notes Updates a pet in the store with form data + + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **Long**| ID of pet that needs to be updated | [default to null] - **name** | **String**| Updated name of the pet | [optional] [default to null] - **status** | **String**| Updated status of the pet | [optional] [default to null] +|Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **petId** | **Long**| ID of pet that needs to be updated | [default to null] | +| **name** | **String**| Updated name of the pet | [optional] [default to null] | +| **status** | **String**| Updated status of the pet | [optional] [default to null] | ### Return type @@ -204,13 +212,15 @@ null (empty response body) uploads an image + + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **petId** | **Long**| ID of pet to update | [default to null] - **additionalMetadata** | **String**| Additional data to pass to server | [optional] [default to null] - **file** | **File**| file to upload | [optional] [default to null] +|Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **petId** | **Long**| ID of pet to update | [default to null] | +| **additionalMetadata** | **String**| Additional data to pass to server | [optional] [default to null] | +| **file** | **File**| file to upload | [optional] [default to null] | ### Return type diff --git a/samples/documentation/markdown/Apis/StoreApi.md b/samples/documentation/markdown/Apis/StoreApi.md index 809615dbb5..4797be5c51 100644 --- a/samples/documentation/markdown/Apis/StoreApi.md +++ b/samples/documentation/markdown/Apis/StoreApi.md @@ -2,12 +2,12 @@ All URIs are relative to *http://petstore.swagger.io/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**deleteOrder**](StoreApi.md#deleteOrder) | **DELETE** /store/order/{orderId} | Delete purchase order by ID -[**getInventory**](StoreApi.md#getInventory) | **GET** /store/inventory | Returns pet inventories by status -[**getOrderById**](StoreApi.md#getOrderById) | **GET** /store/order/{orderId} | Find purchase order by ID -[**placeOrder**](StoreApi.md#placeOrder) | **POST** /store/order | Place an order for a pet +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**deleteOrder**](StoreApi.md#deleteOrder) | **DELETE** /store/order/{orderId} | Delete purchase order by ID | +| [**getInventory**](StoreApi.md#getInventory) | **GET** /store/inventory | Returns pet inventories by status | +| [**getOrderById**](StoreApi.md#getOrderById) | **GET** /store/order/{orderId} | Find purchase order by ID | +| [**placeOrder**](StoreApi.md#placeOrder) | **POST** /store/order | Place an order for a pet | @@ -20,9 +20,9 @@ Delete purchase order by ID ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **String**| ID of the order that needs to be deleted | [default to null] +|Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **orderId** | **String**| ID of the order that needs to be deleted | [default to null] | ### Return type @@ -50,7 +50,7 @@ This endpoint does not need any parameter. ### Return type -[**Map**](../Models/integer.md) +**Map** ### Authorization @@ -71,9 +71,9 @@ Find purchase order by ID ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **orderId** | **Long**| ID of pet that needs to be fetched | [default to null] +|Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **orderId** | **Long**| ID of pet that needs to be fetched | [default to null] | ### Return type @@ -94,11 +94,13 @@ No authorization required Place an order for a pet + + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **Order** | [**Order**](../Models/Order.md)| order placed for purchasing the pet | +|Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **Order** | [**Order**](../Models/Order.md)| order placed for purchasing the pet | | ### Return type diff --git a/samples/documentation/markdown/Apis/UserApi.md b/samples/documentation/markdown/Apis/UserApi.md index 2f9caddbec..683599e9c3 100644 --- a/samples/documentation/markdown/Apis/UserApi.md +++ b/samples/documentation/markdown/Apis/UserApi.md @@ -2,16 +2,16 @@ All URIs are relative to *http://petstore.swagger.io/v2* -Method | HTTP request | Description -------------- | ------------- | ------------- -[**createUser**](UserApi.md#createUser) | **POST** /user | Create user -[**createUsersWithArrayInput**](UserApi.md#createUsersWithArrayInput) | **POST** /user/createWithArray | Creates list of users with given input array -[**createUsersWithListInput**](UserApi.md#createUsersWithListInput) | **POST** /user/createWithList | Creates list of users with given input array -[**deleteUser**](UserApi.md#deleteUser) | **DELETE** /user/{username} | Delete user -[**getUserByName**](UserApi.md#getUserByName) | **GET** /user/{username} | Get user by user name -[**loginUser**](UserApi.md#loginUser) | **GET** /user/login | Logs user into the system -[**logoutUser**](UserApi.md#logoutUser) | **GET** /user/logout | Logs out current logged in user session -[**updateUser**](UserApi.md#updateUser) | **PUT** /user/{username} | Updated user +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createUser**](UserApi.md#createUser) | **POST** /user | Create user | +| [**createUsersWithArrayInput**](UserApi.md#createUsersWithArrayInput) | **POST** /user/createWithArray | Creates list of users with given input array | +| [**createUsersWithListInput**](UserApi.md#createUsersWithListInput) | **POST** /user/createWithList | Creates list of users with given input array | +| [**deleteUser**](UserApi.md#deleteUser) | **DELETE** /user/{username} | Delete user | +| [**getUserByName**](UserApi.md#getUserByName) | **GET** /user/{username} | Get user by user name | +| [**loginUser**](UserApi.md#loginUser) | **GET** /user/login | Logs user into the system | +| [**logoutUser**](UserApi.md#logoutUser) | **GET** /user/logout | Logs out current logged in user session | +| [**updateUser**](UserApi.md#updateUser) | **PUT** /user/{username} | Updated user | @@ -24,9 +24,9 @@ Create user ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **User** | [**User**](../Models/User.md)| Created user object | +|Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **User** | [**User**](../Models/User.md)| Created user object | | ### Return type @@ -47,11 +47,13 @@ null (empty response body) Creates list of users with given input array + + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **User** | [**List**](../Models/User.md)| List of user object | +|Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **User** | [**List**](../Models/User.md)| List of user object | | ### Return type @@ -72,11 +74,13 @@ null (empty response body) Creates list of users with given input array + + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **User** | [**List**](../Models/User.md)| List of user object | +|Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **User** | [**List**](../Models/User.md)| List of user object | | ### Return type @@ -101,9 +105,9 @@ Delete user ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **String**| The name that needs to be deleted | [default to null] +|Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **username** | **String**| The name that needs to be deleted | [default to null] | ### Return type @@ -124,11 +128,13 @@ null (empty response body) Get user by user name + + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **String**| The name that needs to be fetched. Use user1 for testing. | [default to null] +|Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **username** | **String**| The name that needs to be fetched. Use user1 for testing. | [default to null] | ### Return type @@ -149,16 +155,18 @@ No authorization required Logs user into the system + + ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **String**| The user name for login | [default to null] - **password** | **String**| The password for login in clear text | [default to null] +|Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **username** | **String**| The user name for login | [default to null] | +| **password** | **String**| The password for login in clear text | [default to null] | ### Return type -[**String**](../Models/string.md) +**String** ### Authorization @@ -175,6 +183,8 @@ No authorization required Logs out current logged in user session + + ### Parameters This endpoint does not need any parameter. @@ -201,10 +211,10 @@ Updated user ### Parameters -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **username** | **String**| name that need to be deleted | [default to null] - **User** | [**User**](../Models/User.md)| Updated user object | +|Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **username** | **String**| name that need to be deleted | [default to null] | +| **User** | [**User**](../Models/User.md)| Updated user object | | ### Return type diff --git a/samples/documentation/markdown/Models/ApiResponse.md b/samples/documentation/markdown/Models/ApiResponse.md index b71399acbf..a0478f654b 100644 --- a/samples/documentation/markdown/Models/ApiResponse.md +++ b/samples/documentation/markdown/Models/ApiResponse.md @@ -1,11 +1,11 @@ # ApiResponse ## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**code** | [**Integer**](integer.md) | | [optional] [default to null] -**type** | [**String**](string.md) | | [optional] [default to null] -**message** | [**String**](string.md) | | [optional] [default to null] +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **code** | **Integer** | | [optional] [default to null] | +| **type** | **String** | | [optional] [default to null] | +| **message** | **String** | | [optional] [default to null] | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/documentation/markdown/Models/Category.md b/samples/documentation/markdown/Models/Category.md index 4c5a23ddc6..e105af1752 100644 --- a/samples/documentation/markdown/Models/Category.md +++ b/samples/documentation/markdown/Models/Category.md @@ -1,10 +1,10 @@ # Category ## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | [**Long**](long.md) | | [optional] [default to null] -**name** | [**String**](string.md) | | [optional] [default to null] +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **Long** | | [optional] [default to null] | +| **name** | **String** | | [optional] [default to null] | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/documentation/markdown/Models/InlineObject.md b/samples/documentation/markdown/Models/InlineObject.md deleted file mode 100644 index 560963c5b9..0000000000 --- a/samples/documentation/markdown/Models/InlineObject.md +++ /dev/null @@ -1,10 +0,0 @@ -# InlineObject -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**name** | [**String**](string.md) | Updated name of the pet | [optional] [default to null] -**status** | [**String**](string.md) | Updated status of the pet | [optional] [default to null] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - diff --git a/samples/documentation/markdown/Models/InlineObject1.md b/samples/documentation/markdown/Models/InlineObject1.md deleted file mode 100644 index 612ac2abbb..0000000000 --- a/samples/documentation/markdown/Models/InlineObject1.md +++ /dev/null @@ -1,10 +0,0 @@ -# InlineObject1 -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**additionalMetadata** | [**String**](string.md) | Additional data to pass to server | [optional] [default to null] -**file** | [**File**](file.md) | file to upload | [optional] [default to null] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - diff --git a/samples/documentation/markdown/Models/Order.md b/samples/documentation/markdown/Models/Order.md index 1aa5a35d84..c20ad8f519 100644 --- a/samples/documentation/markdown/Models/Order.md +++ b/samples/documentation/markdown/Models/Order.md @@ -1,14 +1,14 @@ # Order ## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | [**Long**](long.md) | | [optional] [default to null] -**petId** | [**Long**](long.md) | | [optional] [default to null] -**quantity** | [**Integer**](integer.md) | | [optional] [default to null] -**shipDate** | [**Date**](DateTime.md) | | [optional] [default to null] -**status** | [**String**](string.md) | Order Status | [optional] [default to null] -**complete** | [**Boolean**](boolean.md) | | [optional] [default to false] +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **Long** | | [optional] [default to null] | +| **petId** | **Long** | | [optional] [default to null] | +| **quantity** | **Integer** | | [optional] [default to null] | +| **shipDate** | **Date** | | [optional] [default to null] | +| **status** | **String** | Order Status | [optional] [default to null] | +| **complete** | **Boolean** | | [optional] [default to false] | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/documentation/markdown/Models/Pet.md b/samples/documentation/markdown/Models/Pet.md index d00d70ef39..dec1f60914 100644 --- a/samples/documentation/markdown/Models/Pet.md +++ b/samples/documentation/markdown/Models/Pet.md @@ -1,14 +1,14 @@ # Pet ## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | [**Long**](long.md) | | [optional] [default to null] -**category** | [**Category**](Category.md) | | [optional] [default to null] -**name** | [**String**](string.md) | | [default to null] -**photoUrls** | [**List**](string.md) | | [default to null] -**tags** | [**List**](Tag.md) | | [optional] [default to null] -**status** | [**String**](string.md) | pet status in the store | [optional] [default to null] +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **Long** | | [optional] [default to null] | +| **category** | [**Category**](Category.md) | | [optional] [default to null] | +| **name** | **String** | | [default to null] | +| **photoUrls** | **List** | | [default to null] | +| **tags** | [**List**](Tag.md) | | [optional] [default to null] | +| **status** | **String** | pet status in the store | [optional] [default to null] | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/documentation/markdown/Models/Tag.md b/samples/documentation/markdown/Models/Tag.md index 07bd207ed3..99d29433a5 100644 --- a/samples/documentation/markdown/Models/Tag.md +++ b/samples/documentation/markdown/Models/Tag.md @@ -1,10 +1,10 @@ # Tag ## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | [**Long**](long.md) | | [optional] [default to null] -**name** | [**String**](string.md) | | [optional] [default to null] +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **Long** | | [optional] [default to null] | +| **name** | **String** | | [optional] [default to null] | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/documentation/markdown/Models/User.md b/samples/documentation/markdown/Models/User.md index 8fe2d5041c..4de4ce0347 100644 --- a/samples/documentation/markdown/Models/User.md +++ b/samples/documentation/markdown/Models/User.md @@ -1,16 +1,16 @@ # User ## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | [**Long**](long.md) | | [optional] [default to null] -**username** | [**String**](string.md) | | [optional] [default to null] -**firstName** | [**String**](string.md) | | [optional] [default to null] -**lastName** | [**String**](string.md) | | [optional] [default to null] -**email** | [**String**](string.md) | | [optional] [default to null] -**password** | [**String**](string.md) | | [optional] [default to null] -**phone** | [**String**](string.md) | | [optional] [default to null] -**userStatus** | [**Integer**](integer.md) | User Status | [optional] [default to null] +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **Long** | | [optional] [default to null] | +| **username** | **String** | | [optional] [default to null] | +| **firstName** | **String** | | [optional] [default to null] | +| **lastName** | **String** | | [optional] [default to null] | +| **email** | **String** | | [optional] [default to null] | +| **password** | **String** | | [optional] [default to null] | +| **phone** | **String** | | [optional] [default to null] | +| **userStatus** | **Integer** | User Status | [optional] [default to null] | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/documentation/markdown/README.md b/samples/documentation/markdown/README.md index 2def95fc81..f4c2d5dbcd 100644 --- a/samples/documentation/markdown/README.md +++ b/samples/documentation/markdown/README.md @@ -5,28 +5,28 @@ All URIs are relative to *http://petstore.swagger.io/v2* -Class | Method | HTTP request | Description ------------- | ------------- | ------------- | ------------- -*PetApi* | [**addPet**](Apis/PetApi.md#addpet) | **POST** /pet | Add a new pet to the store -*PetApi* | [**deletePet**](Apis/PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet -*PetApi* | [**findPetsByStatus**](Apis/PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status -*PetApi* | [**findPetsByTags**](Apis/PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags -*PetApi* | [**getPetById**](Apis/PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID -*PetApi* | [**updatePet**](Apis/PetApi.md#updatepet) | **PUT** /pet | Update an existing pet -*PetApi* | [**updatePetWithForm**](Apis/PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data -*PetApi* | [**uploadFile**](Apis/PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image -*StoreApi* | [**deleteOrder**](Apis/StoreApi.md#deleteorder) | **DELETE** /store/order/{orderId} | Delete purchase order by ID -*StoreApi* | [**getInventory**](Apis/StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status -*StoreApi* | [**getOrderById**](Apis/StoreApi.md#getorderbyid) | **GET** /store/order/{orderId} | Find purchase order by ID -*StoreApi* | [**placeOrder**](Apis/StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet -*UserApi* | [**createUser**](Apis/UserApi.md#createuser) | **POST** /user | Create user -*UserApi* | [**createUsersWithArrayInput**](Apis/UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array -*UserApi* | [**createUsersWithListInput**](Apis/UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array -*UserApi* | [**deleteUser**](Apis/UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user -*UserApi* | [**getUserByName**](Apis/UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name -*UserApi* | [**loginUser**](Apis/UserApi.md#loginuser) | **GET** /user/login | Logs user into the system -*UserApi* | [**logoutUser**](Apis/UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session -*UserApi* | [**updateUser**](Apis/UserApi.md#updateuser) | **PUT** /user/{username} | Updated user +| Class | Method | HTTP request | Description | +|------------ | ------------- | ------------- | -------------| +| *PetApi* | [**addPet**](Apis/PetApi.md#addpet) | **POST** /pet | Add a new pet to the store | +*PetApi* | [**deletePet**](Apis/PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet | +*PetApi* | [**findPetsByStatus**](Apis/PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status | +*PetApi* | [**findPetsByTags**](Apis/PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags | +*PetApi* | [**getPetById**](Apis/PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID | +*PetApi* | [**updatePet**](Apis/PetApi.md#updatepet) | **PUT** /pet | Update an existing pet | +*PetApi* | [**updatePetWithForm**](Apis/PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data | +*PetApi* | [**uploadFile**](Apis/PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image | +| *StoreApi* | [**deleteOrder**](Apis/StoreApi.md#deleteorder) | **DELETE** /store/order/{orderId} | Delete purchase order by ID | +*StoreApi* | [**getInventory**](Apis/StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status | +*StoreApi* | [**getOrderById**](Apis/StoreApi.md#getorderbyid) | **GET** /store/order/{orderId} | Find purchase order by ID | +*StoreApi* | [**placeOrder**](Apis/StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet | +| *UserApi* | [**createUser**](Apis/UserApi.md#createuser) | **POST** /user | Create user | +*UserApi* | [**createUsersWithArrayInput**](Apis/UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array | +*UserApi* | [**createUsersWithListInput**](Apis/UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array | +*UserApi* | [**deleteUser**](Apis/UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user | +*UserApi* | [**getUserByName**](Apis/UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name | +*UserApi* | [**loginUser**](Apis/UserApi.md#loginuser) | **GET** /user/login | Logs user into the system | +*UserApi* | [**logoutUser**](Apis/UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session | +*UserApi* | [**updateUser**](Apis/UserApi.md#updateuser) | **PUT** /user/{username} | Updated user | @@ -34,8 +34,6 @@ Class | Method | HTTP request | Description - [ApiResponse](./Models/ApiResponse.md) - [Category](./Models/Category.md) - - [InlineObject](./Models/InlineObject.md) - - [InlineObject1](./Models/InlineObject1.md) - [Order](./Models/Order.md) - [Pet](./Models/Pet.md) - [Tag](./Models/Tag.md) From cb1ba178770851f1dda495dd1671f827fd381a9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Duchaussois?= Date: Wed, 6 Jul 2022 11:25:15 +0200 Subject: [PATCH 144/212] Rust: fix for required nullable input (#12485) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Gaëtan Duchaussois --- .../src/main/resources/rust/reqwest/api.mustache | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/openapi-generator/src/main/resources/rust/reqwest/api.mustache b/modules/openapi-generator/src/main/resources/rust/reqwest/api.mustache index 906469ef73..e718dec2b3 100644 --- a/modules/openapi-generator/src/main/resources/rust/reqwest/api.mustache +++ b/modules/openapi-generator/src/main/resources/rust/reqwest/api.mustache @@ -108,7 +108,14 @@ pub {{#supportAsync}}async {{/supportAsync}}fn {{{operationId}}}(configuration: }; {{/isArray}} {{^isArray}} + {{^isNullable}} local_var_req_builder = local_var_req_builder.query(&[("{{{baseName}}}", &{{{paramName}}}.to_string())]); + {{/isNullable}} + {{#isNullable}} + if let Some(ref local_var_str) = {{{paramName}}} { + local_var_req_builder = local_var_req_builder.query(&[("{{{baseName}}}", &local_var_str.to_string())]); + }; + {{/isNullable}} {{/isArray}} {{/required}} {{^required}} From 728c80abeaf4cc704c1ae9875900a23e35fa42ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=20B=C3=A4rwinkel?= Date: Wed, 6 Jul 2022 19:13:06 +0200 Subject: [PATCH 145/212] Add option to use custom a monad (#12618) --- docs/generators/haskell.md | 1 + .../languages/HaskellServantCodegen.java | 6 ++++++ .../resources/haskell-servant/API.mustache | 19 +++++++++++-------- .../HaskellServantOptionsProvider.java | 1 + .../lib/OpenAPIPetstore/API.hs | 4 ++-- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/docs/generators/haskell.md b/docs/generators/haskell.md index 47b891a1eb..59cef6a6bd 100644 --- a/docs/generators/haskell.md +++ b/docs/generators/haskell.md @@ -29,6 +29,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl |serveStatic|serve will serve files from the directory 'static'.| |true| |sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true| |sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true| +|useCustomMonad|use a custom monad instead of the default Handler| |false| ## IMPORT MAPPING diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java index 97c1cbf77a..b4e91b2a5a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java @@ -49,6 +49,10 @@ public class HaskellServantCodegen extends DefaultCodegen implements CodegenConf public static final String PROP_SERVE_STATIC_DESC = "serve will serve files from the directory 'static'."; public static final Boolean PROP_SERVE_STATIC_DEFAULT = Boolean.TRUE; + public static final String USE_CUSTOM_MONAD = "useCustomMonad"; + public static final String USE_CUSTOM_MONAD_DESC = "use a custom monad instead of the default Handler"; + public static final Boolean USE_CUSTOM_MONAD_DEFAULT = Boolean.FALSE; + /** * Configures the type of generator. * @@ -214,6 +218,7 @@ public class HaskellServantCodegen extends DefaultCodegen implements CodegenConf cliOptions.add(new CliOption(CodegenConstants.MODEL_PACKAGE, CodegenConstants.MODEL_PACKAGE_DESC)); cliOptions.add(new CliOption(CodegenConstants.API_PACKAGE, CodegenConstants.API_PACKAGE_DESC)); cliOptions.add(new CliOption(PROP_SERVE_STATIC, PROP_SERVE_STATIC_DESC).defaultValue(PROP_SERVE_STATIC_DEFAULT.toString())); + cliOptions.add(new CliOption(USE_CUSTOM_MONAD, USE_CUSTOM_MONAD_DESC).defaultValue(USE_CUSTOM_MONAD_DEFAULT.toString())); } public void setBooleanProperty(String property, Boolean defaultValue) { @@ -233,6 +238,7 @@ public class HaskellServantCodegen extends DefaultCodegen implements CodegenConf } setBooleanProperty(PROP_SERVE_STATIC, PROP_SERVE_STATIC_DEFAULT); + setBooleanProperty(USE_CUSTOM_MONAD, USE_CUSTOM_MONAD_DEFAULT); } /** diff --git a/modules/openapi-generator/src/main/resources/haskell-servant/API.mustache b/modules/openapi-generator/src/main/resources/haskell-servant/API.mustache index 84f19738f9..67ae8f4d8a 100644 --- a/modules/openapi-generator/src/main/resources/haskell-servant/API.mustache +++ b/modules/openapi-generator/src/main/resources/haskell-servant/API.mustache @@ -6,6 +6,9 @@ {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE OverloadedStrings #-} +{{#useCustomMonad}} +{-# LANGUAGE RankNTypes #-} +{{/useCustomMonad}} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} @@ -78,7 +81,7 @@ import Network.Wai.Middleware.HttpAuth (extractBearerAuth) import Network.Wai.Middleware.HttpAuth (extractBasicAuth) {{/isBasicBasic}} {{/authMethods}} -import Servant (ServerError, serveWithContext{{#hasAuthMethods}}, throwError{{/hasAuthMethods}}) +import Servant (ServerError, serveWithContextT{{#hasAuthMethods}}, throwError{{/hasAuthMethods}}) import Servant.API hiding (addHeader) {{#authMethods}} {{#isBasicBasic}} @@ -284,25 +287,25 @@ requestMiddlewareId a = a -- | Run the {{title}} server at the provided host and port. run{{title}}Server :: (MonadIO m, MonadThrow m) - => Config -> {{#hasAuthMethods}}{{title}}Auth -> {{/hasAuthMethods}}{{title}}Backend {{#hasAuthMethods}}AuthServer {{/hasAuthMethods}}(ExceptT ServerError IO) -> m () -run{{title}}Server config {{#hasAuthMethods}}auth {{/hasAuthMethods}}backend = run{{title}}MiddlewareServer config requestMiddlewareId {{#hasAuthMethods}}auth {{/hasAuthMethods}}backend + => Config -> {{#useCustomMonad}}(forall x . n x -> Handler x) -> {{/useCustomMonad}}{{#hasAuthMethods}}{{title}}Auth -> {{/hasAuthMethods}}{{title}}Backend {{#hasAuthMethods}}AuthServer {{/hasAuthMethods}}{{^useCustomMonad}}(ExceptT ServerError IO){{/useCustomMonad}}{{#useCustomMonad}}n{{/useCustomMonad}} -> m () +run{{title}}Server config {{#useCustomMonad}}nat {{/useCustomMonad}}{{#hasAuthMethods}}auth {{/hasAuthMethods}}backend = run{{title}}MiddlewareServer config requestMiddlewareId {{#useCustomMonad}}nat {{/useCustomMonad}}{{#hasAuthMethods}}auth {{/hasAuthMethods}}backend -- | Run the {{title}} server at the provided host and port. run{{title}}MiddlewareServer :: (MonadIO m, MonadThrow m) - => Config -> Middleware -> {{#hasAuthMethods}}{{title}}Auth -> {{/hasAuthMethods}}{{title}}Backend{{#hasAuthMethods}} AuthServer{{/hasAuthMethods}} (ExceptT ServerError IO) -> m () -run{{title}}MiddlewareServer Config{..} middleware{{#hasAuthMethods}} auth{{/hasAuthMethods}} backend = do + => Config -> Middleware -> {{#useCustomMonad}}(forall x . n x -> Handler x) -> {{/useCustomMonad}}{{#hasAuthMethods}}{{title}}Auth -> {{/hasAuthMethods}}{{title}}Backend{{#hasAuthMethods}} AuthServer{{/hasAuthMethods}} {{^useCustomMonad}}(ExceptT ServerError IO){{/useCustomMonad}}{{#useCustomMonad}}n{{/useCustomMonad}} -> m () +run{{title}}MiddlewareServer Config{..} middleware{{#useCustomMonad}} nat{{/useCustomMonad}}{{#hasAuthMethods}} auth{{/hasAuthMethods}} backend = do url <- parseBaseUrl configUrl let warpSettings = Warp.defaultSettings & Warp.setPort (baseUrlPort url) & Warp.setHost (fromString $ baseUrlHost url) - liftIO $ Warp.runSettings warpSettings $ middleware $ serverWaiApplication{{title}}{{#hasAuthMethods}} auth{{/hasAuthMethods}} backend + liftIO $ Warp.runSettings warpSettings $ middleware $ serverWaiApplication{{title}}{{#useCustomMonad}} nat{{/useCustomMonad}}{{#hasAuthMethods}} auth{{/hasAuthMethods}} backend -- | Plain "Network.Wai" Application for the {{title}} server. -- -- Can be used to implement e.g. tests that call the API without a full webserver. -serverWaiApplication{{title}} :: {{#hasAuthMethods}}{{title}}Auth -> {{/hasAuthMethods}}{{title}}Backend {{#hasAuthMethods}}AuthServer {{/hasAuthMethods}}(ExceptT ServerError IO) -> Application -serverWaiApplication{{title}} {{#hasAuthMethods}}auth {{/hasAuthMethods}}backend = serveWithContext (Proxy :: Proxy {{title}}API) context (serverFromBackend backend) +serverWaiApplication{{title}} :: {{#useCustomMonad}}(forall x . n x -> Handler x) -> {{/useCustomMonad}}{{#hasAuthMethods}}{{title}}Auth -> {{/hasAuthMethods}}{{title}}Backend {{#hasAuthMethods}}AuthServer {{/hasAuthMethods}}{{^useCustomMonad}}(ExceptT ServerError IO){{/useCustomMonad}}{{#useCustomMonad}}n{{/useCustomMonad}} -> Application +serverWaiApplication{{title}} {{#useCustomMonad}}nat {{/useCustomMonad}}{{#hasAuthMethods}}auth {{/hasAuthMethods}}backend = serveWithContextT (Proxy :: Proxy {{title}}API) context {{^useCustomMonad}}id {{/useCustomMonad}}{{#useCustomMonad}}nat {{/useCustomMonad}}(serverFromBackend backend) where context = serverContext{{#hasAuthMethods}} auth{{/hasAuthMethods}} serverFromBackend {{title}}Backend{..} = diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/HaskellServantOptionsProvider.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/HaskellServantOptionsProvider.java index 892a753ce9..b6cb61abc1 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/HaskellServantOptionsProvider.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/HaskellServantOptionsProvider.java @@ -52,6 +52,7 @@ public class HaskellServantOptionsProvider implements OptionsProvider { .put(CodegenConstants.LEGACY_DISCRIMINATOR_BEHAVIOR, "true") .put(CodegenConstants.DISALLOW_ADDITIONAL_PROPERTIES_IF_NOT_PRESENT, "true") .put(CodegenConstants.ENUM_UNKNOWN_DEFAULT_CASE, ENUM_UNKNOWN_DEFAULT_CASE_VALUE) + .put(HaskellServantCodegen.USE_CUSTOM_MONAD, HaskellServantCodegen.USE_CUSTOM_MONAD_DEFAULT.toString()) .build(); } diff --git a/samples/server/petstore/haskell-servant/lib/OpenAPIPetstore/API.hs b/samples/server/petstore/haskell-servant/lib/OpenAPIPetstore/API.hs index bdb6172353..e788e55956 100644 --- a/samples/server/petstore/haskell-servant/lib/OpenAPIPetstore/API.hs +++ b/samples/server/petstore/haskell-servant/lib/OpenAPIPetstore/API.hs @@ -61,7 +61,7 @@ import Network.HTTP.Client.TLS (tlsManagerSettings) import Network.HTTP.Types.Method (methodOptions) import Network.Wai (Middleware, Request, requestHeaders) import qualified Network.Wai.Handler.Warp as Warp -import Servant (ServerError, serveWithContext, throwError) +import Servant (ServerError, serveWithContextT, throwError) import Servant.API hiding (addHeader) import Servant.API.Verbs (StdMethod (..), Verb) import Servant.API.Experimental.Auth (AuthProtect) @@ -308,7 +308,7 @@ runOpenAPIPetstoreMiddlewareServer Config{..} middleware auth backend = do -- -- Can be used to implement e.g. tests that call the API without a full webserver. serverWaiApplicationOpenAPIPetstore :: OpenAPIPetstoreAuth -> OpenAPIPetstoreBackend AuthServer (ExceptT ServerError IO) -> Application -serverWaiApplicationOpenAPIPetstore auth backend = serveWithContext (Proxy :: Proxy OpenAPIPetstoreAPI) context (serverFromBackend backend) +serverWaiApplicationOpenAPIPetstore auth backend = serveWithContextT (Proxy :: Proxy OpenAPIPetstoreAPI) context id (serverFromBackend backend) where context = serverContext auth serverFromBackend OpenAPIPetstoreBackend{..} = From ac9e5954767ffa0b4fff68f39d9602e7c8331424 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=20B=C3=A4rwinkel?= Date: Wed, 6 Jul 2022 19:14:32 +0200 Subject: [PATCH 146/212] 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. --- .../codegen/languages/HaskellServantCodegen.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java index b4e91b2a5a..5bc339d774 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java @@ -576,7 +576,16 @@ public class HaskellServantCodegen extends DefaultCodegen implements CodegenConf if (returnType.indexOf(" ") >= 0) { returnType = "(" + returnType + ")"; } - path.add("Verb '" + op.httpMethod.toUpperCase(Locale.ROOT) + " 200 '[JSON] " + returnType); + + String code = "200"; + for (CodegenResponse r : op.responses) { + if (r.code.matches("2[0-9][0-9]")) { + code = r.code; + break; + } + } + + path.add("Verb '" + op.httpMethod.toUpperCase(Locale.ROOT) + " " + code + " '[JSON] " + returnType); type.add("m " + returnType); op.vendorExtensions.put("x-route-type", joinStrings(" :> ", path)); From 1a44a5284a0bac23fbbb182a79ca0acf56c727b8 Mon Sep 17 00:00:00 2001 From: Thomas Hansen Date: Wed, 6 Jul 2022 19:17:22 +0200 Subject: [PATCH 147/212] [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 --- .../src/main/resources/php/model_generic.mustache | 2 +- .../petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/php/model_generic.mustache b/modules/openapi-generator/src/main/resources/php/model_generic.mustache index c1eeebee80..9f6bdaa649 100644 --- a/modules/openapi-generator/src/main/resources/php/model_generic.mustache +++ b/modules/openapi-generator/src/main/resources/php/model_generic.mustache @@ -346,7 +346,7 @@ class {{classname}} {{#parentSchema}}extends {{{parent}}}{{/parentSchema}}{{^par {{/minimum}} {{#pattern}} if ({{^required}}!is_null(${{name}}) && {{/required}}(!preg_match("{{{pattern}}}", ${{name}}))) { - throw new \InvalidArgumentException("invalid value for ${{name}} when calling {{classname}}.{{operationId}}, must conform to the pattern {{{pattern}}}."); + throw new \InvalidArgumentException("invalid value for \${{name}} when calling {{classname}}.{{operationId}}, must conform to the pattern {{{pattern}}}."); } {{/pattern}} {{#maxItems}} diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php index 4f610fdf95..78f7dc8cce 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php @@ -594,7 +594,7 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable { if (!is_null($string) && (!preg_match("/[a-z]/i", $string))) { - throw new \InvalidArgumentException("invalid value for $string when calling FormatTest., must conform to the pattern /[a-z]/i."); + throw new \InvalidArgumentException("invalid value for \$string when calling FormatTest., must conform to the pattern /[a-z]/i."); } $this->container['string'] = $string; @@ -774,7 +774,7 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable { if (!is_null($pattern_with_digits) && (!preg_match("/^\\d{10}$/", $pattern_with_digits))) { - throw new \InvalidArgumentException("invalid value for $pattern_with_digits when calling FormatTest., must conform to the pattern /^\\d{10}$/."); + throw new \InvalidArgumentException("invalid value for \$pattern_with_digits when calling FormatTest., must conform to the pattern /^\\d{10}$/."); } $this->container['pattern_with_digits'] = $pattern_with_digits; @@ -803,7 +803,7 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable { if (!is_null($pattern_with_digits_and_delimiter) && (!preg_match("/^image_\\d{1,3}$/i", $pattern_with_digits_and_delimiter))) { - throw new \InvalidArgumentException("invalid value for $pattern_with_digits_and_delimiter when calling FormatTest., must conform to the pattern /^image_\\d{1,3}$/i."); + throw new \InvalidArgumentException("invalid value for \$pattern_with_digits_and_delimiter when calling FormatTest., must conform to the pattern /^image_\\d{1,3}$/i."); } $this->container['pattern_with_digits_and_delimiter'] = $pattern_with_digits_and_delimiter; From 42a45e1a1c0effb119c8d1c892c149829183cee4 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Wed, 6 Jul 2022 19:19:16 +0200 Subject: [PATCH 148/212] Gradle Plugin: Clean up Kotlin code (#12720) Fix typos, unused imports and formatting issues. Remove @Supress annotations that are no longer necessary --- .../gradle/plugin/OpenApiGeneratorPlugin.kt | 27 +++--- .../OpenApiGeneratorGenerateExtension.kt | 21 +++-- .../OpenApiGeneratorGeneratorsExtension.kt | 6 +- .../OpenApiGeneratorValidateExtension.kt | 6 +- .../gradle/plugin/tasks/GenerateTask.kt | 28 +++--- .../gradle/plugin/tasks/GeneratorsTask.kt | 1 - .../generator/gradle/plugin/tasks/MetaTask.kt | 53 ++++++------ .../gradle/plugin/tasks/ValidateTask.kt | 7 +- .../src/test/kotlin/GenerateTaskDslTest.kt | 7 +- .../src/test/kotlin/GeneratorsTaskDslTest.kt | 2 +- .../src/test/kotlin/MetaTaskDslTest.kt | 2 +- .../src/test/kotlin/TestBase.kt | 13 ++- .../src/test/kotlin/ValidateTaskDslTest.kt | 86 ++++++++++++------- 13 files changed, 137 insertions(+), 122 deletions(-) diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/OpenApiGeneratorPlugin.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/OpenApiGeneratorPlugin.kt index 7457ccf98b..03cff61a00 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/OpenApiGeneratorPlugin.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/OpenApiGeneratorPlugin.kt @@ -37,27 +37,27 @@ class OpenApiGeneratorPlugin : Plugin { override fun apply(project: Project) { project.run { val meta = extensions.create( - "openApiMeta", - OpenApiGeneratorMetaExtension::class.java, - project + "openApiMeta", + OpenApiGeneratorMetaExtension::class.java, + project ) val validate = extensions.create( - "openApiValidate", - OpenApiGeneratorValidateExtension::class.java, - project + "openApiValidate", + OpenApiGeneratorValidateExtension::class.java, + project ) val generate = extensions.create( - "openApiGenerate", - OpenApiGeneratorGenerateExtension::class.java, - project + "openApiGenerate", + OpenApiGeneratorGenerateExtension::class.java, + project ) val generators = extensions.create( - "openApiGenerators", - OpenApiGeneratorGeneratorsExtension::class.java, - project + "openApiGenerators", + OpenApiGeneratorGeneratorsExtension::class.java, + project ) generate.outputDir.set("$buildDir/generate-resources/main") @@ -89,7 +89,8 @@ class OpenApiGeneratorPlugin : Plugin { register("openApiGenerate", GenerateTask::class.java).configure { group = pluginGroup - description = "Generate code via Open API Tools Generator for Open API 2.0 or 3.x specification documents." + description = + "Generate code via Open API Tools Generator for Open API 2.0 or 3.x specification documents." verbose.set(generate.verbose) validateSpec.set(generate.validateSpec) diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGenerateExtension.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGenerateExtension.kt index 6a5ef25cc0..6fbb11d45d 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGenerateExtension.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGenerateExtension.kt @@ -22,19 +22,18 @@ import org.gradle.kotlin.dsl.mapProperty import org.gradle.kotlin.dsl.property /** - * Gradle project level extension object definition for the generate task + * Gradle project level extension object definition for the `generate` task * * @author Jim Schubert */ open class OpenApiGeneratorGenerateExtension(project: Project) { - /** * The verbosity of generation */ val verbose = project.objects.property() /** - * Whether or not an input specification should be validated upon generation. + * Whether an input specification should be validated upon generation. */ val validateSpec = project.objects.property() @@ -162,17 +161,17 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { val invokerPackage = project.objects.property() /** - * GroupId in generated pom.xml/build.gradle or other build script. Language-specific conversions occur in non-jvm generators. + * GroupId in generated pom.xml/build.gradle.kts or other build script. Language-specific conversions occur in non-jvm generators. */ val groupId = project.objects.property() /** - * ArtifactId in generated pom.xml/build.gradle or other build script. Language-specific conversions occur in non-jvm generators. + * ArtifactId in generated pom.xml/build.gradle.kts or other build script. Language-specific conversions occur in non-jvm generators. */ val id = project.objects.property() /** - * Artifact version in generated pom.xml/build.gradle or other build script. Language-specific conversions occur in non-jvm generators. + * Artifact version in generated pom.xml/build.gradle.kts or other build script. Language-specific conversions occur in non-jvm generators. */ val version = project.objects.property() @@ -247,7 +246,7 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { /** * Defines which supporting files should be generated. This allows you to create a subset of generated files (or none at all). * - * Supporting files are those related to projects/frameworks which may be modified + * Supporting files are those related to `projects/frameworks` which may be modified * by consumers. * * NOTE: Configuring any one of [apiFilesConstrainedTo], [modelFilesConstrainedTo], or [supportingFilesConstrainedTo] results @@ -257,7 +256,7 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { val supportingFilesConstrainedTo = project.objects.listProperty() /** - * Defines whether or not model-related _test_ files should be generated. + * Defines whether model-related _test_ files should be generated. * * This option enables/disables generation of ALL model-related _test_ files. * @@ -267,7 +266,7 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { val generateModelTests = project.objects.property() /** - * Defines whether or not model-related _documentation_ files should be generated. + * Defines whether model-related _documentation_ files should be generated. * * This option enables/disables generation of ALL model-related _documentation_ files. * @@ -277,7 +276,7 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { val generateModelDocumentation = project.objects.property() /** - * Defines whether or not api-related _test_ files should be generated. + * Defines whether api-related _test_ files should be generated. * * This option enables/disables generation of ALL api-related _test_ files. * @@ -287,7 +286,7 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { val generateApiTests = project.objects.property() /** - * Defines whether or not api-related _documentation_ files should be generated. + * Defines whether api-related _documentation_ files should be generated. * * This option enables/disables generation of ALL api-related _documentation_ files. * diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGeneratorsExtension.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGeneratorsExtension.kt index 585eaee884..8f91b1ea34 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGeneratorsExtension.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGeneratorsExtension.kt @@ -17,7 +17,6 @@ package org.openapitools.generator.gradle.plugin.extensions import org.gradle.api.Project -import org.gradle.api.tasks.Internal import org.gradle.kotlin.dsl.listProperty import org.openapitools.codegen.meta.Stability @@ -37,7 +36,6 @@ open class OpenApiGeneratorGeneratorsExtension(project: Project) { } @Suppress("MemberVisibilityCanBePrivate") - fun applyDefaults(){ - include.set(Stability.values().map { s -> s.value() }.filterNot { it == Stability.DEPRECATED.value() }) - } + fun applyDefaults() = + include.set(Stability.values().map { it.value() }.filterNot { it == Stability.DEPRECATED.value() }) } diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorValidateExtension.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorValidateExtension.kt index 72b9fb6bf2..395481456b 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorValidateExtension.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorValidateExtension.kt @@ -31,7 +31,7 @@ open class OpenApiGeneratorValidateExtension(project: Project) { val inputSpec = project.objects.property() /** - * Whether or not to offer recommendations related to the validated specification document. + * Whether to offer recommendations related to the validated specification document. */ val recommend = project.objects.property() @@ -40,7 +40,5 @@ open class OpenApiGeneratorValidateExtension(project: Project) { } @Suppress("MemberVisibilityCanBePrivate") - fun applyDefaults(){ - recommend.set(true) - } + fun applyDefaults() = recommend.set(true) } \ No newline at end of file diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GenerateTask.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GenerateTask.kt index d81ab68d91..2adddbdfcf 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GenerateTask.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GenerateTask.kt @@ -51,7 +51,6 @@ import org.openapitools.codegen.config.GlobalSettings @Suppress("UnstableApiUsage") @CacheableTask open class GenerateTask : DefaultTask() { - /** * The verbosity of generation */ @@ -60,7 +59,7 @@ open class GenerateTask : DefaultTask() { val verbose = project.objects.property() /** - * Whether or not an input specification should be validated upon generation. + * Whether an input specification should be validated upon generation. */ @Optional @Input @@ -248,21 +247,21 @@ open class GenerateTask : DefaultTask() { val invokerPackage = project.objects.property() /** - * GroupId in generated pom.xml/build.gradle or other build script. Language-specific conversions occur in non-jvm generators. + * GroupId in generated pom.xml/build.gradle.kts or other build script. Language-specific conversions occur in non-jvm generators. */ @Optional @Input val groupId = project.objects.property() /** - * ArtifactId in generated pom.xml/build.gradle or other build script. Language-specific conversions occur in non-jvm generators. + * ArtifactId in generated pom.xml/build.gradle.kts or other build script. Language-specific conversions occur in non-jvm generators. */ @Optional @Input val id = project.objects.property() /** - * Artifact version in generated pom.xml/build.gradle or other build script. Language-specific conversions occur in non-jvm generators. + * Artifact version in generated pom.xml/build.gradle.kts or other build script. Language-specific conversions occur in non-jvm generators. */ @Optional @Input @@ -365,7 +364,7 @@ open class GenerateTask : DefaultTask() { /** * Defines which supporting files should be generated. This allows you to create a subset of generated files (or none at all). * - * Supporting files are those related to projects/frameworks which may be modified + * Supporting files are those related to `projects/frameworks` which may be modified * by consumers. * * NOTE: Configuring any one of [apiFilesConstrainedTo], [modelFilesConstrainedTo], or [supportingFilesConstrainedTo] results @@ -377,7 +376,7 @@ open class GenerateTask : DefaultTask() { val supportingFilesConstrainedTo = project.objects.listProperty() /** - * Defines whether or not model-related _test_ files should be generated. + * Defines whether model-related _test_ files should be generated. * * This option enables/disables generation of ALL model-related _test_ files. * @@ -389,7 +388,7 @@ open class GenerateTask : DefaultTask() { val generateModelTests = project.objects.property() /** - * Defines whether or not model-related _documentation_ files should be generated. + * Defines whether model-related _documentation_ files should be generated. * * This option enables/disables generation of ALL model-related _documentation_ files. * @@ -401,7 +400,7 @@ open class GenerateTask : DefaultTask() { val generateModelDocumentation = project.objects.property() /** - * Defines whether or not api-related _test_ files should be generated. + * Defines whether api-related _test_ files should be generated. * * This option enables/disables generation of ALL api-related _test_ files. * @@ -413,7 +412,7 @@ open class GenerateTask : DefaultTask() { val generateApiTests = project.objects.property() /** - * Defines whether or not api-related _documentation_ files should be generated. + * Defines whether api-related _documentation_ files should be generated. * * This option enables/disables generation of ALL api-related _documentation_ files. * @@ -511,7 +510,10 @@ open class GenerateTask : DefaultTask() { } if (supportingFilesConstrainedTo.isPresent && supportingFilesConstrainedTo.get().isNotEmpty()) { - GlobalSettings.setProperty(CodegenConstants.SUPPORTING_FILES, supportingFilesConstrainedTo.get().joinToString(",")) + GlobalSettings.setProperty( + CodegenConstants.SUPPORTING_FILES, + supportingFilesConstrainedTo.get().joinToString(",") + ) } else { GlobalSettings.clearProperty(CodegenConstants.SUPPORTING_FILES) } @@ -748,11 +750,11 @@ open class GenerateTask : DefaultTask() { } val clientOptInput = configurator.toClientOptInput() - val codgenConfig = clientOptInput.config + val codegenConfig = clientOptInput.config if (configOptions.isPresent) { val userSpecifiedConfigOptions = configOptions.get() - codgenConfig.cliOptions().forEach { + codegenConfig.cliOptions().forEach { if (userSpecifiedConfigOptions.containsKey(it.opt)) { clientOptInput.config.additionalProperties()[it.opt] = userSpecifiedConfigOptions[it.opt] } diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GeneratorsTask.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GeneratorsTask.kt index 3960a95de6..12f12ab81c 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GeneratorsTask.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GeneratorsTask.kt @@ -43,7 +43,6 @@ open class GeneratorsTask : DefaultTask() { @get:Internal val include = project.objects.listProperty() - @Suppress("unused") @TaskAction fun doWork() { val generators = CodegenConfigLoader.getAll() diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/MetaTask.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/MetaTask.kt index 0aa49c22cf..8449cd75ed 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/MetaTask.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/MetaTask.kt @@ -44,7 +44,6 @@ import java.nio.charset.Charset */ @CacheableTask open class MetaTask : DefaultTask() { - @get:Input val generatorName = project.objects.property() @@ -54,10 +53,8 @@ open class MetaTask : DefaultTask() { @get:OutputDirectory val outputFolder = project.objects.property() - @Suppress("unused") @TaskAction fun doWork() { - val packageToPath = packageName.get().replace(".", File.separator) val dir = File(outputFolder.get()) val klass = "${generatorName.get().titleCasedTextOnly()}Generator" @@ -73,21 +70,28 @@ open class MetaTask : DefaultTask() { logger.debug("generator class: {}", klass) val supportingFiles = listOf( - SupportingFile("pom.mustache", "", "pom.xml"), - SupportingFile("generatorClass.mustache", dir("src", "main", "java", packageToPath), "$klass.java"), - SupportingFile("README.mustache", "", "README.md"), - SupportingFile("api.template", dir("src", "main", "resources", templateResourceDir), "api.mustache"), - SupportingFile("model.template", dir("src", "main", "resources", templateResourceDir), "model.mustache"), - SupportingFile("myFile.template", dir("src", "main", "resources", templateResourceDir), "myFile.mustache"), - SupportingFile("services.mustache", dir("src", "main", "resources", "META-INF", "services"), CodegenConfig::class.java.canonicalName)) + SupportingFile("pom.mustache", "", "pom.xml"), + SupportingFile("generatorClass.mustache", dir("src", "main", "java", packageToPath), "$klass.java"), + SupportingFile("README.mustache", "", "README.md"), + SupportingFile("api.template", dir("src", "main", "resources", templateResourceDir), "api.mustache"), + SupportingFile("model.template", dir("src", "main", "resources", templateResourceDir), "model.mustache"), + SupportingFile("myFile.template", dir("src", "main", "resources", templateResourceDir), "myFile.mustache"), + SupportingFile( + "services.mustache", + dir("src", "main", "resources", "META-INF", "services"), + CodegenConfig::class.java.canonicalName + ) + ) val currentVersion = CodegenConstants::class.java.`package`.implementationVersion - val data = mapOf("generatorPackage" to packageToPath, - "generatorClass" to klass, - "name" to templateResourceDir, - "fullyQualifiedGeneratorClass" to "${packageName.get()}.$klass", - "openapiGeneratorVersion" to currentVersion) + val data = mapOf( + "generatorPackage" to packageToPath, + "generatorClass" to klass, + "name" to templateResourceDir, + "fullyQualifiedGeneratorClass" to "${packageName.get()}.$klass", + "openapiGeneratorVersion" to currentVersion + ) supportingFiles.map { try { @@ -96,9 +100,9 @@ open class MetaTask : DefaultTask() { val outputFile = File(destinationFolder, it.destinationFilename) val templateProcessor = TemplateManager( - TemplateManagerOptions(false, false), - MustacheEngineAdapter(), - arrayOf(CommonTemplateContentLocator("codegen")) + TemplateManagerOptions(false, false), + MustacheEngineAdapter(), + arrayOf(CommonTemplateContentLocator("codegen")) ) val template = templateProcessor.getFullTemplateContents(it.templateFile) @@ -110,9 +114,9 @@ open class MetaTask : DefaultTask() { if (it.templateFile.endsWith(".mustache")) { formatted = Mustache.compiler() - .withLoader(loader) - .defaultValue("") - .compile(template).execute(data) + .withLoader(loader) + .defaultValue("") + .compile(template).execute(data) } outputFile.writeText(formatted, Charset.forName("UTF8")) @@ -131,11 +135,10 @@ open class MetaTask : DefaultTask() { } private fun String.titleCasedTextOnly(): String = - this.split(Regex("[^a-zA-Z0-9]")).joinToString(separator = "", transform = String::capitalize) + split(Regex("[^a-zA-Z0-9]")).joinToString(separator = "", transform = String::capitalize) private fun String.hyphenatedTextOnly(): String = - this.split(Regex("[^a-zA-Z0-9]")).joinToString(separator = "-", transform = String::toLowerCase) + split(Regex("[^a-zA-Z0-9]")).joinToString(separator = "-", transform = String::toLowerCase) - private fun dir(vararg parts: String): String = - parts.joinToString(separator = File.separator) + private fun dir(vararg parts: String): String = parts.joinToString(separator = File.separator) } diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/ValidateTask.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/ValidateTask.kt index 6f3038e4e2..da442383e0 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/ValidateTask.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/ValidateTask.kt @@ -14,8 +14,6 @@ * limitations under the License. */ -@file:Suppress("UnstableApiUsage") - package org.openapitools.generator.gradle.plugin.tasks import io.swagger.parser.OpenAPIParser @@ -45,7 +43,7 @@ import org.openapitools.codegen.validations.oas.RuleConfiguration * * ./gradlew openApiValidate --input=/path/to/file * - * build.gradle: + * build.gradle.kts: * * openApiMeta { * inputSpec = "path/to/spec.yaml" @@ -62,7 +60,6 @@ open class ValidateTask : DefaultTask() { @Input val recommend = project.objects.property() - @Suppress("unused") @get:Internal @set:Option(option = "input", description = "The input specification.") var input: String? = null @@ -70,7 +67,6 @@ open class ValidateTask : DefaultTask() { inputSpec.set(value) } - @Suppress("unused") @TaskAction fun doWork() { val logger = Logging.getLogger(javaClass) @@ -105,7 +101,6 @@ open class ValidateTask : DefaultTask() { } if (messages.isNotEmpty() || validationResult.errors.isNotEmpty()) { - out.withStyle(StyledTextOutput.Style.Error) out.println("\nSpec is invalid.\nIssues:\n") diff --git a/modules/openapi-generator-gradle-plugin/src/test/kotlin/GenerateTaskDslTest.kt b/modules/openapi-generator-gradle-plugin/src/test/kotlin/GenerateTaskDslTest.kt index 14c8f358f1..4d5a96fd95 100644 --- a/modules/openapi-generator-gradle-plugin/src/test/kotlin/GenerateTaskDslTest.kt +++ b/modules/openapi-generator-gradle-plugin/src/test/kotlin/GenerateTaskDslTest.kt @@ -4,12 +4,13 @@ import org.gradle.testkit.runner.GradleRunner import org.gradle.testkit.runner.TaskOutcome import org.testng.annotations.Test import java.io.File +import java.nio.file.Files.createTempDirectory import kotlin.test.assertEquals import kotlin.test.assertFalse import kotlin.test.assertTrue class GenerateTaskDslTest : TestBase() { - override var temp: File = createTempDir(javaClass.simpleName) + override var temp: File = createTempDirectory(javaClass.simpleName).toFile() private val defaultBuildGradle = """ plugins { @@ -61,7 +62,7 @@ class GenerateTaskDslTest : TestBase() { "build/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt" ).map { val f = File(temp, it) - assertTrue(f.exists() && f.isFile, "An expected file was not generated when invoking the generation.") + assertTrue(f.exists() && f.isFile, "An expected file was not generated when invoking the generation: $f") } assertEquals(TaskOutcome.SUCCESS, result.task(":openApiGenerate")?.outcome, @@ -110,7 +111,7 @@ class GenerateTaskDslTest : TestBase() { "build/java/src/main/java/org/openapitools/example/api/PetsApiClassSuffix.java" ).map { val f = File(temp, it) - assertTrue(f.exists() && f.isFile, "An expected file was not generated when invoking the generation. - " + f) + assertTrue(f.exists() && f.isFile, "An expected file was not generated when invoking the generation. - $f") } assertEquals(TaskOutcome.SUCCESS, result.task(":openApiGenerate")?.outcome, diff --git a/modules/openapi-generator-gradle-plugin/src/test/kotlin/GeneratorsTaskDslTest.kt b/modules/openapi-generator-gradle-plugin/src/test/kotlin/GeneratorsTaskDslTest.kt index f3373fd657..712b3c3c34 100644 --- a/modules/openapi-generator-gradle-plugin/src/test/kotlin/GeneratorsTaskDslTest.kt +++ b/modules/openapi-generator-gradle-plugin/src/test/kotlin/GeneratorsTaskDslTest.kt @@ -27,7 +27,7 @@ class GeneratorsTaskDslTest : TestBase() { .build() // Assert - assertTrue(result.output.contains("The following generators are available:"), "User friendly generator notice is missing.") + assertTrue(result.output.contains("The following generators are available:"), "User-friendly generator notice is missing.") assertTrue(result.output.contains("CLIENT generators:"), "Expected client generator header is missing.") assertTrue(result.output.contains("android"), "Spot-checking listed client generators is missing a client generator.") assertTrue(result.output.contains("SERVER generators:"), "Expected server generator header is missing.") diff --git a/modules/openapi-generator-gradle-plugin/src/test/kotlin/MetaTaskDslTest.kt b/modules/openapi-generator-gradle-plugin/src/test/kotlin/MetaTaskDslTest.kt index 62e600a92e..724b693f5a 100644 --- a/modules/openapi-generator-gradle-plugin/src/test/kotlin/MetaTaskDslTest.kt +++ b/modules/openapi-generator-gradle-plugin/src/test/kotlin/MetaTaskDslTest.kt @@ -34,7 +34,7 @@ class MetaTaskDslTest : TestBase() { .build() // Assert - assertTrue(result.output.contains("Wrote file to"), "User friendly write notice is missing.") + assertTrue(result.output.contains("Wrote file to"), "User-friendly write notice is missing.") // To avoid any OS-specific output causing issues with our stdout comparisons, only compare on expected filenames. listOf( diff --git a/modules/openapi-generator-gradle-plugin/src/test/kotlin/TestBase.kt b/modules/openapi-generator-gradle-plugin/src/test/kotlin/TestBase.kt index 47a1bfba9e..c676686db5 100644 --- a/modules/openapi-generator-gradle-plugin/src/test/kotlin/TestBase.kt +++ b/modules/openapi-generator-gradle-plugin/src/test/kotlin/TestBase.kt @@ -4,27 +4,24 @@ import org.testng.annotations.AfterMethod import org.testng.annotations.BeforeMethod import java.io.File import java.io.InputStream +import java.nio.file.Files.createTempDirectory abstract class TestBase { protected open lateinit var temp: File @BeforeMethod protected fun before() { - temp = createTempDir(javaClass.simpleName) + temp = createTempDirectory(javaClass.simpleName).toFile() temp.deleteOnExit() } @AfterMethod - protected fun after(){ + protected fun after() { temp.deleteRecursively() } - protected fun withProject( - buildContents: String, - projectFiles: Map = mapOf() - ) { - val buildFile = File(temp,"build.gradle") - buildFile.writeText(buildContents) + protected fun withProject(buildContents: String, projectFiles: Map = mapOf()) { + File(temp, "build.gradle").writeText(buildContents) projectFiles.forEach { entry -> val target = File(temp, entry.key) diff --git a/modules/openapi-generator-gradle-plugin/src/test/kotlin/ValidateTaskDslTest.kt b/modules/openapi-generator-gradle-plugin/src/test/kotlin/ValidateTaskDslTest.kt index 94ae68ab3a..1e7f0365f0 100644 --- a/modules/openapi-generator-gradle-plugin/src/test/kotlin/ValidateTaskDslTest.kt +++ b/modules/openapi-generator-gradle-plugin/src/test/kotlin/ValidateTaskDslTest.kt @@ -7,18 +7,20 @@ import org.gradle.util.GradleVersion import org.testng.annotations.DataProvider import org.testng.annotations.Test import java.io.File +import java.nio.file.Files.createTempDirectory import kotlin.test.assertEquals import kotlin.test.assertTrue class ValidateTaskDslTest : TestBase() { - override var temp: File = createTempDir(javaClass.simpleName) + override var temp: File = createTempDirectory(javaClass.simpleName).toFile() @DataProvider(name = "gradle_version_provider") fun gradleVersionProvider(): Array> = arrayOf( arrayOf(null), // uses the version of Gradle used to build the plugin itself arrayOf("5.6.4"), arrayOf("6.9"), - arrayOf("7.0")) + arrayOf("7.0") + ) private fun getGradleRunner(gradleVersion: String?): GradleRunner { val gradleRunner = GradleRunner.create() @@ -33,7 +35,8 @@ class ValidateTaskDslTest : TestBase() { @Test(dataProvider = "gradle_version_provider") fun `openApiValidate should fail on non-file spec`(gradleVersion: String?) { // Arrange - withProject(""" + withProject( + """ | plugins { | id 'org.openapi.generator' | } @@ -41,14 +44,15 @@ class ValidateTaskDslTest : TestBase() { | openApiValidate { | inputSpec = "some_location" | } - """.trimMargin()) + """.trimMargin() + ) // Act val result = getGradleRunner(gradleVersion) - .withProjectDir(temp) - .withArguments("openApiValidate") - .withPluginClasspath() - .buildAndFail() + .withProjectDir(temp) + .withArguments("openApiValidate") + .withPluginClasspath() + .buildAndFail() // Assert val gradleActualVersion = gradleVersion ?: GradleVersion.current().version @@ -59,19 +63,25 @@ class ValidateTaskDslTest : TestBase() { } else { "An input file was expected to be present but it doesn't exist." } - assertTrue(result.output.contains(expectedMessage), "Unexpected/no message presented to the user for a spec pointing to an invalid URI.") - assertEquals(FAILED, result.task(":openApiValidate")?.outcome, - "Expected a failed run, but found ${result.task(":openApiValidate")?.outcome}") + assertTrue( + result.output.contains(expectedMessage), + "Unexpected/no message presented to the user for a spec pointing to an invalid URI." + ) + assertEquals( + FAILED, result.task(":openApiValidate")?.outcome, + "Expected a failed run, but found ${result.task(":openApiValidate")?.outcome}" + ) } @Test(dataProvider = "gradle_version_provider") fun `openApiValidate should succeed on valid spec`(gradleVersion: String?) { // Arrange val projectFiles = mapOf( - "spec.yaml" to javaClass.classLoader.getResourceAsStream("specs/petstore-v3.0.yaml") + "spec.yaml" to javaClass.classLoader.getResourceAsStream("specs/petstore-v3.0.yaml") ) - withProject(""" + withProject( + """ | plugins { | id 'org.openapi.generator' | } @@ -79,28 +89,35 @@ class ValidateTaskDslTest : TestBase() { | openApiValidate { | inputSpec = file("spec.yaml").absolutePath | } - """.trimMargin(), projectFiles) + """.trimMargin(), projectFiles + ) // Act val result = getGradleRunner(gradleVersion) - .withProjectDir(temp) - .withArguments("openApiValidate") - .withPluginClasspath() - .build() + .withProjectDir(temp) + .withArguments("openApiValidate") + .withPluginClasspath() + .build() // Assert - assertTrue(result.output.contains("Spec is valid."), "Unexpected/no message presented to the user for a valid spec.") - assertEquals(SUCCESS, result.task(":openApiValidate")?.outcome, - "Expected a successful run, but found ${result.task(":openApiValidate")?.outcome}") + assertTrue( + result.output.contains("Spec is valid."), + "Unexpected/no message presented to the user for a valid spec." + ) + assertEquals( + SUCCESS, result.task(":openApiValidate")?.outcome, + "Expected a successful run, but found ${result.task(":openApiValidate")?.outcome}" + ) } @Test(dataProvider = "gradle_version_provider") fun `openApiValidate should fail on invalid spec`(gradleVersion: String?) { // Arrange val projectFiles = mapOf( - "spec.yaml" to javaClass.classLoader.getResourceAsStream("specs/petstore-v3.0-invalid.yaml") + "spec.yaml" to javaClass.classLoader.getResourceAsStream("specs/petstore-v3.0-invalid.yaml") ) - withProject(""" + withProject( + """ | plugins { | id 'org.openapi.generator' | } @@ -108,19 +125,24 @@ class ValidateTaskDslTest : TestBase() { | openApiValidate { | inputSpec = file('spec.yaml').absolutePath | } - """.trimMargin(), projectFiles) + """.trimMargin(), projectFiles + ) // Act val result = getGradleRunner(gradleVersion) - .withProjectDir(temp) - .withArguments("openApiValidate") - .withPluginClasspath() - .buildAndFail() + .withProjectDir(temp) + .withArguments("openApiValidate") + .withPluginClasspath() + .buildAndFail() // Assert - assertTrue(result.output.contains("Spec is invalid."), "Unexpected/no message presented to the user for an invalid spec.") - assertEquals(FAILED, result.task(":openApiValidate")?.outcome, - "Expected a failed run, but found ${result.task(":openApiValidate")?.outcome}") + assertTrue( + result.output.contains("Spec is invalid."), + "Unexpected/no message presented to the user for an invalid spec." + ) + assertEquals( + FAILED, result.task(":openApiValidate")?.outcome, + "Expected a failed run, but found ${result.task(":openApiValidate")?.outcome}" + ) } - } From 92a5544ba03fd595dcfc46b572dc23f8bc542837 Mon Sep 17 00:00:00 2001 From: David Miguel Lozano Date: Wed, 6 Jul 2022 19:22:02 +0200 Subject: [PATCH 149/212] Fix model package name import in Dart json_serializable (#12615) --- .../dio/serialization/json_serializable/deserialize.mustache | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/json_serializable/deserialize.mustache b/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/json_serializable/deserialize.mustache index d2cfeea2a0..edb8887328 100644 --- a/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/json_serializable/deserialize.mustache +++ b/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/json_serializable/deserialize.mustache @@ -1,7 +1,7 @@ {{#models}} {{#model}} {{^isEnum}} -import 'package:{{pubName}}/src/model/{{classFilename}}.dart'; +import 'package:{{pubName}}/{{sourceFolder}}/{{modelPackage}}/{{classFilename}}.dart'; {{/isEnum}} {{/model}} {{/models}} From cfebd14c2bb1da219aa75d841658108fb5e14edb Mon Sep 17 00:00:00 2001 From: Oleh Kurpiak Date: Wed, 6 Jul 2022 20:29:55 +0300 Subject: [PATCH 150/212] Handle custom content type example (#12460) --- .../codegen/examples/ExampleGenerator.java | 3 + .../java/spring/SpringCodegenTest.java | 24 ++++++++ .../src/test/resources/bugs/issue_11731.yaml | 59 +++++++++++++++++++ 3 files changed, 86 insertions(+) create mode 100644 modules/openapi-generator/src/test/resources/bugs/issue_11731.yaml diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java index 8b7f64b725..2a62a8cae1 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java @@ -170,6 +170,9 @@ public class ExampleGenerator { kv.put(EXAMPLE, example); output.add(kv); } + } else { + kv.put(EXAMPLE, null); + output.add(kv); } } } else { diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java index 59e2054df3..601b8c0769 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java @@ -1404,6 +1404,30 @@ public class SpringCodegenTest { .bodyContainsLines("super.putSomeMapItem(key, someMapItem);"); } + @Test + public void shouldHandleCustomResponseType_issue11731() throws IOException { + File output = Files.createTempDirectory("test").toFile().getCanonicalFile(); + output.deleteOnExit(); + + OpenAPI openAPI = new OpenAPIParser() + .readLocation("src/test/resources/bugs/issue_11731.yaml", null, new ParseOptions()).getOpenAPI(); + SpringCodegen codegen = new SpringCodegen(); + codegen.setLibrary(SPRING_BOOT); + codegen.setOutputDir(output.getAbsolutePath()); + + ClientOptInput input = new ClientOptInput() + .openAPI(openAPI) + .config(codegen); + + DefaultGenerator generator = new DefaultGenerator(); + Map files = generator.opts(input).generate().stream() + .collect(Collectors.toMap(File::getName, Function.identity())); + + JavaFileAssert.assertThat(files.get("CustomersApi.java")) + .assertMethod("getAllUsingGET1") + .bodyContainsLines("if (mediaType.isCompatibleWith(MediaType.valueOf(\"application/hal+json\"))) {"); + } + @Test public void shouldHandleContentTypeWithSecondWildcardSubtype_issue12457() throws IOException { File output = Files.createTempDirectory("test").toFile().getCanonicalFile(); diff --git a/modules/openapi-generator/src/test/resources/bugs/issue_11731.yaml b/modules/openapi-generator/src/test/resources/bugs/issue_11731.yaml new file mode 100644 index 0000000000..02c62808a1 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/bugs/issue_11731.yaml @@ -0,0 +1,59 @@ +openapi: 3.0.2 +info: + title: Petstore - OpenAPI 3.0 + description: Specification to reproduce issues with mediatypes other than common application/json + termsOfService: http://inss.ch + contact: + email: openapi@inss.ch + license: + name: Apache 2.0 + url: http://www.apache.org/licenses/LICENSE-2.0.html + version: 1.0.0 +servers: +- url: http://localhost:8080/api/v3 + +paths: + /customers: + get: + tags: + - customer-controller + summary: getAll + operationId: getAllUsingGET_1 + responses: + 200: + description: OK + content: + application/hal+json: + schema: + $ref: '#/components/schemas/ResponseObject' + 401: + description: Unauthorized + content: {} + 403: + description: Forbidden + content: {} + 404: + description: Not Found + content: {} + +components: + schemas: + ResponseObject: + required: + - name + - photoUrls + type: object + properties: + id: + type: integer + format: int64 + example: 10 + description: 'Id' + status: + type: string + description: pet status in the store + enum: + - available + - pending + - sold + example: available \ No newline at end of file From dbee2c5a8393142dfb4c70ecf54d1571faf1df52 Mon Sep 17 00:00:00 2001 From: Mikka Date: Sat, 9 Jul 2022 10:06:44 +0200 Subject: [PATCH 151/212] 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. --- modules/openapi-generator-maven-plugin/README.md | 2 +- modules/openapi-generator-maven-plugin/examples/kotlin.xml | 6 +++--- modules/openapi-generator-maven-plugin/examples/spring.xml | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/openapi-generator-maven-plugin/README.md b/modules/openapi-generator-maven-plugin/README.md index 2d28480f1b..f4b3b4c975 100644 --- a/modules/openapi-generator-maven-plugin/README.md +++ b/modules/openapi-generator-maven-plugin/README.md @@ -127,7 +127,7 @@ The `key` and `value` text are any values you'd like to provide for that option. ``` -Not that some of these environment variable options may overwrite or conflict with other options available to the maven plugin. For example, the above `globalProperties` example is equivalent to the following: +Notice that some of these environment variable options may overwrite or conflict with other options available to the maven plugin. For example, the above `globalProperties` example is equivalent to the following: ```xml diff --git a/modules/openapi-generator-maven-plugin/examples/kotlin.xml b/modules/openapi-generator-maven-plugin/examples/kotlin.xml index 7acc69369c..d4b33cdb17 100644 --- a/modules/openapi-generator-maven-plugin/examples/kotlin.xml +++ b/modules/openapi-generator-maven-plugin/examples/kotlin.xml @@ -27,11 +27,11 @@ ${project.basedir}/swagger.yaml - + kotlin - + diff --git a/modules/openapi-generator-maven-plugin/examples/spring.xml b/modules/openapi-generator-maven-plugin/examples/spring.xml index 5c888dc78e..e55add2a3e 100644 --- a/modules/openapi-generator-maven-plugin/examples/spring.xml +++ b/modules/openapi-generator-maven-plugin/examples/spring.xml @@ -32,11 +32,11 @@ ${project.basedir}/swagger.yaml - + spring - + From d364daa5aff8e943e1b1bbc8c83fe3dbcc8c4c50 Mon Sep 17 00:00:00 2001 From: Mikka Date: Sat, 9 Jul 2022 10:10:23 +0200 Subject: [PATCH 152/212] 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 --- modules/openapi-generator-maven-plugin/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator-maven-plugin/README.md b/modules/openapi-generator-maven-plugin/README.md index f4b3b4c975..017dfb3de6 100644 --- a/modules/openapi-generator-maven-plugin/README.md +++ b/modules/openapi-generator-maven-plugin/README.md @@ -55,7 +55,7 @@ mvn clean compile | `templateResourcePath` | `openapi.generator.maven.plugin.templateResourcePath` | directory with mustache templates via resource path. This option will overwrite any option defined in `templateDirectory`. | `engine` | `openapi.generator.maven.plugin.engine` | The name of templating engine to use, "mustache" (default) or "handlebars" (beta) | `auth` | `openapi.generator.maven.plugin.auth` | adds authorization headers when fetching the OpenAPI definitions remotely. Pass in a URL-encoded string of `name:header` with a comma separating multiple values -| `configurationFile` | `openapi.generator.maven.plugin.configurationFile` | Path to separate json configuration file. File content should be in a json format {"optionKey":"optionValue", "optionKey1":"optionValue1"...} Supported options can be different for each language. Run `config-help -g {generator name}` command for language specific config options +| `configurationFile` | `openapi.generator.maven.plugin.configurationFile` | Path to separate json configuration file. File content should be in a json format {"optionKey":"optionValue", "optionKey1":"optionValue1"...} Supported options can be different for each generator. Run `config-help -g {generator name}` command for generator-specific config options | `skipOverwrite` | `openapi.generator.maven.plugin.skipOverwrite` | Specifies if the existing files should be overwritten during the generation. (`false` by default) | `apiPackage` | `openapi.generator.maven.plugin.apiPackage` | the package to use for generated api objects/classes | `modelPackage` | `openapi.generator.maven.plugin.modelPackage` | the package to use for generated model objects/classes @@ -77,7 +77,7 @@ mvn clean compile | `skipValidateSpec` | `openapi.generator.maven.plugin.skipValidateSpec` | Whether or not to skip validating the input spec prior to generation. By default, invalid specifications will result in an error. | `strictSpec` | `openapi.generator.maven.plugin.strictSpec` | Whether or not to treat an input document strictly against the spec. 'MUST' and 'SHALL' wording in OpenAPI spec is strictly adhered to. e.g. when false, no fixes will be applied to documents which pass validation but don't follow the spec. | `generateAliasAsModel` | `openapi.generator.maven.plugin.generateAliasAsModel` | generate alias (array, map) as model -| `configOptions` | N/A | a **map** of language-specific parameters. To show a full list of generator-specified parameters (options), please use `configHelp` (explained below) +| `configOptions` | N/A | a **map** of generator-specific parameters. To show a full list of generator-specified parameters (options), please use `configHelp` (explained below) | `instantiationTypes` | `openapi.generator.maven.plugin.instantiationTypes` | sets instantiation type mappings in the format of type=instantiatedType,type=instantiatedType. For example (in Java): `array=ArrayList,map=HashMap`. In other words array types will get instantiated as ArrayList in generated code. You can also have multiple occurrences of this option | `importMappings` | `openapi.generator.maven.plugin.importMappings` | specifies mappings between a given class and the import that should be used for that class in the format of type=import,type=import. You can also have multiple occurrences of this option | `typeMappings` | `openapi.generator.maven.plugin.typeMappings` | sets mappings between OpenAPI spec types and generated code types in the format of OpenAPIType=generatedType,OpenAPIType=generatedType. For example: `array=List,map=Map,string=String`. You can also have multiple occurrences of this option. To map a specified format, use type+format, e.g. string+password=EncryptedString will map `type: string, format: password` to `EncryptedString`. From a1892b163688d205ee8a44051b59aba3928ec5fc Mon Sep 17 00:00:00 2001 From: thrykol Date: Sat, 9 Jul 2022 06:37:16 -0600 Subject: [PATCH 153/212] 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 --- docs/generators/rust.md | 2 + .../codegen/languages/RustClientCodegen.java | 86 ++++++++- .../src/main/resources/rust/request.rs | 3 + .../codegen/rust/RustClientCodegenTest.java | 178 +++++++++++++++++- 4 files changed, 261 insertions(+), 8 deletions(-) diff --git a/docs/generators/rust.md b/docs/generators/rust.md index 04601e32f8..03303f46ec 100644 --- a/docs/generators/rust.md +++ b/docs/generators/rust.md @@ -18,11 +18,13 @@ These options may be applied as additional-properties (cli) or configOptions (pl | Option | Description | Values | Default | | ------ | ----------- | ------ | ------- | +|bestFitInt|Use best fitting integer type where minimum or maximum is set| |false| |enumNameSuffix|Suffix that will be appended to all enum names.| || |hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true| |library|library template (sub-template) to use.|
    **hyper**
    HTTP client: Hyper.
    **reqwest**
    HTTP client: Reqwest.
    |reqwest| |packageName|Rust package name (convention: lowercase).| |openapi| |packageVersion|Rust package version.| |1.0.0| +|preferUnsignedInt|Prefer unsigned integers where minimum value is >= 0| |false| |supportAsync|If set, generate async function call instead. This option is for 'reqwest' library only| |true| |supportMultipleResponses|If set, return type wraps an enum of all possible 2xx schemas. This option is for 'reqwest' library only| |false| |useSingleRequestParameter|Setting this property to true will generate functions with a single argument containing all API endpoint parameters instead of one argument per parameter.| |false| diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java index 7bcad6fbc5..6e54e1670f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java @@ -39,6 +39,7 @@ import org.slf4j.LoggerFactory; import java.io.File; import java.io.IOException; import java.io.Writer; +import java.math.BigDecimal; import java.util.*; import static org.openapitools.codegen.utils.StringUtils.camelize; @@ -50,6 +51,8 @@ public class RustClientCodegen extends DefaultCodegen implements CodegenConfig { private boolean supportAsync = true; private boolean supportMultipleResponses = false; private boolean withAWSV4Signature = false; + private boolean preferUnsignedInt = false; + private boolean bestFitInt = false; public static final String PACKAGE_NAME = "packageName"; public static final String PACKAGE_VERSION = "packageVersion"; @@ -57,6 +60,8 @@ public class RustClientCodegen extends DefaultCodegen implements CodegenConfig { public static final String REQWEST_LIBRARY = "reqwest"; public static final String SUPPORT_ASYNC = "supportAsync"; public static final String SUPPORT_MULTIPLE_RESPONSES = "supportMultipleResponses"; + public static final String PREFER_UNSIGNED_INT = "preferUnsignedInt"; + public static final String BEST_FIT_INT = "bestFitInt"; protected String packageName = "openapi"; protected String packageVersion = "1.0.0"; @@ -65,6 +70,7 @@ public class RustClientCodegen extends DefaultCodegen implements CodegenConfig { protected String apiFolder = "src/apis"; protected String modelFolder = "src/models"; protected String enumSuffix = ""; // default to empty string for backward compatibility + protected Map unsignedMapping; public CodegenType getTag() { return CodegenType.CLIENT; @@ -174,6 +180,12 @@ public class RustClientCodegen extends DefaultCodegen implements CodegenConfig { typeMapping.put("object", "serde_json::Value"); typeMapping.put("AnyType", "serde_json::Value"); + unsignedMapping = new HashMap<>(); + unsignedMapping.put("i8", "u8"); + unsignedMapping.put("i16", "u16"); + unsignedMapping.put("i32", "u32"); + unsignedMapping.put("i64", "u64"); + // no need for rust //importMapping = new HashMap(); @@ -193,6 +205,10 @@ public class RustClientCodegen extends DefaultCodegen implements CodegenConfig { cliOptions.add(new CliOption(CodegenConstants.ENUM_NAME_SUFFIX, CodegenConstants.ENUM_NAME_SUFFIX_DESC).defaultValue(this.enumSuffix)); cliOptions.add(new CliOption(CodegenConstants.WITH_AWSV4_SIGNATURE_COMMENT, CodegenConstants.WITH_AWSV4_SIGNATURE_COMMENT_DESC, SchemaTypeUtil.BOOLEAN_TYPE) .defaultValue(Boolean.FALSE.toString())); + cliOptions.add(new CliOption(PREFER_UNSIGNED_INT, "Prefer unsigned integers where minimum value is >= 0", SchemaTypeUtil.BOOLEAN_TYPE) + .defaultValue(Boolean.FALSE.toString())); + cliOptions.add(new CliOption(BEST_FIT_INT, "Use best fitting integer type where minimum or maximum is set", SchemaTypeUtil.BOOLEAN_TYPE) + .defaultValue(Boolean.FALSE.toString())); supportedLibraries.put(HYPER_LIBRARY, "HTTP client: Hyper."); supportedLibraries.put(REQWEST_LIBRARY, "HTTP client: Reqwest."); @@ -296,6 +312,16 @@ public class RustClientCodegen extends DefaultCodegen implements CodegenConfig { } writePropertyBack(SUPPORT_MULTIPLE_RESPONSES, getSupportMultipleReturns()); + if (additionalProperties.containsKey(PREFER_UNSIGNED_INT)) { + this.setPreferUnsignedInt(convertPropertyToBoolean(PREFER_UNSIGNED_INT)); + } + writePropertyBack(PREFER_UNSIGNED_INT, getPreferUnsignedInt()); + + if (additionalProperties.containsKey(BEST_FIT_INT)) { + this.setBestFitInt(convertPropertyToBoolean(BEST_FIT_INT)); + } + writePropertyBack(BEST_FIT_INT, getBestFitInt()); + additionalProperties.put(CodegenConstants.PACKAGE_NAME, packageName); additionalProperties.put(CodegenConstants.PACKAGE_VERSION, packageVersion); @@ -360,6 +386,22 @@ public class RustClientCodegen extends DefaultCodegen implements CodegenConfig { this.supportMultipleResponses = supportMultipleResponses; } + public boolean getPreferUnsignedInt() { + return preferUnsignedInt; + } + + public void setPreferUnsignedInt(boolean preferUnsignedInt) { + this.preferUnsignedInt = preferUnsignedInt; + } + + public boolean getBestFitInt() { + return bestFitInt; + } + + public void setBestFitInt(boolean bestFitInt) { + this.bestFitInt = bestFitInt; + } + private boolean getUseSingleRequestParameter() { return useSingleRequestParameter; } @@ -414,7 +456,8 @@ public class RustClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toParamName(String name) { - return toVarName(name); + // $ref appears to be all uppercase which is contrary to rustfmt practice so lowercase parameters + return toVarName(name.toLowerCase(Locale.ROOT)); } @Override @@ -525,10 +568,44 @@ public class RustClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String getSchemaType(Schema p) { String schemaType = super.getSchemaType(p); - if (typeMapping.containsKey(schemaType)) { - return typeMapping.get(schemaType); + String type = typeMapping.getOrDefault(schemaType, schemaType); + + boolean bestFit = convertPropertyToBoolean(BEST_FIT_INT); + boolean unsigned = convertPropertyToBoolean(PREFER_UNSIGNED_INT); + + if (bestFit || unsigned) { + BigDecimal maximum = p.getMaximum(); + BigDecimal minimum = p.getMinimum(); + + try { + if (maximum != null && minimum != null) { + long max = maximum.longValueExact(); + long min = minimum.longValueExact(); + + if (unsigned && bestFit && max <= (Byte.MAX_VALUE * 2) + 1 && min >= 0) { + type = "u8"; + } else if (bestFit && max <= Byte.MAX_VALUE && min >= Byte.MIN_VALUE) { + type = "i8"; + } else if (unsigned && bestFit && max <= (Short.MAX_VALUE * 2) + 1 && min >= 0) { + type = "u16"; + } else if (bestFit && max <= Short.MAX_VALUE && min >= Short.MIN_VALUE) { + type = "i16"; + } else if (unsigned && bestFit && max <= (Integer.MAX_VALUE * 2L) + 1 && min >= 0) { + type = "u32"; + } else if (bestFit && max <= Integer.MAX_VALUE && min >= Integer.MIN_VALUE) { + type = "i32"; + } + } + } catch (ArithmeticException a) { + // no-op; case will be handled in the next if block + } + + if (unsigned && minimum != null && minimum.compareTo(BigDecimal.ZERO) >= 0 && unsignedMapping.containsKey(type)) { + type = unsignedMapping.get(type); + } } - return schemaType; + + return type; } @Override @@ -640,7 +717,6 @@ public class RustClientCodegen extends DefaultCodegen implements CodegenConfig { return input.replace("*/", "*_/").replace("/*", "/_*"); } - @Override public String toEnumValue(String value, String datatype) { if ("int".equals(datatype) || "double".equals(datatype) || "float".equals(datatype)) { diff --git a/modules/openapi-generator/src/main/resources/rust/request.rs b/modules/openapi-generator/src/main/resources/rust/request.rs index 0aa51fa0c5..d530378502 100644 --- a/modules/openapi-generator/src/main/resources/rust/request.rs +++ b/modules/openapi-generator/src/main/resources/rust/request.rs @@ -75,16 +75,19 @@ impl Request { self } + #[allow(unused)] pub fn with_query_param(mut self, basename: String, param: String) -> Self { self.query_params.insert(basename, param); self } + #[allow(unused)] pub fn with_path_param(mut self, basename: String, param: String) -> Self { self.path_params.insert(basename, param); self } + #[allow(unused)] pub fn with_form_param(mut self, basename: String, param: String) -> Self { self.form_params.insert(basename, param); self diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/rust/RustClientCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/rust/RustClientCodegenTest.java index 76bdc94fdd..906e55e515 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/rust/RustClientCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/rust/RustClientCodegenTest.java @@ -17,11 +17,14 @@ package org.openapitools.codegen.rust; +import io.swagger.v3.oas.models.media.IntegerSchema; import org.openapitools.codegen.CodegenConstants; import org.openapitools.codegen.languages.RustClientCodegen; import org.testng.Assert; import org.testng.annotations.Test; +import java.math.BigDecimal; + public class RustClientCodegenTest { @Test @@ -30,17 +33,31 @@ public class RustClientCodegenTest { codegen.processOpts(); Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.TRUE); - Assert.assertEquals(codegen.isHideGenerationTimestamp(), true); + Assert.assertTrue(codegen.isHideGenerationTimestamp()); + + Assert.assertEquals(codegen.additionalProperties().get(RustClientCodegen.PREFER_UNSIGNED_INT), Boolean.FALSE); + Assert.assertFalse(codegen.getPreferUnsignedInt()); + + Assert.assertEquals(codegen.additionalProperties().get(RustClientCodegen.BEST_FIT_INT), Boolean.FALSE); + Assert.assertFalse(codegen.getBestFitInt()); } @Test public void testSettersForConfigValues() throws Exception { final RustClientCodegen codegen = new RustClientCodegen(); codegen.setHideGenerationTimestamp(false); + codegen.setPreferUnsignedInt(true); + codegen.setBestFitInt(true); codegen.processOpts(); Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.FALSE); - Assert.assertEquals(codegen.isHideGenerationTimestamp(), false); + Assert.assertFalse(codegen.isHideGenerationTimestamp()); + + Assert.assertEquals(codegen.additionalProperties().get(RustClientCodegen.PREFER_UNSIGNED_INT), Boolean.TRUE); + Assert.assertTrue(codegen.getPreferUnsignedInt()); + + Assert.assertEquals(codegen.additionalProperties().get(RustClientCodegen.BEST_FIT_INT), Boolean.TRUE); + Assert.assertTrue(codegen.getBestFitInt()); } @Test @@ -50,7 +67,162 @@ public class RustClientCodegenTest { codegen.processOpts(); Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.FALSE); - Assert.assertEquals(codegen.isHideGenerationTimestamp(), false); + Assert.assertFalse(codegen.isHideGenerationTimestamp()); } + @Test + public void testLowercaseParameterName() throws Exception { + final RustClientCodegen codegen = new RustClientCodegen(); + + Assert.assertEquals(codegen.toParamName("TESTING"), "testing"); + } + + @Test + public void testGetSchemaTypeIntegerNoBounds() { + final IntegerSchema s = new IntegerSchema(); + final RustClientCodegen codegen = new RustClientCodegen(); + codegen.setBestFitInt(true); + codegen.processOpts(); + + s.setType("i32"); + + // min and max are null + Assert.assertEquals(codegen.getSchemaType(s), "i32"); + + s.setMinimum(BigDecimal.valueOf(Short.MIN_VALUE)); + + // max is null + Assert.assertEquals(codegen.getSchemaType(s), "i32"); + + s.setMaximum(BigDecimal.valueOf(Short.MAX_VALUE)); + s.setMinimum(null); + + // min is null + Assert.assertEquals(codegen.getSchemaType(s), "i32"); + } + + @Test + public void testGetSchemaTypeI64() { + final IntegerSchema s = new IntegerSchema(); + final RustClientCodegen codegen = new RustClientCodegen(); + codegen.setBestFitInt(true); + codegen.processOpts(); + + s.setType("i64"); + s.setMinimum(BigDecimal.valueOf(Long.MIN_VALUE)); + s.setMaximum(BigDecimal.valueOf(Long.MAX_VALUE)); + + Assert.assertEquals(codegen.getSchemaType(s), "i64"); + } + + @Test + public void testGetSchemaTypeI32() { + final IntegerSchema s = new IntegerSchema(); + final RustClientCodegen codegen = new RustClientCodegen(); + codegen.setBestFitInt(true); + codegen.processOpts(); + + s.setType("i32"); + s.setMinimum(BigDecimal.valueOf(Integer.MIN_VALUE)); + s.setMaximum(BigDecimal.valueOf(Integer.MAX_VALUE)); + + Assert.assertEquals(codegen.getSchemaType(s), "i32"); + } + + @Test + public void testGetSchemaTypeI16() { + final IntegerSchema s = new IntegerSchema(); + final RustClientCodegen codegen = new RustClientCodegen(); + codegen.setBestFitInt(true); + codegen.processOpts(); + + s.setType("i32"); + s.setMinimum(BigDecimal.valueOf(Short.MIN_VALUE)); + s.setMaximum(BigDecimal.valueOf(Short.MAX_VALUE)); + + Assert.assertEquals(codegen.getSchemaType(s), "i16"); + } + + @Test + public void testGetSchemaTypeI8() { + final IntegerSchema s = new IntegerSchema(); + final RustClientCodegen codegen = new RustClientCodegen(); + codegen.setBestFitInt(true); + codegen.processOpts(); + + s.setType("i32"); + s.setMinimum(BigDecimal.valueOf(-128)); + s.setMaximum(BigDecimal.valueOf(127)); + + Assert.assertEquals(codegen.getSchemaType(s), "i8"); + } + + @Test + public void testGetSchemaTypeU64() { + final IntegerSchema s = new IntegerSchema(); + final RustClientCodegen codegen = new RustClientCodegen(); + codegen.setPreferUnsignedInt(true); + codegen.processOpts(); + + s.setType("i64"); + s.setMinimum(BigDecimal.ZERO); + + Assert.assertEquals(codegen.getSchemaType(s), "u64"); + + s.setMaximum(BigDecimal.valueOf(Long.MAX_VALUE).add(BigDecimal.valueOf(Long.MAX_VALUE))); + + Assert.assertEquals(codegen.getSchemaType(s), "u64"); + + s.setMinimum(null); + s.setMaximum(null); + + Assert.assertEquals(codegen.getSchemaType(s), "i64"); + } + + @Test + public void testGetSchemaTypeU32() { + final IntegerSchema s = new IntegerSchema(); + final RustClientCodegen codegen = new RustClientCodegen(); + codegen.setPreferUnsignedInt(true); + codegen.processOpts(); + + s.setType("i32"); + s.setMinimum(BigDecimal.ZERO); + + Assert.assertEquals(codegen.getSchemaType(s), "u32"); + + s.setMaximum(BigDecimal.valueOf(65535)); + + Assert.assertEquals(codegen.getSchemaType(s), "u32"); + } + + @Test + public void testGetSchemaTypeU16() { + final IntegerSchema s = new IntegerSchema(); + final RustClientCodegen codegen = new RustClientCodegen(); + codegen.setBestFitInt(true); + codegen.setPreferUnsignedInt(true); + codegen.processOpts(); + + s.setType("i32"); + s.setMinimum(BigDecimal.ZERO); + s.setMaximum(BigDecimal.valueOf(65535)); + + Assert.assertEquals(codegen.getSchemaType(s), "u16"); + } + + @Test + public void testGetSchemaTypeU8() { + final IntegerSchema s = new IntegerSchema(); + final RustClientCodegen codegen = new RustClientCodegen(); + codegen.setBestFitInt(true); + codegen.setPreferUnsignedInt(true); + codegen.processOpts(); + + s.setType("i32"); + s.setMinimum(BigDecimal.ZERO); + s.setMaximum(BigDecimal.valueOf(255)); + + Assert.assertEquals(codegen.getSchemaType(s), "u8"); + } } From 447fc4a5e96ef09f5a5c199678d498575ba40a44 Mon Sep 17 00:00:00 2001 From: Mikka Date: Sat, 9 Jul 2022 16:29:52 +0200 Subject: [PATCH 154/212] correct description for logToStderr configuration (#12806) --- modules/openapi-generator-maven-plugin/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/openapi-generator-maven-plugin/README.md b/modules/openapi-generator-maven-plugin/README.md index 017dfb3de6..cfa93b506d 100644 --- a/modules/openapi-generator-maven-plugin/README.md +++ b/modules/openapi-generator-maven-plugin/README.md @@ -72,7 +72,7 @@ mvn clean compile | `httpUserAgent` | `openapi.generator.maven.plugin.httpUserAgent` | Sets custom User-Agent header value | `removeOperationIdPrefix` | `openapi.generator.maven.plugin.removeOperationIdPrefix` | remove operationId prefix (e.g. user_getName => getName) | `skipOperationExample` | `openapi.generator.maven.plugin.skipOperationExample` | skip examples defined in the operation -| `logToStderr` | `openapi.generator.maven.plugin.logToStderr` | write all log messages (not just errors) to STDOUT +| `logToStderr` | `openapi.generator.maven.plugin.logToStderr` | write all log messages (not just errors) to STDERR | `enablePostProcessFile` | `openapi.generator.maven.plugin.` | enable file post-processing hook | `skipValidateSpec` | `openapi.generator.maven.plugin.skipValidateSpec` | Whether or not to skip validating the input spec prior to generation. By default, invalid specifications will result in an error. | `strictSpec` | `openapi.generator.maven.plugin.strictSpec` | Whether or not to treat an input document strictly against the spec. 'MUST' and 'SHALL' wording in OpenAPI spec is strictly adhered to. e.g. when false, no fixes will be applied to documents which pass validation but don't follow the spec. From 35c31c129ae35ff46706b30dd0518307a4caab9f Mon Sep 17 00:00:00 2001 From: Justin Black Date: Sat, 9 Jul 2022 17:32:11 -0400 Subject: [PATCH 155/212] Fixes rust sample so CI test will pass (#12817) --- .../rust/hyper/petstore/docs/PetApi.md | 18 +++++------ .../rust/hyper/petstore/docs/StoreApi.md | 8 ++--- .../rust/hyper/petstore/src/apis/pet_api.rs | 26 ++++++++-------- .../rust/hyper/petstore/src/apis/request.rs | 3 ++ .../rust/hyper/petstore/src/apis/store_api.rs | 12 ++++---- .../reqwest/petstore-async/docs/PetApi.md | 18 +++++------ .../reqwest/petstore-async/docs/StoreApi.md | 8 ++--- .../petstore-async/src/apis/pet_api.rs | 30 +++++++++---------- .../petstore-async/src/apis/store_api.rs | 12 ++++---- .../petstore-awsv4signature/docs/PetApi.md | 18 +++++------ .../petstore-awsv4signature/docs/StoreApi.md | 8 ++--- .../src/apis/pet_api.rs | 18 +++++------ .../src/apis/store_api.rs | 8 ++--- .../rust/reqwest/petstore/docs/PetApi.md | 18 +++++------ .../rust/reqwest/petstore/docs/StoreApi.md | 8 ++--- .../rust/reqwest/petstore/src/apis/pet_api.rs | 18 +++++------ .../reqwest/petstore/src/apis/store_api.rs | 8 ++--- 17 files changed, 121 insertions(+), 118 deletions(-) diff --git a/samples/client/petstore/rust/hyper/petstore/docs/PetApi.md b/samples/client/petstore/rust/hyper/petstore/docs/PetApi.md index 7deea32cd8..b94b34a8a3 100644 --- a/samples/client/petstore/rust/hyper/petstore/docs/PetApi.md +++ b/samples/client/petstore/rust/hyper/petstore/docs/PetApi.md @@ -47,7 +47,7 @@ Name | Type | Description | Required | Notes ## delete_pet -> delete_pet(pet_id, api_key) +> delete_pet(petid, api_key) Deletes a pet @@ -57,7 +57,7 @@ Deletes a pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | Pet id to delete | [required] | +**petid** | **i64** | Pet id to delete | [required] | **api_key** | Option<**String**> | | | ### Return type @@ -138,7 +138,7 @@ Name | Type | Description | Required | Notes ## get_pet_by_id -> crate::models::Pet get_pet_by_id(pet_id) +> crate::models::Pet get_pet_by_id(petid) Find pet by ID Returns a single pet @@ -148,7 +148,7 @@ Returns a single pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet to return | [required] | +**petid** | **i64** | ID of pet to return | [required] | ### Return type @@ -198,7 +198,7 @@ Name | Type | Description | Required | Notes ## update_pet_with_form -> update_pet_with_form(pet_id, name, status) +> update_pet_with_form(petid, name, status) Updates a pet in the store with form data @@ -208,7 +208,7 @@ Updates a pet in the store with form data Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet that needs to be updated | [required] | +**petid** | **i64** | ID of pet that needs to be updated | [required] | **name** | Option<**String**> | Updated name of the pet | | **status** | Option<**String**> | Updated status of the pet | | @@ -230,7 +230,7 @@ Name | Type | Description | Required | Notes ## upload_file -> crate::models::ApiResponse upload_file(pet_id, additional_metadata, file) +> crate::models::ApiResponse upload_file(petid, additionalmetadata, file) uploads an image @@ -240,8 +240,8 @@ uploads an image Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet to update | [required] | -**additional_metadata** | Option<**String**> | Additional data to pass to server | | +**petid** | **i64** | ID of pet to update | [required] | +**additionalmetadata** | Option<**String**> | Additional data to pass to server | | **file** | Option<**std::path::PathBuf**> | file to upload | | ### Return type diff --git a/samples/client/petstore/rust/hyper/petstore/docs/StoreApi.md b/samples/client/petstore/rust/hyper/petstore/docs/StoreApi.md index c1f5b5a9c2..9b37fc16da 100644 --- a/samples/client/petstore/rust/hyper/petstore/docs/StoreApi.md +++ b/samples/client/petstore/rust/hyper/petstore/docs/StoreApi.md @@ -13,7 +13,7 @@ Method | HTTP request | Description ## delete_order -> delete_order(order_id) +> delete_order(orderid) Delete purchase order by ID For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors @@ -23,7 +23,7 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or non Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**order_id** | **String** | ID of the order that needs to be deleted | [required] | +**orderid** | **String** | ID of the order that needs to be deleted | [required] | ### Return type @@ -70,7 +70,7 @@ This endpoint does not need any parameter. ## get_order_by_id -> crate::models::Order get_order_by_id(order_id) +> crate::models::Order get_order_by_id(orderid) Find purchase order by ID For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions @@ -80,7 +80,7 @@ For valid response try integer IDs with value <= 5 or > 10. Other values will ge Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**order_id** | **i64** | ID of pet that needs to be fetched | [required] | +**orderid** | **i64** | ID of pet that needs to be fetched | [required] | ### Return type diff --git a/samples/client/petstore/rust/hyper/petstore/src/apis/pet_api.rs b/samples/client/petstore/rust/hyper/petstore/src/apis/pet_api.rs index 019ed347cd..4037e103f5 100644 --- a/samples/client/petstore/rust/hyper/petstore/src/apis/pet_api.rs +++ b/samples/client/petstore/rust/hyper/petstore/src/apis/pet_api.rs @@ -36,13 +36,13 @@ impl PetApiClient pub trait PetApi { fn add_pet(&self, pet: crate::models::Pet) -> Pin>>>; - fn delete_pet(&self, pet_id: i64, api_key: Option<&str>) -> Pin>>>; + fn delete_pet(&self, petid: i64, api_key: Option<&str>) -> Pin>>>; fn find_pets_by_status(&self, status: Vec) -> Pin, Error>>>>; fn find_pets_by_tags(&self, tags: Vec) -> Pin, Error>>>>; - fn get_pet_by_id(&self, pet_id: i64) -> Pin>>>; + fn get_pet_by_id(&self, petid: i64) -> Pin>>>; fn update_pet(&self, pet: crate::models::Pet) -> Pin>>>; - fn update_pet_with_form(&self, pet_id: i64, name: Option<&str>, status: Option<&str>) -> Pin>>>; - fn upload_file(&self, pet_id: i64, additional_metadata: Option<&str>, file: Option) -> Pin>>>; + fn update_pet_with_form(&self, petid: i64, name: Option<&str>, status: Option<&str>) -> Pin>>>; + fn upload_file(&self, petid: i64, additionalmetadata: Option<&str>, file: Option) -> Pin>>>; } implPetApi for PetApiClient @@ -58,11 +58,11 @@ implPetApi for PetApiClient } #[allow(unused_mut)] - fn delete_pet(&self, pet_id: i64, api_key: Option<&str>) -> Pin>>> { + fn delete_pet(&self, petid: i64, api_key: Option<&str>) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::DELETE, "/pet/{petId}".to_string()) .with_auth(__internal_request::Auth::Oauth) ; - req = req.with_path_param("petId".to_string(), pet_id.to_string()); + req = req.with_path_param("petId".to_string(), petid.to_string()); if let Some(param_value) = api_key { req = req.with_header_param("api_key".to_string(), param_value.to_string()); } @@ -92,7 +92,7 @@ implPetApi for PetApiClient } #[allow(unused_mut)] - fn get_pet_by_id(&self, pet_id: i64) -> Pin>>> { + fn get_pet_by_id(&self, petid: i64) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::GET, "/pet/{petId}".to_string()) .with_auth(__internal_request::Auth::ApiKey(__internal_request::ApiKey{ in_header: true, @@ -100,7 +100,7 @@ implPetApi for PetApiClient param_name: "api_key".to_owned(), })) ; - req = req.with_path_param("petId".to_string(), pet_id.to_string()); + req = req.with_path_param("petId".to_string(), petid.to_string()); req.execute(self.configuration.borrow()) } @@ -116,11 +116,11 @@ implPetApi for PetApiClient } #[allow(unused_mut)] - fn update_pet_with_form(&self, pet_id: i64, name: Option<&str>, status: Option<&str>) -> Pin>>> { + fn update_pet_with_form(&self, petid: i64, name: Option<&str>, status: Option<&str>) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::POST, "/pet/{petId}".to_string()) .with_auth(__internal_request::Auth::Oauth) ; - req = req.with_path_param("petId".to_string(), pet_id.to_string()); + req = req.with_path_param("petId".to_string(), petid.to_string()); if let Some(param_value) = name { req = req.with_form_param("name".to_string(), param_value.to_string()); } @@ -133,12 +133,12 @@ implPetApi for PetApiClient } #[allow(unused_mut)] - fn upload_file(&self, pet_id: i64, additional_metadata: Option<&str>, file: Option) -> Pin>>> { + fn upload_file(&self, petid: i64, additionalmetadata: Option<&str>, file: Option) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::POST, "/pet/{petId}/uploadImage".to_string()) .with_auth(__internal_request::Auth::Oauth) ; - req = req.with_path_param("petId".to_string(), pet_id.to_string()); - if let Some(param_value) = additional_metadata { + req = req.with_path_param("petId".to_string(), petid.to_string()); + if let Some(param_value) = additionalmetadata { req = req.with_form_param("additionalMetadata".to_string(), param_value.to_string()); } if let Some(param_value) = file { diff --git a/samples/client/petstore/rust/hyper/petstore/src/apis/request.rs b/samples/client/petstore/rust/hyper/petstore/src/apis/request.rs index 0aa51fa0c5..d530378502 100644 --- a/samples/client/petstore/rust/hyper/petstore/src/apis/request.rs +++ b/samples/client/petstore/rust/hyper/petstore/src/apis/request.rs @@ -75,16 +75,19 @@ impl Request { self } + #[allow(unused)] pub fn with_query_param(mut self, basename: String, param: String) -> Self { self.query_params.insert(basename, param); self } + #[allow(unused)] pub fn with_path_param(mut self, basename: String, param: String) -> Self { self.path_params.insert(basename, param); self } + #[allow(unused)] pub fn with_form_param(mut self, basename: String, param: String) -> Self { self.form_params.insert(basename, param); self diff --git a/samples/client/petstore/rust/hyper/petstore/src/apis/store_api.rs b/samples/client/petstore/rust/hyper/petstore/src/apis/store_api.rs index e4bb563082..0cdf1993ef 100644 --- a/samples/client/petstore/rust/hyper/petstore/src/apis/store_api.rs +++ b/samples/client/petstore/rust/hyper/petstore/src/apis/store_api.rs @@ -35,19 +35,19 @@ impl StoreApiClient } pub trait StoreApi { - fn delete_order(&self, order_id: &str) -> Pin>>>; + fn delete_order(&self, orderid: &str) -> Pin>>>; fn get_inventory(&self, ) -> Pin, Error>>>>; - fn get_order_by_id(&self, order_id: i64) -> Pin>>>; + fn get_order_by_id(&self, orderid: i64) -> Pin>>>; fn place_order(&self, order: crate::models::Order) -> Pin>>>; } implStoreApi for StoreApiClient where C: Clone + std::marker::Send + Sync { #[allow(unused_mut)] - fn delete_order(&self, order_id: &str) -> Pin>>> { + fn delete_order(&self, orderid: &str) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::DELETE, "/store/order/{orderId}".to_string()) ; - req = req.with_path_param("orderId".to_string(), order_id.to_string()); + req = req.with_path_param("orderId".to_string(), orderid.to_string()); req = req.returns_nothing(); req.execute(self.configuration.borrow()) @@ -67,10 +67,10 @@ implStoreApi for StoreApiClient } #[allow(unused_mut)] - fn get_order_by_id(&self, order_id: i64) -> Pin>>> { + fn get_order_by_id(&self, orderid: i64) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::GET, "/store/order/{orderId}".to_string()) ; - req = req.with_path_param("orderId".to_string(), order_id.to_string()); + req = req.with_path_param("orderId".to_string(), orderid.to_string()); req.execute(self.configuration.borrow()) } diff --git a/samples/client/petstore/rust/reqwest/petstore-async/docs/PetApi.md b/samples/client/petstore/rust/reqwest/petstore-async/docs/PetApi.md index 5adc933415..3ac38fd18a 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/docs/PetApi.md +++ b/samples/client/petstore/rust/reqwest/petstore-async/docs/PetApi.md @@ -47,7 +47,7 @@ Name | Type | Description | Required | Notes ## delete_pet -> delete_pet(pet_id, api_key) +> delete_pet(petid, api_key) Deletes a pet @@ -57,7 +57,7 @@ Deletes a pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | Pet id to delete | [required] | +**petid** | **i64** | Pet id to delete | [required] | **api_key** | Option<**String**> | | | ### Return type @@ -138,7 +138,7 @@ Name | Type | Description | Required | Notes ## get_pet_by_id -> crate::models::Pet get_pet_by_id(pet_id) +> crate::models::Pet get_pet_by_id(petid) Find pet by ID Returns a single pet @@ -148,7 +148,7 @@ Returns a single pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet to return | [required] | +**petid** | **i64** | ID of pet to return | [required] | ### Return type @@ -198,7 +198,7 @@ Name | Type | Description | Required | Notes ## update_pet_with_form -> update_pet_with_form(pet_id, name, status) +> update_pet_with_form(petid, name, status) Updates a pet in the store with form data @@ -208,7 +208,7 @@ Updates a pet in the store with form data Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet that needs to be updated | [required] | +**petid** | **i64** | ID of pet that needs to be updated | [required] | **name** | Option<**String**> | Updated name of the pet | | **status** | Option<**String**> | Updated status of the pet | | @@ -230,7 +230,7 @@ Name | Type | Description | Required | Notes ## upload_file -> crate::models::ApiResponse upload_file(pet_id, additional_metadata, file) +> crate::models::ApiResponse upload_file(petid, additionalmetadata, file) uploads an image @@ -240,8 +240,8 @@ uploads an image Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet to update | [required] | -**additional_metadata** | Option<**String**> | Additional data to pass to server | | +**petid** | **i64** | ID of pet to update | [required] | +**additionalmetadata** | Option<**String**> | Additional data to pass to server | | **file** | Option<**std::path::PathBuf**> | file to upload | | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore-async/docs/StoreApi.md b/samples/client/petstore/rust/reqwest/petstore-async/docs/StoreApi.md index a6b3c572cc..364e7f93df 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/docs/StoreApi.md +++ b/samples/client/petstore/rust/reqwest/petstore-async/docs/StoreApi.md @@ -13,7 +13,7 @@ Method | HTTP request | Description ## delete_order -> delete_order(order_id) +> delete_order(orderid) Delete purchase order by ID For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors @@ -23,7 +23,7 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or non Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**order_id** | **String** | ID of the order that needs to be deleted | [required] | +**orderid** | **String** | ID of the order that needs to be deleted | [required] | ### Return type @@ -70,7 +70,7 @@ This endpoint does not need any parameter. ## get_order_by_id -> crate::models::Order get_order_by_id(order_id) +> crate::models::Order get_order_by_id(orderid) Find purchase order by ID For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions @@ -80,7 +80,7 @@ For valid response try integer IDs with value <= 5 or > 10. Other values will ge Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**order_id** | **i64** | ID of pet that needs to be fetched | [required] | +**orderid** | **i64** | ID of pet that needs to be fetched | [required] | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore-async/src/apis/pet_api.rs b/samples/client/petstore/rust/reqwest/petstore-async/src/apis/pet_api.rs index 977d79edcf..a9c0c537ee 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/src/apis/pet_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore-async/src/apis/pet_api.rs @@ -25,7 +25,7 @@ pub struct AddPetParams { #[derive(Clone, Debug, Default)] pub struct DeletePetParams { /// Pet id to delete - pub pet_id: i64, + pub petid: i64, pub api_key: Option } @@ -47,7 +47,7 @@ pub struct FindPetsByTagsParams { #[derive(Clone, Debug, Default)] pub struct GetPetByIdParams { /// ID of pet to return - pub pet_id: i64 + pub petid: i64 } /// struct for passing parameters to the method [`update_pet`] @@ -61,7 +61,7 @@ pub struct UpdatePetParams { #[derive(Clone, Debug, Default)] pub struct UpdatePetWithFormParams { /// ID of pet that needs to be updated - pub pet_id: i64, + pub petid: i64, /// Updated name of the pet pub name: Option, /// Updated status of the pet @@ -72,9 +72,9 @@ pub struct UpdatePetWithFormParams { #[derive(Clone, Debug, Default)] pub struct UploadFileParams { /// ID of pet to update - pub pet_id: i64, + pub petid: i64, /// Additional data to pass to server - pub additional_metadata: Option, + pub additionalmetadata: Option, /// file to upload pub file: Option } @@ -252,13 +252,13 @@ pub async fn delete_pet(configuration: &configuration::Configuration, params: De let local_var_configuration = configuration; // unbox the parameters - let pet_id = params.pet_id; + let petid = params.petid; let api_key = params.api_key; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -375,12 +375,12 @@ pub async fn get_pet_by_id(configuration: &configuration::Configuration, params: let local_var_configuration = configuration; // unbox the parameters - let pet_id = params.pet_id; + let petid = params.petid; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -455,14 +455,14 @@ pub async fn update_pet_with_form(configuration: &configuration::Configuration, let local_var_configuration = configuration; // unbox the parameters - let pet_id = params.pet_id; + let petid = params.petid; let name = params.name; let status = params.status; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -502,14 +502,14 @@ pub async fn upload_file(configuration: &configuration::Configuration, params: U let local_var_configuration = configuration; // unbox the parameters - let pet_id = params.pet_id; - let additional_metadata = params.additional_metadata; + let petid = params.petid; + let additionalmetadata = params.additionalmetadata; let file = params.file; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -519,7 +519,7 @@ pub async fn upload_file(configuration: &configuration::Configuration, params: U local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); }; let mut local_var_form = reqwest::multipart::Form::new(); - if let Some(local_var_param_value) = additional_metadata { + if let Some(local_var_param_value) = additionalmetadata { local_var_form = local_var_form.text("additionalMetadata", local_var_param_value.to_string()); } // TODO: support file upload for 'file' parameter diff --git a/samples/client/petstore/rust/reqwest/petstore-async/src/apis/store_api.rs b/samples/client/petstore/rust/reqwest/petstore-async/src/apis/store_api.rs index 36d090f4f1..40cc7617e9 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/src/apis/store_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore-async/src/apis/store_api.rs @@ -18,14 +18,14 @@ use super::{Error, configuration}; #[derive(Clone, Debug, Default)] pub struct DeleteOrderParams { /// ID of the order that needs to be deleted - pub order_id: String + pub orderid: String } /// struct for passing parameters to the method [`get_order_by_id`] #[derive(Clone, Debug, Default)] pub struct GetOrderByIdParams { /// ID of pet that needs to be fetched - pub order_id: i64 + pub orderid: i64 } /// struct for passing parameters to the method [`place_order`] @@ -106,12 +106,12 @@ pub async fn delete_order(configuration: &configuration::Configuration, params: let local_var_configuration = configuration; // unbox the parameters - let order_id = params.order_id; + let orderid = params.orderid; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(order_id)); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(orderid)); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -181,12 +181,12 @@ pub async fn get_order_by_id(configuration: &configuration::Configuration, param let local_var_configuration = configuration; // unbox the parameters - let order_id = params.order_id; + let orderid = params.orderid; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=order_id); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=orderid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/PetApi.md b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/PetApi.md index 5adc933415..3ac38fd18a 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/PetApi.md +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/PetApi.md @@ -47,7 +47,7 @@ Name | Type | Description | Required | Notes ## delete_pet -> delete_pet(pet_id, api_key) +> delete_pet(petid, api_key) Deletes a pet @@ -57,7 +57,7 @@ Deletes a pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | Pet id to delete | [required] | +**petid** | **i64** | Pet id to delete | [required] | **api_key** | Option<**String**> | | | ### Return type @@ -138,7 +138,7 @@ Name | Type | Description | Required | Notes ## get_pet_by_id -> crate::models::Pet get_pet_by_id(pet_id) +> crate::models::Pet get_pet_by_id(petid) Find pet by ID Returns a single pet @@ -148,7 +148,7 @@ Returns a single pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet to return | [required] | +**petid** | **i64** | ID of pet to return | [required] | ### Return type @@ -198,7 +198,7 @@ Name | Type | Description | Required | Notes ## update_pet_with_form -> update_pet_with_form(pet_id, name, status) +> update_pet_with_form(petid, name, status) Updates a pet in the store with form data @@ -208,7 +208,7 @@ Updates a pet in the store with form data Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet that needs to be updated | [required] | +**petid** | **i64** | ID of pet that needs to be updated | [required] | **name** | Option<**String**> | Updated name of the pet | | **status** | Option<**String**> | Updated status of the pet | | @@ -230,7 +230,7 @@ Name | Type | Description | Required | Notes ## upload_file -> crate::models::ApiResponse upload_file(pet_id, additional_metadata, file) +> crate::models::ApiResponse upload_file(petid, additionalmetadata, file) uploads an image @@ -240,8 +240,8 @@ uploads an image Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet to update | [required] | -**additional_metadata** | Option<**String**> | Additional data to pass to server | | +**petid** | **i64** | ID of pet to update | [required] | +**additionalmetadata** | Option<**String**> | Additional data to pass to server | | **file** | Option<**std::path::PathBuf**> | file to upload | | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/StoreApi.md b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/StoreApi.md index a6b3c572cc..364e7f93df 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/StoreApi.md +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/StoreApi.md @@ -13,7 +13,7 @@ Method | HTTP request | Description ## delete_order -> delete_order(order_id) +> delete_order(orderid) Delete purchase order by ID For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors @@ -23,7 +23,7 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or non Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**order_id** | **String** | ID of the order that needs to be deleted | [required] | +**orderid** | **String** | ID of the order that needs to be deleted | [required] | ### Return type @@ -70,7 +70,7 @@ This endpoint does not need any parameter. ## get_order_by_id -> crate::models::Order get_order_by_id(order_id) +> crate::models::Order get_order_by_id(orderid) Find purchase order by ID For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions @@ -80,7 +80,7 @@ For valid response try integer IDs with value <= 5 or > 10. Other values will ge Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**order_id** | **i64** | ID of pet that needs to be fetched | [required] | +**orderid** | **i64** | ID of pet that needs to be fetched | [required] | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/pet_api.rs b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/pet_api.rs index 653fb343af..0ffae238b2 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/pet_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/pet_api.rs @@ -128,12 +128,12 @@ pub fn add_pet(configuration: &configuration::Configuration, pet: crate::models: } /// -pub fn delete_pet(configuration: &configuration::Configuration, pet_id: i64, api_key: Option<&str>) -> Result<(), Error> { +pub fn delete_pet(configuration: &configuration::Configuration, petid: i64, api_key: Option<&str>) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key { @@ -271,12 +271,12 @@ pub fn find_pets_by_tags(configuration: &configuration::Configuration, tags: Vec } /// Returns a single pet -pub fn get_pet_by_id(configuration: &configuration::Configuration, pet_id: i64) -> Result> { +pub fn get_pet_by_id(configuration: &configuration::Configuration, petid: i64) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key { @@ -365,12 +365,12 @@ pub fn update_pet(configuration: &configuration::Configuration, pet: crate::mode } /// -pub fn update_pet_with_form(configuration: &configuration::Configuration, pet_id: i64, name: Option<&str>, status: Option<&str>) -> Result<(), Error> { +pub fn update_pet_with_form(configuration: &configuration::Configuration, petid: i64, name: Option<&str>, status: Option<&str>) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key { @@ -417,12 +417,12 @@ pub fn update_pet_with_form(configuration: &configuration::Configuration, pet_id } /// -pub fn upload_file(configuration: &configuration::Configuration, pet_id: i64, additional_metadata: Option<&str>, file: Option) -> Result> { +pub fn upload_file(configuration: &configuration::Configuration, petid: i64, additionalmetadata: Option<&str>, file: Option) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key { @@ -445,7 +445,7 @@ pub fn upload_file(configuration: &configuration::Configuration, pet_id: i64, ad local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); }; let mut local_var_form = reqwest::multipart::Form::new(); - if let Some(local_var_param_value) = additional_metadata { + if let Some(local_var_param_value) = additionalmetadata { local_var_form = local_var_form.text("additionalMetadata", local_var_param_value.to_string()); } if let Some(local_var_param_value) = file { diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/store_api.rs b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/store_api.rs index d50a60e411..df2c4e5cc7 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/store_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/store_api.rs @@ -50,12 +50,12 @@ pub enum PlaceOrderError { /// For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors -pub fn delete_order(configuration: &configuration::Configuration, order_id: &str) -> Result<(), Error> { +pub fn delete_order(configuration: &configuration::Configuration, orderid: &str) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(order_id)); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(orderid)); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -127,12 +127,12 @@ pub fn get_inventory(configuration: &configuration::Configuration, ) -> Result<: } /// For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions -pub fn get_order_by_id(configuration: &configuration::Configuration, order_id: i64) -> Result> { +pub fn get_order_by_id(configuration: &configuration::Configuration, orderid: i64) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=order_id); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=orderid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { diff --git a/samples/client/petstore/rust/reqwest/petstore/docs/PetApi.md b/samples/client/petstore/rust/reqwest/petstore/docs/PetApi.md index 5adc933415..3ac38fd18a 100644 --- a/samples/client/petstore/rust/reqwest/petstore/docs/PetApi.md +++ b/samples/client/petstore/rust/reqwest/petstore/docs/PetApi.md @@ -47,7 +47,7 @@ Name | Type | Description | Required | Notes ## delete_pet -> delete_pet(pet_id, api_key) +> delete_pet(petid, api_key) Deletes a pet @@ -57,7 +57,7 @@ Deletes a pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | Pet id to delete | [required] | +**petid** | **i64** | Pet id to delete | [required] | **api_key** | Option<**String**> | | | ### Return type @@ -138,7 +138,7 @@ Name | Type | Description | Required | Notes ## get_pet_by_id -> crate::models::Pet get_pet_by_id(pet_id) +> crate::models::Pet get_pet_by_id(petid) Find pet by ID Returns a single pet @@ -148,7 +148,7 @@ Returns a single pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet to return | [required] | +**petid** | **i64** | ID of pet to return | [required] | ### Return type @@ -198,7 +198,7 @@ Name | Type | Description | Required | Notes ## update_pet_with_form -> update_pet_with_form(pet_id, name, status) +> update_pet_with_form(petid, name, status) Updates a pet in the store with form data @@ -208,7 +208,7 @@ Updates a pet in the store with form data Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet that needs to be updated | [required] | +**petid** | **i64** | ID of pet that needs to be updated | [required] | **name** | Option<**String**> | Updated name of the pet | | **status** | Option<**String**> | Updated status of the pet | | @@ -230,7 +230,7 @@ Name | Type | Description | Required | Notes ## upload_file -> crate::models::ApiResponse upload_file(pet_id, additional_metadata, file) +> crate::models::ApiResponse upload_file(petid, additionalmetadata, file) uploads an image @@ -240,8 +240,8 @@ uploads an image Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet to update | [required] | -**additional_metadata** | Option<**String**> | Additional data to pass to server | | +**petid** | **i64** | ID of pet to update | [required] | +**additionalmetadata** | Option<**String**> | Additional data to pass to server | | **file** | Option<**std::path::PathBuf**> | file to upload | | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore/docs/StoreApi.md b/samples/client/petstore/rust/reqwest/petstore/docs/StoreApi.md index a6b3c572cc..364e7f93df 100644 --- a/samples/client/petstore/rust/reqwest/petstore/docs/StoreApi.md +++ b/samples/client/petstore/rust/reqwest/petstore/docs/StoreApi.md @@ -13,7 +13,7 @@ Method | HTTP request | Description ## delete_order -> delete_order(order_id) +> delete_order(orderid) Delete purchase order by ID For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors @@ -23,7 +23,7 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or non Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**order_id** | **String** | ID of the order that needs to be deleted | [required] | +**orderid** | **String** | ID of the order that needs to be deleted | [required] | ### Return type @@ -70,7 +70,7 @@ This endpoint does not need any parameter. ## get_order_by_id -> crate::models::Order get_order_by_id(order_id) +> crate::models::Order get_order_by_id(orderid) Find purchase order by ID For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions @@ -80,7 +80,7 @@ For valid response try integer IDs with value <= 5 or > 10. Other values will ge Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**order_id** | **i64** | ID of pet that needs to be fetched | [required] | +**orderid** | **i64** | ID of pet that needs to be fetched | [required] | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore/src/apis/pet_api.rs b/samples/client/petstore/rust/reqwest/petstore/src/apis/pet_api.rs index f44a38d609..88cba2e99d 100644 --- a/samples/client/petstore/rust/reqwest/petstore/src/apis/pet_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore/src/apis/pet_api.rs @@ -115,12 +115,12 @@ pub fn add_pet(configuration: &configuration::Configuration, pet: crate::models: } /// -pub fn delete_pet(configuration: &configuration::Configuration, pet_id: i64, api_key: Option<&str>) -> Result<(), Error> { +pub fn delete_pet(configuration: &configuration::Configuration, petid: i64, api_key: Option<&str>) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -219,12 +219,12 @@ pub fn find_pets_by_tags(configuration: &configuration::Configuration, tags: Vec } /// Returns a single pet -pub fn get_pet_by_id(configuration: &configuration::Configuration, pet_id: i64) -> Result> { +pub fn get_pet_by_id(configuration: &configuration::Configuration, petid: i64) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -287,12 +287,12 @@ pub fn update_pet(configuration: &configuration::Configuration, pet: crate::mode } /// -pub fn update_pet_with_form(configuration: &configuration::Configuration, pet_id: i64, name: Option<&str>, status: Option<&str>) -> Result<(), Error> { +pub fn update_pet_with_form(configuration: &configuration::Configuration, petid: i64, name: Option<&str>, status: Option<&str>) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -326,12 +326,12 @@ pub fn update_pet_with_form(configuration: &configuration::Configuration, pet_id } /// -pub fn upload_file(configuration: &configuration::Configuration, pet_id: i64, additional_metadata: Option<&str>, file: Option) -> Result> { +pub fn upload_file(configuration: &configuration::Configuration, petid: i64, additionalmetadata: Option<&str>, file: Option) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -341,7 +341,7 @@ pub fn upload_file(configuration: &configuration::Configuration, pet_id: i64, ad local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); }; let mut local_var_form = reqwest::multipart::Form::new(); - if let Some(local_var_param_value) = additional_metadata { + if let Some(local_var_param_value) = additionalmetadata { local_var_form = local_var_form.text("additionalMetadata", local_var_param_value.to_string()); } if let Some(local_var_param_value) = file { diff --git a/samples/client/petstore/rust/reqwest/petstore/src/apis/store_api.rs b/samples/client/petstore/rust/reqwest/petstore/src/apis/store_api.rs index f142404c3f..bcc69cc560 100644 --- a/samples/client/petstore/rust/reqwest/petstore/src/apis/store_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore/src/apis/store_api.rs @@ -50,12 +50,12 @@ pub enum PlaceOrderError { /// For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors -pub fn delete_order(configuration: &configuration::Configuration, order_id: &str) -> Result<(), Error> { +pub fn delete_order(configuration: &configuration::Configuration, orderid: &str) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(order_id)); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(orderid)); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -114,12 +114,12 @@ pub fn get_inventory(configuration: &configuration::Configuration, ) -> Result<: } /// For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions -pub fn get_order_by_id(configuration: &configuration::Configuration, order_id: i64) -> Result> { +pub fn get_order_by_id(configuration: &configuration::Configuration, orderid: i64) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=order_id); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=orderid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { From d6b360d47f2039c5a917ca86017c57eb91497c16 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Sat, 9 Jul 2022 18:06:09 -0400 Subject: [PATCH 156/212] [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 --- .../PythonExperimentalClientCodegen.java | 5 +- .../enum_value_to_name.handlebars | 2 +- .../model_templates/enums.handlebars | 2 +- .../imports_schema_types.handlebars | 2 + .../schema_composed_or_anytype.handlebars | 2 +- .../python-experimental/schemas.handlebars | 746 ++++++++---------- .../docs/EnumWithFalseDoesNotMatch0.md | 2 +- .../docs/EnumWithTrueDoesNotMatch1.md | 2 +- ...s_allows_a_schema_which_should_validate.py | 2 + ...tionalproperties_are_allowed_by_default.py | 2 + ...dditionalproperties_can_exist_by_itself.py | 2 + ...operties_should_not_look_in_applicators.py | 2 + .../model/array_type_matches_arrays.py | 2 + .../model/boolean_type_matches_booleans.py | 2 + .../unit_test_api/model/by_int.py | 2 + .../unit_test_api/model/by_number.py | 2 + .../unit_test_api/model/by_small_number.py | 2 + .../unit_test_api/model/date_time_format.py | 2 + .../unit_test_api/model/email_format.py | 2 + .../model/enum_with0_does_not_match_false.py | 2 + .../model/enum_with1_does_not_match_true.py | 2 + .../model/enum_with_escaped_characters.py | 2 + .../model/enum_with_false_does_not_match0.py | 6 +- .../model/enum_with_true_does_not_match1.py | 6 +- .../model/enums_in_properties.py | 2 + .../unit_test_api/model/forbidden_property.py | 2 + .../unit_test_api/model/hostname_format.py | 2 + .../model/integer_type_matches_integers.py | 2 + ...not_raise_error_when_float_division_inf.py | 2 + .../model/invalid_string_value_for_default.py | 2 + .../unit_test_api/model/ipv4_format.py | 2 + .../unit_test_api/model/ipv6_format.py | 2 + .../model/json_pointer_format.py | 2 + .../unit_test_api/model/maximum_validation.py | 2 + ...aximum_validation_with_unsigned_integer.py | 2 + .../model/maxitems_validation.py | 2 + .../model/maxlength_validation.py | 2 + ...axproperties0_means_the_object_is_empty.py | 2 + .../model/maxproperties_validation.py | 2 + .../unit_test_api/model/minimum_validation.py | 2 + .../minimum_validation_with_signed_integer.py | 2 + .../model/minitems_validation.py | 2 + .../model/minlength_validation.py | 2 + .../model/minproperties_validation.py | 2 + .../unit_test_api/model/model_not.py | 2 + .../unit_test_api/model/nested_items.py | 2 + .../model/not_more_complex_schema.py | 2 + .../model/nul_characters_in_strings.py | 2 + .../null_type_matches_only_the_null_object.py | 2 + .../model/number_type_matches_numbers.py | 2 + .../model/object_properties_validation.py | 2 + .../model/pattern_is_not_anchored.py | 2 + .../unit_test_api/model/pattern_validation.py | 2 + .../properties_with_escaped_characters.py | 2 + ...perty_named_ref_that_is_not_a_reference.py | 2 + .../model/ref_in_additionalproperties.py | 2 + .../unit_test_api/model/ref_in_allof.py | 2 + .../unit_test_api/model/ref_in_anyof.py | 2 + .../unit_test_api/model/ref_in_items.py | 2 + .../unit_test_api/model/ref_in_oneof.py | 2 + .../unit_test_api/model/ref_in_property.py | 2 + .../model/required_default_validation.py | 2 + .../model/required_validation.py | 2 + .../model/required_with_empty_array.py | 2 + .../model/simple_enum_validation.py | 2 + .../model/string_type_matches_strings.py | 2 + ..._do_anything_if_the_property_is_missing.py | 2 + .../model/uniqueitems_false_validation.py | 2 + .../model/uniqueitems_validation.py | 2 + .../unit_test_api/model/uri_format.py | 2 + .../model/uri_reference_format.py | 2 + .../model/uri_template_format.py | 2 + .../unit_test_api/schemas.py | 746 ++++++++---------- .../python-experimental/docs/BooleanEnum.md | 2 +- .../call_123_test_special_tags.py | 2 + .../api/default_api_endpoints/foo_get.py | 2 + ...ditional_properties_with_array_of_enums.py | 2 + .../api/fake_api_endpoints/array_model.py | 2 + .../api/fake_api_endpoints/array_of_enums.py | 2 + .../body_with_file_schema.py | 2 + .../body_with_query_params.py | 2 + .../api/fake_api_endpoints/boolean.py | 2 + .../case_sensitive_params.py | 2 + .../api/fake_api_endpoints/client_model.py | 2 + .../composed_one_of_different_types.py | 2 + .../api/fake_api_endpoints/delete_coffee.py | 2 + .../fake_api_endpoints/endpoint_parameters.py | 2 + .../api/fake_api_endpoints/enum_parameters.py | 2 + .../api/fake_api_endpoints/fake_health_get.py | 2 + .../fake_api_endpoints/group_parameters.py | 2 + .../inline_additional_properties.py | 2 + .../fake_api_endpoints/inline_composition.py | 2 + .../api/fake_api_endpoints/json_form_data.py | 2 + .../fake_api_endpoints/json_with_charset.py | 2 + .../api/fake_api_endpoints/mammal.py | 2 + .../number_with_validations.py | 2 + .../api/fake_api_endpoints/object_in_query.py | 2 + .../object_model_with_ref_props.py | 2 + .../parameter_collisions.py | 2 + .../query_parameter_collection_format.py | 2 + .../fake_api_endpoints/ref_object_in_query.py | 2 + .../response_without_schema.py | 2 + .../api/fake_api_endpoints/string.py | 2 + .../api/fake_api_endpoints/string_enum.py | 2 + .../upload_download_file.py | 2 + .../api/fake_api_endpoints/upload_file.py | 2 + .../api/fake_api_endpoints/upload_files.py | 2 + .../classname.py | 2 + .../api/pet_api_endpoints/add_pet.py | 2 + .../api/pet_api_endpoints/delete_pet.py | 2 + .../pet_api_endpoints/find_pets_by_status.py | 2 + .../pet_api_endpoints/find_pets_by_tags.py | 2 + .../api/pet_api_endpoints/get_pet_by_id.py | 2 + .../api/pet_api_endpoints/update_pet.py | 2 + .../pet_api_endpoints/update_pet_with_form.py | 2 + .../upload_file_with_required_file.py | 2 + .../api/pet_api_endpoints/upload_image.py | 2 + .../api/store_api_endpoints/delete_order.py | 2 + .../api/store_api_endpoints/get_inventory.py | 2 + .../store_api_endpoints/get_order_by_id.py | 2 + .../api/store_api_endpoints/place_order.py | 2 + .../api/user_api_endpoints/create_user.py | 2 + .../create_users_with_array_input.py | 2 + .../create_users_with_list_input.py | 2 + .../api/user_api_endpoints/delete_user.py | 2 + .../user_api_endpoints/get_user_by_name.py | 2 + .../api/user_api_endpoints/login_user.py | 2 + .../api/user_api_endpoints/logout_user.py | 2 + .../api/user_api_endpoints/update_user.py | 2 + .../model/additional_properties_class.py | 2 + ...ditional_properties_with_array_of_enums.py | 2 + .../petstore_api/model/address.py | 2 + .../petstore_api/model/animal.py | 2 + .../petstore_api/model/animal_farm.py | 2 + .../petstore_api/model/any_type_not_string.py | 2 + .../petstore_api/model/api_response.py | 2 + .../petstore_api/model/apple.py | 4 +- .../petstore_api/model/apple_req.py | 2 + .../model/array_holding_any_type.py | 2 + .../model/array_of_array_of_number_only.py | 2 + .../petstore_api/model/array_of_enums.py | 2 + .../model/array_of_number_only.py | 2 + .../petstore_api/model/array_test.py | 2 + .../model/array_with_validations_in_items.py | 2 + .../petstore_api/model/banana.py | 2 + .../petstore_api/model/banana_req.py | 2 + .../petstore_api/model/bar.py | 2 + .../petstore_api/model/basque_pig.py | 2 + .../petstore_api/model/boolean.py | 2 + .../petstore_api/model/boolean_enum.py | 6 +- .../petstore_api/model/capitalization.py | 2 + .../petstore_api/model/cat.py | 2 + .../petstore_api/model/category.py | 2 + .../petstore_api/model/child_cat.py | 2 + .../petstore_api/model/class_model.py | 2 + .../petstore_api/model/client.py | 2 + .../model/complex_quadrilateral.py | 2 + ...d_any_of_different_types_no_validations.py | 2 + .../petstore_api/model/composed_array.py | 2 + .../petstore_api/model/composed_bool.py | 2 + .../petstore_api/model/composed_none.py | 2 + .../petstore_api/model/composed_number.py | 2 + .../petstore_api/model/composed_object.py | 2 + .../model/composed_one_of_different_types.py | 2 + .../petstore_api/model/composed_string.py | 2 + .../petstore_api/model/currency.py | 2 + .../petstore_api/model/danish_pig.py | 2 + .../petstore_api/model/date_time_test.py | 2 + .../model/date_time_with_validations.py | 2 + .../model/date_with_validations.py | 2 + .../petstore_api/model/decimal_payload.py | 2 + .../petstore_api/model/dog.py | 2 + .../petstore_api/model/drawing.py | 2 + .../petstore_api/model/enum_arrays.py | 2 + .../petstore_api/model/enum_class.py | 2 + .../petstore_api/model/enum_test.py | 2 + .../model/equilateral_triangle.py | 2 + .../petstore_api/model/file.py | 2 + .../model/file_schema_test_class.py | 2 + .../petstore_api/model/foo.py | 2 + .../petstore_api/model/format_test.py | 2 + .../petstore_api/model/fruit.py | 2 + .../petstore_api/model/fruit_req.py | 2 + .../petstore_api/model/gm_fruit.py | 2 + .../petstore_api/model/grandparent_animal.py | 2 + .../petstore_api/model/has_only_read_only.py | 2 + .../petstore_api/model/health_check_result.py | 4 +- .../petstore_api/model/integer_enum.py | 2 + .../petstore_api/model/integer_enum_big.py | 2 + .../model/integer_enum_one_value.py | 2 + .../model/integer_enum_with_default_value.py | 2 + .../petstore_api/model/integer_max10.py | 2 + .../petstore_api/model/integer_min15.py | 2 + .../petstore_api/model/isosceles_triangle.py | 2 + .../petstore_api/model/mammal.py | 2 + .../petstore_api/model/map_test.py | 2 + ...perties_and_additional_properties_class.py | 2 + .../petstore_api/model/model200_response.py | 2 + .../petstore_api/model/model_return.py | 2 + .../petstore_api/model/money.py | 2 + .../petstore_api/model/name.py | 2 + .../model/no_additional_properties.py | 2 + .../petstore_api/model/nullable_class.py | 30 +- .../petstore_api/model/nullable_shape.py | 2 + .../petstore_api/model/nullable_string.py | 4 +- .../petstore_api/model/number.py | 2 + .../petstore_api/model/number_only.py | 2 + .../model/number_with_validations.py | 2 + .../petstore_api/model/object_interface.py | 2 + .../model/object_model_with_ref_props.py | 2 + .../model/object_with_decimal_properties.py | 2 + .../object_with_difficultly_named_props.py | 2 + ...object_with_inline_composition_property.py | 2 + .../model/object_with_validations.py | 2 + .../petstore_api/model/order.py | 2 + .../petstore_api/model/parent_pet.py | 2 + .../petstore_api/model/pet.py | 2 + .../petstore_api/model/pig.py | 2 + .../petstore_api/model/player.py | 2 + .../petstore_api/model/quadrilateral.py | 2 + .../model/quadrilateral_interface.py | 2 + .../petstore_api/model/read_only_first.py | 2 + .../petstore_api/model/scalene_triangle.py | 2 + .../petstore_api/model/shape.py | 2 + .../petstore_api/model/shape_or_null.py | 2 + .../model/simple_quadrilateral.py | 2 + .../petstore_api/model/some_object.py | 2 + .../petstore_api/model/special_model_name.py | 2 + .../petstore_api/model/string.py | 2 + .../petstore_api/model/string_boolean_map.py | 2 + .../petstore_api/model/string_enum.py | 8 +- .../model/string_enum_with_default_value.py | 2 + .../model/string_with_validation.py | 2 + .../petstore_api/model/tag.py | 2 + .../petstore_api/model/triangle.py | 2 + .../petstore_api/model/triangle_interface.py | 2 + .../petstore_api/model/user.py | 4 +- .../petstore_api/model/uuid_string.py | 2 + .../petstore_api/model/whale.py | 2 + .../petstore_api/model/zebra.py | 2 + .../petstore_api/schemas.py | 746 ++++++++---------- .../tests_manual/test_boolean_enum.py | 2 +- .../tests_manual/test_combine_schemas.py | 32 +- .../test_date_time_with_validations.py | 2 +- .../test_date_with_validations.py | 4 +- .../tests_manual/test_drawing.py | 39 +- .../tests_manual/test_fake_api.py | 4 +- .../tests_manual/test_nullable_string.py | 4 +- .../tests_manual/test_string_enum.py | 4 +- .../tests_manual/test_validate.py | 321 +++----- 250 files changed, 1661 insertions(+), 1522 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java index 3be88480dd..ed144bc581 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java @@ -1127,7 +1127,10 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { if ("int".equals(datatype) || "float".equals(datatype) || datatype.equals("int, float")) { return value; } else if ("bool".equals(datatype)) { - return value.substring(0, 1).toUpperCase(Locale.ROOT) + value.substring(1); + if (value.equals("true")) { + return "BoolClass.TRUE"; + } + return "BoolClass.FALSE"; } else { String fixedValue = (String) processTestExampleData(value); return ensureQuotes(fixedValue); diff --git a/modules/openapi-generator/src/main/resources/python-experimental/model_templates/enum_value_to_name.handlebars b/modules/openapi-generator/src/main/resources/python-experimental/model_templates/enum_value_to_name.handlebars index ea2cb759fb..511dc75597 100644 --- a/modules/openapi-generator/src/main/resources/python-experimental/model_templates/enum_value_to_name.handlebars +++ b/modules/openapi-generator/src/main/resources/python-experimental/model_templates/enum_value_to_name.handlebars @@ -1,7 +1,7 @@ _SchemaEnumMaker( enum_value_to_name={ {{#if isNull}} - None: "NONE", + NoneClass.NONE: "NONE", {{/if}} {{#with allowableValues}} {{#each enumVars}} diff --git a/modules/openapi-generator/src/main/resources/python-experimental/model_templates/enums.handlebars b/modules/openapi-generator/src/main/resources/python-experimental/model_templates/enums.handlebars index 923fac7f6f..68dd1f03db 100644 --- a/modules/openapi-generator/src/main/resources/python-experimental/model_templates/enums.handlebars +++ b/modules/openapi-generator/src/main/resources/python-experimental/model_templates/enums.handlebars @@ -3,7 +3,7 @@ @classmethod @property def NONE(cls): - return cls._enum_by_value[None](None) + return cls(None) {{/if}} {{#with allowableValues}} {{#each enumVars}} diff --git a/modules/openapi-generator/src/main/resources/python-experimental/model_templates/imports_schema_types.handlebars b/modules/openapi-generator/src/main/resources/python-experimental/model_templates/imports_schema_types.handlebars index f44c8ff5b4..48b47a7e34 100644 --- a/modules/openapi-generator/src/main/resources/python-experimental/model_templates/imports_schema_types.handlebars +++ b/modules/openapi-generator/src/main/resources/python-experimental/model_templates/imports_schema_types.handlebars @@ -42,6 +42,8 @@ from {{packageName}}.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/modules/openapi-generator/src/main/resources/python-experimental/model_templates/schema_composed_or_anytype.handlebars b/modules/openapi-generator/src/main/resources/python-experimental/model_templates/schema_composed_or_anytype.handlebars index 763da96fee..3ea4a7c841 100644 --- a/modules/openapi-generator/src/main/resources/python-experimental/model_templates/schema_composed_or_anytype.handlebars +++ b/modules/openapi-generator/src/main/resources/python-experimental/model_templates/schema_composed_or_anytype.handlebars @@ -12,7 +12,7 @@ class {{#if this.classname}}{{classname}}{{else}}{{#if nameInSnakeCase}}{{name}} {{/if}} {{else}} {{#if getHasMultipleTypes}} - _SchemaTypeChecker(typing.Union[{{#if isArray}}tuple, {{/if}}{{#if isMap}}frozendict, {{/if}}{{#if isNull}}none_type, {{/if}}{{#if isString}}str, {{/if}}{{#if isByteArray}}str, {{/if}}{{#if isUnboundedInteger}}decimal.Decimal, {{/if}}{{#if isShort}}decimal.Decimal, {{/if}}{{#if isLong}}decimal.Decimal, {{/if}}{{#if isFloat}}decimal.Decimal, {{/if}}{{#if isDouble}}decimal.Decimal, {{/if}}{{#if isNumber}}decimal.Decimal, {{/if}}{{#if isDate}}str, {{/if}}{{#if isDateTime}}str, {{/if}}{{#if isDecimal}}str, {{/if}}{{#if isBoolean}}bool, {{/if}}]), + _SchemaTypeChecker(typing.Union[{{#if isArray}}tuple, {{/if}}{{#if isMap}}frozendict, {{/if}}{{#if isNull}}NoneClass, {{/if}}{{#if isString}}str, {{/if}}{{#if isByteArray}}str, {{/if}}{{#if isUnboundedInteger}}decimal.Decimal, {{/if}}{{#if isShort}}decimal.Decimal, {{/if}}{{#if isLong}}decimal.Decimal, {{/if}}{{#if isFloat}}decimal.Decimal, {{/if}}{{#if isDouble}}decimal.Decimal, {{/if}}{{#if isNumber}}decimal.Decimal, {{/if}}{{#if isDate}}str, {{/if}}{{#if isDateTime}}str, {{/if}}{{#if isDecimal}}str, {{/if}}{{#if isBoolean}}BoolClass, {{/if}}]), {{/if}} {{#if composedSchemas}} ComposedBase, diff --git a/modules/openapi-generator/src/main/resources/python-experimental/schemas.handlebars b/modules/openapi-generator/src/main/resources/python-experimental/schemas.handlebars index 9db3075849..7f2245c64e 100644 --- a/modules/openapi-generator/src/main/resources/python-experimental/schemas.handlebars +++ b/modules/openapi-generator/src/main/resources/python-experimental/schemas.handlebars @@ -46,12 +46,17 @@ class FileIO(io.FileIO): def __new__(cls, arg: typing.Union[io.FileIO, io.BufferedReader]): if isinstance(arg, (io.FileIO, io.BufferedReader)): + if arg.closed: + raise ApiValueError('Invalid file state; file is closed and must be open') arg.close() inst = super(FileIO, cls).__new__(cls, arg.name) super(FileIO, inst).__init__(arg.name) return inst raise ApiValueError('FileIO must be passed arg which contains the open file') + def __init__(self, arg: typing.Union[io.FileIO, io.BufferedReader]): + pass + def update(d: dict, u: dict): """ @@ -78,29 +83,46 @@ class ValidationMetadata(frozendict): path_to_item: typing.Tuple[typing.Union[str, int], ...] = tuple(['args[0]']), from_server: bool = False, configuration: typing.Optional[Configuration] = None, - base_classes: typing.FrozenSet[typing.Type] = frozenset(), + seen_classes: typing.FrozenSet[typing.Type] = frozenset(), + validated_path_to_schemas: typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set['Schema']] = frozendict() ): """ Args: path_to_item: the path to the current data being instantiated. For {'a': [1]} if the code is handling, 1, then the path is ('args[0]', 'a', 0) + This changes from location to location from_server: whether or not this data came form the server True when receiving server data False when instantiating model with client side data not form the server + This does not change from location to location configuration: the Configuration instance to use This is needed because in Configuration: - one can disable validation checking - base_classes: when deserializing data that matches multiple schemas, this is used to store + This does not change from location to location + seen_classes: when deserializing data that matches multiple schemas, this is used to store the schemas that have been traversed. This is used to stop processing when a cycle is seen. + This changes from location to location + validated_path_to_schemas: stores the already validated schema classes for a given path location + This does not change from location to location """ return super().__new__( cls, path_to_item=path_to_item, from_server=from_server, configuration=configuration, - base_classes=base_classes, + seen_classes=seen_classes, + validated_path_to_schemas=validated_path_to_schemas ) + def validation_ran_earlier(self, cls: type) -> bool: + validated_schemas = self.validated_path_to_schemas.get(self.path_to_item, set()) + validation_ran_earlier = validated_schemas and cls in validated_schemas + if validation_ran_earlier: + return True + if cls in self.seen_classes: + return True + return False + @property def path_to_item(self) -> typing.Tuple[typing.Union[str, int], ...]: return self.get('path_to_item') @@ -114,8 +136,12 @@ class ValidationMetadata(frozendict): return self.get('configuration') @property - def base_classes(self) -> typing.FrozenSet[typing.Type]: - return self.get('base_classes') + def seen_classes(self) -> typing.FrozenSet[typing.Type]: + return self.get('seen_classes') + + @property + def validated_path_to_schemas(self) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set['Schema']]: + return self.get('validated_path_to_schemas') class ValidatorBase: @@ -194,31 +220,6 @@ class ValidatorBase: path_to_item=validation_metadata.path_to_item ) - @classmethod - def __data_with_boolclass_instead_of_bool(cls, data: typing.Any) -> typing.Any: - """ - In python bool is a subclass of int so 1 == True and 0 == False - This prevents code from being able to see the difference between 1 and True and 0 and False - To fix this swap in BoolClass singletons for True and False so they will differ from integers - """ - if isinstance(data, (list, tuple)): - new_data = [] - for item in data: - new_item = cls.__data_with_boolclass_instead_of_bool(item) - new_data.append(new_item) - return tuple(new_data) - elif isinstance(data, (dict, frozendict)): - new_data = {} - for key, value in data.items(): - new_value = cls.__data_with_boolclass_instead_of_bool(value) - new_data[key] = new_value - return frozendict(new_data) - elif isinstance(data, bool): - if data: - return BoolClass.TRUE - return BoolClass.FALSE - return data - @classmethod def __check_tuple_validations( cls, validations, input_values, @@ -246,7 +247,7 @@ class ValidatorBase: if (cls.__is_json_validation_enabled('uniqueItems', validation_metadata.configuration) and 'unique_items' in validations and validations['unique_items'] and input_values): - unique_items = set(cls.__data_with_boolclass_instead_of_bool(input_values)) + unique_items = set(input_values) if len(input_values) > len(unique_items): cls.__raise_validation_error_message( value=input_values, @@ -362,128 +363,6 @@ class ValidatorBase: cls.__check_dict_validations(validations, input_values, validation_metadata) elif isinstance(input_values, decimal.Decimal): cls.__check_numeric_validations(validations, input_values, validation_metadata) - try: - return super()._validate_validations_pass(input_values, validation_metadata) - except AttributeError: - return True - - -class Validator(typing.Protocol): - def _validate_validations_pass( - cls, - input_values, - validation_metadata: ValidationMetadata - ): - pass - - -def _SchemaValidator(**validations: typing.Union[str, bool, None, int, float, list[dict[str, typing.Union[str, int, float]]]]) -> Validator: - class SchemaValidator(ValidatorBase): - @classmethod - def _validate_validations_pass( - cls, - input_values, - validation_metadata: ValidationMetadata - ): - cls._check_validations_for_types(validations, input_values, validation_metadata) - try: - return super()._validate_validations_pass(input_values, validation_metadata) - except AttributeError: - return True - - return SchemaValidator - - -class TypeChecker(typing.Protocol): - @classmethod - def _validate_type( - cls, arg_simple_class: type - ) -> typing.Tuple[type]: - pass - - -def _SchemaTypeChecker(union_type_cls: typing.Union[typing.Any]) -> TypeChecker: - if typing.get_origin(union_type_cls) is typing.Union: - union_classes = typing.get_args(union_type_cls) - else: - # note: when a union of a single class is passed in, the union disappears - union_classes = tuple([union_type_cls]) - """ - I want the type hint... union_type_cls - and to use it as a base class but when I do, I get - TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases - """ - class SchemaTypeChecker: - @classmethod - def _validate_type(cls, arg_simple_class: type): - if arg_simple_class not in union_classes: - return union_classes - try: - return super()._validate_type(arg_simple_class) - except AttributeError: - return tuple() - - return SchemaTypeChecker - - -class EnumMakerBase: - @classmethod - @property - def _enum_by_value( - cls - ) -> type: - enum_classes = {} - if not hasattr(cls, "_enum_value_to_name"): - return enum_classes - for enum_value, enum_name in cls._enum_value_to_name.items(): - base_class = type(enum_value) - if base_class is none_type: - enum_classes[enum_value] = get_new_class( - "Dynamic" + cls.__name__, (cls, NoneClass)) - log_cache_usage(get_new_class) - elif base_class is bool: - enum_classes[enum_value] = get_new_class( - "Dynamic" + cls.__name__, (cls, BoolClass)) - log_cache_usage(get_new_class) - else: - enum_classes[enum_value] = get_new_class( - "Dynamic" + cls.__name__, (cls, Singleton, base_class)) - log_cache_usage(get_new_class) - return enum_classes - - -class EnumMakerInterface(typing.Protocol): - @classmethod - @property - def _enum_value_to_name( - cls - ) -> typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]: - pass - - @classmethod - @property - def _enum_by_value( - cls - ) -> type: - pass - - -def _SchemaEnumMaker(enum_value_to_name: typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]) -> EnumMakerInterface: - class SchemaEnumMaker(EnumMakerBase): - @classmethod - @property - def _enum_value_to_name( - cls - ) -> typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]: - pass - try: - super_enum_value_to_name = super()._enum_value_to_name - except AttributeError: - return enum_value_to_name - intersection = dict(enum_value_to_name.items() & super_enum_value_to_name.items()) - return intersection - - return SchemaEnumMaker class Singleton: @@ -498,7 +377,12 @@ class Singleton: if key not in cls._instances: if arg in {None, True, False}: inst = super().__new__(cls) - # inst._value = arg + cls._instances[key] = inst + elif isinstance(arg, BoolClass): + inst = super().__new__(cls) + cls._instances[key] = inst + elif isinstance(arg, NoneClass): + inst = super().__new__(cls) cls._instances[key] = inst else: cls._instances[key] = super().__new__(cls, arg) @@ -508,7 +392,7 @@ class Singleton: if isinstance(self, NoneClass): return f'<{self.__class__.__name__}: None>' elif isinstance(self, BoolClass): - if (self.__class__, True) in self._instances: + if bool(self): return f'<{self.__class__.__name__}: True>' return f'<{self.__class__.__name__}: False>' return f'<{self.__class__.__name__}: {super().__repr__()}>' @@ -539,10 +423,171 @@ class BoolClass(Singleton): def __bool__(self) -> bool: for key, instance in self._instances.items(): if self is instance: - return key[1] + return bool(key[1]) raise ValueError('Unable to find the boolean value of this instance') +class Validator(typing.Protocol): + @classmethod + def _validate( + cls, + arg, + validation_metadata: ValidationMetadata, + ) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]]: + pass + + +def _SchemaValidator(**validations: typing.Union[str, bool, None, int, float, list[dict[str, typing.Union[str, int, float]]]]) -> Validator: + class SchemaValidator(ValidatorBase): + @classmethod + def _validate( + cls, + arg, + validation_metadata: ValidationMetadata, + ) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]]: + """ + SchemaValidator _validate + Validates that validations pass + """ + cls._check_validations_for_types(validations, arg, validation_metadata) + return super()._validate(arg, validation_metadata) + + return SchemaValidator + + +def _SchemaTypeChecker(union_type_cls: typing.Union[typing.Any]) -> Validator: + if typing.get_origin(union_type_cls) is typing.Union: + union_classes = typing.get_args(union_type_cls) + else: + # note: when a union of a single class is passed in, the union disappears + union_classes = tuple([union_type_cls]) + """ + I want the type hint... union_type_cls + and to use it as a base class but when I do, I get + TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases + """ + class SchemaTypeChecker: + @staticmethod + def __get_valid_classes_phrase(input_classes): + """Returns a string phrase describing what types are allowed""" + all_classes = list(input_classes) + all_classes = sorted(all_classes, key=lambda cls: cls.__name__) + all_class_names = [cls.__name__ for cls in all_classes] + if len(all_class_names) == 1: + return "is {0}".format(all_class_names[0]) + return "is one of [{0}]".format(", ".join(all_class_names)) + + @classmethod + def __type_error_message( + cls, var_value=None, var_name=None, valid_classes=None, key_type=None + ): + """ + Keyword Args: + var_value (any): the variable which has the type_error + var_name (str): the name of the variable which has the typ error + valid_classes (tuple): the accepted classes for current_item's + value + key_type (bool): False if our value is a value in a dict + True if it is a key in a dict + False if our item is an item in a tuple + """ + key_or_value = "value" + if key_type: + key_or_value = "key" + valid_classes_phrase = cls.__get_valid_classes_phrase(valid_classes) + msg = "Invalid type. Required {1} type {2} and " "passed type was {3}".format( + var_name, + key_or_value, + valid_classes_phrase, + type(var_value).__name__, + ) + return msg + + @classmethod + def _get_type_error(cls, var_value, path_to_item, valid_classes, key_type=False): + error_msg = cls.__type_error_message( + var_name=path_to_item[-1], + var_value=var_value, + valid_classes=valid_classes, + key_type=key_type, + ) + return ApiTypeError( + error_msg, + path_to_item=path_to_item, + valid_classes=valid_classes, + key_type=key_type, + ) + + @classmethod + def _validate( + cls, + arg, + validation_metadata: ValidationMetadata, + ) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]]: + """ + SchemaTypeChecker _validate + Validates arg's type + """ + arg_type = type(arg) + if arg_type in union_classes: + return super()._validate(arg, validation_metadata) + raise cls._get_type_error( + arg, + validation_metadata.path_to_item, + union_classes, + key_type=False, + ) + + return SchemaTypeChecker + + +class EnumMakerBase: + pass + + +class EnumMakerInterface(Validator): + @classmethod + @property + def _enum_value_to_name( + cls + ) -> typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]: + pass + + +def _SchemaEnumMaker(enum_value_to_name: typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]) -> EnumMakerInterface: + class SchemaEnumMaker(EnumMakerBase): + @classmethod + @property + def _enum_value_to_name( + cls + ) -> typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]: + pass + try: + super_enum_value_to_name = super()._enum_value_to_name + except AttributeError: + return enum_value_to_name + intersection = dict(enum_value_to_name.items() & super_enum_value_to_name.items()) + return intersection + + @classmethod + def _validate( + cls, + arg, + validation_metadata: ValidationMetadata, + ) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]]: + """ + SchemaEnumMaker _validate + Validates that arg is in the enum's allowed values + """ + try: + cls._enum_value_to_name[arg] + except KeyError: + raise ApiValueError("Invalid value {} passed in to {}, {}".format(arg, cls, cls._enum_value_to_name)) + return super()._validate(arg, validation_metadata) + + return SchemaEnumMaker + + class BoolBase: def is_true(self) -> bool: """ @@ -814,13 +859,14 @@ class ListBase: item_cls = getattr(cls, '_items', AnyTypeSchema) path_to_schemas = {} for i, value in enumerate(list_items): - if isinstance(value, item_cls): - continue item_validation_metadata = ValidationMetadata( from_server=validation_metadata.from_server, configuration=validation_metadata.configuration, - path_to_item=validation_metadata.path_to_item+(i,) + path_to_item=validation_metadata.path_to_item+(i,), + validated_path_to_schemas=validation_metadata.validated_path_to_schemas ) + if item_validation_metadata.validation_ran_earlier(item_cls): + continue other_path_to_schemas = item_cls._validate( value, validation_metadata=item_validation_metadata) update(path_to_schemas, other_path_to_schemas) @@ -850,14 +896,12 @@ class ListBase: _path_to_schemas = super()._validate(arg, validation_metadata=validation_metadata) if not isinstance(arg, tuple): return _path_to_schemas - if cls in validation_metadata.base_classes: - # we have already moved through this class so stop here - return _path_to_schemas updated_vm = ValidationMetadata( configuration=validation_metadata.configuration, from_server=validation_metadata.from_server, path_to_item=validation_metadata.path_to_item, - base_classes=validation_metadata.base_classes | frozenset({cls}) + seen_classes=validation_metadata.seen_classes | frozenset({cls}), + validated_path_to_schemas=validation_metadata.validated_path_to_schemas ) other_path_to_schemas = cls._validate_items(arg, validation_metadata=updated_vm) update(_path_to_schemas, other_path_to_schemas) @@ -1023,13 +1067,14 @@ class DictBase(Discriminable): raise ApiTypeError('Unable to find schema for value={} in class={} at path_to_item={}'.format( value, cls, validation_metadata.path_to_item+(property_name,) )) - if isinstance(value, schema): - continue arg_validation_metadata = ValidationMetadata( from_server=validation_metadata.from_server, configuration=validation_metadata.configuration, - path_to_item=validation_metadata.path_to_item+(property_name,) + path_to_item=validation_metadata.path_to_item+(property_name,), + validated_path_to_schemas=validation_metadata.validated_path_to_schemas ) + if arg_validation_metadata.validation_ran_earlier(schema): + continue other_path_to_schemas = schema._validate(value, validation_metadata=arg_validation_metadata) update(path_to_schemas, other_path_to_schemas) return path_to_schemas @@ -1082,15 +1127,15 @@ class DictBase(Discriminable): validation_metadata.path_to_item + (disc_prop_name,) ) ) - if discriminated_cls in validation_metadata.base_classes: - # we have already moved through this class so stop here - return _path_to_schemas updated_vm = ValidationMetadata( configuration=validation_metadata.configuration, from_server=validation_metadata.from_server, path_to_item=validation_metadata.path_to_item, - base_classes=validation_metadata.base_classes | frozenset({cls}) + seen_classes=validation_metadata.seen_classes | frozenset({cls}), + validated_path_to_schemas=validation_metadata.validated_path_to_schemas ) + if updated_vm.validation_ran_earlier(discriminated_cls): + return _path_to_schemas other_path_to_schemas = discriminated_cls._validate(arg, validation_metadata=updated_vm) update(_path_to_schemas, other_path_to_schemas) return _path_to_schemas @@ -1178,7 +1223,7 @@ class DictBase(Discriminable): return super().__getattribute__(name) -inheritable_primitive_types_set = {decimal.Decimal, str, tuple, frozendict, FileIO, bytes} +inheritable_primitive_types_set = {decimal.Decimal, str, tuple, frozendict, FileIO, bytes, BoolClass, NoneClass} class Schema: @@ -1191,117 +1236,12 @@ class Schema: - payload value is an allowed enum value """ - @staticmethod - def __get_simple_class(input_value): - """Returns an input_value's simple class that we will use for type checking - - Args: - input_value (class/class_instance): the item for which we will return - the simple class - """ - if isinstance(input_value, tuple): - return tuple - elif isinstance(input_value, frozendict): - return frozendict - elif isinstance(input_value, none_type): - return none_type - elif isinstance(input_value, bytes): - return bytes - elif isinstance(input_value, (io.FileIO, io.BufferedReader)): - return FileIO - elif isinstance(input_value, bool): - # this must be higher than the int check because - # isinstance(True, int) == True - return bool - elif isinstance(input_value, int): - return int - elif isinstance(input_value, float): - return float - elif isinstance(input_value, datetime): - # this must be higher than the date check because - # isinstance(datetime_instance, date) == True - return datetime - elif isinstance(input_value, date): - return date - elif isinstance(input_value, str): - return str - return type(input_value) - - @staticmethod - def __get_valid_classes_phrase(input_classes): - """Returns a string phrase describing what types are allowed""" - all_classes = list(input_classes) - all_classes = sorted(all_classes, key=lambda cls: cls.__name__) - all_class_names = [cls.__name__ for cls in all_classes] - if len(all_class_names) == 1: - return "is {0}".format(all_class_names[0]) - return "is one of [{0}]".format(", ".join(all_class_names)) - - @classmethod - def __type_error_message( - cls, var_value=None, var_name=None, valid_classes=None, key_type=None - ): - """ - Keyword Args: - var_value (any): the variable which has the type_error - var_name (str): the name of the variable which has the typ error - valid_classes (tuple): the accepted classes for current_item's - value - key_type (bool): False if our value is a value in a dict - True if it is a key in a dict - False if our item is an item in a tuple - """ - key_or_value = "value" - if key_type: - key_or_value = "key" - valid_classes_phrase = cls.__get_valid_classes_phrase(valid_classes) - msg = "Invalid type. Required {1} type {2} and " "passed type was {3}".format( - var_name, - key_or_value, - valid_classes_phrase, - type(var_value).__name__, - ) - return msg - - @classmethod - def __get_type_error(cls, var_value, path_to_item, valid_classes, key_type=False): - error_msg = cls.__type_error_message( - var_name=path_to_item[-1], - var_value=var_value, - valid_classes=valid_classes, - key_type=key_type, - ) - return ApiTypeError( - error_msg, - path_to_item=path_to_item, - valid_classes=valid_classes, - key_type=key_type, - ) - - @classmethod - def _class_by_base_class(cls, base_cls: type) -> type: - cls_name = "Dynamic"+cls.__name__ - if base_cls is bool: - new_cls = get_new_class(cls_name, (cls, BoolBase, BoolClass)) - elif base_cls is str: - new_cls = get_new_class(cls_name, (cls, StrBase, str)) - elif base_cls is decimal.Decimal: - new_cls = get_new_class(cls_name, (cls, NumberBase, decimal.Decimal)) - elif base_cls is tuple: - new_cls = get_new_class(cls_name, (cls, ListBase, tuple)) - elif base_cls is frozendict: - new_cls = get_new_class(cls_name, (cls, DictBase, frozendict)) - elif base_cls is none_type: - new_cls = get_new_class(cls_name, (cls, NoneBase, NoneClass)) - log_cache_usage(get_new_class) - return new_cls - @classmethod def _validate( cls, arg, validation_metadata: ValidationMetadata, - ): + ) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]]: """ Schema _validate Runs all schema validation logic and @@ -1313,9 +1253,7 @@ class Schema: Use cases: 1. inheritable type: string/decimal.Decimal/frozendict/tuple - 2. enum value cases: 'hi', 1 -> no base_class set because the enum includes the base class - 3. uninheritable type: True/False/None -> no base_class because the base class is not inheritable - _enum_by_value will handle this use case + 2. singletons: bool/None -> uses the base classes BoolClass/NoneClass Required Steps: 1. verify type of input is valid vs the allowed _types @@ -1329,38 +1267,29 @@ class Schema: ApiValueError: when a string can't be converted into a date or datetime and it must be one of those classes ApiTypeError: when the input type is not in the list of allowed spec types """ - base_class = cls.__get_simple_class(arg) - failed_type_check_classes = cls._validate_type(base_class) - if failed_type_check_classes: - raise cls.__get_type_error( - arg, - validation_metadata.path_to_item, - failed_type_check_classes, - key_type=False, - ) - if hasattr(cls, '_validate_validations_pass'): - cls._validate_validations_pass(arg, validation_metadata) - path_to_schemas = {} - if validation_metadata.path_to_item not in path_to_schemas: - path_to_schemas[validation_metadata.path_to_item] = set() + base_class = type(arg) + path_to_schemas = {validation_metadata.path_to_item: set()} path_to_schemas[validation_metadata.path_to_item].add(cls) - - if hasattr(cls, "_enum_by_value"): - cls._validate_enum_value(arg) - return path_to_schemas - - if base_class is none_type or base_class is bool: - return path_to_schemas - path_to_schemas[validation_metadata.path_to_item].add(base_class) return path_to_schemas - @classmethod - def _validate_enum_value(cls, arg): - try: - cls._enum_by_value[arg] - except KeyError: - raise ApiValueError("Invalid value {} passed in to {}, {}".format(arg, cls, cls._enum_value_to_name)) + @staticmethod + def __process_schema_classes( + schema_classes: typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]] + ): + """ + Processes and mutates schema_classes + If a SomeSchema is a subclass of DictSchema then remove DictSchema because it is already included + """ + if len(schema_classes) < 2: + return + x_schema = schema_type_classes & schema_classes + if not x_schema: + return + x_schema = x_schema.pop() + if any(c is not x_schema and issubclass(c, x_schema) for c in schema_classes): + # needed to not have a mro error in get_new_class + schema_classes.remove(x_schema) @classmethod def __get_new_cls( @@ -1387,51 +1316,35 @@ class Schema: and in list/dict _get_items,_get_properties the value will be directly assigned because value is of the correct type, and validation was run earlier when the instance was created """ - _path_to_schemas = cls._validate(arg, validation_metadata=validation_metadata) + _path_to_schemas = {} + if validation_metadata.validated_path_to_schemas: + update(_path_to_schemas, validation_metadata.validated_path_to_schemas) + if not validation_metadata.validation_ran_earlier(cls): + other_path_to_schemas = cls._validate(arg, validation_metadata=validation_metadata) + update(_path_to_schemas, other_path_to_schemas) # loop through it make a new class for each entry # do not modify the returned result because it is cached and we would be modifying the cached value path_to_schemas = {} for path, schema_classes in _path_to_schemas.items(): + """ + Use cases + 1. N number of schema classes + enum + type != bool/None, classes in path_to_schemas: tuple/frozendict/str/Decimal/bytes/FileIo + needs Singleton added + 2. N number of schema classes + enum + type == bool/None, classes in path_to_schemas: BoolClass/NoneClass + Singleton already added + 3. N number of schema classes, classes in path_to_schemas: BoolClass/NoneClass/tuple/frozendict/str/Decimal/bytes/FileIo + """ + cls.__process_schema_classes(schema_classes) enum_schema = any( - hasattr(this_cls, '_enum_by_value') for this_cls in schema_classes) + hasattr(this_cls, '_enum_value_to_name') for this_cls in schema_classes) inheritable_primitive_type = schema_classes.intersection(inheritable_primitive_types_set) - chosen_schema_classes = schema_classes - suffix = tuple() - if inheritable_primitive_type: - chosen_schema_classes = schema_classes - inheritable_primitive_types_set - if not enum_schema: - # include the inheritable_primitive_type - suffix = tuple(inheritable_primitive_type) + chosen_schema_classes = schema_classes - inheritable_primitive_type + suffix = tuple(inheritable_primitive_type) + if enum_schema and suffix[0] not in {NoneClass, BoolClass}: + suffix = (Singleton,) + suffix - if len(chosen_schema_classes) == 1 and not suffix: - mfg_cls = tuple(chosen_schema_classes)[0] - else: - x_schema = schema_descendents & chosen_schema_classes - if x_schema: - x_schema = x_schema.pop() - if any(c is not x_schema and issubclass(c, x_schema) for c in chosen_schema_classes): - # needed to not have a mro error in get_new_class - chosen_schema_classes.remove(x_schema) - used_classes = tuple(sorted(chosen_schema_classes, key=lambda a_cls: a_cls.__name__)) + suffix - mfg_cls = get_new_class(class_name='DynamicSchema', bases=used_classes) - - if inheritable_primitive_type and not enum_schema: - path_to_schemas[path] = mfg_cls - continue - - # Use case: value is None, True, False, or an enum value - value = arg - for key in path[1:]: - # if path is bigger than one, get the value that mfg_cls validated - value = value[key] - if hasattr(mfg_cls, '_enum_by_value'): - mfg_cls = mfg_cls._enum_by_value[value] - elif value in {True, False}: - mfg_cls = mfg_cls._class_by_base_class(bool) - elif value is None: - mfg_cls = mfg_cls._class_by_base_class(none_type) - else: - raise ApiValueError('Unhandled case value={} bases={}'.format(value, mfg_cls.__bases__)) + used_classes = tuple(sorted(chosen_schema_classes, key=lambda a_cls: a_cls.__name__)) + suffix + mfg_cls = get_new_class(class_name='DynamicSchema', bases=used_classes) path_to_schemas[path] = mfg_cls return path_to_schemas @@ -1445,6 +1358,7 @@ class Schema: ): # We have a Dynamic class and we are making an instance of it if issubclass(cls, frozendict): + print(cls.__bases__) properties = cls._get_properties(arg, path_to_item, path_to_schemas) return super(Schema, cls).__new__(cls, properties) elif issubclass(cls, tuple): @@ -1484,8 +1398,11 @@ class Schema: """ Schema _from_openapi_data """ - arg = cast_to_allowed_types(arg, from_server=True) - validation_metadata = ValidationMetadata(from_server=True, configuration=_configuration) + from_server = True + validated_path_to_schemas = {} + arg = cast_to_allowed_types(arg, from_server, validated_path_to_schemas) + validation_metadata = ValidationMetadata( + from_server=from_server, configuration=_configuration, validated_path_to_schemas=validated_path_to_schemas) path_to_schemas = cls.__get_new_cls(arg, validation_metadata) new_cls = path_to_schemas[validation_metadata.path_to_item] new_inst = new_cls._get_new_instance_without_conversion( @@ -1527,8 +1444,12 @@ class Schema: arg = args[0] else: arg = cls.__get_input_dict(*args, **kwargs) - validation_metadata = ValidationMetadata(configuration=_configuration, from_server=False) - arg = cast_to_allowed_types(arg, from_server=validation_metadata.from_server) + from_server = False + validated_path_to_schemas = {} + arg = cast_to_allowed_types( + arg, from_server, validated_path_to_schemas) + validation_metadata = ValidationMetadata( + configuration=_configuration, from_server=from_server, validated_path_to_schemas=validated_path_to_schemas) path_to_schemas = cls.__get_new_cls(arg, validation_metadata) new_cls = path_to_schemas[validation_metadata.path_to_item] return new_cls._get_new_instance_without_conversion( @@ -1555,22 +1476,53 @@ class Schema: pass -def cast_to_allowed_types(arg: typing.Union[str, date, datetime, decimal.Decimal, int, float, None, dict, frozendict, list, tuple, bytes, Schema], from_server=False) -> typing.Union[str, bytes, decimal.Decimal, None, frozendict, tuple, Schema]: +def cast_to_allowed_types( + arg: typing.Union[str, date, datetime, uuid.UUID, decimal.Decimal, int, float, None, dict, frozendict, list, tuple, bytes, Schema], + from_server: bool, + validated_path_to_schemas: typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]], + path_to_item: typing.Tuple[typing.Union[str, int], ...] = tuple(['args[0]']), +) -> typing.Union[frozendict, tuple, decimal.Decimal, str, bytes, BoolClass, NoneClass, FileIO]: """ - from_server=False date, datetime -> str - int, float -> Decimal - StrSchema will convert that to bytes and remember the encoding when we pass in str input + Casts the input payload arg into the allowed types + The input validated_path_to_schemas is mutated by running this function + + When from_server is False then + - date/datetime is cast to str + - int/float is cast to Decimal + + If a Schema instance is passed in it is converted back to a primitive instance because + One may need to validate that data to the original Schema class AND additional different classes + those additional classes will need to be added to the new manufactured class for that payload + If the code didn't do this and kept the payload as a Schema instance it would fail to validate to other + Schema classes and the code wouldn't be able to mfg a new class that includes all valid schemas + TODO: store the validated schema classes in validation_metadata + + Args: + arg: the payload + from_server: whether this payload came from the server or not + validated_path_to_schemas: a dict that stores the validated classes at any path location in the payload """ + if isinstance(arg, Schema): + # store the already run validations + schema_classes = set() + for cls in arg.__class__.__bases__: + if cls is Singleton: + continue + schema_classes.add(cls) + validated_path_to_schemas[path_to_item] = schema_classes + if isinstance(arg, str): - return arg - elif type(arg) is dict or type(arg) is frozendict: - return frozendict({key: cast_to_allowed_types(val) for key, val in arg.items()}) - elif isinstance(arg, bool): + return str(arg) + elif isinstance(arg, (dict, frozendict)): + return frozendict({key: cast_to_allowed_types(val, from_server, validated_path_to_schemas, path_to_item + (key,)) for key, val in arg.items()}) + elif isinstance(arg, (bool, BoolClass)): """ this check must come before isinstance(arg, (int, float)) because isinstance(True, int) is True """ - return arg + if arg: + return BoolClass.TRUE + return BoolClass.FALSE elif isinstance(arg, int): return decimal.Decimal(arg) elif isinstance(arg, float): @@ -1580,10 +1532,10 @@ def cast_to_allowed_types(arg: typing.Union[str, date, datetime, decimal.Decimal # 3.4028234663852886e+38 -> Decimal('340282346638528859811704183484516925440.0') return decimal.Decimal(str(decimal_from_float)+'.0') return decimal_from_float - elif type(arg) is list or type(arg) is tuple: - return tuple([cast_to_allowed_types(item) for item in arg]) - elif arg is None: - return arg + elif isinstance(arg, (tuple, list)): + return tuple([cast_to_allowed_types(item, from_server, validated_path_to_schemas, path_to_item + (i,)) for i, item in enumerate(arg)]) + elif isinstance(arg, (none_type, NoneClass)): + return NoneClass.NONE elif isinstance(arg, (date, datetime)): if not from_server: return arg.isoformat() @@ -1595,17 +1547,11 @@ def cast_to_allowed_types(arg: typing.Union[str, date, datetime, decimal.Decimal # ApiTypeError will be thrown later by _validate_type return arg elif isinstance(arg, decimal.Decimal): - return arg + return decimal.Decimal(arg) elif isinstance(arg, bytes): - return arg - elif isinstance(arg, decimal.Decimal): - return arg + return bytes(arg) elif isinstance(arg, (io.FileIO, io.BufferedReader)): - if arg.closed: - raise ApiValueError('Invalid file state; file is closed and must be open') - return arg - elif isinstance(arg, Schema): - return arg + return FileIO(arg) raise ValueError('Invalid type passed in got input={} type={}'.format(arg, type(arg))) @@ -1615,7 +1561,7 @@ class ComposedBase(Discriminable): def __get_allof_classes(cls, arg, validation_metadata: ValidationMetadata): path_to_schemas = defaultdict(set) for allof_cls in cls._composed_schemas['allOf']: - if allof_cls in validation_metadata.base_classes: + if validation_metadata.validation_ran_earlier(allof_cls): continue other_path_to_schemas = allof_cls._validate(arg, validation_metadata=validation_metadata) update(path_to_schemas, other_path_to_schemas) @@ -1630,27 +1576,20 @@ class ComposedBase(Discriminable): path_to_schemas: typing.Dict[typing.Tuple, typing.Set[typing.Type[Schema]]] ): oneof_classes = [] - chosen_oneof_cls = None - original_base_classes = validation_metadata.base_classes - new_base_classes = validation_metadata.base_classes path_to_schemas = defaultdict(set) for oneof_cls in cls._composed_schemas['oneOf']: if oneof_cls in path_to_schemas[validation_metadata.path_to_item]: oneof_classes.append(oneof_cls) continue - if isinstance(arg, oneof_cls): - # passed in instance is the correct type - chosen_oneof_cls = oneof_cls + if validation_metadata.validation_ran_earlier(oneof_cls): oneof_classes.append(oneof_cls) continue try: path_to_schemas = oneof_cls._validate(arg, validation_metadata=validation_metadata) - new_base_classes = validation_metadata.base_classes except (ApiValueError, ApiTypeError) as ex: if discriminated_cls is not None and oneof_cls is discriminated_cls: raise ex continue - chosen_oneof_cls = oneof_cls oneof_classes.append(oneof_cls) if not oneof_classes: raise ApiValueError( @@ -1672,15 +1611,9 @@ class ComposedBase(Discriminable): validation_metadata: ValidationMetadata ): anyof_classes = [] - chosen_anyof_cls = None - original_base_classes = validation_metadata.base_classes path_to_schemas = defaultdict(set) for anyof_cls in cls._composed_schemas['anyOf']: - if anyof_cls in validation_metadata.base_classes: - continue - if isinstance(arg, anyof_cls): - # passed in instance is the correct type - chosen_anyof_cls = anyof_cls + if validation_metadata.validation_ran_earlier(anyof_cls): anyof_classes.append(anyof_cls) continue @@ -1690,8 +1623,6 @@ class ComposedBase(Discriminable): if discriminated_cls is not None and anyof_cls is discriminated_cls: raise ex continue - original_base_classes = validation_metadata.base_classes - chosen_anyof_cls = anyof_cls anyof_classes.append(anyof_cls) update(path_to_schemas, other_path_to_schemas) if not anyof_classes: @@ -1706,7 +1637,7 @@ class ComposedBase(Discriminable): cls, arg, validation_metadata: ValidationMetadata, - ): + ) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]]: """ ComposedBase _validate We return dynamic classes of different bases depending upon the inputs @@ -1741,7 +1672,8 @@ class ComposedBase(Discriminable): configuration=validation_metadata.configuration, from_server=validation_metadata.from_server, path_to_item=validation_metadata.path_to_item, - base_classes=validation_metadata.base_classes | frozenset({cls}) + seen_classes=validation_metadata.seen_classes | frozenset({cls}), + validated_path_to_schemas=validation_metadata.validated_path_to_schemas ) # process composed schema @@ -1785,20 +1717,24 @@ class ComposedBase(Discriminable): not_cls = cls._composed_schemas['not'] if not_cls: other_path_to_schemas = None + not_exception = ApiValueError( + "Invalid value '{}' was passed in to {}. Value is invalid because it is disallowed by {}".format( + arg, + cls.__name__, + not_cls.__name__, + ) + ) + if updated_vm.validation_ran_earlier(not_cls): + raise not_exception + try: other_path_to_schemas = not_cls._validate(arg, validation_metadata=updated_vm) except (ApiValueError, ApiTypeError): pass if other_path_to_schemas: - raise ApiValueError( - "Invalid value '{}' was passed in to {}. Value is invalid because it is disallowed by {}".format( - arg, - cls.__name__, - not_cls.__name__, - ) - ) + raise not_exception - if discriminated_cls is not None: + if discriminated_cls is not None and not updated_vm.validation_ran_earlier(discriminated_cls): # TODO use an exception from this package here assert discriminated_cls in path_to_schemas[updated_vm.path_to_item] return path_to_schemas @@ -1806,7 +1742,7 @@ class ComposedBase(Discriminable): # DictBase, ListBase, NumberBase, StrBase, BoolBase, NoneBase class ComposedSchema( - _SchemaTypeChecker(typing.Union[none_type, str, decimal.Decimal, bool, tuple, frozendict]), + _SchemaTypeChecker(typing.Union[NoneClass, str, decimal.Decimal, BoolClass, tuple, frozendict]), ComposedBase, DictBase, ListBase, @@ -1844,7 +1780,7 @@ class ListSchema( class NoneSchema( - _SchemaTypeChecker(typing.Union[none_type]), + _SchemaTypeChecker(typing.Union[NoneClass]), NoneBase, Schema ): @@ -2115,7 +2051,7 @@ class BinarySchema( class BoolSchema( - _SchemaTypeChecker(typing.Union[bool]), + _SchemaTypeChecker(typing.Union[BoolClass]), BoolBase, Schema ): @@ -2130,7 +2066,7 @@ class BoolSchema( class AnyTypeSchema( _SchemaTypeChecker( - typing.Union[frozendict, tuple, decimal.Decimal, str, bool, none_type, bytes, FileIO] + typing.Union[frozendict, tuple, decimal.Decimal, str, BoolClass, NoneClass, bytes, FileIO] ), DictBase, ListBase, @@ -2157,7 +2093,7 @@ class DictSchema( return super().__new__(cls, *args, **kwargs) -schema_descendents = set([NoneSchema, DictSchema, ListSchema, NumberSchema, StrSchema, BoolSchema]) +schema_type_classes = set([NoneSchema, DictSchema, ListSchema, NumberSchema, StrSchema, BoolSchema]) def deserialize_file(response_data, configuration, content_disposition=None): diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithFalseDoesNotMatch0.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithFalseDoesNotMatch0.md index f1cef96144..03733e36e0 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithFalseDoesNotMatch0.md +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithFalseDoesNotMatch0.md @@ -2,7 +2,7 @@ Type | Description | Notes ------------- | ------------- | ------------- -**bool** | | must be one of [False, ] +**bool** | | must be one of [BoolClass.FALSE, ] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithTrueDoesNotMatch1.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithTrueDoesNotMatch1.md index 09723bcb68..add4938784 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithTrueDoesNotMatch1.md +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/EnumWithTrueDoesNotMatch1.md @@ -2,7 +2,7 @@ Type | Description | Notes ------------- | ------------- | ------------- -**bool** | | must be one of [True, ] +**bool** | | must be one of [BoolClass.TRUE, ] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_allows_a_schema_which_should_validate.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_allows_a_schema_which_should_validate.py index 8e986da86f..5f7428df6f 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_allows_a_schema_which_should_validate.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_allows_a_schema_which_should_validate.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_are_allowed_by_default.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_are_allowed_by_default.py index 2251b2f815..f51599e5a3 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_are_allowed_by_default.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_are_allowed_by_default.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_can_exist_by_itself.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_can_exist_by_itself.py index 383a01af17..7353e1a249 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_can_exist_by_itself.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_can_exist_by_itself.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_should_not_look_in_applicators.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_should_not_look_in_applicators.py index 6654752818..11a38935e5 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_should_not_look_in_applicators.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_should_not_look_in_applicators.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/array_type_matches_arrays.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/array_type_matches_arrays.py index 583f9843b6..36f1c01424 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/array_type_matches_arrays.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/array_type_matches_arrays.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/boolean_type_matches_booleans.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/boolean_type_matches_booleans.py index 93cd0a0505..405d65fe29 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/boolean_type_matches_booleans.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/boolean_type_matches_booleans.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_int.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_int.py index c5c44fbdc3..f03594a943 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_int.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_int.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_number.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_number.py index 3bab944557..5fdee3839e 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_number.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_number.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_small_number.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_small_number.py index 5f96f0cdbd..078b49c88f 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_small_number.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_small_number.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/date_time_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/date_time_format.py index 0983f2f5e0..d2a861677d 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/date_time_format.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/date_time_format.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/email_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/email_format.py index e2922a1347..69fcb22239 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/email_format.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/email_format.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with0_does_not_match_false.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with0_does_not_match_false.py index 6cb61f6f05..65b18883b7 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with0_does_not_match_false.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with0_does_not_match_false.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with1_does_not_match_true.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with1_does_not_match_true.py index 6904cda7fa..48a26545d5 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with1_does_not_match_true.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with1_does_not_match_true.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_escaped_characters.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_escaped_characters.py index 7db769c23e..d8394a82a9 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_escaped_characters.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_escaped_characters.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_false_does_not_match0.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_false_does_not_match0.py index 223022bb57..e58c3e0f3b 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_false_does_not_match0.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_false_does_not_match0.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker @@ -69,7 +71,7 @@ from unit_test_api.schemas import ( # noqa: F401 class EnumWithFalseDoesNotMatch0( _SchemaEnumMaker( enum_value_to_name={ - False: "FALSE", + BoolClass.FALSE: "FALSE", } ), BoolSchema @@ -83,4 +85,4 @@ class EnumWithFalseDoesNotMatch0( @classmethod @property def FALSE(cls): - return cls(False) + return cls(BoolClass.FALSE) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_true_does_not_match1.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_true_does_not_match1.py index 6e99700862..750921e603 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_true_does_not_match1.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enum_with_true_does_not_match1.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker @@ -69,7 +71,7 @@ from unit_test_api.schemas import ( # noqa: F401 class EnumWithTrueDoesNotMatch1( _SchemaEnumMaker( enum_value_to_name={ - True: "TRUE", + BoolClass.TRUE: "TRUE", } ), BoolSchema @@ -83,4 +85,4 @@ class EnumWithTrueDoesNotMatch1( @classmethod @property def TRUE(cls): - return cls(True) + return cls(BoolClass.TRUE) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enums_in_properties.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enums_in_properties.py index 192305479f..bdaf150d82 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enums_in_properties.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/enums_in_properties.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/forbidden_property.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/forbidden_property.py index 0b1dc6f6a5..ccdc7ddc58 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/forbidden_property.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/forbidden_property.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/hostname_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/hostname_format.py index 89778b2446..c9e0496649 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/hostname_format.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/hostname_format.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/integer_type_matches_integers.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/integer_type_matches_integers.py index 472bd37aa7..825e64271a 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/integer_type_matches_integers.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/integer_type_matches_integers.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_instance_should_not_raise_error_when_float_division_inf.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_instance_should_not_raise_error_when_float_division_inf.py index 84dcad131b..8d6290fc26 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_instance_should_not_raise_error_when_float_division_inf.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_instance_should_not_raise_error_when_float_division_inf.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_string_value_for_default.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_string_value_for_default.py index 07ad386d3b..827fe68124 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_string_value_for_default.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_string_value_for_default.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ipv4_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ipv4_format.py index b882729f88..59928308a3 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ipv4_format.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ipv4_format.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ipv6_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ipv6_format.py index 9fa12e3fca..79234be74f 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ipv6_format.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ipv6_format.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/json_pointer_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/json_pointer_format.py index 670fd1785a..d2fe143e89 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/json_pointer_format.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/json_pointer_format.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maximum_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maximum_validation.py index 155a514da5..5df92433e0 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maximum_validation.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maximum_validation.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maximum_validation_with_unsigned_integer.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maximum_validation_with_unsigned_integer.py index 0aa1cb53eb..950d86909f 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maximum_validation_with_unsigned_integer.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maximum_validation_with_unsigned_integer.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxitems_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxitems_validation.py index 20b1c37f9f..c972ac75f4 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxitems_validation.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxitems_validation.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxlength_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxlength_validation.py index daf2ce82f7..de4c7a9acb 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxlength_validation.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxlength_validation.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxproperties0_means_the_object_is_empty.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxproperties0_means_the_object_is_empty.py index 12231672ec..c601df9f01 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxproperties0_means_the_object_is_empty.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxproperties0_means_the_object_is_empty.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxproperties_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxproperties_validation.py index 30b4e4d215..f88050876c 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxproperties_validation.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/maxproperties_validation.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minimum_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minimum_validation.py index bbe4414e08..2b4610a446 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minimum_validation.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minimum_validation.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minimum_validation_with_signed_integer.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minimum_validation_with_signed_integer.py index c0996a1a84..8e7bc84dd4 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minimum_validation_with_signed_integer.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minimum_validation_with_signed_integer.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minitems_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minitems_validation.py index 14a07dd341..b231150684 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minitems_validation.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minitems_validation.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minlength_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minlength_validation.py index a4ac28a41c..38933cceef 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minlength_validation.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minlength_validation.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minproperties_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minproperties_validation.py index 74861d0b1f..38e91f35b5 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minproperties_validation.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/minproperties_validation.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/model_not.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/model_not.py index 1b1c92f096..49841aa516 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/model_not.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/model_not.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_items.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_items.py index 9b5e65ef0a..c26c788223 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_items.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_items.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/not_more_complex_schema.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/not_more_complex_schema.py index 66f38098b5..a6b6292f11 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/not_more_complex_schema.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/not_more_complex_schema.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nul_characters_in_strings.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nul_characters_in_strings.py index 04ff26fd64..0ee14c8573 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nul_characters_in_strings.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nul_characters_in_strings.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/null_type_matches_only_the_null_object.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/null_type_matches_only_the_null_object.py index 3ed5b3d6b3..1c634f9eb1 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/null_type_matches_only_the_null_object.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/null_type_matches_only_the_null_object.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/number_type_matches_numbers.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/number_type_matches_numbers.py index 3b33c38f4c..dda953a7cd 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/number_type_matches_numbers.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/number_type_matches_numbers.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/object_properties_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/object_properties_validation.py index a5ac3ccf95..62b75e4b46 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/object_properties_validation.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/object_properties_validation.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/pattern_is_not_anchored.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/pattern_is_not_anchored.py index 6392378878..cedc5529c7 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/pattern_is_not_anchored.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/pattern_is_not_anchored.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/pattern_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/pattern_validation.py index 60d4530a63..2e80e68fc4 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/pattern_validation.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/pattern_validation.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/properties_with_escaped_characters.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/properties_with_escaped_characters.py index 5b1aceb23a..e002e23550 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/properties_with_escaped_characters.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/properties_with_escaped_characters.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/property_named_ref_that_is_not_a_reference.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/property_named_ref_that_is_not_a_reference.py index 0f3628abc0..e041626a9a 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/property_named_ref_that_is_not_a_reference.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/property_named_ref_that_is_not_a_reference.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_additionalproperties.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_additionalproperties.py index e9a1d9100a..06a4940e93 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_additionalproperties.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_additionalproperties.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_allof.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_allof.py index 927d0c2530..692e23e079 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_allof.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_allof.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_anyof.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_anyof.py index 989ff30c91..50a541d05d 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_anyof.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_anyof.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_items.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_items.py index 9253eeeacc..e9c980b72c 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_items.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_items.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_oneof.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_oneof.py index 43ea96899b..073d08ab9a 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_oneof.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_oneof.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_property.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_property.py index e0f43592bb..9dfabb6891 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_property.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/ref_in_property.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_default_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_default_validation.py index 9499379689..3a5232f50e 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_default_validation.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_default_validation.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_validation.py index a0d4c00017..e8bb57f4fc 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_validation.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_validation.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_with_empty_array.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_with_empty_array.py index 4a7a203a12..1c9b31e6c3 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_with_empty_array.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/required_with_empty_array.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/simple_enum_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/simple_enum_validation.py index 86f28a9dae..53f2c567d2 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/simple_enum_validation.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/simple_enum_validation.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/string_type_matches_strings.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/string_type_matches_strings.py index f1c3c9a030..7f9e3f1d4b 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/string_type_matches_strings.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/string_type_matches_strings.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/the_default_keyword_does_not_do_anything_if_the_property_is_missing.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/the_default_keyword_does_not_do_anything_if_the_property_is_missing.py index d59150db52..342399c3dd 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/the_default_keyword_does_not_do_anything_if_the_property_is_missing.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/the_default_keyword_does_not_do_anything_if_the_property_is_missing.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uniqueitems_false_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uniqueitems_false_validation.py index 43b4835834..b44bd08185 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uniqueitems_false_validation.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uniqueitems_false_validation.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uniqueitems_validation.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uniqueitems_validation.py index 7680173ee8..799794310f 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uniqueitems_validation.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uniqueitems_validation.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_format.py index 61c87a3c4c..8599fa87d5 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_format.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_format.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_reference_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_reference_format.py index 92c7c4fc73..791ac4d70a 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_reference_format.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_reference_format.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_template_format.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_template_format.py index 636b9b2f27..8a2e90d106 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_template_format.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/uri_template_format.py @@ -60,6 +60,8 @@ from unit_test_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/schemas.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/schemas.py index ad7860b5ca..987bcf4f64 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/schemas.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/schemas.py @@ -53,12 +53,17 @@ class FileIO(io.FileIO): def __new__(cls, arg: typing.Union[io.FileIO, io.BufferedReader]): if isinstance(arg, (io.FileIO, io.BufferedReader)): + if arg.closed: + raise ApiValueError('Invalid file state; file is closed and must be open') arg.close() inst = super(FileIO, cls).__new__(cls, arg.name) super(FileIO, inst).__init__(arg.name) return inst raise ApiValueError('FileIO must be passed arg which contains the open file') + def __init__(self, arg: typing.Union[io.FileIO, io.BufferedReader]): + pass + def update(d: dict, u: dict): """ @@ -85,29 +90,46 @@ class ValidationMetadata(frozendict): path_to_item: typing.Tuple[typing.Union[str, int], ...] = tuple(['args[0]']), from_server: bool = False, configuration: typing.Optional[Configuration] = None, - base_classes: typing.FrozenSet[typing.Type] = frozenset(), + seen_classes: typing.FrozenSet[typing.Type] = frozenset(), + validated_path_to_schemas: typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set['Schema']] = frozendict() ): """ Args: path_to_item: the path to the current data being instantiated. For {'a': [1]} if the code is handling, 1, then the path is ('args[0]', 'a', 0) + This changes from location to location from_server: whether or not this data came form the server True when receiving server data False when instantiating model with client side data not form the server + This does not change from location to location configuration: the Configuration instance to use This is needed because in Configuration: - one can disable validation checking - base_classes: when deserializing data that matches multiple schemas, this is used to store + This does not change from location to location + seen_classes: when deserializing data that matches multiple schemas, this is used to store the schemas that have been traversed. This is used to stop processing when a cycle is seen. + This changes from location to location + validated_path_to_schemas: stores the already validated schema classes for a given path location + This does not change from location to location """ return super().__new__( cls, path_to_item=path_to_item, from_server=from_server, configuration=configuration, - base_classes=base_classes, + seen_classes=seen_classes, + validated_path_to_schemas=validated_path_to_schemas ) + def validation_ran_earlier(self, cls: type) -> bool: + validated_schemas = self.validated_path_to_schemas.get(self.path_to_item, set()) + validation_ran_earlier = validated_schemas and cls in validated_schemas + if validation_ran_earlier: + return True + if cls in self.seen_classes: + return True + return False + @property def path_to_item(self) -> typing.Tuple[typing.Union[str, int], ...]: return self.get('path_to_item') @@ -121,8 +143,12 @@ class ValidationMetadata(frozendict): return self.get('configuration') @property - def base_classes(self) -> typing.FrozenSet[typing.Type]: - return self.get('base_classes') + def seen_classes(self) -> typing.FrozenSet[typing.Type]: + return self.get('seen_classes') + + @property + def validated_path_to_schemas(self) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set['Schema']]: + return self.get('validated_path_to_schemas') class ValidatorBase: @@ -201,31 +227,6 @@ class ValidatorBase: path_to_item=validation_metadata.path_to_item ) - @classmethod - def __data_with_boolclass_instead_of_bool(cls, data: typing.Any) -> typing.Any: - """ - In python bool is a subclass of int so 1 == True and 0 == False - This prevents code from being able to see the difference between 1 and True and 0 and False - To fix this swap in BoolClass singletons for True and False so they will differ from integers - """ - if isinstance(data, (list, tuple)): - new_data = [] - for item in data: - new_item = cls.__data_with_boolclass_instead_of_bool(item) - new_data.append(new_item) - return tuple(new_data) - elif isinstance(data, (dict, frozendict)): - new_data = {} - for key, value in data.items(): - new_value = cls.__data_with_boolclass_instead_of_bool(value) - new_data[key] = new_value - return frozendict(new_data) - elif isinstance(data, bool): - if data: - return BoolClass.TRUE - return BoolClass.FALSE - return data - @classmethod def __check_tuple_validations( cls, validations, input_values, @@ -253,7 +254,7 @@ class ValidatorBase: if (cls.__is_json_validation_enabled('uniqueItems', validation_metadata.configuration) and 'unique_items' in validations and validations['unique_items'] and input_values): - unique_items = set(cls.__data_with_boolclass_instead_of_bool(input_values)) + unique_items = set(input_values) if len(input_values) > len(unique_items): cls.__raise_validation_error_message( value=input_values, @@ -369,128 +370,6 @@ class ValidatorBase: cls.__check_dict_validations(validations, input_values, validation_metadata) elif isinstance(input_values, decimal.Decimal): cls.__check_numeric_validations(validations, input_values, validation_metadata) - try: - return super()._validate_validations_pass(input_values, validation_metadata) - except AttributeError: - return True - - -class Validator(typing.Protocol): - def _validate_validations_pass( - cls, - input_values, - validation_metadata: ValidationMetadata - ): - pass - - -def _SchemaValidator(**validations: typing.Union[str, bool, None, int, float, list[dict[str, typing.Union[str, int, float]]]]) -> Validator: - class SchemaValidator(ValidatorBase): - @classmethod - def _validate_validations_pass( - cls, - input_values, - validation_metadata: ValidationMetadata - ): - cls._check_validations_for_types(validations, input_values, validation_metadata) - try: - return super()._validate_validations_pass(input_values, validation_metadata) - except AttributeError: - return True - - return SchemaValidator - - -class TypeChecker(typing.Protocol): - @classmethod - def _validate_type( - cls, arg_simple_class: type - ) -> typing.Tuple[type]: - pass - - -def _SchemaTypeChecker(union_type_cls: typing.Union[typing.Any]) -> TypeChecker: - if typing.get_origin(union_type_cls) is typing.Union: - union_classes = typing.get_args(union_type_cls) - else: - # note: when a union of a single class is passed in, the union disappears - union_classes = tuple([union_type_cls]) - """ - I want the type hint... union_type_cls - and to use it as a base class but when I do, I get - TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases - """ - class SchemaTypeChecker: - @classmethod - def _validate_type(cls, arg_simple_class: type): - if arg_simple_class not in union_classes: - return union_classes - try: - return super()._validate_type(arg_simple_class) - except AttributeError: - return tuple() - - return SchemaTypeChecker - - -class EnumMakerBase: - @classmethod - @property - def _enum_by_value( - cls - ) -> type: - enum_classes = {} - if not hasattr(cls, "_enum_value_to_name"): - return enum_classes - for enum_value, enum_name in cls._enum_value_to_name.items(): - base_class = type(enum_value) - if base_class is none_type: - enum_classes[enum_value] = get_new_class( - "Dynamic" + cls.__name__, (cls, NoneClass)) - log_cache_usage(get_new_class) - elif base_class is bool: - enum_classes[enum_value] = get_new_class( - "Dynamic" + cls.__name__, (cls, BoolClass)) - log_cache_usage(get_new_class) - else: - enum_classes[enum_value] = get_new_class( - "Dynamic" + cls.__name__, (cls, Singleton, base_class)) - log_cache_usage(get_new_class) - return enum_classes - - -class EnumMakerInterface(typing.Protocol): - @classmethod - @property - def _enum_value_to_name( - cls - ) -> typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]: - pass - - @classmethod - @property - def _enum_by_value( - cls - ) -> type: - pass - - -def _SchemaEnumMaker(enum_value_to_name: typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]) -> EnumMakerInterface: - class SchemaEnumMaker(EnumMakerBase): - @classmethod - @property - def _enum_value_to_name( - cls - ) -> typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]: - pass - try: - super_enum_value_to_name = super()._enum_value_to_name - except AttributeError: - return enum_value_to_name - intersection = dict(enum_value_to_name.items() & super_enum_value_to_name.items()) - return intersection - - return SchemaEnumMaker class Singleton: @@ -505,7 +384,12 @@ class Singleton: if key not in cls._instances: if arg in {None, True, False}: inst = super().__new__(cls) - # inst._value = arg + cls._instances[key] = inst + elif isinstance(arg, BoolClass): + inst = super().__new__(cls) + cls._instances[key] = inst + elif isinstance(arg, NoneClass): + inst = super().__new__(cls) cls._instances[key] = inst else: cls._instances[key] = super().__new__(cls, arg) @@ -515,7 +399,7 @@ class Singleton: if isinstance(self, NoneClass): return f'<{self.__class__.__name__}: None>' elif isinstance(self, BoolClass): - if (self.__class__, True) in self._instances: + if bool(self): return f'<{self.__class__.__name__}: True>' return f'<{self.__class__.__name__}: False>' return f'<{self.__class__.__name__}: {super().__repr__()}>' @@ -546,10 +430,171 @@ class BoolClass(Singleton): def __bool__(self) -> bool: for key, instance in self._instances.items(): if self is instance: - return key[1] + return bool(key[1]) raise ValueError('Unable to find the boolean value of this instance') +class Validator(typing.Protocol): + @classmethod + def _validate( + cls, + arg, + validation_metadata: ValidationMetadata, + ) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]]: + pass + + +def _SchemaValidator(**validations: typing.Union[str, bool, None, int, float, list[dict[str, typing.Union[str, int, float]]]]) -> Validator: + class SchemaValidator(ValidatorBase): + @classmethod + def _validate( + cls, + arg, + validation_metadata: ValidationMetadata, + ) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]]: + """ + SchemaValidator _validate + Validates that validations pass + """ + cls._check_validations_for_types(validations, arg, validation_metadata) + return super()._validate(arg, validation_metadata) + + return SchemaValidator + + +def _SchemaTypeChecker(union_type_cls: typing.Union[typing.Any]) -> Validator: + if typing.get_origin(union_type_cls) is typing.Union: + union_classes = typing.get_args(union_type_cls) + else: + # note: when a union of a single class is passed in, the union disappears + union_classes = tuple([union_type_cls]) + """ + I want the type hint... union_type_cls + and to use it as a base class but when I do, I get + TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases + """ + class SchemaTypeChecker: + @staticmethod + def __get_valid_classes_phrase(input_classes): + """Returns a string phrase describing what types are allowed""" + all_classes = list(input_classes) + all_classes = sorted(all_classes, key=lambda cls: cls.__name__) + all_class_names = [cls.__name__ for cls in all_classes] + if len(all_class_names) == 1: + return "is {0}".format(all_class_names[0]) + return "is one of [{0}]".format(", ".join(all_class_names)) + + @classmethod + def __type_error_message( + cls, var_value=None, var_name=None, valid_classes=None, key_type=None + ): + """ + Keyword Args: + var_value (any): the variable which has the type_error + var_name (str): the name of the variable which has the typ error + valid_classes (tuple): the accepted classes for current_item's + value + key_type (bool): False if our value is a value in a dict + True if it is a key in a dict + False if our item is an item in a tuple + """ + key_or_value = "value" + if key_type: + key_or_value = "key" + valid_classes_phrase = cls.__get_valid_classes_phrase(valid_classes) + msg = "Invalid type. Required {1} type {2} and " "passed type was {3}".format( + var_name, + key_or_value, + valid_classes_phrase, + type(var_value).__name__, + ) + return msg + + @classmethod + def _get_type_error(cls, var_value, path_to_item, valid_classes, key_type=False): + error_msg = cls.__type_error_message( + var_name=path_to_item[-1], + var_value=var_value, + valid_classes=valid_classes, + key_type=key_type, + ) + return ApiTypeError( + error_msg, + path_to_item=path_to_item, + valid_classes=valid_classes, + key_type=key_type, + ) + + @classmethod + def _validate( + cls, + arg, + validation_metadata: ValidationMetadata, + ) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]]: + """ + SchemaTypeChecker _validate + Validates arg's type + """ + arg_type = type(arg) + if arg_type in union_classes: + return super()._validate(arg, validation_metadata) + raise cls._get_type_error( + arg, + validation_metadata.path_to_item, + union_classes, + key_type=False, + ) + + return SchemaTypeChecker + + +class EnumMakerBase: + pass + + +class EnumMakerInterface(Validator): + @classmethod + @property + def _enum_value_to_name( + cls + ) -> typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]: + pass + + +def _SchemaEnumMaker(enum_value_to_name: typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]) -> EnumMakerInterface: + class SchemaEnumMaker(EnumMakerBase): + @classmethod + @property + def _enum_value_to_name( + cls + ) -> typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]: + pass + try: + super_enum_value_to_name = super()._enum_value_to_name + except AttributeError: + return enum_value_to_name + intersection = dict(enum_value_to_name.items() & super_enum_value_to_name.items()) + return intersection + + @classmethod + def _validate( + cls, + arg, + validation_metadata: ValidationMetadata, + ) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]]: + """ + SchemaEnumMaker _validate + Validates that arg is in the enum's allowed values + """ + try: + cls._enum_value_to_name[arg] + except KeyError: + raise ApiValueError("Invalid value {} passed in to {}, {}".format(arg, cls, cls._enum_value_to_name)) + return super()._validate(arg, validation_metadata) + + return SchemaEnumMaker + + class BoolBase: def is_true(self) -> bool: """ @@ -821,13 +866,14 @@ class ListBase: item_cls = getattr(cls, '_items', AnyTypeSchema) path_to_schemas = {} for i, value in enumerate(list_items): - if isinstance(value, item_cls): - continue item_validation_metadata = ValidationMetadata( from_server=validation_metadata.from_server, configuration=validation_metadata.configuration, - path_to_item=validation_metadata.path_to_item+(i,) + path_to_item=validation_metadata.path_to_item+(i,), + validated_path_to_schemas=validation_metadata.validated_path_to_schemas ) + if item_validation_metadata.validation_ran_earlier(item_cls): + continue other_path_to_schemas = item_cls._validate( value, validation_metadata=item_validation_metadata) update(path_to_schemas, other_path_to_schemas) @@ -857,14 +903,12 @@ class ListBase: _path_to_schemas = super()._validate(arg, validation_metadata=validation_metadata) if not isinstance(arg, tuple): return _path_to_schemas - if cls in validation_metadata.base_classes: - # we have already moved through this class so stop here - return _path_to_schemas updated_vm = ValidationMetadata( configuration=validation_metadata.configuration, from_server=validation_metadata.from_server, path_to_item=validation_metadata.path_to_item, - base_classes=validation_metadata.base_classes | frozenset({cls}) + seen_classes=validation_metadata.seen_classes | frozenset({cls}), + validated_path_to_schemas=validation_metadata.validated_path_to_schemas ) other_path_to_schemas = cls._validate_items(arg, validation_metadata=updated_vm) update(_path_to_schemas, other_path_to_schemas) @@ -1030,13 +1074,14 @@ class DictBase(Discriminable): raise ApiTypeError('Unable to find schema for value={} in class={} at path_to_item={}'.format( value, cls, validation_metadata.path_to_item+(property_name,) )) - if isinstance(value, schema): - continue arg_validation_metadata = ValidationMetadata( from_server=validation_metadata.from_server, configuration=validation_metadata.configuration, - path_to_item=validation_metadata.path_to_item+(property_name,) + path_to_item=validation_metadata.path_to_item+(property_name,), + validated_path_to_schemas=validation_metadata.validated_path_to_schemas ) + if arg_validation_metadata.validation_ran_earlier(schema): + continue other_path_to_schemas = schema._validate(value, validation_metadata=arg_validation_metadata) update(path_to_schemas, other_path_to_schemas) return path_to_schemas @@ -1089,15 +1134,15 @@ class DictBase(Discriminable): validation_metadata.path_to_item + (disc_prop_name,) ) ) - if discriminated_cls in validation_metadata.base_classes: - # we have already moved through this class so stop here - return _path_to_schemas updated_vm = ValidationMetadata( configuration=validation_metadata.configuration, from_server=validation_metadata.from_server, path_to_item=validation_metadata.path_to_item, - base_classes=validation_metadata.base_classes | frozenset({cls}) + seen_classes=validation_metadata.seen_classes | frozenset({cls}), + validated_path_to_schemas=validation_metadata.validated_path_to_schemas ) + if updated_vm.validation_ran_earlier(discriminated_cls): + return _path_to_schemas other_path_to_schemas = discriminated_cls._validate(arg, validation_metadata=updated_vm) update(_path_to_schemas, other_path_to_schemas) return _path_to_schemas @@ -1185,7 +1230,7 @@ class DictBase(Discriminable): return super().__getattribute__(name) -inheritable_primitive_types_set = {decimal.Decimal, str, tuple, frozendict, FileIO, bytes} +inheritable_primitive_types_set = {decimal.Decimal, str, tuple, frozendict, FileIO, bytes, BoolClass, NoneClass} class Schema: @@ -1198,117 +1243,12 @@ class Schema: - payload value is an allowed enum value """ - @staticmethod - def __get_simple_class(input_value): - """Returns an input_value's simple class that we will use for type checking - - Args: - input_value (class/class_instance): the item for which we will return - the simple class - """ - if isinstance(input_value, tuple): - return tuple - elif isinstance(input_value, frozendict): - return frozendict - elif isinstance(input_value, none_type): - return none_type - elif isinstance(input_value, bytes): - return bytes - elif isinstance(input_value, (io.FileIO, io.BufferedReader)): - return FileIO - elif isinstance(input_value, bool): - # this must be higher than the int check because - # isinstance(True, int) == True - return bool - elif isinstance(input_value, int): - return int - elif isinstance(input_value, float): - return float - elif isinstance(input_value, datetime): - # this must be higher than the date check because - # isinstance(datetime_instance, date) == True - return datetime - elif isinstance(input_value, date): - return date - elif isinstance(input_value, str): - return str - return type(input_value) - - @staticmethod - def __get_valid_classes_phrase(input_classes): - """Returns a string phrase describing what types are allowed""" - all_classes = list(input_classes) - all_classes = sorted(all_classes, key=lambda cls: cls.__name__) - all_class_names = [cls.__name__ for cls in all_classes] - if len(all_class_names) == 1: - return "is {0}".format(all_class_names[0]) - return "is one of [{0}]".format(", ".join(all_class_names)) - - @classmethod - def __type_error_message( - cls, var_value=None, var_name=None, valid_classes=None, key_type=None - ): - """ - Keyword Args: - var_value (any): the variable which has the type_error - var_name (str): the name of the variable which has the typ error - valid_classes (tuple): the accepted classes for current_item's - value - key_type (bool): False if our value is a value in a dict - True if it is a key in a dict - False if our item is an item in a tuple - """ - key_or_value = "value" - if key_type: - key_or_value = "key" - valid_classes_phrase = cls.__get_valid_classes_phrase(valid_classes) - msg = "Invalid type. Required {1} type {2} and " "passed type was {3}".format( - var_name, - key_or_value, - valid_classes_phrase, - type(var_value).__name__, - ) - return msg - - @classmethod - def __get_type_error(cls, var_value, path_to_item, valid_classes, key_type=False): - error_msg = cls.__type_error_message( - var_name=path_to_item[-1], - var_value=var_value, - valid_classes=valid_classes, - key_type=key_type, - ) - return ApiTypeError( - error_msg, - path_to_item=path_to_item, - valid_classes=valid_classes, - key_type=key_type, - ) - - @classmethod - def _class_by_base_class(cls, base_cls: type) -> type: - cls_name = "Dynamic"+cls.__name__ - if base_cls is bool: - new_cls = get_new_class(cls_name, (cls, BoolBase, BoolClass)) - elif base_cls is str: - new_cls = get_new_class(cls_name, (cls, StrBase, str)) - elif base_cls is decimal.Decimal: - new_cls = get_new_class(cls_name, (cls, NumberBase, decimal.Decimal)) - elif base_cls is tuple: - new_cls = get_new_class(cls_name, (cls, ListBase, tuple)) - elif base_cls is frozendict: - new_cls = get_new_class(cls_name, (cls, DictBase, frozendict)) - elif base_cls is none_type: - new_cls = get_new_class(cls_name, (cls, NoneBase, NoneClass)) - log_cache_usage(get_new_class) - return new_cls - @classmethod def _validate( cls, arg, validation_metadata: ValidationMetadata, - ): + ) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]]: """ Schema _validate Runs all schema validation logic and @@ -1320,9 +1260,7 @@ class Schema: Use cases: 1. inheritable type: string/decimal.Decimal/frozendict/tuple - 2. enum value cases: 'hi', 1 -> no base_class set because the enum includes the base class - 3. uninheritable type: True/False/None -> no base_class because the base class is not inheritable - _enum_by_value will handle this use case + 2. singletons: bool/None -> uses the base classes BoolClass/NoneClass Required Steps: 1. verify type of input is valid vs the allowed _types @@ -1336,38 +1274,29 @@ class Schema: ApiValueError: when a string can't be converted into a date or datetime and it must be one of those classes ApiTypeError: when the input type is not in the list of allowed spec types """ - base_class = cls.__get_simple_class(arg) - failed_type_check_classes = cls._validate_type(base_class) - if failed_type_check_classes: - raise cls.__get_type_error( - arg, - validation_metadata.path_to_item, - failed_type_check_classes, - key_type=False, - ) - if hasattr(cls, '_validate_validations_pass'): - cls._validate_validations_pass(arg, validation_metadata) - path_to_schemas = {} - if validation_metadata.path_to_item not in path_to_schemas: - path_to_schemas[validation_metadata.path_to_item] = set() + base_class = type(arg) + path_to_schemas = {validation_metadata.path_to_item: set()} path_to_schemas[validation_metadata.path_to_item].add(cls) - - if hasattr(cls, "_enum_by_value"): - cls._validate_enum_value(arg) - return path_to_schemas - - if base_class is none_type or base_class is bool: - return path_to_schemas - path_to_schemas[validation_metadata.path_to_item].add(base_class) return path_to_schemas - @classmethod - def _validate_enum_value(cls, arg): - try: - cls._enum_by_value[arg] - except KeyError: - raise ApiValueError("Invalid value {} passed in to {}, {}".format(arg, cls, cls._enum_value_to_name)) + @staticmethod + def __process_schema_classes( + schema_classes: typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]] + ): + """ + Processes and mutates schema_classes + If a SomeSchema is a subclass of DictSchema then remove DictSchema because it is already included + """ + if len(schema_classes) < 2: + return + x_schema = schema_type_classes & schema_classes + if not x_schema: + return + x_schema = x_schema.pop() + if any(c is not x_schema and issubclass(c, x_schema) for c in schema_classes): + # needed to not have a mro error in get_new_class + schema_classes.remove(x_schema) @classmethod def __get_new_cls( @@ -1394,51 +1323,35 @@ class Schema: and in list/dict _get_items,_get_properties the value will be directly assigned because value is of the correct type, and validation was run earlier when the instance was created """ - _path_to_schemas = cls._validate(arg, validation_metadata=validation_metadata) + _path_to_schemas = {} + if validation_metadata.validated_path_to_schemas: + update(_path_to_schemas, validation_metadata.validated_path_to_schemas) + if not validation_metadata.validation_ran_earlier(cls): + other_path_to_schemas = cls._validate(arg, validation_metadata=validation_metadata) + update(_path_to_schemas, other_path_to_schemas) # loop through it make a new class for each entry # do not modify the returned result because it is cached and we would be modifying the cached value path_to_schemas = {} for path, schema_classes in _path_to_schemas.items(): + """ + Use cases + 1. N number of schema classes + enum + type != bool/None, classes in path_to_schemas: tuple/frozendict/str/Decimal/bytes/FileIo + needs Singleton added + 2. N number of schema classes + enum + type == bool/None, classes in path_to_schemas: BoolClass/NoneClass + Singleton already added + 3. N number of schema classes, classes in path_to_schemas: BoolClass/NoneClass/tuple/frozendict/str/Decimal/bytes/FileIo + """ + cls.__process_schema_classes(schema_classes) enum_schema = any( - hasattr(this_cls, '_enum_by_value') for this_cls in schema_classes) + hasattr(this_cls, '_enum_value_to_name') for this_cls in schema_classes) inheritable_primitive_type = schema_classes.intersection(inheritable_primitive_types_set) - chosen_schema_classes = schema_classes - suffix = tuple() - if inheritable_primitive_type: - chosen_schema_classes = schema_classes - inheritable_primitive_types_set - if not enum_schema: - # include the inheritable_primitive_type - suffix = tuple(inheritable_primitive_type) + chosen_schema_classes = schema_classes - inheritable_primitive_type + suffix = tuple(inheritable_primitive_type) + if enum_schema and suffix[0] not in {NoneClass, BoolClass}: + suffix = (Singleton,) + suffix - if len(chosen_schema_classes) == 1 and not suffix: - mfg_cls = tuple(chosen_schema_classes)[0] - else: - x_schema = schema_descendents & chosen_schema_classes - if x_schema: - x_schema = x_schema.pop() - if any(c is not x_schema and issubclass(c, x_schema) for c in chosen_schema_classes): - # needed to not have a mro error in get_new_class - chosen_schema_classes.remove(x_schema) - used_classes = tuple(sorted(chosen_schema_classes, key=lambda a_cls: a_cls.__name__)) + suffix - mfg_cls = get_new_class(class_name='DynamicSchema', bases=used_classes) - - if inheritable_primitive_type and not enum_schema: - path_to_schemas[path] = mfg_cls - continue - - # Use case: value is None, True, False, or an enum value - value = arg - for key in path[1:]: - # if path is bigger than one, get the value that mfg_cls validated - value = value[key] - if hasattr(mfg_cls, '_enum_by_value'): - mfg_cls = mfg_cls._enum_by_value[value] - elif value in {True, False}: - mfg_cls = mfg_cls._class_by_base_class(bool) - elif value is None: - mfg_cls = mfg_cls._class_by_base_class(none_type) - else: - raise ApiValueError('Unhandled case value={} bases={}'.format(value, mfg_cls.__bases__)) + used_classes = tuple(sorted(chosen_schema_classes, key=lambda a_cls: a_cls.__name__)) + suffix + mfg_cls = get_new_class(class_name='DynamicSchema', bases=used_classes) path_to_schemas[path] = mfg_cls return path_to_schemas @@ -1452,6 +1365,7 @@ class Schema: ): # We have a Dynamic class and we are making an instance of it if issubclass(cls, frozendict): + print(cls.__bases__) properties = cls._get_properties(arg, path_to_item, path_to_schemas) return super(Schema, cls).__new__(cls, properties) elif issubclass(cls, tuple): @@ -1491,8 +1405,11 @@ class Schema: """ Schema _from_openapi_data """ - arg = cast_to_allowed_types(arg, from_server=True) - validation_metadata = ValidationMetadata(from_server=True, configuration=_configuration) + from_server = True + validated_path_to_schemas = {} + arg = cast_to_allowed_types(arg, from_server, validated_path_to_schemas) + validation_metadata = ValidationMetadata( + from_server=from_server, configuration=_configuration, validated_path_to_schemas=validated_path_to_schemas) path_to_schemas = cls.__get_new_cls(arg, validation_metadata) new_cls = path_to_schemas[validation_metadata.path_to_item] new_inst = new_cls._get_new_instance_without_conversion( @@ -1534,8 +1451,12 @@ class Schema: arg = args[0] else: arg = cls.__get_input_dict(*args, **kwargs) - validation_metadata = ValidationMetadata(configuration=_configuration, from_server=False) - arg = cast_to_allowed_types(arg, from_server=validation_metadata.from_server) + from_server = False + validated_path_to_schemas = {} + arg = cast_to_allowed_types( + arg, from_server, validated_path_to_schemas) + validation_metadata = ValidationMetadata( + configuration=_configuration, from_server=from_server, validated_path_to_schemas=validated_path_to_schemas) path_to_schemas = cls.__get_new_cls(arg, validation_metadata) new_cls = path_to_schemas[validation_metadata.path_to_item] return new_cls._get_new_instance_without_conversion( @@ -1562,22 +1483,53 @@ class Schema: pass -def cast_to_allowed_types(arg: typing.Union[str, date, datetime, decimal.Decimal, int, float, None, dict, frozendict, list, tuple, bytes, Schema], from_server=False) -> typing.Union[str, bytes, decimal.Decimal, None, frozendict, tuple, Schema]: +def cast_to_allowed_types( + arg: typing.Union[str, date, datetime, uuid.UUID, decimal.Decimal, int, float, None, dict, frozendict, list, tuple, bytes, Schema], + from_server: bool, + validated_path_to_schemas: typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]], + path_to_item: typing.Tuple[typing.Union[str, int], ...] = tuple(['args[0]']), +) -> typing.Union[frozendict, tuple, decimal.Decimal, str, bytes, BoolClass, NoneClass, FileIO]: """ - from_server=False date, datetime -> str - int, float -> Decimal - StrSchema will convert that to bytes and remember the encoding when we pass in str input + Casts the input payload arg into the allowed types + The input validated_path_to_schemas is mutated by running this function + + When from_server is False then + - date/datetime is cast to str + - int/float is cast to Decimal + + If a Schema instance is passed in it is converted back to a primitive instance because + One may need to validate that data to the original Schema class AND additional different classes + those additional classes will need to be added to the new manufactured class for that payload + If the code didn't do this and kept the payload as a Schema instance it would fail to validate to other + Schema classes and the code wouldn't be able to mfg a new class that includes all valid schemas + TODO: store the validated schema classes in validation_metadata + + Args: + arg: the payload + from_server: whether this payload came from the server or not + validated_path_to_schemas: a dict that stores the validated classes at any path location in the payload """ + if isinstance(arg, Schema): + # store the already run validations + schema_classes = set() + for cls in arg.__class__.__bases__: + if cls is Singleton: + continue + schema_classes.add(cls) + validated_path_to_schemas[path_to_item] = schema_classes + if isinstance(arg, str): - return arg - elif type(arg) is dict or type(arg) is frozendict: - return frozendict({key: cast_to_allowed_types(val) for key, val in arg.items()}) - elif isinstance(arg, bool): + return str(arg) + elif isinstance(arg, (dict, frozendict)): + return frozendict({key: cast_to_allowed_types(val, from_server, validated_path_to_schemas, path_to_item + (key,)) for key, val in arg.items()}) + elif isinstance(arg, (bool, BoolClass)): """ this check must come before isinstance(arg, (int, float)) because isinstance(True, int) is True """ - return arg + if arg: + return BoolClass.TRUE + return BoolClass.FALSE elif isinstance(arg, int): return decimal.Decimal(arg) elif isinstance(arg, float): @@ -1587,10 +1539,10 @@ def cast_to_allowed_types(arg: typing.Union[str, date, datetime, decimal.Decimal # 3.4028234663852886e+38 -> Decimal('340282346638528859811704183484516925440.0') return decimal.Decimal(str(decimal_from_float)+'.0') return decimal_from_float - elif type(arg) is list or type(arg) is tuple: - return tuple([cast_to_allowed_types(item) for item in arg]) - elif arg is None: - return arg + elif isinstance(arg, (tuple, list)): + return tuple([cast_to_allowed_types(item, from_server, validated_path_to_schemas, path_to_item + (i,)) for i, item in enumerate(arg)]) + elif isinstance(arg, (none_type, NoneClass)): + return NoneClass.NONE elif isinstance(arg, (date, datetime)): if not from_server: return arg.isoformat() @@ -1602,17 +1554,11 @@ def cast_to_allowed_types(arg: typing.Union[str, date, datetime, decimal.Decimal # ApiTypeError will be thrown later by _validate_type return arg elif isinstance(arg, decimal.Decimal): - return arg + return decimal.Decimal(arg) elif isinstance(arg, bytes): - return arg - elif isinstance(arg, decimal.Decimal): - return arg + return bytes(arg) elif isinstance(arg, (io.FileIO, io.BufferedReader)): - if arg.closed: - raise ApiValueError('Invalid file state; file is closed and must be open') - return arg - elif isinstance(arg, Schema): - return arg + return FileIO(arg) raise ValueError('Invalid type passed in got input={} type={}'.format(arg, type(arg))) @@ -1622,7 +1568,7 @@ class ComposedBase(Discriminable): def __get_allof_classes(cls, arg, validation_metadata: ValidationMetadata): path_to_schemas = defaultdict(set) for allof_cls in cls._composed_schemas['allOf']: - if allof_cls in validation_metadata.base_classes: + if validation_metadata.validation_ran_earlier(allof_cls): continue other_path_to_schemas = allof_cls._validate(arg, validation_metadata=validation_metadata) update(path_to_schemas, other_path_to_schemas) @@ -1637,27 +1583,20 @@ class ComposedBase(Discriminable): path_to_schemas: typing.Dict[typing.Tuple, typing.Set[typing.Type[Schema]]] ): oneof_classes = [] - chosen_oneof_cls = None - original_base_classes = validation_metadata.base_classes - new_base_classes = validation_metadata.base_classes path_to_schemas = defaultdict(set) for oneof_cls in cls._composed_schemas['oneOf']: if oneof_cls in path_to_schemas[validation_metadata.path_to_item]: oneof_classes.append(oneof_cls) continue - if isinstance(arg, oneof_cls): - # passed in instance is the correct type - chosen_oneof_cls = oneof_cls + if validation_metadata.validation_ran_earlier(oneof_cls): oneof_classes.append(oneof_cls) continue try: path_to_schemas = oneof_cls._validate(arg, validation_metadata=validation_metadata) - new_base_classes = validation_metadata.base_classes except (ApiValueError, ApiTypeError) as ex: if discriminated_cls is not None and oneof_cls is discriminated_cls: raise ex continue - chosen_oneof_cls = oneof_cls oneof_classes.append(oneof_cls) if not oneof_classes: raise ApiValueError( @@ -1679,15 +1618,9 @@ class ComposedBase(Discriminable): validation_metadata: ValidationMetadata ): anyof_classes = [] - chosen_anyof_cls = None - original_base_classes = validation_metadata.base_classes path_to_schemas = defaultdict(set) for anyof_cls in cls._composed_schemas['anyOf']: - if anyof_cls in validation_metadata.base_classes: - continue - if isinstance(arg, anyof_cls): - # passed in instance is the correct type - chosen_anyof_cls = anyof_cls + if validation_metadata.validation_ran_earlier(anyof_cls): anyof_classes.append(anyof_cls) continue @@ -1697,8 +1630,6 @@ class ComposedBase(Discriminable): if discriminated_cls is not None and anyof_cls is discriminated_cls: raise ex continue - original_base_classes = validation_metadata.base_classes - chosen_anyof_cls = anyof_cls anyof_classes.append(anyof_cls) update(path_to_schemas, other_path_to_schemas) if not anyof_classes: @@ -1713,7 +1644,7 @@ class ComposedBase(Discriminable): cls, arg, validation_metadata: ValidationMetadata, - ): + ) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]]: """ ComposedBase _validate We return dynamic classes of different bases depending upon the inputs @@ -1748,7 +1679,8 @@ class ComposedBase(Discriminable): configuration=validation_metadata.configuration, from_server=validation_metadata.from_server, path_to_item=validation_metadata.path_to_item, - base_classes=validation_metadata.base_classes | frozenset({cls}) + seen_classes=validation_metadata.seen_classes | frozenset({cls}), + validated_path_to_schemas=validation_metadata.validated_path_to_schemas ) # process composed schema @@ -1792,20 +1724,24 @@ class ComposedBase(Discriminable): not_cls = cls._composed_schemas['not'] if not_cls: other_path_to_schemas = None + not_exception = ApiValueError( + "Invalid value '{}' was passed in to {}. Value is invalid because it is disallowed by {}".format( + arg, + cls.__name__, + not_cls.__name__, + ) + ) + if updated_vm.validation_ran_earlier(not_cls): + raise not_exception + try: other_path_to_schemas = not_cls._validate(arg, validation_metadata=updated_vm) except (ApiValueError, ApiTypeError): pass if other_path_to_schemas: - raise ApiValueError( - "Invalid value '{}' was passed in to {}. Value is invalid because it is disallowed by {}".format( - arg, - cls.__name__, - not_cls.__name__, - ) - ) + raise not_exception - if discriminated_cls is not None: + if discriminated_cls is not None and not updated_vm.validation_ran_earlier(discriminated_cls): # TODO use an exception from this package here assert discriminated_cls in path_to_schemas[updated_vm.path_to_item] return path_to_schemas @@ -1813,7 +1749,7 @@ class ComposedBase(Discriminable): # DictBase, ListBase, NumberBase, StrBase, BoolBase, NoneBase class ComposedSchema( - _SchemaTypeChecker(typing.Union[none_type, str, decimal.Decimal, bool, tuple, frozendict]), + _SchemaTypeChecker(typing.Union[NoneClass, str, decimal.Decimal, BoolClass, tuple, frozendict]), ComposedBase, DictBase, ListBase, @@ -1851,7 +1787,7 @@ class ListSchema( class NoneSchema( - _SchemaTypeChecker(typing.Union[none_type]), + _SchemaTypeChecker(typing.Union[NoneClass]), NoneBase, Schema ): @@ -2122,7 +2058,7 @@ class BinarySchema( class BoolSchema( - _SchemaTypeChecker(typing.Union[bool]), + _SchemaTypeChecker(typing.Union[BoolClass]), BoolBase, Schema ): @@ -2137,7 +2073,7 @@ class BoolSchema( class AnyTypeSchema( _SchemaTypeChecker( - typing.Union[frozendict, tuple, decimal.Decimal, str, bool, none_type, bytes, FileIO] + typing.Union[frozendict, tuple, decimal.Decimal, str, BoolClass, NoneClass, bytes, FileIO] ), DictBase, ListBase, @@ -2164,7 +2100,7 @@ class DictSchema( return super().__new__(cls, *args, **kwargs) -schema_descendents = set([NoneSchema, DictSchema, ListSchema, NumberSchema, StrSchema, BoolSchema]) +schema_type_classes = set([NoneSchema, DictSchema, ListSchema, NumberSchema, StrSchema, BoolSchema]) def deserialize_file(response_data, configuration, content_disposition=None): diff --git a/samples/openapi3/client/petstore/python-experimental/docs/BooleanEnum.md b/samples/openapi3/client/petstore/python-experimental/docs/BooleanEnum.md index 1235414f1e..bd60b09809 100644 --- a/samples/openapi3/client/petstore/python-experimental/docs/BooleanEnum.md +++ b/samples/openapi3/client/petstore/python-experimental/docs/BooleanEnum.md @@ -2,7 +2,7 @@ Type | Description | Notes ------------- | ------------- | ------------- -**bool** | | must be one of [True, ] +**bool** | | must be one of [BoolClass.TRUE, ] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/another_fake_api_endpoints/call_123_test_special_tags.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/another_fake_api_endpoints/call_123_test_special_tags.py index 61ce6b70dd..943d62ce47 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/another_fake_api_endpoints/call_123_test_special_tags.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/another_fake_api_endpoints/call_123_test_special_tags.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/default_api_endpoints/foo_get.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/default_api_endpoints/foo_get.py index d365457ba5..9c321a2dc9 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/default_api_endpoints/foo_get.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/default_api_endpoints/foo_get.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/additional_properties_with_array_of_enums.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/additional_properties_with_array_of_enums.py index b810d09359..be1abb21db 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/additional_properties_with_array_of_enums.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/additional_properties_with_array_of_enums.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/array_model.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/array_model.py index 76fc4eb052..380c4e37fe 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/array_model.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/array_model.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/array_of_enums.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/array_of_enums.py index bcd41c3397..a8b420e409 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/array_of_enums.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/array_of_enums.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/body_with_file_schema.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/body_with_file_schema.py index bd6940fdea..0c6b77e952 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/body_with_file_schema.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/body_with_file_schema.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/body_with_query_params.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/body_with_query_params.py index f391b867df..0678ee1e42 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/body_with_query_params.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/body_with_query_params.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/boolean.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/boolean.py index cb41c9f75b..d3664ca80b 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/boolean.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/boolean.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/case_sensitive_params.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/case_sensitive_params.py index 78ad2a45b3..5fc282857a 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/case_sensitive_params.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/case_sensitive_params.py @@ -58,6 +58,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/client_model.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/client_model.py index 1b821d62cb..f5dba651d6 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/client_model.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/client_model.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/composed_one_of_different_types.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/composed_one_of_different_types.py index 28bd085987..15edba9ec9 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/composed_one_of_different_types.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/composed_one_of_different_types.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/delete_coffee.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/delete_coffee.py index d92684e66a..0824c6bb56 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/delete_coffee.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/delete_coffee.py @@ -58,6 +58,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/endpoint_parameters.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/endpoint_parameters.py index 39daed7607..666b832fc7 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/endpoint_parameters.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/endpoint_parameters.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/enum_parameters.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/enum_parameters.py index eadcbb4587..b6e8924f58 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/enum_parameters.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/enum_parameters.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/fake_health_get.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/fake_health_get.py index 87d8f01968..6c6324c4a0 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/fake_health_get.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/fake_health_get.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/group_parameters.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/group_parameters.py index f23fa27f15..fd2d96c973 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/group_parameters.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/group_parameters.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/inline_additional_properties.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/inline_additional_properties.py index b966ddb8ff..7f2d1202cd 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/inline_additional_properties.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/inline_additional_properties.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/inline_composition.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/inline_composition.py index 06df8ec3b9..99d7e470a8 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/inline_composition.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/inline_composition.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_form_data.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_form_data.py index cc4c0f5e5d..34dfe5627c 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_form_data.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_form_data.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_with_charset.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_with_charset.py index ea85e142df..f923afb936 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_with_charset.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_with_charset.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/mammal.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/mammal.py index 62af68de20..9b32bf0a62 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/mammal.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/mammal.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/number_with_validations.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/number_with_validations.py index a805ac6751..0a626c8249 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/number_with_validations.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/number_with_validations.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/object_in_query.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/object_in_query.py index aad17c08e5..94b5e0d865 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/object_in_query.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/object_in_query.py @@ -58,6 +58,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/object_model_with_ref_props.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/object_model_with_ref_props.py index 47b010528e..0dfa23dcb3 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/object_model_with_ref_props.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/object_model_with_ref_props.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/parameter_collisions.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/parameter_collisions.py index 9566d007ea..6cedc0e070 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/parameter_collisions.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/parameter_collisions.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/query_parameter_collection_format.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/query_parameter_collection_format.py index 1a7cb1db97..8a330bc9ee 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/query_parameter_collection_format.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/query_parameter_collection_format.py @@ -58,6 +58,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/ref_object_in_query.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/ref_object_in_query.py index ce6becc4d8..31c96a704f 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/ref_object_in_query.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/ref_object_in_query.py @@ -58,6 +58,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/response_without_schema.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/response_without_schema.py index 59c536759a..bb56af4d75 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/response_without_schema.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/response_without_schema.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/string.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/string.py index 50e48a52ff..311dcc72a3 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/string.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/string.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/string_enum.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/string_enum.py index bee9d1aa22..32cf1d5615 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/string_enum.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/string_enum.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_download_file.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_download_file.py index 71595e309e..d272589ed5 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_download_file.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_download_file.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_file.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_file.py index e092ff0014..e308b76b1f 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_file.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_file.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_files.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_files.py index 9da5c260ae..574195370b 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_files.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_files.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_classname_tags123_api_endpoints/classname.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_classname_tags123_api_endpoints/classname.py index 0a439014da..a9d14bad61 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_classname_tags123_api_endpoints/classname.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_classname_tags123_api_endpoints/classname.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/add_pet.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/add_pet.py index a6d99272f5..9c288856f0 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/add_pet.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/add_pet.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/delete_pet.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/delete_pet.py index f109924c34..73c6243b64 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/delete_pet.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/delete_pet.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/find_pets_by_status.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/find_pets_by_status.py index ef7933713d..ba51127bae 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/find_pets_by_status.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/find_pets_by_status.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/find_pets_by_tags.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/find_pets_by_tags.py index 867b0a0a53..7be1cd57d8 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/find_pets_by_tags.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/find_pets_by_tags.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/get_pet_by_id.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/get_pet_by_id.py index 04eec525b5..a7509c9742 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/get_pet_by_id.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/get_pet_by_id.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/update_pet.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/update_pet.py index 275d192c41..c7d9459244 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/update_pet.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/update_pet.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/update_pet_with_form.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/update_pet_with_form.py index 0c1f5cc504..c9ba7a9816 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/update_pet_with_form.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/update_pet_with_form.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_file_with_required_file.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_file_with_required_file.py index 0555858428..689f54addd 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_file_with_required_file.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_file_with_required_file.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_image.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_image.py index 95836e036e..70cce044b1 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_image.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_image.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/delete_order.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/delete_order.py index 791d2347ce..46f33d453b 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/delete_order.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/delete_order.py @@ -58,6 +58,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/get_inventory.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/get_inventory.py index be6a45c2ed..73410c09c7 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/get_inventory.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/get_inventory.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/get_order_by_id.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/get_order_by_id.py index 4539bfcf1b..56ef500f9d 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/get_order_by_id.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/get_order_by_id.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/place_order.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/place_order.py index 7707e9be67..73a6355582 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/place_order.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/store_api_endpoints/place_order.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_user.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_user.py index ec13814a99..2871f0d215 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_user.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_user.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_users_with_array_input.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_users_with_array_input.py index 555d7e45a6..a2a462399b 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_users_with_array_input.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_users_with_array_input.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_users_with_list_input.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_users_with_list_input.py index 0e367df7b1..e79cba97e8 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_users_with_list_input.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/create_users_with_list_input.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/delete_user.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/delete_user.py index 6d6121ce01..34dc9d85bc 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/delete_user.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/delete_user.py @@ -58,6 +58,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/get_user_by_name.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/get_user_by_name.py index 9dd751d22b..71a9819913 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/get_user_by_name.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/get_user_by_name.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/login_user.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/login_user.py index c3f7472712..d48dc43dc6 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/login_user.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/login_user.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/logout_user.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/logout_user.py index 7fbedc55b9..d91518c02c 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/logout_user.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/logout_user.py @@ -58,6 +58,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/update_user.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/update_user.py index b7e3931b6a..15cc7be110 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/update_user.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/user_api_endpoints/update_user.py @@ -59,6 +59,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/additional_properties_class.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/additional_properties_class.py index 5ccf44cceb..8339daf8f7 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/additional_properties_class.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/additional_properties_class.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/additional_properties_with_array_of_enums.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/additional_properties_with_array_of_enums.py index f7e9ee9336..cf4ff6075b 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/additional_properties_with_array_of_enums.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/additional_properties_with_array_of_enums.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/address.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/address.py index c9ba9a4dc3..8aabd4c6e1 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/address.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/address.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/animal.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/animal.py index 92b478614a..8081aca81d 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/animal.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/animal.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/animal_farm.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/animal_farm.py index 31ab2facb7..dc1e04af56 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/animal_farm.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/animal_farm.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/any_type_not_string.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/any_type_not_string.py index 45915e6420..d3b1f5179c 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/any_type_not_string.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/any_type_not_string.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/api_response.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/api_response.py index 669e8c1436..62fc4e31da 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/api_response.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/api_response.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/apple.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/apple.py index 107b8ad0c5..f0ca74fc19 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/apple.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/apple.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker @@ -67,7 +69,7 @@ from petstore_api.schemas import ( # noqa: F401 class Apple( - _SchemaTypeChecker(typing.Union[frozendict, none_type, ]), + _SchemaTypeChecker(typing.Union[frozendict, NoneClass, ]), DictBase, NoneBase, Schema diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/apple_req.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/apple_req.py index 71519bb0ee..bb6ec8503f 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/apple_req.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/apple_req.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_holding_any_type.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_holding_any_type.py index ea1353a02c..427e3a7849 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_holding_any_type.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_holding_any_type.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_of_array_of_number_only.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_of_array_of_number_only.py index 3f73c652b8..4d961402e3 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_of_array_of_number_only.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_of_array_of_number_only.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_of_enums.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_of_enums.py index a541336f64..55735ae7a1 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_of_enums.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_of_enums.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_of_number_only.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_of_number_only.py index 2e32429c76..cf97c7288a 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_of_number_only.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_of_number_only.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_test.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_test.py index ccb8e8364e..92af59070d 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_test.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_test.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_with_validations_in_items.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_with_validations_in_items.py index 5534b804c8..02df64785d 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_with_validations_in_items.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/array_with_validations_in_items.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/banana.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/banana.py index 32fd6d33ab..2dd4fbc2d1 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/banana.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/banana.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/banana_req.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/banana_req.py index eef932bcc1..b77c7566e7 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/banana_req.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/banana_req.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/bar.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/bar.py index b6955c0c38..5d00a2a89d 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/bar.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/bar.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/basque_pig.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/basque_pig.py index 1be687ece1..6bc0e9e7b9 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/basque_pig.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/basque_pig.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/boolean.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/boolean.py index db84ecedc3..4c79b9b00a 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/boolean.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/boolean.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/boolean_enum.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/boolean_enum.py index f3f6bb2005..a223a2ce06 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/boolean_enum.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/boolean_enum.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker @@ -69,7 +71,7 @@ from petstore_api.schemas import ( # noqa: F401 class BooleanEnum( _SchemaEnumMaker( enum_value_to_name={ - True: "TRUE", + BoolClass.TRUE: "TRUE", } ), BoolSchema @@ -83,4 +85,4 @@ class BooleanEnum( @classmethod @property def TRUE(cls): - return cls(True) + return cls(BoolClass.TRUE) diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/capitalization.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/capitalization.py index 698d6b5eb3..56cf406a70 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/capitalization.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/capitalization.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/cat.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/cat.py index e43e618a44..e77e96fcfa 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/cat.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/cat.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/category.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/category.py index 9cf45a54e9..ef72720072 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/category.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/category.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/child_cat.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/child_cat.py index 381628a1d7..7a8751c2c1 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/child_cat.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/child_cat.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/class_model.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/class_model.py index a79a2afefc..d7cf4de512 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/class_model.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/class_model.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/client.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/client.py index 976072a8b3..13ad5e5ff3 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/client.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/client.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/complex_quadrilateral.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/complex_quadrilateral.py index e5a46fb124..aafa7e29d2 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/complex_quadrilateral.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/complex_quadrilateral.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_any_of_different_types_no_validations.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_any_of_different_types_no_validations.py index c113226e09..c0fa339d9f 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_any_of_different_types_no_validations.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_any_of_different_types_no_validations.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_array.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_array.py index 248d470db9..221abb75d3 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_array.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_array.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_bool.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_bool.py index 8cb6de2269..c7fae992ce 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_bool.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_bool.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_none.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_none.py index 4a6dca2dfc..c0fbf1abde 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_none.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_none.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_number.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_number.py index 81140f5a8a..6c53edc342 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_number.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_number.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_object.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_object.py index 9f5f707b20..3579c7965d 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_object.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_object.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_one_of_different_types.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_one_of_different_types.py index 3dcf8d990c..3e27e2a996 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_one_of_different_types.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_one_of_different_types.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_string.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_string.py index 5925aa1b14..da33e5202f 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_string.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/composed_string.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/currency.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/currency.py index 5d6fa533e1..0844fa544b 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/currency.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/currency.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/danish_pig.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/danish_pig.py index ec281c4eff..3f30915125 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/danish_pig.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/danish_pig.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/date_time_test.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/date_time_test.py index 2b9c4a1fb3..a4cc1eea68 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/date_time_test.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/date_time_test.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/date_time_with_validations.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/date_time_with_validations.py index c7236b7e93..f4c7c07278 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/date_time_with_validations.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/date_time_with_validations.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/date_with_validations.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/date_with_validations.py index 701dceec4b..f3dceba1cd 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/date_with_validations.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/date_with_validations.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/decimal_payload.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/decimal_payload.py index 02d99b636e..1bae833848 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/decimal_payload.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/decimal_payload.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/dog.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/dog.py index ff43310012..130512a669 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/dog.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/dog.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/drawing.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/drawing.py index 54083c9704..c3cb01e0ae 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/drawing.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/drawing.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/enum_arrays.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/enum_arrays.py index 7061dcbac0..be4182fe23 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/enum_arrays.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/enum_arrays.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/enum_class.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/enum_class.py index 7d12b8cb99..019001d208 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/enum_class.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/enum_class.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/enum_test.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/enum_test.py index 965f861eb5..319b0282de 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/enum_test.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/enum_test.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/equilateral_triangle.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/equilateral_triangle.py index 82a9ae6427..c572964a57 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/equilateral_triangle.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/equilateral_triangle.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/file.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/file.py index 0d39c45d8e..3e68cefa31 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/file.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/file.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/file_schema_test_class.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/file_schema_test_class.py index 659e0a552c..ce05803535 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/file_schema_test_class.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/file_schema_test_class.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/foo.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/foo.py index 7a8df91102..8d650b5604 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/foo.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/foo.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/format_test.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/format_test.py index d64a93e001..a7d1bbb9f3 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/format_test.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/format_test.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/fruit.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/fruit.py index 6d8f255c5b..bd6051a661 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/fruit.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/fruit.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/fruit_req.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/fruit_req.py index 5729f1625a..3458ea63f6 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/fruit_req.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/fruit_req.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/gm_fruit.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/gm_fruit.py index f591a7ff3e..cd2ab6559f 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/gm_fruit.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/gm_fruit.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/grandparent_animal.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/grandparent_animal.py index a8b0106897..7b6a746409 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/grandparent_animal.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/grandparent_animal.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/has_only_read_only.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/has_only_read_only.py index ca6317b245..4830db9c7d 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/has_only_read_only.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/has_only_read_only.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/health_check_result.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/health_check_result.py index 7f67db6e23..c48f1c3803 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/health_check_result.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/health_check_result.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker @@ -79,7 +81,7 @@ class HealthCheckResult( class NullableMessage( - _SchemaTypeChecker(typing.Union[none_type, str, ]), + _SchemaTypeChecker(typing.Union[NoneClass, str, ]), StrBase, NoneBase, Schema diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_enum.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_enum.py index 515755e788..2fc839f1da 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_enum.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_enum.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_enum_big.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_enum_big.py index 5d92610f1a..3365962262 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_enum_big.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_enum_big.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_enum_one_value.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_enum_one_value.py index f934e35f25..706ea7f682 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_enum_one_value.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_enum_one_value.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_enum_with_default_value.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_enum_with_default_value.py index 401cd77dd5..c4aac3b348 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_enum_with_default_value.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_enum_with_default_value.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_max10.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_max10.py index 3c515835a4..0915ff33f9 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_max10.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_max10.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_min15.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_min15.py index d7d070c222..cb59a2b7db 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_min15.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/integer_min15.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/isosceles_triangle.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/isosceles_triangle.py index 178878c06d..8a3bb200bf 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/isosceles_triangle.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/isosceles_triangle.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/mammal.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/mammal.py index 33af6e183f..a2eb42d4db 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/mammal.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/mammal.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/map_test.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/map_test.py index 68ff2efbf0..a9f8383cb5 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/map_test.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/map_test.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/mixed_properties_and_additional_properties_class.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/mixed_properties_and_additional_properties_class.py index 8ed67fef17..70477d2f5a 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/mixed_properties_and_additional_properties_class.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/mixed_properties_and_additional_properties_class.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/model200_response.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/model200_response.py index c3741abc66..edca0435ec 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/model200_response.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/model200_response.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/model_return.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/model_return.py index de277a4a89..4fe5b613f5 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/model_return.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/model_return.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/money.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/money.py index 1569585e7a..fc48f495a6 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/money.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/money.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/name.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/name.py index c908733cdf..f70569b177 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/name.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/name.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/no_additional_properties.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/no_additional_properties.py index 0ea307c5ce..a54984228a 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/no_additional_properties.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/no_additional_properties.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/nullable_class.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/nullable_class.py index cecd378116..71559959bd 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/nullable_class.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/nullable_class.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker @@ -77,7 +79,7 @@ class NullableClass( class integer_prop( - _SchemaTypeChecker(typing.Union[none_type, decimal.Decimal, ]), + _SchemaTypeChecker(typing.Union[NoneClass, decimal.Decimal, ]), IntBase, NoneBase, Schema @@ -96,7 +98,7 @@ class NullableClass( class number_prop( - _SchemaTypeChecker(typing.Union[none_type, decimal.Decimal, ]), + _SchemaTypeChecker(typing.Union[NoneClass, decimal.Decimal, ]), NumberBase, NoneBase, Schema @@ -115,7 +117,7 @@ class NullableClass( class boolean_prop( - _SchemaTypeChecker(typing.Union[none_type, bool, ]), + _SchemaTypeChecker(typing.Union[NoneClass, BoolClass, ]), BoolBase, NoneBase, Schema @@ -134,7 +136,7 @@ class NullableClass( class string_prop( - _SchemaTypeChecker(typing.Union[none_type, str, ]), + _SchemaTypeChecker(typing.Union[NoneClass, str, ]), StrBase, NoneBase, Schema @@ -153,7 +155,7 @@ class NullableClass( class date_prop( - _SchemaTypeChecker(typing.Union[none_type, str, ]), + _SchemaTypeChecker(typing.Union[NoneClass, str, ]), DateBase, NoneBase, Schema @@ -172,7 +174,7 @@ class NullableClass( class datetime_prop( - _SchemaTypeChecker(typing.Union[none_type, str, ]), + _SchemaTypeChecker(typing.Union[NoneClass, str, ]), DateTimeBase, NoneBase, Schema @@ -191,7 +193,7 @@ class NullableClass( class array_nullable_prop( - _SchemaTypeChecker(typing.Union[tuple, none_type, ]), + _SchemaTypeChecker(typing.Union[tuple, NoneClass, ]), ListBase, NoneBase, Schema @@ -210,7 +212,7 @@ class NullableClass( class array_and_items_nullable_prop( - _SchemaTypeChecker(typing.Union[tuple, none_type, ]), + _SchemaTypeChecker(typing.Union[tuple, NoneClass, ]), ListBase, NoneBase, Schema @@ -234,7 +236,7 @@ class NullableClass( class _items( - _SchemaTypeChecker(typing.Union[frozendict, none_type, ]), + _SchemaTypeChecker(typing.Union[frozendict, NoneClass, ]), DictBase, NoneBase, Schema @@ -255,7 +257,7 @@ class NullableClass( class object_nullable_prop( - _SchemaTypeChecker(typing.Union[frozendict, none_type, ]), + _SchemaTypeChecker(typing.Union[frozendict, NoneClass, ]), DictBase, NoneBase, Schema @@ -277,7 +279,7 @@ class NullableClass( class object_and_items_nullable_prop( - _SchemaTypeChecker(typing.Union[frozendict, none_type, ]), + _SchemaTypeChecker(typing.Union[frozendict, NoneClass, ]), DictBase, NoneBase, Schema @@ -285,7 +287,7 @@ class NullableClass( class _additional_properties( - _SchemaTypeChecker(typing.Union[frozendict, none_type, ]), + _SchemaTypeChecker(typing.Union[frozendict, NoneClass, ]), DictBase, NoneBase, Schema @@ -324,7 +326,7 @@ class NullableClass( class _additional_properties( - _SchemaTypeChecker(typing.Union[frozendict, none_type, ]), + _SchemaTypeChecker(typing.Union[frozendict, NoneClass, ]), DictBase, NoneBase, Schema @@ -359,7 +361,7 @@ class NullableClass( class _additional_properties( - _SchemaTypeChecker(typing.Union[frozendict, none_type, ]), + _SchemaTypeChecker(typing.Union[frozendict, NoneClass, ]), DictBase, NoneBase, Schema diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/nullable_shape.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/nullable_shape.py index 95b354fbb1..c24703964e 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/nullable_shape.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/nullable_shape.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/nullable_string.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/nullable_string.py index a2aeca7fa8..7cf3c74f31 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/nullable_string.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/nullable_string.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker @@ -67,7 +69,7 @@ from petstore_api.schemas import ( # noqa: F401 class NullableString( - _SchemaTypeChecker(typing.Union[none_type, str, ]), + _SchemaTypeChecker(typing.Union[NoneClass, str, ]), StrBase, NoneBase, Schema diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/number.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/number.py index 0008b50857..47361523e0 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/number.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/number.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/number_only.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/number_only.py index 9f5613e28d..6f4036faa4 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/number_only.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/number_only.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/number_with_validations.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/number_with_validations.py index 96d1f661df..3963b0b297 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/number_with_validations.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/number_with_validations.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_interface.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_interface.py index be1f174ae8..d8eec30dee 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_interface.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_interface.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_model_with_ref_props.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_model_with_ref_props.py index 148779aa98..11de28c599 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_model_with_ref_props.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_model_with_ref_props.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_decimal_properties.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_decimal_properties.py index d19b61f8d6..69264d1642 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_decimal_properties.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_decimal_properties.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_difficultly_named_props.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_difficultly_named_props.py index 4b1255298a..f4e66878f9 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_difficultly_named_props.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_difficultly_named_props.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_inline_composition_property.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_inline_composition_property.py index 4b0017d3af..caff3025fa 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_inline_composition_property.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_inline_composition_property.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_validations.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_validations.py index 812aea156a..1eb29795fb 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_validations.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/object_with_validations.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/order.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/order.py index 6c2ec31a93..c7a69be916 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/order.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/order.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/parent_pet.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/parent_pet.py index bcb200fd76..50bae9f0b7 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/parent_pet.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/parent_pet.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/pet.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/pet.py index 18a2feaf80..6b1cd00870 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/pet.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/pet.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/pig.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/pig.py index 410dd496ae..ef89f2a9bd 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/pig.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/pig.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/player.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/player.py index d4b2cb288c..99e382ec64 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/player.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/player.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/quadrilateral.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/quadrilateral.py index aef042f053..ac2bba6417 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/quadrilateral.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/quadrilateral.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/quadrilateral_interface.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/quadrilateral_interface.py index 70c2ce8b06..bd28482b08 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/quadrilateral_interface.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/quadrilateral_interface.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/read_only_first.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/read_only_first.py index 0896f3db9c..496b72a052 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/read_only_first.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/read_only_first.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/scalene_triangle.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/scalene_triangle.py index cd193e90d8..8f521da249 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/scalene_triangle.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/scalene_triangle.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/shape.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/shape.py index 777d40b641..c14b212935 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/shape.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/shape.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/shape_or_null.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/shape_or_null.py index 91aef06add..71049a6314 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/shape_or_null.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/shape_or_null.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/simple_quadrilateral.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/simple_quadrilateral.py index 3e375e3f56..0d65abab0a 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/simple_quadrilateral.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/simple_quadrilateral.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/some_object.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/some_object.py index 2d8e71360a..d7a7460969 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/some_object.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/some_object.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/special_model_name.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/special_model_name.py index 5325437bd1..696e59a4e4 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/special_model_name.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/special_model_name.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string.py index a36e155069..f3dc03700e 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_boolean_map.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_boolean_map.py index 2b4b5435f6..1ef5b11d74 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_boolean_map.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_boolean_map.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_enum.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_enum.py index 3d1ababa10..4f23fa3c0d 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_enum.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_enum.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker @@ -67,10 +69,10 @@ from petstore_api.schemas import ( # noqa: F401 class StringEnum( - _SchemaTypeChecker(typing.Union[none_type, str, ]), + _SchemaTypeChecker(typing.Union[NoneClass, str, ]), _SchemaEnumMaker( enum_value_to_name={ - None: "NONE", + NoneClass.NONE: "NONE", "placed": "PLACED", "approved": "APPROVED", "delivered": "DELIVERED", @@ -92,7 +94,7 @@ class StringEnum( @classmethod @property def NONE(cls): - return cls._enum_by_value[None](None) + return cls(None) @classmethod @property diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_enum_with_default_value.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_enum_with_default_value.py index 6ab987f43e..519bf0b4b5 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_enum_with_default_value.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_enum_with_default_value.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_with_validation.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_with_validation.py index b82088d24f..9b41e07bf0 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_with_validation.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/string_with_validation.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/tag.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/tag.py index 6d166baafa..f9fbfb67d3 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/tag.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/tag.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/triangle.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/triangle.py index 0d02cfba1e..7686cdd34c 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/triangle.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/triangle.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/triangle_interface.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/triangle_interface.py index f0241962c0..07fae72e4e 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/triangle_interface.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/triangle_interface.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/user.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/user.py index bf1320556a..d640593bbd 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/user.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/user.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker @@ -86,7 +88,7 @@ class User( class objectWithNoDeclaredPropsNullable( - _SchemaTypeChecker(typing.Union[frozendict, none_type, ]), + _SchemaTypeChecker(typing.Union[frozendict, NoneClass, ]), DictBase, NoneBase, Schema diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/uuid_string.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/uuid_string.py index fb4c32c0dc..c80979f32f 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/uuid_string.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/uuid_string.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/whale.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/whale.py index 78a28fa763..4bcb2f0e3b 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/whale.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/whale.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/zebra.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/zebra.py index 649555d548..51220d5653 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/zebra.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/zebra.py @@ -60,6 +60,8 @@ from petstore_api.schemas import ( # noqa: F401 BoolBase, BinaryBase, Schema, + NoneClass, + BoolClass, _SchemaValidator, _SchemaTypeChecker, _SchemaEnumMaker diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/schemas.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/schemas.py index 1338d43bfa..578c03da74 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/schemas.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/schemas.py @@ -53,12 +53,17 @@ class FileIO(io.FileIO): def __new__(cls, arg: typing.Union[io.FileIO, io.BufferedReader]): if isinstance(arg, (io.FileIO, io.BufferedReader)): + if arg.closed: + raise ApiValueError('Invalid file state; file is closed and must be open') arg.close() inst = super(FileIO, cls).__new__(cls, arg.name) super(FileIO, inst).__init__(arg.name) return inst raise ApiValueError('FileIO must be passed arg which contains the open file') + def __init__(self, arg: typing.Union[io.FileIO, io.BufferedReader]): + pass + def update(d: dict, u: dict): """ @@ -85,29 +90,46 @@ class ValidationMetadata(frozendict): path_to_item: typing.Tuple[typing.Union[str, int], ...] = tuple(['args[0]']), from_server: bool = False, configuration: typing.Optional[Configuration] = None, - base_classes: typing.FrozenSet[typing.Type] = frozenset(), + seen_classes: typing.FrozenSet[typing.Type] = frozenset(), + validated_path_to_schemas: typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set['Schema']] = frozendict() ): """ Args: path_to_item: the path to the current data being instantiated. For {'a': [1]} if the code is handling, 1, then the path is ('args[0]', 'a', 0) + This changes from location to location from_server: whether or not this data came form the server True when receiving server data False when instantiating model with client side data not form the server + This does not change from location to location configuration: the Configuration instance to use This is needed because in Configuration: - one can disable validation checking - base_classes: when deserializing data that matches multiple schemas, this is used to store + This does not change from location to location + seen_classes: when deserializing data that matches multiple schemas, this is used to store the schemas that have been traversed. This is used to stop processing when a cycle is seen. + This changes from location to location + validated_path_to_schemas: stores the already validated schema classes for a given path location + This does not change from location to location """ return super().__new__( cls, path_to_item=path_to_item, from_server=from_server, configuration=configuration, - base_classes=base_classes, + seen_classes=seen_classes, + validated_path_to_schemas=validated_path_to_schemas ) + def validation_ran_earlier(self, cls: type) -> bool: + validated_schemas = self.validated_path_to_schemas.get(self.path_to_item, set()) + validation_ran_earlier = validated_schemas and cls in validated_schemas + if validation_ran_earlier: + return True + if cls in self.seen_classes: + return True + return False + @property def path_to_item(self) -> typing.Tuple[typing.Union[str, int], ...]: return self.get('path_to_item') @@ -121,8 +143,12 @@ class ValidationMetadata(frozendict): return self.get('configuration') @property - def base_classes(self) -> typing.FrozenSet[typing.Type]: - return self.get('base_classes') + def seen_classes(self) -> typing.FrozenSet[typing.Type]: + return self.get('seen_classes') + + @property + def validated_path_to_schemas(self) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set['Schema']]: + return self.get('validated_path_to_schemas') class ValidatorBase: @@ -201,31 +227,6 @@ class ValidatorBase: path_to_item=validation_metadata.path_to_item ) - @classmethod - def __data_with_boolclass_instead_of_bool(cls, data: typing.Any) -> typing.Any: - """ - In python bool is a subclass of int so 1 == True and 0 == False - This prevents code from being able to see the difference between 1 and True and 0 and False - To fix this swap in BoolClass singletons for True and False so they will differ from integers - """ - if isinstance(data, (list, tuple)): - new_data = [] - for item in data: - new_item = cls.__data_with_boolclass_instead_of_bool(item) - new_data.append(new_item) - return tuple(new_data) - elif isinstance(data, (dict, frozendict)): - new_data = {} - for key, value in data.items(): - new_value = cls.__data_with_boolclass_instead_of_bool(value) - new_data[key] = new_value - return frozendict(new_data) - elif isinstance(data, bool): - if data: - return BoolClass.TRUE - return BoolClass.FALSE - return data - @classmethod def __check_tuple_validations( cls, validations, input_values, @@ -253,7 +254,7 @@ class ValidatorBase: if (cls.__is_json_validation_enabled('uniqueItems', validation_metadata.configuration) and 'unique_items' in validations and validations['unique_items'] and input_values): - unique_items = set(cls.__data_with_boolclass_instead_of_bool(input_values)) + unique_items = set(input_values) if len(input_values) > len(unique_items): cls.__raise_validation_error_message( value=input_values, @@ -369,128 +370,6 @@ class ValidatorBase: cls.__check_dict_validations(validations, input_values, validation_metadata) elif isinstance(input_values, decimal.Decimal): cls.__check_numeric_validations(validations, input_values, validation_metadata) - try: - return super()._validate_validations_pass(input_values, validation_metadata) - except AttributeError: - return True - - -class Validator(typing.Protocol): - def _validate_validations_pass( - cls, - input_values, - validation_metadata: ValidationMetadata - ): - pass - - -def _SchemaValidator(**validations: typing.Union[str, bool, None, int, float, list[dict[str, typing.Union[str, int, float]]]]) -> Validator: - class SchemaValidator(ValidatorBase): - @classmethod - def _validate_validations_pass( - cls, - input_values, - validation_metadata: ValidationMetadata - ): - cls._check_validations_for_types(validations, input_values, validation_metadata) - try: - return super()._validate_validations_pass(input_values, validation_metadata) - except AttributeError: - return True - - return SchemaValidator - - -class TypeChecker(typing.Protocol): - @classmethod - def _validate_type( - cls, arg_simple_class: type - ) -> typing.Tuple[type]: - pass - - -def _SchemaTypeChecker(union_type_cls: typing.Union[typing.Any]) -> TypeChecker: - if typing.get_origin(union_type_cls) is typing.Union: - union_classes = typing.get_args(union_type_cls) - else: - # note: when a union of a single class is passed in, the union disappears - union_classes = tuple([union_type_cls]) - """ - I want the type hint... union_type_cls - and to use it as a base class but when I do, I get - TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases - """ - class SchemaTypeChecker: - @classmethod - def _validate_type(cls, arg_simple_class: type): - if arg_simple_class not in union_classes: - return union_classes - try: - return super()._validate_type(arg_simple_class) - except AttributeError: - return tuple() - - return SchemaTypeChecker - - -class EnumMakerBase: - @classmethod - @property - def _enum_by_value( - cls - ) -> type: - enum_classes = {} - if not hasattr(cls, "_enum_value_to_name"): - return enum_classes - for enum_value, enum_name in cls._enum_value_to_name.items(): - base_class = type(enum_value) - if base_class is none_type: - enum_classes[enum_value] = get_new_class( - "Dynamic" + cls.__name__, (cls, NoneClass)) - log_cache_usage(get_new_class) - elif base_class is bool: - enum_classes[enum_value] = get_new_class( - "Dynamic" + cls.__name__, (cls, BoolClass)) - log_cache_usage(get_new_class) - else: - enum_classes[enum_value] = get_new_class( - "Dynamic" + cls.__name__, (cls, Singleton, base_class)) - log_cache_usage(get_new_class) - return enum_classes - - -class EnumMakerInterface(typing.Protocol): - @classmethod - @property - def _enum_value_to_name( - cls - ) -> typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]: - pass - - @classmethod - @property - def _enum_by_value( - cls - ) -> type: - pass - - -def _SchemaEnumMaker(enum_value_to_name: typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]) -> EnumMakerInterface: - class SchemaEnumMaker(EnumMakerBase): - @classmethod - @property - def _enum_value_to_name( - cls - ) -> typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]: - pass - try: - super_enum_value_to_name = super()._enum_value_to_name - except AttributeError: - return enum_value_to_name - intersection = dict(enum_value_to_name.items() & super_enum_value_to_name.items()) - return intersection - - return SchemaEnumMaker class Singleton: @@ -505,7 +384,12 @@ class Singleton: if key not in cls._instances: if arg in {None, True, False}: inst = super().__new__(cls) - # inst._value = arg + cls._instances[key] = inst + elif isinstance(arg, BoolClass): + inst = super().__new__(cls) + cls._instances[key] = inst + elif isinstance(arg, NoneClass): + inst = super().__new__(cls) cls._instances[key] = inst else: cls._instances[key] = super().__new__(cls, arg) @@ -515,7 +399,7 @@ class Singleton: if isinstance(self, NoneClass): return f'<{self.__class__.__name__}: None>' elif isinstance(self, BoolClass): - if (self.__class__, True) in self._instances: + if bool(self): return f'<{self.__class__.__name__}: True>' return f'<{self.__class__.__name__}: False>' return f'<{self.__class__.__name__}: {super().__repr__()}>' @@ -546,10 +430,171 @@ class BoolClass(Singleton): def __bool__(self) -> bool: for key, instance in self._instances.items(): if self is instance: - return key[1] + return bool(key[1]) raise ValueError('Unable to find the boolean value of this instance') +class Validator(typing.Protocol): + @classmethod + def _validate( + cls, + arg, + validation_metadata: ValidationMetadata, + ) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]]: + pass + + +def _SchemaValidator(**validations: typing.Union[str, bool, None, int, float, list[dict[str, typing.Union[str, int, float]]]]) -> Validator: + class SchemaValidator(ValidatorBase): + @classmethod + def _validate( + cls, + arg, + validation_metadata: ValidationMetadata, + ) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]]: + """ + SchemaValidator _validate + Validates that validations pass + """ + cls._check_validations_for_types(validations, arg, validation_metadata) + return super()._validate(arg, validation_metadata) + + return SchemaValidator + + +def _SchemaTypeChecker(union_type_cls: typing.Union[typing.Any]) -> Validator: + if typing.get_origin(union_type_cls) is typing.Union: + union_classes = typing.get_args(union_type_cls) + else: + # note: when a union of a single class is passed in, the union disappears + union_classes = tuple([union_type_cls]) + """ + I want the type hint... union_type_cls + and to use it as a base class but when I do, I get + TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases + """ + class SchemaTypeChecker: + @staticmethod + def __get_valid_classes_phrase(input_classes): + """Returns a string phrase describing what types are allowed""" + all_classes = list(input_classes) + all_classes = sorted(all_classes, key=lambda cls: cls.__name__) + all_class_names = [cls.__name__ for cls in all_classes] + if len(all_class_names) == 1: + return "is {0}".format(all_class_names[0]) + return "is one of [{0}]".format(", ".join(all_class_names)) + + @classmethod + def __type_error_message( + cls, var_value=None, var_name=None, valid_classes=None, key_type=None + ): + """ + Keyword Args: + var_value (any): the variable which has the type_error + var_name (str): the name of the variable which has the typ error + valid_classes (tuple): the accepted classes for current_item's + value + key_type (bool): False if our value is a value in a dict + True if it is a key in a dict + False if our item is an item in a tuple + """ + key_or_value = "value" + if key_type: + key_or_value = "key" + valid_classes_phrase = cls.__get_valid_classes_phrase(valid_classes) + msg = "Invalid type. Required {1} type {2} and " "passed type was {3}".format( + var_name, + key_or_value, + valid_classes_phrase, + type(var_value).__name__, + ) + return msg + + @classmethod + def _get_type_error(cls, var_value, path_to_item, valid_classes, key_type=False): + error_msg = cls.__type_error_message( + var_name=path_to_item[-1], + var_value=var_value, + valid_classes=valid_classes, + key_type=key_type, + ) + return ApiTypeError( + error_msg, + path_to_item=path_to_item, + valid_classes=valid_classes, + key_type=key_type, + ) + + @classmethod + def _validate( + cls, + arg, + validation_metadata: ValidationMetadata, + ) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]]: + """ + SchemaTypeChecker _validate + Validates arg's type + """ + arg_type = type(arg) + if arg_type in union_classes: + return super()._validate(arg, validation_metadata) + raise cls._get_type_error( + arg, + validation_metadata.path_to_item, + union_classes, + key_type=False, + ) + + return SchemaTypeChecker + + +class EnumMakerBase: + pass + + +class EnumMakerInterface(Validator): + @classmethod + @property + def _enum_value_to_name( + cls + ) -> typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]: + pass + + +def _SchemaEnumMaker(enum_value_to_name: typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]) -> EnumMakerInterface: + class SchemaEnumMaker(EnumMakerBase): + @classmethod + @property + def _enum_value_to_name( + cls + ) -> typing.Dict[typing.Union[str, decimal.Decimal, bool, none_type], str]: + pass + try: + super_enum_value_to_name = super()._enum_value_to_name + except AttributeError: + return enum_value_to_name + intersection = dict(enum_value_to_name.items() & super_enum_value_to_name.items()) + return intersection + + @classmethod + def _validate( + cls, + arg, + validation_metadata: ValidationMetadata, + ) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]]: + """ + SchemaEnumMaker _validate + Validates that arg is in the enum's allowed values + """ + try: + cls._enum_value_to_name[arg] + except KeyError: + raise ApiValueError("Invalid value {} passed in to {}, {}".format(arg, cls, cls._enum_value_to_name)) + return super()._validate(arg, validation_metadata) + + return SchemaEnumMaker + + class BoolBase: def is_true(self) -> bool: """ @@ -821,13 +866,14 @@ class ListBase: item_cls = getattr(cls, '_items', AnyTypeSchema) path_to_schemas = {} for i, value in enumerate(list_items): - if isinstance(value, item_cls): - continue item_validation_metadata = ValidationMetadata( from_server=validation_metadata.from_server, configuration=validation_metadata.configuration, - path_to_item=validation_metadata.path_to_item+(i,) + path_to_item=validation_metadata.path_to_item+(i,), + validated_path_to_schemas=validation_metadata.validated_path_to_schemas ) + if item_validation_metadata.validation_ran_earlier(item_cls): + continue other_path_to_schemas = item_cls._validate( value, validation_metadata=item_validation_metadata) update(path_to_schemas, other_path_to_schemas) @@ -857,14 +903,12 @@ class ListBase: _path_to_schemas = super()._validate(arg, validation_metadata=validation_metadata) if not isinstance(arg, tuple): return _path_to_schemas - if cls in validation_metadata.base_classes: - # we have already moved through this class so stop here - return _path_to_schemas updated_vm = ValidationMetadata( configuration=validation_metadata.configuration, from_server=validation_metadata.from_server, path_to_item=validation_metadata.path_to_item, - base_classes=validation_metadata.base_classes | frozenset({cls}) + seen_classes=validation_metadata.seen_classes | frozenset({cls}), + validated_path_to_schemas=validation_metadata.validated_path_to_schemas ) other_path_to_schemas = cls._validate_items(arg, validation_metadata=updated_vm) update(_path_to_schemas, other_path_to_schemas) @@ -1030,13 +1074,14 @@ class DictBase(Discriminable): raise ApiTypeError('Unable to find schema for value={} in class={} at path_to_item={}'.format( value, cls, validation_metadata.path_to_item+(property_name,) )) - if isinstance(value, schema): - continue arg_validation_metadata = ValidationMetadata( from_server=validation_metadata.from_server, configuration=validation_metadata.configuration, - path_to_item=validation_metadata.path_to_item+(property_name,) + path_to_item=validation_metadata.path_to_item+(property_name,), + validated_path_to_schemas=validation_metadata.validated_path_to_schemas ) + if arg_validation_metadata.validation_ran_earlier(schema): + continue other_path_to_schemas = schema._validate(value, validation_metadata=arg_validation_metadata) update(path_to_schemas, other_path_to_schemas) return path_to_schemas @@ -1089,15 +1134,15 @@ class DictBase(Discriminable): validation_metadata.path_to_item + (disc_prop_name,) ) ) - if discriminated_cls in validation_metadata.base_classes: - # we have already moved through this class so stop here - return _path_to_schemas updated_vm = ValidationMetadata( configuration=validation_metadata.configuration, from_server=validation_metadata.from_server, path_to_item=validation_metadata.path_to_item, - base_classes=validation_metadata.base_classes | frozenset({cls}) + seen_classes=validation_metadata.seen_classes | frozenset({cls}), + validated_path_to_schemas=validation_metadata.validated_path_to_schemas ) + if updated_vm.validation_ran_earlier(discriminated_cls): + return _path_to_schemas other_path_to_schemas = discriminated_cls._validate(arg, validation_metadata=updated_vm) update(_path_to_schemas, other_path_to_schemas) return _path_to_schemas @@ -1185,7 +1230,7 @@ class DictBase(Discriminable): return super().__getattribute__(name) -inheritable_primitive_types_set = {decimal.Decimal, str, tuple, frozendict, FileIO, bytes} +inheritable_primitive_types_set = {decimal.Decimal, str, tuple, frozendict, FileIO, bytes, BoolClass, NoneClass} class Schema: @@ -1198,117 +1243,12 @@ class Schema: - payload value is an allowed enum value """ - @staticmethod - def __get_simple_class(input_value): - """Returns an input_value's simple class that we will use for type checking - - Args: - input_value (class/class_instance): the item for which we will return - the simple class - """ - if isinstance(input_value, tuple): - return tuple - elif isinstance(input_value, frozendict): - return frozendict - elif isinstance(input_value, none_type): - return none_type - elif isinstance(input_value, bytes): - return bytes - elif isinstance(input_value, (io.FileIO, io.BufferedReader)): - return FileIO - elif isinstance(input_value, bool): - # this must be higher than the int check because - # isinstance(True, int) == True - return bool - elif isinstance(input_value, int): - return int - elif isinstance(input_value, float): - return float - elif isinstance(input_value, datetime): - # this must be higher than the date check because - # isinstance(datetime_instance, date) == True - return datetime - elif isinstance(input_value, date): - return date - elif isinstance(input_value, str): - return str - return type(input_value) - - @staticmethod - def __get_valid_classes_phrase(input_classes): - """Returns a string phrase describing what types are allowed""" - all_classes = list(input_classes) - all_classes = sorted(all_classes, key=lambda cls: cls.__name__) - all_class_names = [cls.__name__ for cls in all_classes] - if len(all_class_names) == 1: - return "is {0}".format(all_class_names[0]) - return "is one of [{0}]".format(", ".join(all_class_names)) - - @classmethod - def __type_error_message( - cls, var_value=None, var_name=None, valid_classes=None, key_type=None - ): - """ - Keyword Args: - var_value (any): the variable which has the type_error - var_name (str): the name of the variable which has the typ error - valid_classes (tuple): the accepted classes for current_item's - value - key_type (bool): False if our value is a value in a dict - True if it is a key in a dict - False if our item is an item in a tuple - """ - key_or_value = "value" - if key_type: - key_or_value = "key" - valid_classes_phrase = cls.__get_valid_classes_phrase(valid_classes) - msg = "Invalid type. Required {1} type {2} and " "passed type was {3}".format( - var_name, - key_or_value, - valid_classes_phrase, - type(var_value).__name__, - ) - return msg - - @classmethod - def __get_type_error(cls, var_value, path_to_item, valid_classes, key_type=False): - error_msg = cls.__type_error_message( - var_name=path_to_item[-1], - var_value=var_value, - valid_classes=valid_classes, - key_type=key_type, - ) - return ApiTypeError( - error_msg, - path_to_item=path_to_item, - valid_classes=valid_classes, - key_type=key_type, - ) - - @classmethod - def _class_by_base_class(cls, base_cls: type) -> type: - cls_name = "Dynamic"+cls.__name__ - if base_cls is bool: - new_cls = get_new_class(cls_name, (cls, BoolBase, BoolClass)) - elif base_cls is str: - new_cls = get_new_class(cls_name, (cls, StrBase, str)) - elif base_cls is decimal.Decimal: - new_cls = get_new_class(cls_name, (cls, NumberBase, decimal.Decimal)) - elif base_cls is tuple: - new_cls = get_new_class(cls_name, (cls, ListBase, tuple)) - elif base_cls is frozendict: - new_cls = get_new_class(cls_name, (cls, DictBase, frozendict)) - elif base_cls is none_type: - new_cls = get_new_class(cls_name, (cls, NoneBase, NoneClass)) - log_cache_usage(get_new_class) - return new_cls - @classmethod def _validate( cls, arg, validation_metadata: ValidationMetadata, - ): + ) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]]: """ Schema _validate Runs all schema validation logic and @@ -1320,9 +1260,7 @@ class Schema: Use cases: 1. inheritable type: string/decimal.Decimal/frozendict/tuple - 2. enum value cases: 'hi', 1 -> no base_class set because the enum includes the base class - 3. uninheritable type: True/False/None -> no base_class because the base class is not inheritable - _enum_by_value will handle this use case + 2. singletons: bool/None -> uses the base classes BoolClass/NoneClass Required Steps: 1. verify type of input is valid vs the allowed _types @@ -1336,38 +1274,29 @@ class Schema: ApiValueError: when a string can't be converted into a date or datetime and it must be one of those classes ApiTypeError: when the input type is not in the list of allowed spec types """ - base_class = cls.__get_simple_class(arg) - failed_type_check_classes = cls._validate_type(base_class) - if failed_type_check_classes: - raise cls.__get_type_error( - arg, - validation_metadata.path_to_item, - failed_type_check_classes, - key_type=False, - ) - if hasattr(cls, '_validate_validations_pass'): - cls._validate_validations_pass(arg, validation_metadata) - path_to_schemas = {} - if validation_metadata.path_to_item not in path_to_schemas: - path_to_schemas[validation_metadata.path_to_item] = set() + base_class = type(arg) + path_to_schemas = {validation_metadata.path_to_item: set()} path_to_schemas[validation_metadata.path_to_item].add(cls) - - if hasattr(cls, "_enum_by_value"): - cls._validate_enum_value(arg) - return path_to_schemas - - if base_class is none_type or base_class is bool: - return path_to_schemas - path_to_schemas[validation_metadata.path_to_item].add(base_class) return path_to_schemas - @classmethod - def _validate_enum_value(cls, arg): - try: - cls._enum_by_value[arg] - except KeyError: - raise ApiValueError("Invalid value {} passed in to {}, {}".format(arg, cls, cls._enum_value_to_name)) + @staticmethod + def __process_schema_classes( + schema_classes: typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]] + ): + """ + Processes and mutates schema_classes + If a SomeSchema is a subclass of DictSchema then remove DictSchema because it is already included + """ + if len(schema_classes) < 2: + return + x_schema = schema_type_classes & schema_classes + if not x_schema: + return + x_schema = x_schema.pop() + if any(c is not x_schema and issubclass(c, x_schema) for c in schema_classes): + # needed to not have a mro error in get_new_class + schema_classes.remove(x_schema) @classmethod def __get_new_cls( @@ -1394,51 +1323,35 @@ class Schema: and in list/dict _get_items,_get_properties the value will be directly assigned because value is of the correct type, and validation was run earlier when the instance was created """ - _path_to_schemas = cls._validate(arg, validation_metadata=validation_metadata) + _path_to_schemas = {} + if validation_metadata.validated_path_to_schemas: + update(_path_to_schemas, validation_metadata.validated_path_to_schemas) + if not validation_metadata.validation_ran_earlier(cls): + other_path_to_schemas = cls._validate(arg, validation_metadata=validation_metadata) + update(_path_to_schemas, other_path_to_schemas) # loop through it make a new class for each entry # do not modify the returned result because it is cached and we would be modifying the cached value path_to_schemas = {} for path, schema_classes in _path_to_schemas.items(): + """ + Use cases + 1. N number of schema classes + enum + type != bool/None, classes in path_to_schemas: tuple/frozendict/str/Decimal/bytes/FileIo + needs Singleton added + 2. N number of schema classes + enum + type == bool/None, classes in path_to_schemas: BoolClass/NoneClass + Singleton already added + 3. N number of schema classes, classes in path_to_schemas: BoolClass/NoneClass/tuple/frozendict/str/Decimal/bytes/FileIo + """ + cls.__process_schema_classes(schema_classes) enum_schema = any( - hasattr(this_cls, '_enum_by_value') for this_cls in schema_classes) + hasattr(this_cls, '_enum_value_to_name') for this_cls in schema_classes) inheritable_primitive_type = schema_classes.intersection(inheritable_primitive_types_set) - chosen_schema_classes = schema_classes - suffix = tuple() - if inheritable_primitive_type: - chosen_schema_classes = schema_classes - inheritable_primitive_types_set - if not enum_schema: - # include the inheritable_primitive_type - suffix = tuple(inheritable_primitive_type) + chosen_schema_classes = schema_classes - inheritable_primitive_type + suffix = tuple(inheritable_primitive_type) + if enum_schema and suffix[0] not in {NoneClass, BoolClass}: + suffix = (Singleton,) + suffix - if len(chosen_schema_classes) == 1 and not suffix: - mfg_cls = tuple(chosen_schema_classes)[0] - else: - x_schema = schema_descendents & chosen_schema_classes - if x_schema: - x_schema = x_schema.pop() - if any(c is not x_schema and issubclass(c, x_schema) for c in chosen_schema_classes): - # needed to not have a mro error in get_new_class - chosen_schema_classes.remove(x_schema) - used_classes = tuple(sorted(chosen_schema_classes, key=lambda a_cls: a_cls.__name__)) + suffix - mfg_cls = get_new_class(class_name='DynamicSchema', bases=used_classes) - - if inheritable_primitive_type and not enum_schema: - path_to_schemas[path] = mfg_cls - continue - - # Use case: value is None, True, False, or an enum value - value = arg - for key in path[1:]: - # if path is bigger than one, get the value that mfg_cls validated - value = value[key] - if hasattr(mfg_cls, '_enum_by_value'): - mfg_cls = mfg_cls._enum_by_value[value] - elif value in {True, False}: - mfg_cls = mfg_cls._class_by_base_class(bool) - elif value is None: - mfg_cls = mfg_cls._class_by_base_class(none_type) - else: - raise ApiValueError('Unhandled case value={} bases={}'.format(value, mfg_cls.__bases__)) + used_classes = tuple(sorted(chosen_schema_classes, key=lambda a_cls: a_cls.__name__)) + suffix + mfg_cls = get_new_class(class_name='DynamicSchema', bases=used_classes) path_to_schemas[path] = mfg_cls return path_to_schemas @@ -1452,6 +1365,7 @@ class Schema: ): # We have a Dynamic class and we are making an instance of it if issubclass(cls, frozendict): + print(cls.__bases__) properties = cls._get_properties(arg, path_to_item, path_to_schemas) return super(Schema, cls).__new__(cls, properties) elif issubclass(cls, tuple): @@ -1491,8 +1405,11 @@ class Schema: """ Schema _from_openapi_data """ - arg = cast_to_allowed_types(arg, from_server=True) - validation_metadata = ValidationMetadata(from_server=True, configuration=_configuration) + from_server = True + validated_path_to_schemas = {} + arg = cast_to_allowed_types(arg, from_server, validated_path_to_schemas) + validation_metadata = ValidationMetadata( + from_server=from_server, configuration=_configuration, validated_path_to_schemas=validated_path_to_schemas) path_to_schemas = cls.__get_new_cls(arg, validation_metadata) new_cls = path_to_schemas[validation_metadata.path_to_item] new_inst = new_cls._get_new_instance_without_conversion( @@ -1534,8 +1451,12 @@ class Schema: arg = args[0] else: arg = cls.__get_input_dict(*args, **kwargs) - validation_metadata = ValidationMetadata(configuration=_configuration, from_server=False) - arg = cast_to_allowed_types(arg, from_server=validation_metadata.from_server) + from_server = False + validated_path_to_schemas = {} + arg = cast_to_allowed_types( + arg, from_server, validated_path_to_schemas) + validation_metadata = ValidationMetadata( + configuration=_configuration, from_server=from_server, validated_path_to_schemas=validated_path_to_schemas) path_to_schemas = cls.__get_new_cls(arg, validation_metadata) new_cls = path_to_schemas[validation_metadata.path_to_item] return new_cls._get_new_instance_without_conversion( @@ -1562,22 +1483,53 @@ class Schema: pass -def cast_to_allowed_types(arg: typing.Union[str, date, datetime, decimal.Decimal, int, float, None, dict, frozendict, list, tuple, bytes, Schema], from_server=False) -> typing.Union[str, bytes, decimal.Decimal, None, frozendict, tuple, Schema]: +def cast_to_allowed_types( + arg: typing.Union[str, date, datetime, uuid.UUID, decimal.Decimal, int, float, None, dict, frozendict, list, tuple, bytes, Schema], + from_server: bool, + validated_path_to_schemas: typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]], + path_to_item: typing.Tuple[typing.Union[str, int], ...] = tuple(['args[0]']), +) -> typing.Union[frozendict, tuple, decimal.Decimal, str, bytes, BoolClass, NoneClass, FileIO]: """ - from_server=False date, datetime -> str - int, float -> Decimal - StrSchema will convert that to bytes and remember the encoding when we pass in str input + Casts the input payload arg into the allowed types + The input validated_path_to_schemas is mutated by running this function + + When from_server is False then + - date/datetime is cast to str + - int/float is cast to Decimal + + If a Schema instance is passed in it is converted back to a primitive instance because + One may need to validate that data to the original Schema class AND additional different classes + those additional classes will need to be added to the new manufactured class for that payload + If the code didn't do this and kept the payload as a Schema instance it would fail to validate to other + Schema classes and the code wouldn't be able to mfg a new class that includes all valid schemas + TODO: store the validated schema classes in validation_metadata + + Args: + arg: the payload + from_server: whether this payload came from the server or not + validated_path_to_schemas: a dict that stores the validated classes at any path location in the payload """ + if isinstance(arg, Schema): + # store the already run validations + schema_classes = set() + for cls in arg.__class__.__bases__: + if cls is Singleton: + continue + schema_classes.add(cls) + validated_path_to_schemas[path_to_item] = schema_classes + if isinstance(arg, str): - return arg - elif type(arg) is dict or type(arg) is frozendict: - return frozendict({key: cast_to_allowed_types(val) for key, val in arg.items()}) - elif isinstance(arg, bool): + return str(arg) + elif isinstance(arg, (dict, frozendict)): + return frozendict({key: cast_to_allowed_types(val, from_server, validated_path_to_schemas, path_to_item + (key,)) for key, val in arg.items()}) + elif isinstance(arg, (bool, BoolClass)): """ this check must come before isinstance(arg, (int, float)) because isinstance(True, int) is True """ - return arg + if arg: + return BoolClass.TRUE + return BoolClass.FALSE elif isinstance(arg, int): return decimal.Decimal(arg) elif isinstance(arg, float): @@ -1587,10 +1539,10 @@ def cast_to_allowed_types(arg: typing.Union[str, date, datetime, decimal.Decimal # 3.4028234663852886e+38 -> Decimal('340282346638528859811704183484516925440.0') return decimal.Decimal(str(decimal_from_float)+'.0') return decimal_from_float - elif type(arg) is list or type(arg) is tuple: - return tuple([cast_to_allowed_types(item) for item in arg]) - elif arg is None: - return arg + elif isinstance(arg, (tuple, list)): + return tuple([cast_to_allowed_types(item, from_server, validated_path_to_schemas, path_to_item + (i,)) for i, item in enumerate(arg)]) + elif isinstance(arg, (none_type, NoneClass)): + return NoneClass.NONE elif isinstance(arg, (date, datetime)): if not from_server: return arg.isoformat() @@ -1602,17 +1554,11 @@ def cast_to_allowed_types(arg: typing.Union[str, date, datetime, decimal.Decimal # ApiTypeError will be thrown later by _validate_type return arg elif isinstance(arg, decimal.Decimal): - return arg + return decimal.Decimal(arg) elif isinstance(arg, bytes): - return arg - elif isinstance(arg, decimal.Decimal): - return arg + return bytes(arg) elif isinstance(arg, (io.FileIO, io.BufferedReader)): - if arg.closed: - raise ApiValueError('Invalid file state; file is closed and must be open') - return arg - elif isinstance(arg, Schema): - return arg + return FileIO(arg) raise ValueError('Invalid type passed in got input={} type={}'.format(arg, type(arg))) @@ -1622,7 +1568,7 @@ class ComposedBase(Discriminable): def __get_allof_classes(cls, arg, validation_metadata: ValidationMetadata): path_to_schemas = defaultdict(set) for allof_cls in cls._composed_schemas['allOf']: - if allof_cls in validation_metadata.base_classes: + if validation_metadata.validation_ran_earlier(allof_cls): continue other_path_to_schemas = allof_cls._validate(arg, validation_metadata=validation_metadata) update(path_to_schemas, other_path_to_schemas) @@ -1637,27 +1583,20 @@ class ComposedBase(Discriminable): path_to_schemas: typing.Dict[typing.Tuple, typing.Set[typing.Type[Schema]]] ): oneof_classes = [] - chosen_oneof_cls = None - original_base_classes = validation_metadata.base_classes - new_base_classes = validation_metadata.base_classes path_to_schemas = defaultdict(set) for oneof_cls in cls._composed_schemas['oneOf']: if oneof_cls in path_to_schemas[validation_metadata.path_to_item]: oneof_classes.append(oneof_cls) continue - if isinstance(arg, oneof_cls): - # passed in instance is the correct type - chosen_oneof_cls = oneof_cls + if validation_metadata.validation_ran_earlier(oneof_cls): oneof_classes.append(oneof_cls) continue try: path_to_schemas = oneof_cls._validate(arg, validation_metadata=validation_metadata) - new_base_classes = validation_metadata.base_classes except (ApiValueError, ApiTypeError) as ex: if discriminated_cls is not None and oneof_cls is discriminated_cls: raise ex continue - chosen_oneof_cls = oneof_cls oneof_classes.append(oneof_cls) if not oneof_classes: raise ApiValueError( @@ -1679,15 +1618,9 @@ class ComposedBase(Discriminable): validation_metadata: ValidationMetadata ): anyof_classes = [] - chosen_anyof_cls = None - original_base_classes = validation_metadata.base_classes path_to_schemas = defaultdict(set) for anyof_cls in cls._composed_schemas['anyOf']: - if anyof_cls in validation_metadata.base_classes: - continue - if isinstance(arg, anyof_cls): - # passed in instance is the correct type - chosen_anyof_cls = anyof_cls + if validation_metadata.validation_ran_earlier(anyof_cls): anyof_classes.append(anyof_cls) continue @@ -1697,8 +1630,6 @@ class ComposedBase(Discriminable): if discriminated_cls is not None and anyof_cls is discriminated_cls: raise ex continue - original_base_classes = validation_metadata.base_classes - chosen_anyof_cls = anyof_cls anyof_classes.append(anyof_cls) update(path_to_schemas, other_path_to_schemas) if not anyof_classes: @@ -1713,7 +1644,7 @@ class ComposedBase(Discriminable): cls, arg, validation_metadata: ValidationMetadata, - ): + ) -> typing.Dict[typing.Tuple[typing.Union[str, int], ...], typing.Set[typing.Union['Schema', str, decimal.Decimal, BoolClass, NoneClass, frozendict, tuple]]]: """ ComposedBase _validate We return dynamic classes of different bases depending upon the inputs @@ -1748,7 +1679,8 @@ class ComposedBase(Discriminable): configuration=validation_metadata.configuration, from_server=validation_metadata.from_server, path_to_item=validation_metadata.path_to_item, - base_classes=validation_metadata.base_classes | frozenset({cls}) + seen_classes=validation_metadata.seen_classes | frozenset({cls}), + validated_path_to_schemas=validation_metadata.validated_path_to_schemas ) # process composed schema @@ -1792,20 +1724,24 @@ class ComposedBase(Discriminable): not_cls = cls._composed_schemas['not'] if not_cls: other_path_to_schemas = None + not_exception = ApiValueError( + "Invalid value '{}' was passed in to {}. Value is invalid because it is disallowed by {}".format( + arg, + cls.__name__, + not_cls.__name__, + ) + ) + if updated_vm.validation_ran_earlier(not_cls): + raise not_exception + try: other_path_to_schemas = not_cls._validate(arg, validation_metadata=updated_vm) except (ApiValueError, ApiTypeError): pass if other_path_to_schemas: - raise ApiValueError( - "Invalid value '{}' was passed in to {}. Value is invalid because it is disallowed by {}".format( - arg, - cls.__name__, - not_cls.__name__, - ) - ) + raise not_exception - if discriminated_cls is not None: + if discriminated_cls is not None and not updated_vm.validation_ran_earlier(discriminated_cls): # TODO use an exception from this package here assert discriminated_cls in path_to_schemas[updated_vm.path_to_item] return path_to_schemas @@ -1813,7 +1749,7 @@ class ComposedBase(Discriminable): # DictBase, ListBase, NumberBase, StrBase, BoolBase, NoneBase class ComposedSchema( - _SchemaTypeChecker(typing.Union[none_type, str, decimal.Decimal, bool, tuple, frozendict]), + _SchemaTypeChecker(typing.Union[NoneClass, str, decimal.Decimal, BoolClass, tuple, frozendict]), ComposedBase, DictBase, ListBase, @@ -1851,7 +1787,7 @@ class ListSchema( class NoneSchema( - _SchemaTypeChecker(typing.Union[none_type]), + _SchemaTypeChecker(typing.Union[NoneClass]), NoneBase, Schema ): @@ -2122,7 +2058,7 @@ class BinarySchema( class BoolSchema( - _SchemaTypeChecker(typing.Union[bool]), + _SchemaTypeChecker(typing.Union[BoolClass]), BoolBase, Schema ): @@ -2137,7 +2073,7 @@ class BoolSchema( class AnyTypeSchema( _SchemaTypeChecker( - typing.Union[frozendict, tuple, decimal.Decimal, str, bool, none_type, bytes, FileIO] + typing.Union[frozendict, tuple, decimal.Decimal, str, BoolClass, NoneClass, bytes, FileIO] ), DictBase, ListBase, @@ -2164,7 +2100,7 @@ class DictSchema( return super().__new__(cls, *args, **kwargs) -schema_descendents = set([NoneSchema, DictSchema, ListSchema, NumberSchema, StrSchema, BoolSchema]) +schema_type_classes = set([NoneSchema, DictSchema, ListSchema, NumberSchema, StrSchema, BoolSchema]) def deserialize_file(response_data, configuration, content_disposition=None): diff --git a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_boolean_enum.py b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_boolean_enum.py index 811a18defe..bd343b2847 100644 --- a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_boolean_enum.py +++ b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_boolean_enum.py @@ -31,7 +31,7 @@ class TestBooleanEnum(unittest.TestCase): assert model is BooleanEnum.TRUE assert model.is_true() assert model.is_false() is False - assert repr(model) == '' + assert repr(model) == '' with self.assertRaises(petstore_api.ApiValueError): BooleanEnum(False) diff --git a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_combine_schemas.py b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_combine_schemas.py index c6571ded22..403d9709f8 100644 --- a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_combine_schemas.py +++ b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_combine_schemas.py @@ -10,7 +10,7 @@ """ -import sys +import decimal import unittest import petstore_api @@ -40,20 +40,12 @@ class TestCombineNonObjectSchemas(unittest.TestCase): assert EnumPlusPrim._enum_value_to_name == {0: "POSITIVE_0"} - # _enum_value_to_name only contains one key - assert set(EnumPlusPrim._enum_value_to_name) == {0} - # the value is the expected enum class - enum_value_cls = EnumPlusPrim._enum_by_value[0] - assert issubclass(enum_value_cls, EnumPlusPrim) - assert issubclass(enum_value_cls, Singleton) - assert issubclass(enum_value_cls, int) - # the enum stored in that class is expected - enum_value = enum_value_cls.POSITIVE_0 + enum_value = EnumPlusPrim.POSITIVE_0 assert isinstance(enum_value, EnumPlusPrim) assert isinstance(enum_value, Singleton) - assert isinstance(enum_value, int) + assert isinstance(enum_value, decimal.Decimal) # we can access this enum from our class - assert EnumPlusPrim.POSITIVE_0 == enum_value + assert EnumPlusPrim.POSITIVE_0 == 0 # invalid value throws an exception with self.assertRaises(petstore_api.ApiValueError): @@ -64,7 +56,7 @@ class TestCombineNonObjectSchemas(unittest.TestCase): assert val == 0 assert isinstance(val, EnumPlusPrim) assert isinstance(val, Singleton) - assert isinstance(val, int) + assert isinstance(val, decimal.Decimal) def test_valid_enum_plus_enum(self): class IntegerOneEnum(IntegerEnum, IntegerEnumOneValue): @@ -78,20 +70,12 @@ class TestCombineNonObjectSchemas(unittest.TestCase): assert IntegerOneEnum._enum_value_to_name == {0: "POSITIVE_0"} - # _enum_by_value only contains one key - assert set(IntegerOneEnum._enum_by_value) == {0} - # the value is the expected enum class - enum_value_cls = IntegerOneEnum._enum_by_value[0] - assert issubclass(enum_value_cls, IntegerOneEnum) - assert issubclass(enum_value_cls, Singleton) - assert issubclass(enum_value_cls, int) - # the enum stored in that class is expected - enum_value = enum_value_cls.POSITIVE_0 + enum_value = IntegerOneEnum.POSITIVE_0 assert isinstance(enum_value, IntegerOneEnum) assert isinstance(enum_value, Singleton) - assert isinstance(enum_value, int) + assert isinstance(enum_value, decimal.Decimal) # we can access this enum from our class - assert IntegerOneEnum.POSITIVE_0 == enum_value + assert IntegerOneEnum.POSITIVE_0 == 0 # accessing invalid enum throws an exception invalid_enums = ['POSITIVE_1', 'POSITIVE_2'] diff --git a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_date_time_with_validations.py b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_date_time_with_validations.py index 3d26e42bc1..0703a36da1 100644 --- a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_date_time_with_validations.py +++ b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_date_time_with_validations.py @@ -56,7 +56,7 @@ class TestDateTimeWithValidations(unittest.TestCase): # value error is raised if an invalid string is passed in with self.assertRaisesRegex( petstore_api.ApiValueError, - r"Value does not conform to the required ISO-8601 datetime format. Invalid value 'abcd' for type datetime at \('args\[0\]',\)" + r"Invalid value `abcd`, must match regular expression `.+?` at \('args\[0\]',\)" ): DateTimeWithValidations._from_openapi_data("abcd") diff --git a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_date_with_validations.py b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_date_with_validations.py index fff79f16cf..e2fcae60f4 100644 --- a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_date_with_validations.py +++ b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_date_with_validations.py @@ -66,8 +66,8 @@ class TestDateWithValidations(unittest.TestCase): # value error is raised if an invalid string is passed in with self.assertRaisesRegex( - petstore_api.ApiValueError, - r"Value does not conform to the required ISO-8601 date format. Invalid value 'abcd' for type date at \('args\[0\]',\)" + petstore_api.ApiValueError, + r"Invalid value `abcd`, must match regular expression `.+?` at \('args\[0\]',\)" ): DateWithValidations._from_openapi_data("abcd") diff --git a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_drawing.py b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_drawing.py index 3be8388499..ba91979814 100644 --- a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_drawing.py +++ b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_drawing.py @@ -99,29 +99,26 @@ class TestDrawing(unittest.TestCase): ) """ - we can't pass in an incorrect type for shapes - 'shapes' items has type 'Shape', which is a oneOf [Triangle, Quadrilateral] - composed schema. We are not able to assign Triangle tor Quadrilateral - to a shapes item because those instances do not include Shape validation - Shape could require additional validations that Triangle + Quadrilateral do not include + We can pass in a Triangle instance in shapes + Under the hood it is converted into a dict, and that dict payload + does validate as a Shape, so this works """ from petstore_api.model.triangle import Triangle - err_msg = (r"Incorrect type passed in, required type was " - r"and passed type was at " - r"\('args\[0\]', 'shapes', 0\)") - with self.assertRaisesRegex( - petstore_api.ApiTypeError, - err_msg - ): - inst = Drawing( - mainShape=isosceles_triangle, - shapes=[ - Triangle( - shapeType="Triangle", - triangleType="EquilateralTriangle" - ) - ] - ) + inst = Drawing( + mainShape=isosceles_triangle, + shapes=[ + Triangle( + shapeType="Triangle", + triangleType="EquilateralTriangle" + ) + ] + ) + self.assertEqual(len(inst.shapes), 1) + from petstore_api.model.triangle_interface import TriangleInterface + assert isinstance(inst.shapes[0], shape.Shape) + assert isinstance(inst.shapes[0], Triangle) + assert isinstance(inst.shapes[0], EquilateralTriangle) + assert isinstance(inst.shapes[0], TriangleInterface) def test_deserialize_oneof_reference_with_null_type(self): """ diff --git a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_fake_api.py b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_fake_api.py index bb006c131c..fb6d11e2af 100644 --- a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_fake_api.py +++ b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_fake_api.py @@ -491,6 +491,7 @@ class TestFakeApi(ApiTestMixin): with open(file_path1, "rb") as some_file: file_bytes = some_file.read() file1 = open(file_path1, "rb") + file2 = open(file_path1, "rb") response_json = { 'code': 200, 'type': 'blah', @@ -501,7 +502,7 @@ class TestFakeApi(ApiTestMixin): mock_request.return_value = self.response( self.json_bytes(response_json) ) - api_response = self.api.upload_files(body={'files': [file1, file1]}) + api_response = self.api.upload_files(body={'files': [file1, file2]}) self.assert_request_called_with( mock_request, 'http://petstore.swagger.io:80/v2/fake/uploadFiles', @@ -526,6 +527,7 @@ class TestFakeApi(ApiTestMixin): self.fail("upload_file() raised {0} unexpectedly".format(type(e))) finally: file1.close() + file2.close() # sending just bytes works also with patch.object(RESTClientObject, 'request') as mock_request: diff --git a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_nullable_string.py b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_nullable_string.py index d873e45531..1949de4837 100644 --- a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_nullable_string.py +++ b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_nullable_string.py @@ -33,7 +33,7 @@ class TestNullableString(unittest.TestCase): assert isinstance(inst, NullableString) assert isinstance(inst, Schema) assert inst.is_none() is True - assert repr(inst) == '' + assert repr(inst) == '' inst = NullableString('approved') assert inst.is_none() is False @@ -46,7 +46,7 @@ class TestNullableString(unittest.TestCase): for invalid_value in invalid_values: with self.assertRaisesRegex( petstore_api.ApiTypeError, - r"Invalid type. Required value type is one of \[NoneType, str\] and passed type was Decimal at \['args\[0\]'\]" + r"Invalid type. Required value type is one of \[NoneClass, str\] and passed type was Decimal at \['args\[0\]'\]" ): NullableString(invalid_value) diff --git a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_string_enum.py b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_string_enum.py index a877eddfd2..0485242b37 100644 --- a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_string_enum.py +++ b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_string_enum.py @@ -31,14 +31,14 @@ class TestStringEnum(unittest.TestCase): inst = StringEnum(None) assert isinstance(inst, StringEnum) assert isinstance(inst, NoneClass) - assert repr(inst) == '' + assert repr(inst) == '' inst = StringEnum('approved') assert isinstance(inst, StringEnum) assert isinstance(inst, Singleton) assert isinstance(inst, str) assert inst == 'approved' - assert repr(inst) == "" + assert repr(inst) == "" with self.assertRaises(petstore_api.ApiValueError): StringEnum('garbage') diff --git a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_validate.py b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_validate.py index cc62ccff3c..19592fe384 100644 --- a/samples/openapi3/client/petstore/python-experimental/tests_manual/test_validate.py +++ b/samples/openapi3/client/petstore/python-experimental/tests_manual/test_validate.py @@ -3,7 +3,7 @@ from collections import defaultdict from decimal import Decimal import typing -from unittest.mock import patch +from unittest.mock import patch, call import unittest import petstore_api @@ -26,6 +26,8 @@ from petstore_api.model.banana import Banana from petstore_api.schemas import ( AnyTypeSchema, + BoolClass, + NoneClass, StrSchema, NumberSchema, Schema, @@ -52,12 +54,12 @@ class TestValidateResults(unittest.TestCase): def test_str_enum_validate(self): vm = ValidationMetadata() path_to_schemas = StringEnum._validate("placed", validation_metadata=vm) - assert path_to_schemas == {("args[0]",): set([StringEnum])} + assert path_to_schemas == {("args[0]",): {str, StringEnum}} def test_nullable_enum_validate(self): vm = ValidationMetadata() - path_to_schemas = StringEnum._validate(None, validation_metadata=vm) - assert path_to_schemas == {("args[0]",): set([StringEnum])} + path_to_schemas = StringEnum._validate(NoneClass.NONE, validation_metadata=vm) + assert path_to_schemas == {("args[0]",): {NoneClass, StringEnum}} def test_empty_list_validate(self): vm = ValidationMetadata() @@ -105,8 +107,8 @@ class TestValidateResults(unittest.TestCase): def test_bool_enum_validate(self): vm = ValidationMetadata() - path_to_schemas = BooleanEnum._validate(True, validation_metadata=vm) - assert path_to_schemas == {("args[0]",): set([BooleanEnum])} + path_to_schemas = BooleanEnum._validate(BoolClass.TRUE, validation_metadata=vm) + assert path_to_schemas == {("args[0]",): {BoolClass, BooleanEnum}} def test_oneof_composition_pig_validate(self): vm = ValidationMetadata() @@ -137,7 +139,7 @@ class TestValidateCalls(unittest.TestCase): with patch.object( Schema, "_validate", return_value=return_value ) as mock_validate: - instance = ArrayHoldingAnyType([]) + ArrayHoldingAnyType([]) assert mock_validate.call_count == 1 with patch.object( @@ -151,7 +153,7 @@ class TestValidateCalls(unittest.TestCase): with patch.object( Schema, "_validate", return_value=return_value ) as mock_validate: - instance = Foo({}) + Foo({}) assert mock_validate.call_count == 1 with patch.object( @@ -161,237 +163,118 @@ class TestValidateCalls(unittest.TestCase): assert mock_validate.call_count == 1 def test_list_validate_direct_instantiation(self): - expected_call_by_index = { - 0: [ - ArrayWithValidationsInItems, - ((Decimal("7"),),), - ValidationMetadata(path_to_item=("args[0]",)), - ], - 1: [ - ArrayWithValidationsInItems._items, - (Decimal("7"),), - ValidationMetadata(path_to_item=("args[0]", 0)), - ], - } - call_index = 0 - result_by_call_index = { - 0: defaultdict( - set, [(("args[0]",), set([ArrayWithValidationsInItems, tuple]))] - ), - 1: defaultdict( - set, - [(("args[0]", 0), set([ArrayWithValidationsInItems._items, Decimal]))], - ), - } - - @classmethod - def new_validate( - cls, - *args, - validation_metadata: typing.Optional[ValidationMetadata] = None, - ): - nonlocal call_index - assert [cls, args, validation_metadata] == expected_call_by_index[ - call_index - ] - result = result_by_call_index.get(call_index) - call_index += 1 - if result is None: - raise petstore_api.ApiValueError("boom") - return result - - with patch.object(Schema, "_validate", new=new_validate): + results = [ + {("args[0]",): {ArrayWithValidationsInItems, tuple}}, + {("args[0]", 0): {ArrayWithValidationsInItems._items, Decimal}} + ] + with patch.object(Schema, "_validate", side_effect=results) as mock_validate: ArrayWithValidationsInItems([7]) + calls = [ + call( + (Decimal("7"),), + validation_metadata=ValidationMetadata(path_to_item=("args[0]",)) + ), + call( + Decimal("7"), + ValidationMetadata(path_to_item=("args[0]", 0)) + ) + ] + mock_validate.assert_has_calls( + calls + ) def test_list_validate_direct_instantiation_cast_item(self): - # validation is skipped if items are of the correct type - expected_call_by_index = { - 0: [ - ArrayWithValidationsInItems, - ((Decimal("7"),),), - ValidationMetadata(path_to_item=("args[0]",)), - ], - } - call_index = 0 - result_by_call_index = { - 0: defaultdict( - set, [(("args[0]",), set([ArrayWithValidationsInItems, tuple]))] - ), - } - - @classmethod - def new_validate( - cls, - *args, - validation_metadata: typing.Optional[ValidationMetadata] = None, - ): - nonlocal call_index - assert [cls, args, validation_metadata] == expected_call_by_index[ - call_index - ] - result = result_by_call_index.get(call_index) - call_index += 1 - if result is None: - raise petstore_api.ApiValueError("boom") - return result - + # item validation is skipped if items are of the correct type item = ArrayWithValidationsInItems._items(7) - with patch.object(Schema, "_validate", new=new_validate): + return_value = {("args[0]",): {ArrayWithValidationsInItems, tuple}} + with patch.object(Schema, "_validate", return_value=return_value) as mock_validate: ArrayWithValidationsInItems([item]) + mock_validate.assert_called_once_with( + tuple([Decimal('7')]), + validation_metadata=ValidationMetadata( + validated_path_to_schemas={('args[0]', 0): {ArrayWithValidationsInItems._items, Decimal}} + ) + ) def test_list_validate_from_openai_data_instantiation(self): - expected_call_by_index = { - 0: [ - ArrayWithValidationsInItems, - ((Decimal("7"),),), - ValidationMetadata(path_to_item=("args[0]",), from_server=True), - ], - 1: [ - ArrayWithValidationsInItems._items, - (Decimal("7"),), - ValidationMetadata(path_to_item=("args[0]", 0), from_server=True), - ], - } - call_index = 0 - result_by_call_index = { - 0: defaultdict( - set, [(("args[0]",), set([ArrayWithValidationsInItems, tuple]))] - ), - 1: defaultdict( - set, - [(("args[0]", 0), set([ArrayWithValidationsInItems._items, Decimal]))], - ), - } - @classmethod - def new_validate( - cls, - *args, - validation_metadata: typing.Optional[ValidationMetadata] = None, - ): - nonlocal call_index - assert [cls, args, validation_metadata] == expected_call_by_index[ - call_index - ] - result = result_by_call_index.get(call_index) - call_index += 1 - if result is None: - raise petstore_api.ApiValueError("boom") - return result - - with patch.object(Schema, "_validate", new=new_validate): + results = [ + {("args[0]",): {ArrayWithValidationsInItems, tuple}}, + {("args[0]", 0): {ArrayWithValidationsInItems._items, Decimal}} + ] + with patch.object(Schema, "_validate", side_effect=results) as mock_validate: ArrayWithValidationsInItems._from_openapi_data([7]) + calls = [ + call( + (Decimal("7"),), + validation_metadata=ValidationMetadata(path_to_item=("args[0]",), from_server=True) + ), + call( + Decimal("7"), + ValidationMetadata(path_to_item=("args[0]", 0), from_server=True) + ) + ] + mock_validate.assert_has_calls( + calls + ) def test_dict_validate_direct_instantiation(self): - expected_call_by_index = { - 0: [ - Foo, - (frozendict({"bar": "a"}),), - ValidationMetadata(path_to_item=("args[0]",)), - ], - 1: [ - StrSchema, - ("a",), - ValidationMetadata(path_to_item=("args[0]", "bar")), - ], - } - call_index = 0 - result_by_call_index = { - 0: defaultdict(set, [(("args[0]",), set([Foo, frozendict]))]), - 1: defaultdict(set, [(("args[0]", "bar"), set([StrSchema, str]))]), - } - - @classmethod - def new_validate( - cls, - *args, - validation_metadata: typing.Optional[ValidationMetadata] = None, - ): - nonlocal call_index - assert [cls, args, validation_metadata] == expected_call_by_index[ - call_index - ] - result = result_by_call_index.get(call_index) - call_index += 1 - if result is None: - raise petstore_api.ApiValueError("boom") - return result - - with patch.object(Schema, "_validate", new=new_validate): + call_results = [ + {("args[0]",): {Foo, frozendict}}, + {("args[0]", "bar"): {StrSchema, str}} + ] + with patch.object(Schema, "_validate", side_effect=call_results) as mock_validate: Foo(bar="a") + calls = [ + call( + frozendict({"bar": "a"}), + validation_metadata=ValidationMetadata(path_to_item=("args[0]",)), + ), + call( + "a", + ValidationMetadata(path_to_item=("args[0]", "bar")), + ), + ] + mock_validate.assert_has_calls( + calls + ) def test_dict_validate_direct_instantiation_cast_item(self): - expected_call_by_index = { - 0: [ - Foo, - (frozendict({"bar": "a"}),), - ValidationMetadata(path_to_item=("args[0]",)), - ], - } - call_index = 0 - result_by_call_index = { - 0: defaultdict(set, [(("args[0]",), set([Foo, frozendict]))]), - } - - @classmethod - def new_validate( - cls, - *args, - validation_metadata: typing.Optional[ValidationMetadata] = None, - ): - nonlocal call_index - assert [cls, args, validation_metadata] == expected_call_by_index[ - call_index - ] - result = result_by_call_index.get(call_index) - call_index += 1 - if result is None: - raise petstore_api.ApiValueError("boom") - return result - bar = StrSchema("a") - with patch.object(Schema, "_validate", new=new_validate): + return_value = { + ("args[0]",): {Foo, frozendict} + } + # only the Foo dict is validated because the bar property value was already validated + with patch.object(Schema, "_validate", return_value=return_value) as mock_validate: Foo(bar=bar) + mock_validate.assert_called_once_with( + frozendict(dict(bar='a')), + validation_metadata=ValidationMetadata( + validated_path_to_schemas={('args[0]', 'bar'): {str, StrSchema}} + ) + ) def test_dict_validate_from_openapi_data_instantiation(self): - expected_call_by_index = { - 0: [ - Foo, - (frozendict({"bar": "a"}),), - ValidationMetadata(path_to_item=("args[0]",), from_server=True), - ], - 1: [ - StrSchema, - ("a",), - ValidationMetadata( - path_to_item=("args[0]", "bar"), from_server=True - ), - ], - } - call_index = 0 - result_by_call_index = { - 0: defaultdict(set, [(("args[0]",), set([Foo, frozendict]))]), - 1: defaultdict(set, [(("args[0]", "bar"), set([StrSchema, str]))]), - } - @classmethod - def new_validate( - cls, - *args, - validation_metadata: typing.Optional[ValidationMetadata] = None, - ): - nonlocal call_index - assert [cls, args, validation_metadata] == expected_call_by_index[ - call_index - ] - result = result_by_call_index.get(call_index) - call_index += 1 - if result is None: - raise petstore_api.ApiValueError("boom") - return result - - with patch.object(Schema, "_validate", new=new_validate): + return_values = [ + {("args[0]",): {Foo, frozendict}}, + {("args[0]", 'bar'): {StrSchema, str}} + ] + with patch.object(Schema, "_validate", side_effect=return_values) as mock_validate: Foo._from_openapi_data({"bar": "a"}) + calls = [ + call( + frozendict({"bar": "a"}), + validation_metadata=ValidationMetadata(path_to_item=("args[0]",), from_server=True), + ), + call( + "a", + ValidationMetadata(path_to_item=("args[0]", "bar"), from_server=True), + ), + ] + mock_validate.assert_has_calls( + calls + ) if __name__ == "__main__": From f242b5e1ddf16af2fb39120a53cfc433e3e554e7 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 10 Jul 2022 14:58:22 +0800 Subject: [PATCH 157/212] 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 --- .../openapitools/codegen/CodegenModel.java | 4 ++-- .../openapitools/codegen/DefaultCodegen.java | 20 ++++++++++++++++++- .../languages/JavascriptClientCodegen.java | 7 +++++++ .../languages/PythonClientCodegen.java | 6 ++++++ .../resources/3_0/protobuf-schema/pet.proto | 4 ---- .../java/org/openapitools/model/BigCat.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../openapitools/client/model/ChildCat.java | 1 - .../client/model/ComplexQuadrilateral.java | 2 -- .../org/openapitools/client/model/Dog.java | 1 - .../client/model/EquilateralTriangle.java | 2 -- .../client/model/IsoscelesTriangle.java | 2 -- .../client/model/ScaleneTriangle.java | 2 -- .../client/model/SimpleQuadrilateral.java | 2 -- .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - ...InlineAllOfArrayAllofDogPropertyInner.java | 2 -- .../org/openapitools/client/model/Cat.java | 1 - .../client/model/ComplexQuadrilateral.java | 2 -- .../org/openapitools/client/model/Dog.java | 1 - .../client/model/EquilateralTriangle.java | 2 -- .../client/model/IsoscelesTriangle.java | 2 -- .../client/model/ScaleneTriangle.java | 2 -- .../client/model/SimpleQuadrilateral.java | 2 -- .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/BigCat.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../org/openapitools/client/model/Dog.java | 1 - .../org/openapitools/client/models/Bird.kt | 1 - .../perl/lib/WWW/OpenAPIClient/Object/Cat.pm | 1 - .../perl/lib/WWW/OpenAPIClient/Object/Dog.pm | 1 - .../builds/default-v3.0/models/Cat.ts | 6 ------ .../builds/default-v3.0/models/Dog.ts | 6 ------ .../lib/src/model/cat.dart | 1 - .../lib/src/model/dog.dart | 1 - .../lib/src/model/cat.dart | 1 - .../lib/src/model/dog.dart | 1 - .../client/model/ChildSchema.java | 1 - .../client/model/MySchemaNameCharacters.java | 1 - .../org/openapitools/client/model/Cat.java | 1 - .../openapitools/client/model/ChildCat.java | 1 - .../client/model/ComplexQuadrilateral.java | 2 -- .../org/openapitools/client/model/Dog.java | 1 - .../client/model/EquilateralTriangle.java | 2 -- .../client/model/IsoscelesTriangle.java | 2 -- .../client/model/ScaleneTriangle.java | 2 -- .../client/model/SimpleQuadrilateral.java | 2 -- .../java/org/openapitools/model/BigCat.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - .../builds/composed-schemas/models/Cat.ts | 1 - .../builds/composed-schemas/models/Dog.ts | 1 - .../java/org/openapitools/model/Entity.java | 2 -- .../org/openapitools/model/EntityRef.java | 2 -- .../java/org/openapitools/model/BigCat.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../gen/java/org/openapitools/model/Cat.java | 1 - .../gen/java/org/openapitools/model/Dog.java | 1 - .../app/apimodels/BigCat.java | 1 - .../app/apimodels/Cat.java | 1 - .../app/apimodels/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../gen/java/org/openapitools/model/Cat.java | 1 - .../gen/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../gen/java/org/openapitools/model/Cat.java | 1 - .../gen/java/org/openapitools/model/Dog.java | 1 - .../gen/java/org/openapitools/model/Cat.java | 1 - .../gen/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../gen/java/org/openapitools/model/Cat.java | 1 - .../gen/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../gen/java/org/openapitools/model/Cat.java | 1 - .../gen/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../gen/java/org/openapitools/model/Cat.java | 1 - .../gen/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../gen/java/org/openapitools/model/Cat.java | 1 - .../gen/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../gen/java/org/openapitools/model/Cat.java | 1 - .../gen/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../gen/java/org/openapitools/model/Cat.java | 1 - .../gen/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - .../openapitools/virtualan/model/BigCat.java | 1 - .../org/openapitools/virtualan/model/Cat.java | 1 - .../org/openapitools/virtualan/model/Dog.java | 1 - .../java/org/openapitools/model/BigCat.java | 1 - .../main/java/org/openapitools/model/Cat.java | 1 - .../main/java/org/openapitools/model/Dog.java | 1 - 202 files changed, 34 insertions(+), 232 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java index e00e646f56..b4a7160538 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java @@ -1000,10 +1000,10 @@ public class CodegenModel implements IJsonSchemaValidationProperties { sb.append(", parent='").append(parent).append('\''); sb.append(", parentSchema='").append(parentSchema).append('\''); sb.append(", interfaces=").append(interfaces); - sb.append(", interfaceModels=").append(interfaceModels!=null?interfaceModels.size():"[]"); + sb.append(", interfaceModels=").append(interfaceModels !=null ? interfaceModels.size() : "[]"); sb.append(", allParents=").append(allParents); sb.append(", parentModel=").append(parentModel); - sb.append(", children=").append(children!=null?children.size():"[]"); + sb.append(", children=").append(children != null ? children.size() : "[]"); sb.append(", anyOf=").append(anyOf); sb.append(", oneOf=").append(oneOf); sb.append(", allOf=").append(allOf); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index e4c488d3c0..29f33b716c 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -2581,7 +2581,8 @@ public class DefaultCodegen implements CodegenConfig { final String modelName = toModelName(ref); CodegenProperty interfaceProperty = fromProperty(modelName, interfaceSchema); m.interfaces.add(modelName); - addImport(m, modelName); + addImport(composed, refSchema, m, modelName); + if (allDefinitions != null && refSchema != null) { if (allParents.contains(ref) && supportsMultipleInheritance) { // multiple inheritance @@ -5309,6 +5310,23 @@ public class DefaultCodegen implements CodegenConfig { } } + /** + * Add the model name of the child schema in a composed schema to the set of imports + * + * @param composed composed schema + * @param childSchema composed schema + * @param model codegen model + * @param modelName model name + */ + protected void addImport(ComposedSchema composed, Schema childSchema, CodegenModel model, String modelName ) { + // import only if it's not allOf composition schema (without discriminator) + if (!(composed.getAllOf() != null && childSchema.getDiscriminator() == null)) { + addImport(model, modelName); + } else { + LOGGER.debug("Skipped import for allOf composition schema {}", modelName); + } + } + protected boolean shouldAddImport(String type) { return type != null && needToImport(type); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java index f6398e2f11..fcac1e9d60 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java @@ -21,6 +21,7 @@ import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.info.License; import io.swagger.v3.oas.models.media.ArraySchema; +import io.swagger.v3.oas.models.media.ComposedSchema; import io.swagger.v3.oas.models.media.Schema; import org.apache.commons.io.FilenameUtils; import org.apache.commons.lang3.StringUtils; @@ -1224,4 +1225,10 @@ public class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo @Override public GeneratorLanguage generatorLanguage() { return GeneratorLanguage.JAVASCRIPT; } + + @Override + protected void addImport(ComposedSchema composed, Schema childSchema, CodegenModel model, String modelName ) { + // import everything (including child schema of a composed schema) + addImport(model, modelName); + } } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java index b6f7eef407..9c61e90377 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java @@ -1515,4 +1515,10 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { @Override public String generatorLanguageVersion() { return ">=3.6"; }; + + @Override + protected void addImport(ComposedSchema composed, Schema childSchema, CodegenModel model, String modelName ) { + // import everything (including child schema of a composed schema) + addImport(model, modelName); + } } diff --git a/modules/openapi-generator/src/test/resources/3_0/protobuf-schema/pet.proto b/modules/openapi-generator/src/test/resources/3_0/protobuf-schema/pet.proto index 3e85147a66..6b33968ee1 100644 --- a/modules/openapi-generator/src/test/resources/3_0/protobuf-schema/pet.proto +++ b/modules/openapi-generator/src/test/resources/3_0/protobuf-schema/pet.proto @@ -12,10 +12,6 @@ syntax = "proto3"; package openapitools; -import public "models/cat_all_of.proto"; -import public "models/dog_all_of.proto"; -import public "models/lizard_all_of.proto"; - message Pet { string petType = 140636936; diff --git a/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/BigCat.java b/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/BigCat.java index 89f8c1573a..369bc324e6 100644 --- a/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/BigCat.java +++ b/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/BigCat.java @@ -14,7 +14,6 @@ package org.openapitools.model; import java.util.Objects; import java.util.Arrays; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import com.fasterxml.jackson.annotation.*; diff --git a/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/Cat.java b/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/Cat.java index 4b89061a64..c45811094b 100644 --- a/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/Cat.java +++ b/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/Cat.java @@ -15,7 +15,6 @@ package org.openapitools.model; import java.util.Objects; import java.util.Arrays; import org.openapitools.model.Animal; -import org.openapitools.model.CatAllOf; import com.fasterxml.jackson.annotation.*; import javax.validation.constraints.*; diff --git a/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/Dog.java b/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/Dog.java index c06f9057f3..d328e83b9e 100644 --- a/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/Dog.java +++ b/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/Dog.java @@ -15,7 +15,6 @@ package org.openapitools.model; import java.util.Objects; import java.util.Arrays; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import com.fasterxml.jackson.annotation.*; import javax.validation.constraints.*; diff --git a/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/BigCat.java index aa939d0b1f..c1685041c0 100644 --- a/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/BigCat.java @@ -25,7 +25,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/Cat.java index 01f3a54cb5..b5408a8315 100644 --- a/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/Cat.java @@ -27,7 +27,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/Dog.java index b3dbcc82a3..bf9838d6f6 100644 --- a/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/Dog.java @@ -26,7 +26,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/BigCat.java index 4ed81413c5..79c9519727 100644 --- a/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/BigCat.java @@ -25,7 +25,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/Cat.java index 416c66f9bf..bf472e082c 100644 --- a/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/Cat.java @@ -27,7 +27,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/Dog.java index 215f66d086..a9c8728549 100644 --- a/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/Dog.java @@ -26,7 +26,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/Cat.java index 1ce0b15318..5b89385b69 100644 --- a/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/Cat.java @@ -26,7 +26,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/Dog.java index b3dbcc82a3..bf9838d6f6 100644 --- a/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/Dog.java @@ -26,7 +26,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/BigCat.java index aa939d0b1f..c1685041c0 100644 --- a/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/BigCat.java @@ -25,7 +25,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/Cat.java index 01f3a54cb5..b5408a8315 100644 --- a/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/Cat.java @@ -27,7 +27,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/Dog.java index b3dbcc82a3..bf9838d6f6 100644 --- a/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/Dog.java @@ -26,7 +26,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/BigCat.java index aa939d0b1f..c1685041c0 100644 --- a/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/BigCat.java @@ -25,7 +25,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/Cat.java index 01f3a54cb5..b5408a8315 100644 --- a/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/Cat.java @@ -27,7 +27,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/Dog.java index b3dbcc82a3..bf9838d6f6 100644 --- a/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/Dog.java @@ -26,7 +26,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/BigCat.java index 68eba7be5f..44ae5215a7 100644 --- a/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/BigCat.java @@ -27,7 +27,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/Cat.java index 73484afc2d..50905164fa 100644 --- a/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/Cat.java @@ -29,7 +29,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/Dog.java index da6c79f2fa..2e71892f7c 100644 --- a/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/Dog.java @@ -28,7 +28,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/BigCat.java index 68eba7be5f..44ae5215a7 100644 --- a/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/BigCat.java @@ -27,7 +27,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/Cat.java index 73484afc2d..50905164fa 100644 --- a/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/Cat.java @@ -29,7 +29,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/Dog.java index da6c79f2fa..2e71892f7c 100644 --- a/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/Dog.java @@ -28,7 +28,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/Cat.java index a3d569c46d..c9818bc145 100644 --- a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/Cat.java @@ -32,7 +32,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/ChildCat.java b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/ChildCat.java index c5bec7fb9d..8e16e6fedd 100644 --- a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/ChildCat.java +++ b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/ChildCat.java @@ -31,7 +31,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.ChildCatAllOf; import org.openapitools.client.model.ParentPet; import java.util.Set; import java.util.HashSet; diff --git a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/ComplexQuadrilateral.java b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/ComplexQuadrilateral.java index 0a5b037ab6..a6542f5240 100644 --- a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/ComplexQuadrilateral.java +++ b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/ComplexQuadrilateral.java @@ -28,8 +28,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.QuadrilateralInterface; -import org.openapitools.client.model.ShapeInterface; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/Dog.java index ee816b5783..360dbe701f 100644 --- a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/Dog.java @@ -32,7 +32,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/EquilateralTriangle.java b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/EquilateralTriangle.java index 217e53a7d8..3c6bd7e414 100644 --- a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/EquilateralTriangle.java +++ b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/EquilateralTriangle.java @@ -28,8 +28,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.ShapeInterface; -import org.openapitools.client.model.TriangleInterface; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/IsoscelesTriangle.java b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/IsoscelesTriangle.java index 19e71a3b53..dc407e6e9f 100644 --- a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/IsoscelesTriangle.java +++ b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/IsoscelesTriangle.java @@ -24,8 +24,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.ShapeInterface; -import org.openapitools.client.model.TriangleInterface; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/ScaleneTriangle.java b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/ScaleneTriangle.java index 15bc62cc8e..fb9b9df4b7 100644 --- a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/ScaleneTriangle.java +++ b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/ScaleneTriangle.java @@ -28,8 +28,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.ShapeInterface; -import org.openapitools.client.model.TriangleInterface; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/SimpleQuadrilateral.java b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/SimpleQuadrilateral.java index 87fcfee6f4..1dc6a4d33b 100644 --- a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/SimpleQuadrilateral.java +++ b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/SimpleQuadrilateral.java @@ -28,8 +28,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.QuadrilateralInterface; -import org.openapitools.client.model.ShapeInterface; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/BigCat.java index 7ab4afb38c..fb1c3d7f41 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/BigCat.java @@ -27,7 +27,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Cat.java index 77fda9a3dc..ab5d0b78e6 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Cat.java @@ -29,7 +29,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Dog.java index c1db92311c..4b0c631b41 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Dog.java @@ -28,7 +28,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/BigCat.java index 7ab4afb38c..fb1c3d7f41 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/BigCat.java @@ -27,7 +27,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Cat.java index 77fda9a3dc..ab5d0b78e6 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Cat.java @@ -29,7 +29,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Dog.java index c1db92311c..4b0c631b41 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Dog.java @@ -28,7 +28,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; diff --git a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/BigCat.java index 1e61127c61..b6a249177e 100644 --- a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/BigCat.java @@ -23,7 +23,6 @@ import com.google.gson.stream.JsonWriter; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; import com.google.gson.Gson; diff --git a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/Cat.java index 05ce4e8106..1199be124c 100644 --- a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/Cat.java @@ -25,7 +25,6 @@ import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; import com.google.gson.Gson; import com.google.gson.GsonBuilder; diff --git a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/Dog.java index a8ab2729c8..a010c806be 100644 --- a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/Dog.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.google.gson.Gson; import com.google.gson.GsonBuilder; diff --git a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/BigCat.java index bea575a1e1..9ce3c6986c 100644 --- a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/BigCat.java @@ -23,7 +23,6 @@ import com.google.gson.stream.JsonWriter; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; import android.os.Parcelable; import android.os.Parcel; diff --git a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/Cat.java index 5aad4e74db..45736ae244 100644 --- a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/Cat.java @@ -25,7 +25,6 @@ import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; import android.os.Parcelable; import android.os.Parcel; diff --git a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/Dog.java index fd7f4945a5..aac62ab9bc 100644 --- a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/Dog.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import android.os.Parcelable; import android.os.Parcel; diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/ArrayOfInlineAllOfArrayAllofDogPropertyInner.java b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/ArrayOfInlineAllOfArrayAllofDogPropertyInner.java index b048741080..6e8b66da66 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/ArrayOfInlineAllOfArrayAllofDogPropertyInner.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/ArrayOfInlineAllOfArrayAllofDogPropertyInner.java @@ -23,8 +23,6 @@ import com.google.gson.stream.JsonWriter; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; -import org.openapitools.client.model.ArrayOfInlineAllOfArrayAllofDogPropertyInnerAllOf; -import org.openapitools.client.model.DogAllOf; import com.google.gson.Gson; import com.google.gson.GsonBuilder; diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/Cat.java index 0985cc0270..e1577842b3 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/Cat.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.CatAllOf; import com.google.gson.Gson; import com.google.gson.GsonBuilder; diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/ComplexQuadrilateral.java b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/ComplexQuadrilateral.java index 1a73911047..0c81e3f7d8 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/ComplexQuadrilateral.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/ComplexQuadrilateral.java @@ -23,8 +23,6 @@ import com.google.gson.stream.JsonWriter; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; -import org.openapitools.client.model.QuadrilateralInterface; -import org.openapitools.client.model.ShapeInterface; import com.google.gson.Gson; import com.google.gson.GsonBuilder; diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/Dog.java index 8975d4f1ec..658a5d4f92 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/Dog.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.google.gson.Gson; import com.google.gson.GsonBuilder; diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/EquilateralTriangle.java b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/EquilateralTriangle.java index 37e46b978d..bc5ded6d31 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/EquilateralTriangle.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/EquilateralTriangle.java @@ -23,8 +23,6 @@ import com.google.gson.stream.JsonWriter; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; -import org.openapitools.client.model.ShapeInterface; -import org.openapitools.client.model.TriangleInterface; import com.google.gson.Gson; import com.google.gson.GsonBuilder; diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/IsoscelesTriangle.java b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/IsoscelesTriangle.java index df7563afde..8f53ad4cd7 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/IsoscelesTriangle.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/IsoscelesTriangle.java @@ -23,8 +23,6 @@ import com.google.gson.stream.JsonWriter; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; -import org.openapitools.client.model.ShapeInterface; -import org.openapitools.client.model.TriangleInterface; import com.google.gson.Gson; import com.google.gson.GsonBuilder; diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/ScaleneTriangle.java b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/ScaleneTriangle.java index a15c2fa880..079d9435e6 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/ScaleneTriangle.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/ScaleneTriangle.java @@ -23,8 +23,6 @@ import com.google.gson.stream.JsonWriter; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; -import org.openapitools.client.model.ShapeInterface; -import org.openapitools.client.model.TriangleInterface; import com.google.gson.Gson; import com.google.gson.GsonBuilder; diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/SimpleQuadrilateral.java b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/SimpleQuadrilateral.java index d08035d833..ff057da23a 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/SimpleQuadrilateral.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/SimpleQuadrilateral.java @@ -23,8 +23,6 @@ import com.google.gson.stream.JsonWriter; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; -import org.openapitools.client.model.QuadrilateralInterface; -import org.openapitools.client.model.ShapeInterface; import com.google.gson.Gson; import com.google.gson.GsonBuilder; diff --git a/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/BigCat.java index 9e7bcbcf93..6edb131472 100644 --- a/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/BigCat.java @@ -25,7 +25,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/Cat.java index e51b98508e..514efd6246 100644 --- a/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/Cat.java @@ -27,7 +27,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; import javax.validation.constraints.*; diff --git a/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/Dog.java index c17656dc12..edb3b07653 100644 --- a/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/Dog.java @@ -26,7 +26,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; import javax.validation.constraints.*; diff --git a/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/BigCat.java index ce620ddfcb..721093a3f3 100644 --- a/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/BigCat.java @@ -23,7 +23,6 @@ import com.google.gson.stream.JsonWriter; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/Cat.java index e0e52a2b15..5d1cce9024 100644 --- a/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/Cat.java @@ -25,7 +25,6 @@ import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; import javax.validation.constraints.*; import javax.validation.Valid; import org.hibernate.validator.constraints.*; diff --git a/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/Dog.java index 030313d050..ec383b6773 100644 --- a/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/Dog.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import javax.validation.constraints.*; import javax.validation.Valid; import org.hibernate.validator.constraints.*; diff --git a/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/BigCat.java index aa939d0b1f..c1685041c0 100644 --- a/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/BigCat.java @@ -25,7 +25,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/Cat.java index 01f3a54cb5..b5408a8315 100644 --- a/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/Cat.java @@ -27,7 +27,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/Dog.java index b3dbcc82a3..bf9838d6f6 100644 --- a/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/Dog.java @@ -26,7 +26,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/BigCat.java index bb07b69f7f..82a7e4c772 100644 --- a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/BigCat.java @@ -25,7 +25,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/Cat.java index 2bcab854bd..312f554fc3 100644 --- a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/Cat.java @@ -27,7 +27,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.dataformat.xml.annotation.*; diff --git a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/Dog.java index 106878fcf7..b5f4c7167c 100644 --- a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/Dog.java @@ -26,7 +26,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.dataformat.xml.annotation.*; diff --git a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/BigCat.java index aa939d0b1f..c1685041c0 100644 --- a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/BigCat.java @@ -25,7 +25,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/Cat.java index 01f3a54cb5..b5408a8315 100644 --- a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/Cat.java @@ -27,7 +27,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/Dog.java index b3dbcc82a3..bf9838d6f6 100644 --- a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/Dog.java @@ -26,7 +26,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/BigCat.java index a1573f9a7d..d91efb3cc3 100644 --- a/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/BigCat.java @@ -25,7 +25,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/Cat.java index ffa9618ea4..8047e092d5 100644 --- a/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/Cat.java @@ -27,7 +27,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; import javax.validation.constraints.*; diff --git a/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/Dog.java index 58620ec5a3..b6814c55b1 100644 --- a/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/Dog.java @@ -26,7 +26,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; import javax.validation.constraints.*; diff --git a/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/BigCat.java index 37b2bb735b..a4e194b964 100644 --- a/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/BigCat.java @@ -23,7 +23,6 @@ import com.google.gson.stream.JsonWriter; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; /** diff --git a/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/Cat.java index b226ce008f..06427549ef 100644 --- a/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/Cat.java @@ -25,7 +25,6 @@ import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; /** * Cat diff --git a/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/Dog.java index d4935b3df2..86f8524183 100644 --- a/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/Dog.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; /** * Dog diff --git a/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/BigCat.java index 37b2bb735b..a4e194b964 100644 --- a/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/BigCat.java @@ -23,7 +23,6 @@ import com.google.gson.stream.JsonWriter; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; /** diff --git a/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/Cat.java index b226ce008f..06427549ef 100644 --- a/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/Cat.java @@ -25,7 +25,6 @@ import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; /** * Cat diff --git a/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/Dog.java index d4935b3df2..86f8524183 100644 --- a/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/Dog.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; /** * Dog diff --git a/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/BigCat.java index 37b2bb735b..a4e194b964 100644 --- a/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/BigCat.java @@ -23,7 +23,6 @@ import com.google.gson.stream.JsonWriter; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; /** diff --git a/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/Cat.java index b226ce008f..06427549ef 100644 --- a/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/Cat.java @@ -25,7 +25,6 @@ import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; /** * Cat diff --git a/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/Dog.java index d4935b3df2..86f8524183 100644 --- a/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/Dog.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; /** * Dog diff --git a/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/BigCat.java index aa939d0b1f..c1685041c0 100644 --- a/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/BigCat.java @@ -25,7 +25,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/Cat.java index 01f3a54cb5..b5408a8315 100644 --- a/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/Cat.java @@ -27,7 +27,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/Dog.java index b3dbcc82a3..bf9838d6f6 100644 --- a/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/Dog.java @@ -26,7 +26,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/BigCat.java b/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/BigCat.java index aa939d0b1f..c1685041c0 100644 --- a/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/BigCat.java +++ b/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/BigCat.java @@ -25,7 +25,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.BigCatAllOf; import org.openapitools.client.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/Cat.java index 01f3a54cb5..b5408a8315 100644 --- a/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/Cat.java @@ -27,7 +27,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; import org.openapitools.client.model.BigCat; -import org.openapitools.client.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/Dog.java index b3dbcc82a3..bf9838d6f6 100644 --- a/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/Dog.java @@ -26,7 +26,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/Cat.java index 626ba24bdb..4aa78333fa 100644 --- a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/Cat.java @@ -26,7 +26,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/Dog.java index b3dbcc82a3..bf9838d6f6 100644 --- a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/Dog.java @@ -26,7 +26,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/models/Bird.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/models/Bird.kt index 26285e6aa3..5606016ecd 100644 --- a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/models/Bird.kt +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/models/Bird.kt @@ -21,7 +21,6 @@ package org.openapitools.client.models import org.openapitools.client.models.Animal -import org.openapitools.client.models.BirdAllOf import com.squareup.moshi.Json diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Cat.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Cat.pm index a3bc7cadfb..bc5543d187 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Cat.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Cat.pm @@ -31,7 +31,6 @@ use Date::Parse; use DateTime; use WWW::OpenAPIClient::Object::Animal; -use WWW::OpenAPIClient::Object::CatAllOf; use base ("Class::Accessor", "Class::Data::Inheritable", "WWW::OpenAPIClient::Object::Animal"); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Dog.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Dog.pm index ab74ace577..5a09bf92a9 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Dog.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Dog.pm @@ -31,7 +31,6 @@ use Date::Parse; use DateTime; use WWW::OpenAPIClient::Object::Animal; -use WWW::OpenAPIClient::Object::DogAllOf; use base ("Class::Accessor", "Class::Data::Inheritable", "WWW::OpenAPIClient::Object::Animal"); diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Cat.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Cat.ts index ef757be469..dabeedf262 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Cat.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Cat.ts @@ -19,12 +19,6 @@ import { AnimalFromJSONTyped, AnimalToJSON, } from './Animal'; -import type { CatAllOf } from './CatAllOf'; -import { - CatAllOfFromJSON, - CatAllOfFromJSONTyped, - CatAllOfToJSON, -} from './CatAllOf'; /** * diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Dog.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Dog.ts index 3f9eaa609d..65cd613eae 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Dog.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Dog.ts @@ -19,12 +19,6 @@ import { AnimalFromJSONTyped, AnimalToJSON, } from './Animal'; -import type { DogAllOf } from './DogAllOf'; -import { - DogAllOfFromJSON, - DogAllOfFromJSONTyped, - DogAllOfToJSON, -} from './DogAllOf'; /** * diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/cat.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/cat.dart index 7a19e1e19c..9d79ad4822 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/cat.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/cat.dart @@ -3,7 +3,6 @@ // import 'package:openapi/src/model/animal.dart'; -import 'package:openapi/src/model/cat_all_of.dart'; import 'package:json_annotation/json_annotation.dart'; part 'cat.g.dart'; diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/dog.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/dog.dart index 163e9dfc16..62527c046b 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/dog.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/model/dog.dart @@ -2,7 +2,6 @@ // AUTO-GENERATED FILE, DO NOT MODIFY! // -import 'package:openapi/src/model/dog_all_of.dart'; import 'package:openapi/src/model/animal.dart'; import 'package:json_annotation/json_annotation.dart'; diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/cat.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/cat.dart index 2c90578361..cad5f349da 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/cat.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/cat.dart @@ -3,7 +3,6 @@ // import 'package:openapi/src/model/animal.dart'; -import 'package:openapi/src/model/cat_all_of.dart'; import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/dog.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/dog.dart index 9e36ec77bd..2ca3df3863 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/dog.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/dog.dart @@ -2,7 +2,6 @@ // AUTO-GENERATED FILE, DO NOT MODIFY! // -import 'package:openapi/src/model/dog_all_of.dart'; import 'package:openapi/src/model/animal.dart'; import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; diff --git a/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/src/main/java/org/openapitools/client/model/ChildSchema.java b/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/src/main/java/org/openapitools/client/model/ChildSchema.java index 4f3257f957..c040905be6 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/src/main/java/org/openapitools/client/model/ChildSchema.java +++ b/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/src/main/java/org/openapitools/client/model/ChildSchema.java @@ -31,7 +31,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.ChildSchemaAllOf; import org.openapitools.client.model.Parent; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/src/main/java/org/openapitools/client/model/MySchemaNameCharacters.java b/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/src/main/java/org/openapitools/client/model/MySchemaNameCharacters.java index 4775d350c4..a360dff3ff 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/src/main/java/org/openapitools/client/model/MySchemaNameCharacters.java +++ b/samples/openapi3/client/petstore/java/jersey2-java8-special-characters/src/main/java/org/openapitools/client/model/MySchemaNameCharacters.java @@ -31,7 +31,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.MySchemaNameCharactersAllOf; import org.openapitools.client.model.Parent; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/Cat.java b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/Cat.java index 6e454e1c9b..790a181803 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/Cat.java @@ -32,7 +32,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/ChildCat.java b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/ChildCat.java index 44a735d8da..0e2970ef03 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/ChildCat.java +++ b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/ChildCat.java @@ -31,7 +31,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.ChildCatAllOf; import org.openapitools.client.model.ParentPet; import java.util.Set; import java.util.HashSet; diff --git a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/ComplexQuadrilateral.java b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/ComplexQuadrilateral.java index f0a582f87f..926763cb54 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/ComplexQuadrilateral.java +++ b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/ComplexQuadrilateral.java @@ -28,8 +28,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.QuadrilateralInterface; -import org.openapitools.client.model.ShapeInterface; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/Dog.java b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/Dog.java index ce8628d2bf..236fa587c9 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/Dog.java @@ -32,7 +32,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.client.model.Animal; -import org.openapitools.client.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/EquilateralTriangle.java b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/EquilateralTriangle.java index 0e13e5eaeb..8d5af8a841 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/EquilateralTriangle.java +++ b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/EquilateralTriangle.java @@ -28,8 +28,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.ShapeInterface; -import org.openapitools.client.model.TriangleInterface; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/IsoscelesTriangle.java b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/IsoscelesTriangle.java index eb0448b30d..87ee89c5e0 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/IsoscelesTriangle.java +++ b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/IsoscelesTriangle.java @@ -24,8 +24,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.ShapeInterface; -import org.openapitools.client.model.TriangleInterface; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/ScaleneTriangle.java b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/ScaleneTriangle.java index 143f82323c..5e642c3ad8 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/ScaleneTriangle.java +++ b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/ScaleneTriangle.java @@ -28,8 +28,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.ShapeInterface; -import org.openapitools.client.model.TriangleInterface; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/SimpleQuadrilateral.java b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/SimpleQuadrilateral.java index 61ae594188..42b766b3f2 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/SimpleQuadrilateral.java +++ b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/SimpleQuadrilateral.java @@ -28,8 +28,6 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.client.model.QuadrilateralInterface; -import org.openapitools.client.model.ShapeInterface; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/BigCat.java b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/BigCat.java index 7208cedbd0..344818cd16 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/BigCat.java +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/BigCat.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonValue; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/Cat.java b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/Cat.java index 0e7e1b0973..afce161498 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/Cat.java +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/Cat.java @@ -9,7 +9,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import org.openapitools.model.Animal; import org.openapitools.model.BigCat; -import org.openapitools.model.CatAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/Dog.java b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/Dog.java index 155bff3265..738b9fbffc 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/Dog.java +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/Dog.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/openapi3/client/petstore/typescript/builds/composed-schemas/models/Cat.ts b/samples/openapi3/client/petstore/typescript/builds/composed-schemas/models/Cat.ts index 02b1f0b582..2790b653b5 100644 --- a/samples/openapi3/client/petstore/typescript/builds/composed-schemas/models/Cat.ts +++ b/samples/openapi3/client/petstore/typescript/builds/composed-schemas/models/Cat.ts @@ -10,7 +10,6 @@ * Do not edit the class manually. */ -import { CatAllOf } from './CatAllOf'; import { HttpFile } from '../http/http'; export class Cat { diff --git a/samples/openapi3/client/petstore/typescript/builds/composed-schemas/models/Dog.ts b/samples/openapi3/client/petstore/typescript/builds/composed-schemas/models/Dog.ts index 04aeaefaef..dd2380572f 100644 --- a/samples/openapi3/client/petstore/typescript/builds/composed-schemas/models/Dog.ts +++ b/samples/openapi3/client/petstore/typescript/builds/composed-schemas/models/Dog.ts @@ -10,7 +10,6 @@ * Do not edit the class manually. */ -import { DogAllOf } from './DogAllOf'; import { HttpFile } from '../http/http'; export class Dog { diff --git a/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/Entity.java b/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/Entity.java index b599931e03..633e37be68 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/Entity.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/Entity.java @@ -7,10 +7,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; -import org.openapitools.model.Addressable; import org.openapitools.model.Bar; import org.openapitools.model.BarCreate; -import org.openapitools.model.Extensible; import org.openapitools.model.Foo; import org.openapitools.model.Pasta; import org.openapitools.model.Pizza; diff --git a/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/EntityRef.java b/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/EntityRef.java index 4e3ce69f39..ae49fa332e 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/EntityRef.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/EntityRef.java @@ -7,9 +7,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; -import org.openapitools.model.Addressable; import org.openapitools.model.BarRef; -import org.openapitools.model.Extensible; import org.openapitools.model.FooRef; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/BigCat.java b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/BigCat.java index a5ffffc075..5d7449c2d1 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/BigCat.java +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/BigCat.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonValue; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/Cat.java b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/Cat.java index f8b09521a7..4c82aa5413 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/Cat.java +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/Cat.java @@ -9,7 +9,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import org.openapitools.model.Animal; import org.openapitools.model.BigCat; -import org.openapitools.model.CatAllOf; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/Dog.java b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/Dog.java index 472111e924..d7f0d7f3ca 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/Dog.java +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/Dog.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; diff --git a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/BigCat.java b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/BigCat.java index 7208cedbd0..344818cd16 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/BigCat.java +++ b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/BigCat.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonValue; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/Cat.java b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/Cat.java index 0e7e1b0973..afce161498 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/Cat.java +++ b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/Cat.java @@ -9,7 +9,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import org.openapitools.model.Animal; import org.openapitools.model.BigCat; -import org.openapitools.model.CatAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/Dog.java b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/Dog.java index 155bff3265..738b9fbffc 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/Dog.java +++ b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/Dog.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/BigCat.java b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/BigCat.java index 7208cedbd0..344818cd16 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/BigCat.java +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/BigCat.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonValue; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/Cat.java b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/Cat.java index 0e7e1b0973..afce161498 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/Cat.java +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/Cat.java @@ -9,7 +9,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import org.openapitools.model.Animal; import org.openapitools.model.BigCat; -import org.openapitools.model.CatAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/Dog.java b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/Dog.java index 155bff3265..738b9fbffc 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/Dog.java +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/Dog.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/BigCat.java b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/BigCat.java index 7208cedbd0..344818cd16 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/BigCat.java +++ b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/BigCat.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonValue; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/Cat.java b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/Cat.java index 0e7e1b0973..afce161498 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/Cat.java +++ b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/Cat.java @@ -9,7 +9,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import org.openapitools.model.Animal; import org.openapitools.model.BigCat; -import org.openapitools.model.CatAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/Dog.java b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/Dog.java index 155bff3265..738b9fbffc 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/Dog.java +++ b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/Dog.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/BigCat.java b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/BigCat.java index 7208cedbd0..344818cd16 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/BigCat.java +++ b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/BigCat.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonValue; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/Cat.java b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/Cat.java index 0e7e1b0973..afce161498 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/Cat.java +++ b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/Cat.java @@ -9,7 +9,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import org.openapitools.model.Animal; import org.openapitools.model.BigCat; -import org.openapitools.model.CatAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/Dog.java b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/Dog.java index 155bff3265..738b9fbffc 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/Dog.java +++ b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/Dog.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/BigCat.java b/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/BigCat.java index 0f698618bf..f230e96770 100644 --- a/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/BigCat.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; /** diff --git a/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/Cat.java b/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/Cat.java index 9a5b249934..3a762eba15 100644 --- a/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/Cat.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.CatAllOf; /** * Cat diff --git a/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/Dog.java b/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/Dog.java index c404049918..1f232fbd64 100644 --- a/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/Dog.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; /** * Dog diff --git a/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/BigCat.java b/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/BigCat.java index ac832bcfd8..4acdbb7e67 100644 --- a/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/BigCat.java +++ b/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/BigCat.java @@ -1,6 +1,5 @@ package apimodels; -import apimodels.BigCatAllOf; import apimodels.Cat; import com.fasterxml.jackson.annotation.*; import java.util.Set; diff --git a/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/Cat.java b/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/Cat.java index 7f4b72e2c4..014159adc6 100644 --- a/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/Cat.java +++ b/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/Cat.java @@ -1,7 +1,6 @@ package apimodels; import apimodels.Animal; -import apimodels.CatAllOf; import com.fasterxml.jackson.annotation.*; import java.util.Set; import javax.validation.*; diff --git a/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/Dog.java b/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/Dog.java index f9d261dc5f..8887b68658 100644 --- a/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/Dog.java +++ b/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/Dog.java @@ -1,7 +1,6 @@ package apimodels; import apimodels.Animal; -import apimodels.DogAllOf; import com.fasterxml.jackson.annotation.*; import java.util.Set; import javax.validation.*; diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCat.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCat.java index c33adeb6dd..8e95a2cbbd 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/BigCat.java @@ -2,7 +2,6 @@ package org.openapitools.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Cat.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Cat.java index c5917d0378..b149b6fb5d 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Cat.java @@ -1,7 +1,6 @@ package org.openapitools.model; import org.openapitools.model.Animal; -import org.openapitools.model.CatAllOf; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Dog.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Dog.java index 506c38e5bb..91478805d1 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/Dog.java @@ -1,7 +1,6 @@ package org.openapitools.model; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/BigCat.java b/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/BigCat.java index 53d8367489..f82a023ea9 100644 --- a/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/BigCat.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import java.io.Serializable; diff --git a/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/Cat.java b/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/Cat.java index 60fbf063d6..82fc0793dc 100644 --- a/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/Cat.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import java.io.Serializable; import javax.validation.constraints.*; diff --git a/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/Dog.java b/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/Dog.java index 4af57f8505..5f4b40d1a9 100644 --- a/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/Dog.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import java.io.Serializable; import javax.validation.constraints.*; diff --git a/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/Cat.java b/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/Cat.java index 7d65d3acdd..f6935046d0 100644 --- a/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/Cat.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/Dog.java b/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/Dog.java index 4fa6da6374..91805d0492 100644 --- a/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/Dog.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/BigCat.java b/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/BigCat.java index f792f4041a..3ce3429094 100644 --- a/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/BigCat.java @@ -2,7 +2,6 @@ package org.openapitools.model; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import java.io.Serializable; import javax.validation.constraints.*; diff --git a/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/Cat.java b/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/Cat.java index dce3644928..89a8109676 100644 --- a/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/Cat.java @@ -3,7 +3,6 @@ package org.openapitools.model; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.CatAllOf; import java.io.Serializable; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/Dog.java b/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/Dog.java index c533055545..1bad737c9e 100644 --- a/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/Dog.java @@ -3,7 +3,6 @@ package org.openapitools.model; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import java.io.Serializable; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/BigCat.java b/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/BigCat.java index ca76bce552..b07e748746 100644 --- a/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/BigCat.java @@ -2,7 +2,6 @@ package org.openapitools.model; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import java.io.Serializable; import javax.validation.constraints.*; diff --git a/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/Cat.java b/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/Cat.java index 4deda9ab1c..0030579b74 100644 --- a/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/Cat.java @@ -3,7 +3,6 @@ package org.openapitools.model; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.CatAllOf; import java.io.Serializable; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/Dog.java b/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/Dog.java index d5c89b7240..eec73be73b 100644 --- a/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/Dog.java @@ -3,7 +3,6 @@ package org.openapitools.model; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import java.io.Serializable; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/BigCat.java b/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/BigCat.java index f9693c0cc4..932c69e0ad 100644 --- a/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/BigCat.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; diff --git a/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/Cat.java b/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/Cat.java index 7d65d3acdd..f6935046d0 100644 --- a/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/Cat.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/Dog.java b/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/Dog.java index 4fa6da6374..91805d0492 100644 --- a/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/Dog.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/BigCat.java b/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/BigCat.java index f9693c0cc4..932c69e0ad 100644 --- a/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/BigCat.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; diff --git a/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/Cat.java b/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/Cat.java index 7d65d3acdd..f6935046d0 100644 --- a/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/Cat.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/Dog.java b/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/Dog.java index 4fa6da6374..91805d0492 100644 --- a/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/Dog.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/BigCat.java b/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/BigCat.java index f9693c0cc4..932c69e0ad 100644 --- a/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/BigCat.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; diff --git a/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/Cat.java b/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/Cat.java index 7d65d3acdd..f6935046d0 100644 --- a/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/Cat.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/Dog.java b/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/Dog.java index 4fa6da6374..91805d0492 100644 --- a/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/Dog.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/BigCat.java b/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/BigCat.java index f9693c0cc4..932c69e0ad 100644 --- a/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/BigCat.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; diff --git a/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/Cat.java b/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/Cat.java index 7d65d3acdd..f6935046d0 100644 --- a/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/Cat.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.CatAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/Dog.java b/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/Dog.java index 4fa6da6374..91805d0492 100644 --- a/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/Dog.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/BigCat.java b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/BigCat.java index 7208cedbd0..344818cd16 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/BigCat.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonValue; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/Cat.java b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/Cat.java index 0e7e1b0973..afce161498 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/Cat.java @@ -9,7 +9,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import org.openapitools.model.Animal; import org.openapitools.model.BigCat; -import org.openapitools.model.CatAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/Dog.java b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/Dog.java index 155bff3265..738b9fbffc 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/Dog.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/BigCat.java b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/BigCat.java index b706f55e46..b95757e117 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/BigCat.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/Cat.java b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/Cat.java index a58043f8df..4adc223f0a 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/Cat.java @@ -11,7 +11,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; import org.openapitools.model.BigCat; -import org.openapitools.model.CatAllOf; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/Dog.java b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/Dog.java index 431235fb04..b452c16dae 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/Dog.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import java.time.OffsetDateTime; import javax.validation.Valid; import javax.validation.constraints.*; diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/BigCat.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/BigCat.java index 8d0b1135ec..ec95c1253f 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/BigCat.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/Cat.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/Cat.java index d5cfa8b055..097ddbef79 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/Cat.java @@ -11,7 +11,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; import org.openapitools.model.BigCat; -import org.openapitools.model.CatAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/Dog.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/Dog.java index 0b15720dbd..9b61a2fa29 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/Dog.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/BigCat.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/BigCat.java index 8d0b1135ec..ec95c1253f 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/BigCat.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/Cat.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/Cat.java index d5cfa8b055..097ddbef79 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/Cat.java @@ -11,7 +11,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; import org.openapitools.model.BigCat; -import org.openapitools.model.CatAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/Dog.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/Dog.java index 0b15720dbd..9b61a2fa29 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/Dog.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/BigCat.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/BigCat.java index 8d0b1135ec..ec95c1253f 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/BigCat.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/Cat.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/Cat.java index d5cfa8b055..097ddbef79 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/Cat.java @@ -11,7 +11,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; import org.openapitools.model.BigCat; -import org.openapitools.model.CatAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/Dog.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/Dog.java index 0b15720dbd..9b61a2fa29 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/Dog.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/BigCat.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/BigCat.java index 8d0b1135ec..ec95c1253f 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/BigCat.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/Cat.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/Cat.java index d5cfa8b055..097ddbef79 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/Cat.java @@ -11,7 +11,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; import org.openapitools.model.BigCat; -import org.openapitools.model.CatAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/Dog.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/Dog.java index 0b15720dbd..9b61a2fa29 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/Dog.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/BigCat.java b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/BigCat.java index 8d0b1135ec..ec95c1253f 100644 --- a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/BigCat.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/Cat.java b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/Cat.java index d5cfa8b055..097ddbef79 100644 --- a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/Cat.java @@ -11,7 +11,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; import org.openapitools.model.BigCat; -import org.openapitools.model.CatAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/Dog.java b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/Dog.java index 0b15720dbd..9b61a2fa29 100644 --- a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/Dog.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/Cat.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/Cat.java index b6e782282f..9c77b07695 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/Cat.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.CatAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/Dog.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/Dog.java index 0b15720dbd..9b61a2fa29 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/Dog.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/Cat.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/Cat.java index b6e782282f..9c77b07695 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/Cat.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.CatAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/Dog.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/Dog.java index 0b15720dbd..9b61a2fa29 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/Dog.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/Cat.java b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/Cat.java index b6e782282f..9c77b07695 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/Cat.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.CatAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/Dog.java b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/Dog.java index 0b15720dbd..9b61a2fa29 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/Dog.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/Cat.java b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/Cat.java index b6e782282f..9c77b07695 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/Cat.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.CatAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/Dog.java b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/Dog.java index 0b15720dbd..9b61a2fa29 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/Dog.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/BigCat.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/BigCat.java index 8d0b1135ec..ec95c1253f 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/BigCat.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/Cat.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/Cat.java index d5cfa8b055..097ddbef79 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/Cat.java @@ -11,7 +11,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; import org.openapitools.model.BigCat; -import org.openapitools.model.CatAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/Dog.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/Dog.java index 0b15720dbd..9b61a2fa29 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/Dog.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/BigCat.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/BigCat.java index eb3561ea5d..e63d67bb8f 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/BigCat.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/BigCat.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonValue; -import org.openapitools.virtualan.model.BigCatAllOf; import org.openapitools.virtualan.model.Cat; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Cat.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Cat.java index d023ac04e0..c72be53726 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Cat.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Cat.java @@ -9,7 +9,6 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import org.openapitools.virtualan.model.Animal; import org.openapitools.virtualan.model.BigCat; -import org.openapitools.virtualan.model.CatAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Dog.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Dog.java index 522d7e1332..435e020506 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Dog.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/Dog.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import org.openapitools.virtualan.model.Animal; -import org.openapitools.virtualan.model.DogAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot/src/main/java/org/openapitools/model/BigCat.java b/samples/server/petstore/springboot/src/main/java/org/openapitools/model/BigCat.java index 8d0b1135ec..ec95c1253f 100644 --- a/samples/server/petstore/springboot/src/main/java/org/openapitools/model/BigCat.java +++ b/samples/server/petstore/springboot/src/main/java/org/openapitools/model/BigCat.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.openapitools.model.BigCatAllOf; import org.openapitools.model.Cat; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot/src/main/java/org/openapitools/model/Cat.java b/samples/server/petstore/springboot/src/main/java/org/openapitools/model/Cat.java index d5cfa8b055..097ddbef79 100644 --- a/samples/server/petstore/springboot/src/main/java/org/openapitools/model/Cat.java +++ b/samples/server/petstore/springboot/src/main/java/org/openapitools/model/Cat.java @@ -11,7 +11,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; import org.openapitools.model.BigCat; -import org.openapitools.model.CatAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot/src/main/java/org/openapitools/model/Dog.java b/samples/server/petstore/springboot/src/main/java/org/openapitools/model/Dog.java index 0b15720dbd..9b61a2fa29 100644 --- a/samples/server/petstore/springboot/src/main/java/org/openapitools/model/Dog.java +++ b/samples/server/petstore/springboot/src/main/java/org/openapitools/model/Dog.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.Animal; -import org.openapitools.model.DogAllOf; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; import javax.validation.Valid; From 9d6b12591e3363809d09d72f452c115f575c7326 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 10 Jul 2022 14:58:55 +0800 Subject: [PATCH 158/212] Fix set, map import (#12818) * fix set, map import * update samples * update tests --- .../openapitools/codegen/DefaultCodegen.java | 13 +++- .../codegen/java/JavaModelTest.java | 67 ++++++++++++++++++- .../resources/3_0/container-type-import.yaml | 65 ++++++++++++++++++ .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../model/AdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../model/AdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../model/AdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../model/AdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../model/AdditionalPropertiesClass.java | 1 - .../openapitools/client/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../app/apimodels/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../model/AdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../openapitools/virtualan/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - .../java/org/openapitools/model/MapTest.java | 1 - ...ropertiesAndAdditionalPropertiesClass.java | 1 - 125 files changed, 142 insertions(+), 125 deletions(-) create mode 100644 modules/openapi-generator/src/test/resources/3_0/container-type-import.yaml diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 29f33b716c..2ce8fcb1e7 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -5466,9 +5466,18 @@ public class DefaultCodegen implements CodegenConfig { * @param property The codegen representation of the OAS schema's property. */ protected void addImportsForPropertyType(CodegenModel model, CodegenProperty property) { - if (property.isContainer) { - addImport(model.imports, typeMapping.get("array")); + if (property.isArray) { + if (property.getUniqueItems()) { // set + addImport(model.imports, typeMapping.get("set")); + } else { // array + addImport(model.imports, typeMapping.get("array")); + } } + + if (property.isMap) { // map + addImport(model.imports, typeMapping.get("map")); + } + addImports(model, property); } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaModelTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaModelTest.java index 366eecacec..67e45f82a5 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaModelTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaModelTest.java @@ -353,7 +353,7 @@ public class JavaModelTest { Assert.assertEquals(cm.classname, "Sample"); Assert.assertEquals(cm.description, "a sample model"); Assert.assertEquals(cm.vars.size(), 1); - Assert.assertEquals(Sets.intersection(cm.imports, Sets.newHashSet("Map", "List", "Children")).size(), 3); + Assert.assertEquals(Sets.intersection(cm.imports, Sets.newHashSet("Map", "Children")).size(), 2); final CodegenProperty property = cm.vars.get(0); Assert.assertEquals(property.baseName, "children"); @@ -367,8 +367,73 @@ public class JavaModelTest { Assert.assertEquals(property.containerType, "map"); Assert.assertFalse(property.required); Assert.assertTrue(property.isContainer); + Assert.assertTrue(property.isMap); } + @Test(description = "convert a model with complex array property") + public void complexArrayPropertyTest() { + final Schema schema = new Schema() + .description("a sample model") + .addProperties("children", new ArraySchema() + .items(new Schema().$ref("#/components/schemas/Children"))); + final DefaultCodegen codegen = new JavaClientCodegen(); + OpenAPI openAPI = TestUtils.createOpenAPIWithOneSchema("sample", schema); + codegen.setOpenAPI(openAPI); + final CodegenModel cm = codegen.fromModel("sample", schema); + + Assert.assertEquals(cm.name, "sample"); + Assert.assertEquals(cm.classname, "Sample"); + Assert.assertEquals(cm.description, "a sample model"); + Assert.assertEquals(cm.vars.size(), 1); + Assert.assertEquals(Sets.intersection(cm.imports, Sets.newHashSet("List", "Children")).size(), 2); + + final CodegenProperty property = cm.vars.get(0); + Assert.assertEquals(property.baseName, "children"); + Assert.assertEquals(property.complexType, "Children"); + Assert.assertEquals(property.getter, "getChildren"); + Assert.assertEquals(property.setter, "setChildren"); + Assert.assertEquals(property.dataType, "List"); + Assert.assertEquals(property.name, "children"); + Assert.assertEquals(property.defaultValue, "new ArrayList<>()"); + Assert.assertEquals(property.baseType, "List"); + Assert.assertEquals(property.containerType, "array"); + Assert.assertFalse(property.required); + Assert.assertTrue(property.isContainer); + Assert.assertTrue(property.isArray); + } + + @Test(description = "convert a model with complex set property") + public void complexSetPropertyTest() { + Schema set = new ArraySchema().items(new Schema().$ref("#/components/schemas/Children")); + set.setUniqueItems(true); // set + final Schema schema = new Schema() + .description("a sample model") + .addProperties("children", set); + final DefaultCodegen codegen = new JavaClientCodegen(); + OpenAPI openAPI = TestUtils.createOpenAPIWithOneSchema("sample", schema); + codegen.setOpenAPI(openAPI); + final CodegenModel cm = codegen.fromModel("sample", schema); + + Assert.assertEquals(cm.name, "sample"); + Assert.assertEquals(cm.classname, "Sample"); + Assert.assertEquals(cm.description, "a sample model"); + Assert.assertEquals(cm.vars.size(), 1); + Assert.assertTrue(cm.imports.contains("Set")); + + final CodegenProperty property = cm.vars.get(0); + Assert.assertEquals(property.baseName, "children"); + Assert.assertEquals(property.complexType, "Children"); + Assert.assertEquals(property.getter, "getChildren"); + Assert.assertEquals(property.setter, "setChildren"); + Assert.assertEquals(property.dataType, "Set"); + Assert.assertEquals(property.name, "children"); + Assert.assertEquals(property.defaultValue, "new LinkedHashSet<>()"); + Assert.assertEquals(property.baseType, "Set"); + Assert.assertEquals(property.containerType, "set"); + Assert.assertFalse(property.required); + Assert.assertTrue(property.isContainer); + Assert.assertTrue(property.getUniqueItems()); + } @Test(description = "convert a model with an array property with item name") public void arrayModelWithItemNameTest() { final Schema propertySchema = new ArraySchema() diff --git a/modules/openapi-generator/src/test/resources/3_0/container-type-import.yaml b/modules/openapi-generator/src/test/resources/3_0/container-type-import.yaml new file mode 100644 index 0000000000..50e65f359b --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/container-type-import.yaml @@ -0,0 +1,65 @@ +openapi: "3.0.0" +info: + title: Example API + version: "3.0.0" +paths: + /: + get: + summary: Empty Route + responses: + "200": + description: Good Request. + content: + application/json: + schema: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ModelWithArrayProperty' + "400": + description: Bad Request. + "403": + description: Forbidden. Access denied. + +components: + schemas: + ModelWithSetProperty: + type: object + properties: + id: + type: string + set_property: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/SimpleModel' + ModelWithArrayProperty: + type: object + properties: + id: + type: string + array_property: + type: array + items: + $ref: '#/components/schemas/SimpleModel' + ModelWithMapProperty: + type: object + properties: + id: + type: string + map_property: + additionalProperties: + $ref: '#/components/schemas/SimpleModel' + SimpleModel: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + required: + - name + example: + name: Puma + id: 1 diff --git a/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/MapTest.java b/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/MapTest.java index 69153f5037..9856c0c8ae 100644 --- a/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/MapTest.java @@ -15,7 +15,6 @@ package org.openapitools.model; import java.util.Objects; import java.util.Arrays; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.*; diff --git a/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 484e81ca39..413b142da0 100644 --- a/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java-micronaut-client/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -16,7 +16,6 @@ import java.util.Objects; import java.util.Arrays; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/MapTest.java index f21d8f15c1..d50e30db74 100644 --- a/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/MapTest.java @@ -23,7 +23,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index a7abbab8c5..999c32ef2b 100644 --- a/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/MapTest.java index a6ac34dc92..38522f2aec 100644 --- a/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/MapTest.java @@ -23,7 +23,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index eced4bd0d5..8ac5d5b103 100644 --- a/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/feign-no-nullable/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java b/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java index 28a144fd4f..dc1cf1c448 100644 --- a/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java +++ b/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java @@ -23,7 +23,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/MapTest.java index f21d8f15c1..d50e30db74 100644 --- a/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/MapTest.java @@ -23,7 +23,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index a7abbab8c5..999c32ef2b 100644 --- a/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/MapTest.java index f21d8f15c1..d50e30db74 100644 --- a/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/MapTest.java @@ -23,7 +23,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index a7abbab8c5..999c32ef2b 100644 --- a/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/google-api-client/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/MapTest.java index f21d8f15c1..d50e30db74 100644 --- a/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/MapTest.java @@ -23,7 +23,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index a7abbab8c5..999c32ef2b 100644 --- a/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/MapTest.java index 1c862c16fb..dd644005e4 100644 --- a/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/MapTest.java @@ -25,7 +25,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index 54da952af1..ec9ec6511b 100644 --- a/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/jersey2-java8-localdatetime/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -26,7 +26,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.LocalDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/MapTest.java index 1c862c16fb..dd644005e4 100644 --- a/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/MapTest.java @@ -25,7 +25,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index 9b0e0f06ad..aeeddd13df 100644 --- a/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -26,7 +26,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java index 5962b1ea54..b9aae6a930 100644 --- a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java +++ b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java @@ -25,7 +25,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import com.fasterxml.jackson.annotation.JsonIgnore; diff --git a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/MapTest.java index e25415b8f2..6701294bf5 100644 --- a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/MapTest.java @@ -25,7 +25,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index cb3bf60e59..4e9ae0911f 100644 --- a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -26,7 +26,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/MapTest.java index 6c755f631c..1fd36170d8 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/MapTest.java @@ -25,7 +25,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index 16c239c4be..91babda041 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -26,7 +26,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/MapTest.java index 6c755f631c..1fd36170d8 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/MapTest.java @@ -25,7 +25,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index 16c239c4be..91babda041 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -26,7 +26,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/MapTest.java index 52d485a730..e731774a76 100644 --- a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/MapTest.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.google.gson.Gson; diff --git a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index 93b6df854a..286a326781 100644 --- a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -25,7 +25,6 @@ import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/MapTest.java index 3784101744..c5f5f05e6c 100644 --- a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/MapTest.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import java.util.HashMap; -import java.util.List; import java.util.Map; import android.os.Parcelable; import android.os.Parcel; diff --git a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index 5708bdaecc..bc9dade24d 100644 --- a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -25,7 +25,6 @@ import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java index e5b58e6a45..3b97a21418 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/MapTest.java index ec4fe57948..33aa426778 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/MapTest.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.google.gson.Gson; diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index f7692be1f1..c687b90a0c 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -25,7 +25,6 @@ import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/MapTest.java index 2c5d44dd7c..631eb280a2 100644 --- a/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/MapTest.java @@ -23,7 +23,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index 57e96365bc..2b60fe13b1 100644 --- a/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/rest-assured-jackson/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/MapTest.java index e2ab0f1fb4..74012df8c5 100644 --- a/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/MapTest.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import java.util.HashMap; -import java.util.List; import java.util.Map; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index 63c9d6d9d5..0e1097e8b8 100644 --- a/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -25,7 +25,6 @@ import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/MapTest.java index f21d8f15c1..d50e30db74 100644 --- a/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/MapTest.java @@ -23,7 +23,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index a7abbab8c5..999c32ef2b 100644 --- a/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/MapTest.java index 6f2e3c49cc..ff64987430 100644 --- a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/MapTest.java @@ -23,7 +23,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index b6216d3eb0..9a300fe98f 100644 --- a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/MapTest.java index f21d8f15c1..d50e30db74 100644 --- a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/MapTest.java @@ -23,7 +23,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index a7abbab8c5..999c32ef2b 100644 --- a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/MapTest.java index 91bd60bc04..7d5ce3d321 100644 --- a/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/MapTest.java @@ -23,7 +23,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index cc156a3c18..0b25adf454 100644 --- a/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/retrofit2-play26/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/MapTest.java index 260da3e477..a0ed0a782c 100644 --- a/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/MapTest.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import java.util.HashMap; -import java.util.List; import java.util.Map; /** diff --git a/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index c63ddd66e6..ce1edfe85a 100644 --- a/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -25,7 +25,6 @@ import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/MapTest.java index 260da3e477..a0ed0a782c 100644 --- a/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/MapTest.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import java.util.HashMap; -import java.util.List; import java.util.Map; /** diff --git a/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index c63ddd66e6..ce1edfe85a 100644 --- a/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -25,7 +25,6 @@ import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/MapTest.java index 260da3e477..a0ed0a782c 100644 --- a/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/MapTest.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import java.util.HashMap; -import java.util.List; import java.util.Map; /** diff --git a/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index c63ddd66e6..ce1edfe85a 100644 --- a/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/retrofit2rx3/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -25,7 +25,6 @@ import io.swagger.annotations.ApiModelProperty; import java.io.IOException; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/MapTest.java index f21d8f15c1..d50e30db74 100644 --- a/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/MapTest.java @@ -23,7 +23,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index a7abbab8c5..999c32ef2b 100644 --- a/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/vertx-no-nullable/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/MapTest.java index f21d8f15c1..d50e30db74 100644 --- a/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/MapTest.java @@ -23,7 +23,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index a7abbab8c5..999c32ef2b 100644 --- a/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/vertx/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java index 28a144fd4f..dc1cf1c448 100644 --- a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java +++ b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java @@ -23,7 +23,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/MapTest.java index f21d8f15c1..d50e30db74 100644 --- a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/MapTest.java @@ -23,7 +23,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index a7abbab8c5..999c32ef2b 100644 --- a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java index 258bd1197b..735ad09a12 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java +++ b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java @@ -25,7 +25,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import com.fasterxml.jackson.annotation.JsonIgnore; diff --git a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/MapTest.java b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/MapTest.java index 1c862c16fb..dd644005e4 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/MapTest.java @@ -25,7 +25,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.openapitools.client.JSON; diff --git a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index 9b0e0f06ad..aeeddd13df 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -26,7 +26,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.client.model.Animal; diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/MapTest.java b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/MapTest.java index 6942169188..55a10cdf8d 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/MapTest.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index bd1c5716f0..d58ed97c15 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/MapTest.java b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/MapTest.java index 4a980ded67..da65e5c4ef 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/MapTest.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 1b26995e0f..d4b37f52b6 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/MapTest.java b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/MapTest.java index 6942169188..55a10cdf8d 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/MapTest.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index bd1c5716f0..d58ed97c15 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/MapTest.java b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/MapTest.java index 6942169188..55a10cdf8d 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/MapTest.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index bd1c5716f0..d58ed97c15 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/MapTest.java b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/MapTest.java index 6942169188..55a10cdf8d 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/MapTest.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index bd1c5716f0..d58ed97c15 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/MapTest.java b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/MapTest.java index 6942169188..55a10cdf8d 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/MapTest.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index bd1c5716f0..d58ed97c15 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/MapTest.java b/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/MapTest.java index e125cd86e1..dd7295bf1e 100644 --- a/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/MapTest.java @@ -7,7 +7,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; /** diff --git a/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 10d5af7321..9ced950099 100644 --- a/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -7,7 +7,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.Date; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/MapTest.java b/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/MapTest.java index 22cfd61d15..230ffa29bc 100644 --- a/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/MapTest.java +++ b/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/MapTest.java @@ -1,7 +1,6 @@ package apimodels; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.*; import java.util.Set; diff --git a/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/MixedPropertiesAndAdditionalPropertiesClass.java index 7a6477b191..b5ae9f0b47 100644 --- a/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/MixedPropertiesAndAdditionalPropertiesClass.java @@ -3,7 +3,6 @@ package apimodels; import apimodels.Animal; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import com.fasterxml.jackson.annotation.*; diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MapTest.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MapTest.java index 908fe5c3ba..b1dedbeb3b 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MapTest.java @@ -3,7 +3,6 @@ package org.openapitools.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import java.util.HashMap; -import java.util.List; import java.util.Map; import javax.validation.constraints.*; import javax.validation.Valid; diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 96af44dbbe..b64fdb4041 100644 --- a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -2,7 +2,6 @@ package org.openapitools.model; import java.util.Date; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/MapTest.java b/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/MapTest.java index 452f5455f3..a44e7d1cb1 100644 --- a/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/MapTest.java @@ -20,7 +20,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import java.io.Serializable; diff --git a/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index b4963178f8..1ff99c6c52 100644 --- a/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -20,7 +20,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java b/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java index 6920a68f41..11e17272e5 100644 --- a/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java +++ b/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java @@ -19,7 +19,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; diff --git a/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/MapTest.java b/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/MapTest.java index 57f86a370c..6fed8dd910 100644 --- a/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/MapTest.java @@ -20,7 +20,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; diff --git a/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 5026c20169..0017615bee 100644 --- a/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -20,7 +20,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.Date; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/MapTest.java b/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/MapTest.java index bbdf128634..f8706dc8ed 100644 --- a/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/MapTest.java @@ -3,7 +3,6 @@ package org.openapitools.model; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.io.Serializable; import javax.validation.constraints.*; diff --git a/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 7a2f98ae90..5e34ba9baa 100644 --- a/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -4,7 +4,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.Date; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/MapTest.java b/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/MapTest.java index 2efc304e69..969545816f 100644 --- a/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/MapTest.java @@ -3,7 +3,6 @@ package org.openapitools.model; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.io.Serializable; import javax.validation.constraints.*; diff --git a/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 540b219c51..c0f9e0701f 100644 --- a/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -4,7 +4,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.Date; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/MapTest.java b/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/MapTest.java index 57f86a370c..6fed8dd910 100644 --- a/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/MapTest.java @@ -20,7 +20,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; diff --git a/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 5026c20169..0017615bee 100644 --- a/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -20,7 +20,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.Date; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/MapTest.java b/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/MapTest.java index 57f86a370c..6fed8dd910 100644 --- a/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/MapTest.java @@ -20,7 +20,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; diff --git a/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 5026c20169..0017615bee 100644 --- a/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -20,7 +20,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.Date; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/MapTest.java b/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/MapTest.java index 57f86a370c..6fed8dd910 100644 --- a/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/MapTest.java @@ -20,7 +20,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; diff --git a/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 5026c20169..0017615bee 100644 --- a/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -20,7 +20,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.Date; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/MapTest.java b/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/MapTest.java index 57f86a370c..6fed8dd910 100644 --- a/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/MapTest.java @@ -20,7 +20,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import javax.validation.constraints.*; diff --git a/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 5026c20169..0017615bee 100644 --- a/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -20,7 +20,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.Date; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/MapTest.java b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/MapTest.java index 6942169188..55a10cdf8d 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/MapTest.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index bd1c5716f0..d58ed97c15 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/MapTest.java b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/MapTest.java index f766be8855..7253ca7481 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/MapTest.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.time.OffsetDateTime; import javax.validation.Valid; diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 04424f0024..ba027c6788 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -8,7 +8,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/MapTest.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/MapTest.java index af19fe2f67..f2867ac504 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/MapTest.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 84e970dc30..901c65b292 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -8,7 +8,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/MapTest.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/MapTest.java index af19fe2f67..f2867ac504 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/MapTest.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 84e970dc30..901c65b292 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -8,7 +8,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/MapTest.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/MapTest.java index af19fe2f67..f2867ac504 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/MapTest.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 84e970dc30..901c65b292 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -8,7 +8,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/MapTest.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/MapTest.java index af19fe2f67..f2867ac504 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/MapTest.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 84e970dc30..901c65b292 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -8,7 +8,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/MapTest.java b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/MapTest.java index af19fe2f67..f2867ac504 100644 --- a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/MapTest.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 84e970dc30..901c65b292 100644 --- a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -8,7 +8,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/MapTest.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/MapTest.java index af19fe2f67..f2867ac504 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/MapTest.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 84e970dc30..901c65b292 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -8,7 +8,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/MapTest.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/MapTest.java index af19fe2f67..f2867ac504 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/MapTest.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 84e970dc30..901c65b292 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -8,7 +8,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/MapTest.java b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/MapTest.java index af19fe2f67..f2867ac504 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/MapTest.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 84e970dc30..901c65b292 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -8,7 +8,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/MapTest.java b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/MapTest.java index af19fe2f67..f2867ac504 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/MapTest.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 84e970dc30..901c65b292 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -8,7 +8,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/MapTest.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/MapTest.java index af19fe2f67..f2867ac504 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/MapTest.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 84e970dc30..901c65b292 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -8,7 +8,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/MapTest.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/MapTest.java index f2ac65048f..2478f4c105 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/MapTest.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/MapTest.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/MixedPropertiesAndAdditionalPropertiesClass.java index bc5340cc13..1f48c51c73 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.virtualan.model.Animal; diff --git a/samples/server/petstore/springboot/src/main/java/org/openapitools/model/MapTest.java b/samples/server/petstore/springboot/src/main/java/org/openapitools/model/MapTest.java index af19fe2f67..f2867ac504 100644 --- a/samples/server/petstore/springboot/src/main/java/org/openapitools/model/MapTest.java +++ b/samples/server/petstore/springboot/src/main/java/org/openapitools/model/MapTest.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import java.time.OffsetDateTime; diff --git a/samples/server/petstore/springboot/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/springboot/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java index 84e970dc30..901c65b292 100644 --- a/samples/server/petstore/springboot/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/server/petstore/springboot/src/main/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -8,7 +8,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.UUID; import org.openapitools.model.Animal; From 82b7859c198cbf2c2c7b80334b00834d38c3e244 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 10 Jul 2022 15:54:33 +0800 Subject: [PATCH 159/212] add tests for rust nullable required parameter (#12814) --- bin/configs/rust-reqwest-petstore.yaml | 2 +- .../src/test/resources/3_0/rust/petstore.yaml | 766 ++++++++++++++++++ .../reqwest/petstore/.openapi-generator/FILES | 2 + .../petstore/.openapi-generator/VERSION | 2 +- .../petstore/rust/reqwest/petstore/README.md | 1 + .../rust/reqwest/petstore/src/apis/mod.rs | 1 + 6 files changed, 772 insertions(+), 2 deletions(-) create mode 100644 modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml diff --git a/bin/configs/rust-reqwest-petstore.yaml b/bin/configs/rust-reqwest-petstore.yaml index 119ab61dba..e107582b21 100644 --- a/bin/configs/rust-reqwest-petstore.yaml +++ b/bin/configs/rust-reqwest-petstore.yaml @@ -1,7 +1,7 @@ generatorName: rust outputDir: samples/client/petstore/rust/reqwest/petstore library: reqwest -inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml +inputSpec: modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml templateDir: modules/openapi-generator/src/main/resources/rust additionalProperties: supportAsync: false diff --git a/modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml b/modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml new file mode 100644 index 0000000000..c745ecce4c --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml @@ -0,0 +1,766 @@ +openapi: 3.0.0 +servers: + - url: 'http://petstore.swagger.io/v2' +info: + description: >- + This is a sample server Petstore server. For this sample, you can use the api key + `special-key` to test the authorization filters. + version: 1.0.0 + title: OpenAPI Petstore + license: + name: Apache-2.0 + url: 'https://www.apache.org/licenses/LICENSE-2.0.html' +tags: + - name: pet + description: Everything about your Pets + - name: store + description: Access to Petstore orders + - name: user + description: Operations about user +paths: + /pet: + post: + tags: + - pet + summary: Add a new pet to the store + description: '' + operationId: addPet + responses: + '200': + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Pet' + application/json: + schema: + $ref: '#/components/schemas/Pet' + '405': + description: Invalid input + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + requestBody: + $ref: '#/components/requestBodies/Pet' + put: + tags: + - pet + summary: Update an existing pet + description: '' + operationId: updatePet + responses: + '200': + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Pet' + application/json: + schema: + $ref: '#/components/schemas/Pet' + '400': + description: Invalid ID supplied + '404': + description: Pet not found + '405': + description: Validation exception + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + requestBody: + $ref: '#/components/requestBodies/Pet' + /pet/findByStatus: + get: + tags: + - pet + summary: Finds Pets by status + description: Multiple status values can be provided with comma separated strings + operationId: findPetsByStatus + parameters: + - name: status + in: query + description: Status values that need to be considered for filter + required: true + style: form + explode: false + deprecated: true + schema: + type: array + items: + type: string + enum: + - available + - pending + - sold + default: available + responses: + '200': + description: successful operation + content: + application/xml: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + '400': + description: Invalid status value + security: + - petstore_auth: + - 'read:pets' + /pet/findByTags: + get: + tags: + - pet + summary: Finds Pets by tags + description: >- + Multiple tags can be provided with comma separated strings. Use tag1, + tag2, tag3 for testing. + operationId: findPetsByTags + parameters: + - name: tags + in: query + description: Tags to filter by + required: true + style: form + explode: false + schema: + type: array + items: + type: string + responses: + '200': + description: successful operation + content: + application/xml: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + '400': + description: Invalid tag value + security: + - petstore_auth: + - 'read:pets' + deprecated: true + '/pet/{petId}': + get: + tags: + - pet + summary: Find pet by ID + description: Returns a single pet + operationId: getPetById + parameters: + - name: petId + in: path + description: ID of pet to return + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Pet' + application/json: + schema: + $ref: '#/components/schemas/Pet' + '400': + description: Invalid ID supplied + '404': + description: Pet not found + security: + - api_key: [] + post: + tags: + - pet + summary: Updates a pet in the store with form data + description: '' + operationId: updatePetWithForm + parameters: + - name: petId + in: path + description: ID of pet that needs to be updated + required: true + schema: + type: integer + format: int64 + responses: + '405': + description: Invalid input + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + requestBody: + content: + application/x-www-form-urlencoded: + schema: + type: object + properties: + name: + description: Updated name of the pet + type: string + status: + description: Updated status of the pet + type: string + delete: + tags: + - pet + summary: Deletes a pet + description: '' + operationId: deletePet + parameters: + - name: api_key + in: header + required: false + schema: + type: string + - name: petId + in: path + description: Pet id to delete + required: true + schema: + type: integer + format: int64 + responses: + '400': + description: Invalid pet value + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + '/pet/{petId}/uploadImage': + post: + tags: + - pet + summary: uploads an image + description: '' + operationId: uploadFile + parameters: + - name: petId + in: path + description: ID of pet to update + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/ApiResponse' + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + additionalMetadata: + description: Additional data to pass to server + type: string + file: + description: file to upload + type: string + format: binary + /store/inventory: + get: + tags: + - store + summary: Returns pet inventories by status + description: Returns a map of status codes to quantities + operationId: getInventory + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + additionalProperties: + type: integer + format: int32 + security: + - api_key: [] + /store/order: + post: + tags: + - store + summary: Place an order for a pet + description: '' + operationId: placeOrder + responses: + '200': + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Order' + application/json: + schema: + $ref: '#/components/schemas/Order' + '400': + description: Invalid Order + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + description: order placed for purchasing the pet + required: true + '/store/order/{orderId}': + get: + tags: + - store + summary: Find purchase order by ID + description: >- + For valid response try integer IDs with value <= 5 or > 10. Other values + will generated exceptions + operationId: getOrderById + parameters: + - name: orderId + in: path + description: ID of pet that needs to be fetched + required: true + schema: + type: integer + format: int64 + minimum: 1 + maximum: 5 + responses: + '200': + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Order' + application/json: + schema: + $ref: '#/components/schemas/Order' + '400': + description: Invalid ID supplied + '404': + description: Order not found + delete: + tags: + - store + summary: Delete purchase order by ID + description: >- + For valid response try integer IDs with value < 1000. Anything above + 1000 or nonintegers will generate API errors + operationId: deleteOrder + parameters: + - name: orderId + in: path + description: ID of the order that needs to be deleted + required: true + schema: + type: string + responses: + '400': + description: Invalid ID supplied + '404': + description: Order not found + /user: + post: + tags: + - user + summary: Create user + description: This can only be done by the logged in user. + operationId: createUser + responses: + default: + description: successful operation + security: + - api_key: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Created user object + required: true + /user/createWithArray: + post: + tags: + - user + summary: Creates list of users with given input array + description: '' + operationId: createUsersWithArrayInput + responses: + default: + description: successful operation + security: + - api_key: [] + requestBody: + $ref: '#/components/requestBodies/UserArray' + /user/createWithList: + post: + tags: + - user + summary: Creates list of users with given input array + description: '' + operationId: createUsersWithListInput + responses: + default: + description: successful operation + security: + - api_key: [] + requestBody: + $ref: '#/components/requestBodies/UserArray' + /user/login: + get: + tags: + - user + summary: Logs user into the system + description: '' + operationId: loginUser + parameters: + - name: username + in: query + description: The user name for login + required: true + schema: + type: string + pattern: '^[a-zA-Z0-9]+[a-zA-Z0-9\.\-_]*[a-zA-Z0-9]+$' + - name: password + in: query + description: The password for login in clear text + required: true + schema: + type: string + responses: + '200': + description: successful operation + headers: + Set-Cookie: + description: >- + Cookie authentication key for use with the `api_key` + apiKey authentication. + schema: + type: string + example: AUTH_KEY=abcde12345; Path=/; HttpOnly + X-Rate-Limit: + description: calls per hour allowed by the user + schema: + type: integer + format: int32 + X-Expires-After: + description: date in UTC when token expires + schema: + type: string + format: date-time + content: + application/xml: + schema: + type: string + application/json: + schema: + type: string + '400': + description: Invalid username/password supplied + /user/logout: + get: + tags: + - user + summary: Logs out current logged in user session + description: '' + operationId: logoutUser + responses: + default: + description: successful operation + security: + - api_key: [] + '/user/{username}': + get: + tags: + - user + summary: Get user by user name + description: '' + operationId: getUserByName + parameters: + - name: username + in: path + description: The name that needs to be fetched. Use user1 for testing. + required: true + schema: + type: string + responses: + '200': + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/User' + application/json: + schema: + $ref: '#/components/schemas/User' + '400': + description: Invalid username supplied + '404': + description: User not found + put: + tags: + - user + summary: Updated user + description: This can only be done by the logged in user. + operationId: updateUser + parameters: + - name: username + in: path + description: name that need to be deleted + required: true + schema: + type: string + responses: + '400': + description: Invalid user supplied + '404': + description: User not found + security: + - api_key: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Updated user object + required: true + delete: + tags: + - user + summary: Delete user + description: This can only be done by the logged in user. + operationId: deleteUser + parameters: + - name: username + in: path + description: The name that needs to be deleted + required: true + schema: + type: string + responses: + '400': + description: Invalid username supplied + '404': + description: User not found + security: + - api_key: [] + '/fake/user/{username}': + get: + tags: + - fake + summary: To test nullable required parameters + description: '' + operationId: test_nullable_required_param + parameters: + - name: username + in: path + description: The name that needs to be fetched. Use user1 for testing. + required: true + schema: + type: string + - name: dummy_required_nullable_param + in: header + description: To test nullable required parameters + required: true + schema: + type: string + nullable: true + responses: + '200': + description: successful operation + '400': + description: Invalid username supplied + '404': + description: User not found +externalDocs: + description: Find out more about Swagger + url: 'http://swagger.io' +components: + requestBodies: + UserArray: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/User' + description: List of user object + required: true + Pet: + content: + application/json: + schema: + $ref: '#/components/schemas/Pet' + application/xml: + schema: + $ref: '#/components/schemas/Pet' + description: Pet object that needs to be added to the store + required: true + securitySchemes: + petstore_auth: + type: oauth2 + flows: + implicit: + authorizationUrl: 'http://petstore.swagger.io/api/oauth/dialog' + scopes: + 'write:pets': modify pets in your account + 'read:pets': read your pets + api_key: + type: apiKey + name: api_key + in: header + schemas: + Order: + title: Pet Order + description: An order for a pets from the pet store + type: object + properties: + id: + type: integer + format: int64 + petId: + type: integer + format: int64 + quantity: + type: integer + format: int32 + shipDate: + type: string + format: date-time + status: + type: string + description: Order Status + enum: + - placed + - approved + - delivered + complete: + type: boolean + default: false + xml: + name: Order + Category: + title: Pet category + description: A category for a pet + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + pattern: '^[a-zA-Z0-9]+[a-zA-Z0-9\.\-_]*[a-zA-Z0-9]+$' + xml: + name: Category + User: + title: a User + description: A User who is purchasing from the pet store + type: object + properties: + id: + type: integer + format: int64 + username: + type: string + firstName: + type: string + lastName: + type: string + email: + type: string + password: + type: string + phone: + type: string + userStatus: + type: integer + format: int32 + description: User Status + xml: + name: User + Tag: + title: Pet Tag + description: A tag for a pet + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + xml: + name: Tag + Pet: + title: a Pet + description: A pet for sale in the pet store + type: object + required: + - name + - photoUrls + properties: + id: + type: integer + format: int64 + category: + $ref: '#/components/schemas/Category' + name: + type: string + example: doggie + photoUrls: + type: array + xml: + name: photoUrl + wrapped: true + items: + type: string + tags: + type: array + xml: + name: tag + wrapped: true + items: + $ref: '#/components/schemas/Tag' + status: + type: string + description: pet status in the store + deprecated: true + enum: + - available + - pending + - sold + xml: + name: Pet + ApiResponse: + title: An uploaded response + description: Describes the result of uploading an image resource + type: object + properties: + code: + type: integer + format: int32 + type: + type: string + message: + type: string diff --git a/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/FILES b/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/FILES index 611ac7b6dd..9ad23161e6 100644 --- a/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/FILES +++ b/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/FILES @@ -4,6 +4,7 @@ Cargo.toml README.md docs/ApiResponse.md docs/Category.md +docs/FakeApi.md docs/Order.md docs/Pet.md docs/PetApi.md @@ -13,6 +14,7 @@ docs/User.md docs/UserApi.md git_push.sh src/apis/configuration.rs +src/apis/fake_api.rs src/apis/mod.rs src/apis/pet_api.rs src/apis/store_api.rs diff --git a/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/VERSION b/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/VERSION index 66672d4e9d..89648de331 100644 --- a/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/VERSION +++ b/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/VERSION @@ -1 +1 @@ -6.1.0-SNAPSHOT \ No newline at end of file +6.0.1-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/rust/reqwest/petstore/README.md b/samples/client/petstore/rust/reqwest/petstore/README.md index 42df328ab6..c2d345f9ef 100644 --- a/samples/client/petstore/rust/reqwest/petstore/README.md +++ b/samples/client/petstore/rust/reqwest/petstore/README.md @@ -25,6 +25,7 @@ All URIs are relative to *http://petstore.swagger.io/v2* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- +*FakeApi* | [**test_nullable_required_param**](docs/FakeApi.md#test_nullable_required_param) | **GET** /fake/user/{username} | To test nullable required parameters *PetApi* | [**add_pet**](docs/PetApi.md#add_pet) | **POST** /pet | Add a new pet to the store *PetApi* | [**delete_pet**](docs/PetApi.md#delete_pet) | **DELETE** /pet/{petId} | Deletes a pet *PetApi* | [**find_pets_by_status**](docs/PetApi.md#find_pets_by_status) | **GET** /pet/findByStatus | Finds Pets by status diff --git a/samples/client/petstore/rust/reqwest/petstore/src/apis/mod.rs b/samples/client/petstore/rust/reqwest/petstore/src/apis/mod.rs index c24f345edf..353447f625 100644 --- a/samples/client/petstore/rust/reqwest/petstore/src/apis/mod.rs +++ b/samples/client/petstore/rust/reqwest/petstore/src/apis/mod.rs @@ -61,6 +61,7 @@ pub fn urlencode>(s: T) -> String { ::url::form_urlencoded::byte_serialize(s.as_ref().as_bytes()).collect() } +pub mod fake_api; pub mod pet_api; pub mod store_api; pub mod user_api; From e93be506da48e59e8055a3eb1cf901b85348bb95 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 10 Jul 2022 16:00:25 +0800 Subject: [PATCH 160/212] upadte samples --- .../petstore/rust/reqwest/petstore/.openapi-generator/VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/VERSION b/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/VERSION index 89648de331..66672d4e9d 100644 --- a/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/VERSION +++ b/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file From bf2083c22f2f0d512ed7b8c1d7519fad9ecc38cd Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 10 Jul 2022 16:14:44 +0800 Subject: [PATCH 161/212] add new rust test files --- .../rust/reqwest/petstore/docs/FakeApi.md | 40 +++++++++++++ .../reqwest/petstore/src/apis/fake_api.rs | 59 +++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 samples/client/petstore/rust/reqwest/petstore/docs/FakeApi.md create mode 100644 samples/client/petstore/rust/reqwest/petstore/src/apis/fake_api.rs diff --git a/samples/client/petstore/rust/reqwest/petstore/docs/FakeApi.md b/samples/client/petstore/rust/reqwest/petstore/docs/FakeApi.md new file mode 100644 index 0000000000..1256c6c1c4 --- /dev/null +++ b/samples/client/petstore/rust/reqwest/petstore/docs/FakeApi.md @@ -0,0 +1,40 @@ +# \FakeApi + +All URIs are relative to *http://petstore.swagger.io/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**test_nullable_required_param**](FakeApi.md#test_nullable_required_param) | **GET** /fake/user/{username} | To test nullable required parameters + + + +## test_nullable_required_param + +> test_nullable_required_param(username, dummy_required_nullable_param) +To test nullable required parameters + + + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**username** | **String** | The name that needs to be fetched. Use user1 for testing. | [required] | +**dummy_required_nullable_param** | Option<**String**> | To test nullable required parameters | [required] | + +### Return type + + (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/samples/client/petstore/rust/reqwest/petstore/src/apis/fake_api.rs b/samples/client/petstore/rust/reqwest/petstore/src/apis/fake_api.rs new file mode 100644 index 0000000000..a345fce8d9 --- /dev/null +++ b/samples/client/petstore/rust/reqwest/petstore/src/apis/fake_api.rs @@ -0,0 +1,59 @@ +/* + * OpenAPI Petstore + * + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; + +use crate::apis::ResponseContent; +use super::{Error, configuration}; + + +/// struct for typed errors of method [`test_nullable_required_param`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum TestNullableRequiredParamError { + Status400(), + Status404(), + UnknownValue(serde_json::Value), +} + + +/// +pub fn test_nullable_required_param(configuration: &configuration::Configuration, username: &str, dummy_required_nullable_param: Option<&str>) -> Result<(), Error> { + let local_var_configuration = configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/fake/user/{username}", local_var_configuration.base_path, username=crate::apis::urlencode(username)); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + match dummy_required_nullable_param { + Some(local_var_param_value) => { local_var_req_builder = local_var_req_builder.header("dummy_required_nullable_param", local_var_param_value.to_string()); }, + None => { local_var_req_builder = local_var_req_builder.header("dummy_required_nullable_param", ""); }, + } + + let local_var_req = local_var_req_builder.build()?; + let mut local_var_resp = local_var_client.execute(local_var_req)?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text()?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity }; + Err(Error::ResponseError(local_var_error)) + } +} + From 574f6f3192f1ea6773493e1b02d9209843460d93 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 10 Jul 2022 17:16:45 +0800 Subject: [PATCH 162/212] fix tests (#12820) --- .../codegen/languages/RustClientCodegen.java | 7 ++--- .../src/test/resources/3_0/rust/petstore.yaml | 5 ++++ .../rust/hyper/petstore/docs/PetApi.md | 18 +++++------ .../rust/hyper/petstore/docs/StoreApi.md | 8 ++--- .../rust/hyper/petstore/src/apis/pet_api.rs | 26 ++++++++-------- .../rust/hyper/petstore/src/apis/store_api.rs | 12 ++++---- .../reqwest/petstore-async/docs/PetApi.md | 18 +++++------ .../reqwest/petstore-async/docs/StoreApi.md | 8 ++--- .../petstore-async/src/apis/pet_api.rs | 30 +++++++++---------- .../petstore-async/src/apis/store_api.rs | 12 ++++---- .../petstore-awsv4signature/docs/PetApi.md | 18 +++++------ .../petstore-awsv4signature/docs/StoreApi.md | 8 ++--- .../src/apis/pet_api.rs | 18 +++++------ .../src/apis/store_api.rs | 8 ++--- .../rust/reqwest/petstore/docs/FakeApi.md | 3 +- .../rust/reqwest/petstore/docs/PetApi.md | 18 +++++------ .../rust/reqwest/petstore/docs/StoreApi.md | 8 ++--- .../reqwest/petstore/src/apis/fake_api.rs | 5 +++- .../rust/reqwest/petstore/src/apis/pet_api.rs | 18 +++++------ .../reqwest/petstore/src/apis/store_api.rs | 8 ++--- 20 files changed, 132 insertions(+), 124 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java index 6e54e1670f..5726d0c46f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java @@ -436,9 +436,9 @@ public class RustClientCodegen extends DefaultCodegen implements CodegenConfig { // replace - with _ e.g. created-at => created_at name = sanitizeName(name.replaceAll("-", "_")); - // if it's all upper case, do nothing + // if it's all upper case, convert to lower case if (name.matches("^[A-Z_]*$")) - return name; + return name.toLowerCase(Locale.ROOT); // snake_case, e.g. PetId => pet_id name = underscore(name); @@ -456,8 +456,7 @@ public class RustClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toParamName(String name) { - // $ref appears to be all uppercase which is contrary to rustfmt practice so lowercase parameters - return toVarName(name.toLowerCase(Locale.ROOT)); + return toVarName(name); } @Override diff --git a/modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml b/modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml index c745ecce4c..fd902c5516 100644 --- a/modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml @@ -587,6 +587,11 @@ paths: schema: type: string nullable: true + - name: UPPERCASE + in: header + description: To test parameter names in upper case + schema: + type: string responses: '200': description: successful operation diff --git a/samples/client/petstore/rust/hyper/petstore/docs/PetApi.md b/samples/client/petstore/rust/hyper/petstore/docs/PetApi.md index b94b34a8a3..7deea32cd8 100644 --- a/samples/client/petstore/rust/hyper/petstore/docs/PetApi.md +++ b/samples/client/petstore/rust/hyper/petstore/docs/PetApi.md @@ -47,7 +47,7 @@ Name | Type | Description | Required | Notes ## delete_pet -> delete_pet(petid, api_key) +> delete_pet(pet_id, api_key) Deletes a pet @@ -57,7 +57,7 @@ Deletes a pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | Pet id to delete | [required] | +**pet_id** | **i64** | Pet id to delete | [required] | **api_key** | Option<**String**> | | | ### Return type @@ -138,7 +138,7 @@ Name | Type | Description | Required | Notes ## get_pet_by_id -> crate::models::Pet get_pet_by_id(petid) +> crate::models::Pet get_pet_by_id(pet_id) Find pet by ID Returns a single pet @@ -148,7 +148,7 @@ Returns a single pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet to return | [required] | +**pet_id** | **i64** | ID of pet to return | [required] | ### Return type @@ -198,7 +198,7 @@ Name | Type | Description | Required | Notes ## update_pet_with_form -> update_pet_with_form(petid, name, status) +> update_pet_with_form(pet_id, name, status) Updates a pet in the store with form data @@ -208,7 +208,7 @@ Updates a pet in the store with form data Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet that needs to be updated | [required] | +**pet_id** | **i64** | ID of pet that needs to be updated | [required] | **name** | Option<**String**> | Updated name of the pet | | **status** | Option<**String**> | Updated status of the pet | | @@ -230,7 +230,7 @@ Name | Type | Description | Required | Notes ## upload_file -> crate::models::ApiResponse upload_file(petid, additionalmetadata, file) +> crate::models::ApiResponse upload_file(pet_id, additional_metadata, file) uploads an image @@ -240,8 +240,8 @@ uploads an image Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet to update | [required] | -**additionalmetadata** | Option<**String**> | Additional data to pass to server | | +**pet_id** | **i64** | ID of pet to update | [required] | +**additional_metadata** | Option<**String**> | Additional data to pass to server | | **file** | Option<**std::path::PathBuf**> | file to upload | | ### Return type diff --git a/samples/client/petstore/rust/hyper/petstore/docs/StoreApi.md b/samples/client/petstore/rust/hyper/petstore/docs/StoreApi.md index 9b37fc16da..c1f5b5a9c2 100644 --- a/samples/client/petstore/rust/hyper/petstore/docs/StoreApi.md +++ b/samples/client/petstore/rust/hyper/petstore/docs/StoreApi.md @@ -13,7 +13,7 @@ Method | HTTP request | Description ## delete_order -> delete_order(orderid) +> delete_order(order_id) Delete purchase order by ID For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors @@ -23,7 +23,7 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or non Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**orderid** | **String** | ID of the order that needs to be deleted | [required] | +**order_id** | **String** | ID of the order that needs to be deleted | [required] | ### Return type @@ -70,7 +70,7 @@ This endpoint does not need any parameter. ## get_order_by_id -> crate::models::Order get_order_by_id(orderid) +> crate::models::Order get_order_by_id(order_id) Find purchase order by ID For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions @@ -80,7 +80,7 @@ For valid response try integer IDs with value <= 5 or > 10. Other values will ge Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**orderid** | **i64** | ID of pet that needs to be fetched | [required] | +**order_id** | **i64** | ID of pet that needs to be fetched | [required] | ### Return type diff --git a/samples/client/petstore/rust/hyper/petstore/src/apis/pet_api.rs b/samples/client/petstore/rust/hyper/petstore/src/apis/pet_api.rs index 4037e103f5..019ed347cd 100644 --- a/samples/client/petstore/rust/hyper/petstore/src/apis/pet_api.rs +++ b/samples/client/petstore/rust/hyper/petstore/src/apis/pet_api.rs @@ -36,13 +36,13 @@ impl PetApiClient pub trait PetApi { fn add_pet(&self, pet: crate::models::Pet) -> Pin>>>; - fn delete_pet(&self, petid: i64, api_key: Option<&str>) -> Pin>>>; + fn delete_pet(&self, pet_id: i64, api_key: Option<&str>) -> Pin>>>; fn find_pets_by_status(&self, status: Vec) -> Pin, Error>>>>; fn find_pets_by_tags(&self, tags: Vec) -> Pin, Error>>>>; - fn get_pet_by_id(&self, petid: i64) -> Pin>>>; + fn get_pet_by_id(&self, pet_id: i64) -> Pin>>>; fn update_pet(&self, pet: crate::models::Pet) -> Pin>>>; - fn update_pet_with_form(&self, petid: i64, name: Option<&str>, status: Option<&str>) -> Pin>>>; - fn upload_file(&self, petid: i64, additionalmetadata: Option<&str>, file: Option) -> Pin>>>; + fn update_pet_with_form(&self, pet_id: i64, name: Option<&str>, status: Option<&str>) -> Pin>>>; + fn upload_file(&self, pet_id: i64, additional_metadata: Option<&str>, file: Option) -> Pin>>>; } implPetApi for PetApiClient @@ -58,11 +58,11 @@ implPetApi for PetApiClient } #[allow(unused_mut)] - fn delete_pet(&self, petid: i64, api_key: Option<&str>) -> Pin>>> { + fn delete_pet(&self, pet_id: i64, api_key: Option<&str>) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::DELETE, "/pet/{petId}".to_string()) .with_auth(__internal_request::Auth::Oauth) ; - req = req.with_path_param("petId".to_string(), petid.to_string()); + req = req.with_path_param("petId".to_string(), pet_id.to_string()); if let Some(param_value) = api_key { req = req.with_header_param("api_key".to_string(), param_value.to_string()); } @@ -92,7 +92,7 @@ implPetApi for PetApiClient } #[allow(unused_mut)] - fn get_pet_by_id(&self, petid: i64) -> Pin>>> { + fn get_pet_by_id(&self, pet_id: i64) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::GET, "/pet/{petId}".to_string()) .with_auth(__internal_request::Auth::ApiKey(__internal_request::ApiKey{ in_header: true, @@ -100,7 +100,7 @@ implPetApi for PetApiClient param_name: "api_key".to_owned(), })) ; - req = req.with_path_param("petId".to_string(), petid.to_string()); + req = req.with_path_param("petId".to_string(), pet_id.to_string()); req.execute(self.configuration.borrow()) } @@ -116,11 +116,11 @@ implPetApi for PetApiClient } #[allow(unused_mut)] - fn update_pet_with_form(&self, petid: i64, name: Option<&str>, status: Option<&str>) -> Pin>>> { + fn update_pet_with_form(&self, pet_id: i64, name: Option<&str>, status: Option<&str>) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::POST, "/pet/{petId}".to_string()) .with_auth(__internal_request::Auth::Oauth) ; - req = req.with_path_param("petId".to_string(), petid.to_string()); + req = req.with_path_param("petId".to_string(), pet_id.to_string()); if let Some(param_value) = name { req = req.with_form_param("name".to_string(), param_value.to_string()); } @@ -133,12 +133,12 @@ implPetApi for PetApiClient } #[allow(unused_mut)] - fn upload_file(&self, petid: i64, additionalmetadata: Option<&str>, file: Option) -> Pin>>> { + fn upload_file(&self, pet_id: i64, additional_metadata: Option<&str>, file: Option) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::POST, "/pet/{petId}/uploadImage".to_string()) .with_auth(__internal_request::Auth::Oauth) ; - req = req.with_path_param("petId".to_string(), petid.to_string()); - if let Some(param_value) = additionalmetadata { + req = req.with_path_param("petId".to_string(), pet_id.to_string()); + if let Some(param_value) = additional_metadata { req = req.with_form_param("additionalMetadata".to_string(), param_value.to_string()); } if let Some(param_value) = file { diff --git a/samples/client/petstore/rust/hyper/petstore/src/apis/store_api.rs b/samples/client/petstore/rust/hyper/petstore/src/apis/store_api.rs index 0cdf1993ef..e4bb563082 100644 --- a/samples/client/petstore/rust/hyper/petstore/src/apis/store_api.rs +++ b/samples/client/petstore/rust/hyper/petstore/src/apis/store_api.rs @@ -35,19 +35,19 @@ impl StoreApiClient } pub trait StoreApi { - fn delete_order(&self, orderid: &str) -> Pin>>>; + fn delete_order(&self, order_id: &str) -> Pin>>>; fn get_inventory(&self, ) -> Pin, Error>>>>; - fn get_order_by_id(&self, orderid: i64) -> Pin>>>; + fn get_order_by_id(&self, order_id: i64) -> Pin>>>; fn place_order(&self, order: crate::models::Order) -> Pin>>>; } implStoreApi for StoreApiClient where C: Clone + std::marker::Send + Sync { #[allow(unused_mut)] - fn delete_order(&self, orderid: &str) -> Pin>>> { + fn delete_order(&self, order_id: &str) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::DELETE, "/store/order/{orderId}".to_string()) ; - req = req.with_path_param("orderId".to_string(), orderid.to_string()); + req = req.with_path_param("orderId".to_string(), order_id.to_string()); req = req.returns_nothing(); req.execute(self.configuration.borrow()) @@ -67,10 +67,10 @@ implStoreApi for StoreApiClient } #[allow(unused_mut)] - fn get_order_by_id(&self, orderid: i64) -> Pin>>> { + fn get_order_by_id(&self, order_id: i64) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::GET, "/store/order/{orderId}".to_string()) ; - req = req.with_path_param("orderId".to_string(), orderid.to_string()); + req = req.with_path_param("orderId".to_string(), order_id.to_string()); req.execute(self.configuration.borrow()) } diff --git a/samples/client/petstore/rust/reqwest/petstore-async/docs/PetApi.md b/samples/client/petstore/rust/reqwest/petstore-async/docs/PetApi.md index 3ac38fd18a..5adc933415 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/docs/PetApi.md +++ b/samples/client/petstore/rust/reqwest/petstore-async/docs/PetApi.md @@ -47,7 +47,7 @@ Name | Type | Description | Required | Notes ## delete_pet -> delete_pet(petid, api_key) +> delete_pet(pet_id, api_key) Deletes a pet @@ -57,7 +57,7 @@ Deletes a pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | Pet id to delete | [required] | +**pet_id** | **i64** | Pet id to delete | [required] | **api_key** | Option<**String**> | | | ### Return type @@ -138,7 +138,7 @@ Name | Type | Description | Required | Notes ## get_pet_by_id -> crate::models::Pet get_pet_by_id(petid) +> crate::models::Pet get_pet_by_id(pet_id) Find pet by ID Returns a single pet @@ -148,7 +148,7 @@ Returns a single pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet to return | [required] | +**pet_id** | **i64** | ID of pet to return | [required] | ### Return type @@ -198,7 +198,7 @@ Name | Type | Description | Required | Notes ## update_pet_with_form -> update_pet_with_form(petid, name, status) +> update_pet_with_form(pet_id, name, status) Updates a pet in the store with form data @@ -208,7 +208,7 @@ Updates a pet in the store with form data Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet that needs to be updated | [required] | +**pet_id** | **i64** | ID of pet that needs to be updated | [required] | **name** | Option<**String**> | Updated name of the pet | | **status** | Option<**String**> | Updated status of the pet | | @@ -230,7 +230,7 @@ Name | Type | Description | Required | Notes ## upload_file -> crate::models::ApiResponse upload_file(petid, additionalmetadata, file) +> crate::models::ApiResponse upload_file(pet_id, additional_metadata, file) uploads an image @@ -240,8 +240,8 @@ uploads an image Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet to update | [required] | -**additionalmetadata** | Option<**String**> | Additional data to pass to server | | +**pet_id** | **i64** | ID of pet to update | [required] | +**additional_metadata** | Option<**String**> | Additional data to pass to server | | **file** | Option<**std::path::PathBuf**> | file to upload | | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore-async/docs/StoreApi.md b/samples/client/petstore/rust/reqwest/petstore-async/docs/StoreApi.md index 364e7f93df..a6b3c572cc 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/docs/StoreApi.md +++ b/samples/client/petstore/rust/reqwest/petstore-async/docs/StoreApi.md @@ -13,7 +13,7 @@ Method | HTTP request | Description ## delete_order -> delete_order(orderid) +> delete_order(order_id) Delete purchase order by ID For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors @@ -23,7 +23,7 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or non Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**orderid** | **String** | ID of the order that needs to be deleted | [required] | +**order_id** | **String** | ID of the order that needs to be deleted | [required] | ### Return type @@ -70,7 +70,7 @@ This endpoint does not need any parameter. ## get_order_by_id -> crate::models::Order get_order_by_id(orderid) +> crate::models::Order get_order_by_id(order_id) Find purchase order by ID For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions @@ -80,7 +80,7 @@ For valid response try integer IDs with value <= 5 or > 10. Other values will ge Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**orderid** | **i64** | ID of pet that needs to be fetched | [required] | +**order_id** | **i64** | ID of pet that needs to be fetched | [required] | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore-async/src/apis/pet_api.rs b/samples/client/petstore/rust/reqwest/petstore-async/src/apis/pet_api.rs index a9c0c537ee..977d79edcf 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/src/apis/pet_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore-async/src/apis/pet_api.rs @@ -25,7 +25,7 @@ pub struct AddPetParams { #[derive(Clone, Debug, Default)] pub struct DeletePetParams { /// Pet id to delete - pub petid: i64, + pub pet_id: i64, pub api_key: Option } @@ -47,7 +47,7 @@ pub struct FindPetsByTagsParams { #[derive(Clone, Debug, Default)] pub struct GetPetByIdParams { /// ID of pet to return - pub petid: i64 + pub pet_id: i64 } /// struct for passing parameters to the method [`update_pet`] @@ -61,7 +61,7 @@ pub struct UpdatePetParams { #[derive(Clone, Debug, Default)] pub struct UpdatePetWithFormParams { /// ID of pet that needs to be updated - pub petid: i64, + pub pet_id: i64, /// Updated name of the pet pub name: Option, /// Updated status of the pet @@ -72,9 +72,9 @@ pub struct UpdatePetWithFormParams { #[derive(Clone, Debug, Default)] pub struct UploadFileParams { /// ID of pet to update - pub petid: i64, + pub pet_id: i64, /// Additional data to pass to server - pub additionalmetadata: Option, + pub additional_metadata: Option, /// file to upload pub file: Option } @@ -252,13 +252,13 @@ pub async fn delete_pet(configuration: &configuration::Configuration, params: De let local_var_configuration = configuration; // unbox the parameters - let petid = params.petid; + let pet_id = params.pet_id; let api_key = params.api_key; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -375,12 +375,12 @@ pub async fn get_pet_by_id(configuration: &configuration::Configuration, params: let local_var_configuration = configuration; // unbox the parameters - let petid = params.petid; + let pet_id = params.pet_id; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -455,14 +455,14 @@ pub async fn update_pet_with_form(configuration: &configuration::Configuration, let local_var_configuration = configuration; // unbox the parameters - let petid = params.petid; + let pet_id = params.pet_id; let name = params.name; let status = params.status; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -502,14 +502,14 @@ pub async fn upload_file(configuration: &configuration::Configuration, params: U let local_var_configuration = configuration; // unbox the parameters - let petid = params.petid; - let additionalmetadata = params.additionalmetadata; + let pet_id = params.pet_id; + let additional_metadata = params.additional_metadata; let file = params.file; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -519,7 +519,7 @@ pub async fn upload_file(configuration: &configuration::Configuration, params: U local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); }; let mut local_var_form = reqwest::multipart::Form::new(); - if let Some(local_var_param_value) = additionalmetadata { + if let Some(local_var_param_value) = additional_metadata { local_var_form = local_var_form.text("additionalMetadata", local_var_param_value.to_string()); } // TODO: support file upload for 'file' parameter diff --git a/samples/client/petstore/rust/reqwest/petstore-async/src/apis/store_api.rs b/samples/client/petstore/rust/reqwest/petstore-async/src/apis/store_api.rs index 40cc7617e9..36d090f4f1 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/src/apis/store_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore-async/src/apis/store_api.rs @@ -18,14 +18,14 @@ use super::{Error, configuration}; #[derive(Clone, Debug, Default)] pub struct DeleteOrderParams { /// ID of the order that needs to be deleted - pub orderid: String + pub order_id: String } /// struct for passing parameters to the method [`get_order_by_id`] #[derive(Clone, Debug, Default)] pub struct GetOrderByIdParams { /// ID of pet that needs to be fetched - pub orderid: i64 + pub order_id: i64 } /// struct for passing parameters to the method [`place_order`] @@ -106,12 +106,12 @@ pub async fn delete_order(configuration: &configuration::Configuration, params: let local_var_configuration = configuration; // unbox the parameters - let orderid = params.orderid; + let order_id = params.order_id; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(orderid)); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(order_id)); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -181,12 +181,12 @@ pub async fn get_order_by_id(configuration: &configuration::Configuration, param let local_var_configuration = configuration; // unbox the parameters - let orderid = params.orderid; + let order_id = params.order_id; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=orderid); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=order_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/PetApi.md b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/PetApi.md index 3ac38fd18a..5adc933415 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/PetApi.md +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/PetApi.md @@ -47,7 +47,7 @@ Name | Type | Description | Required | Notes ## delete_pet -> delete_pet(petid, api_key) +> delete_pet(pet_id, api_key) Deletes a pet @@ -57,7 +57,7 @@ Deletes a pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | Pet id to delete | [required] | +**pet_id** | **i64** | Pet id to delete | [required] | **api_key** | Option<**String**> | | | ### Return type @@ -138,7 +138,7 @@ Name | Type | Description | Required | Notes ## get_pet_by_id -> crate::models::Pet get_pet_by_id(petid) +> crate::models::Pet get_pet_by_id(pet_id) Find pet by ID Returns a single pet @@ -148,7 +148,7 @@ Returns a single pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet to return | [required] | +**pet_id** | **i64** | ID of pet to return | [required] | ### Return type @@ -198,7 +198,7 @@ Name | Type | Description | Required | Notes ## update_pet_with_form -> update_pet_with_form(petid, name, status) +> update_pet_with_form(pet_id, name, status) Updates a pet in the store with form data @@ -208,7 +208,7 @@ Updates a pet in the store with form data Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet that needs to be updated | [required] | +**pet_id** | **i64** | ID of pet that needs to be updated | [required] | **name** | Option<**String**> | Updated name of the pet | | **status** | Option<**String**> | Updated status of the pet | | @@ -230,7 +230,7 @@ Name | Type | Description | Required | Notes ## upload_file -> crate::models::ApiResponse upload_file(petid, additionalmetadata, file) +> crate::models::ApiResponse upload_file(pet_id, additional_metadata, file) uploads an image @@ -240,8 +240,8 @@ uploads an image Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet to update | [required] | -**additionalmetadata** | Option<**String**> | Additional data to pass to server | | +**pet_id** | **i64** | ID of pet to update | [required] | +**additional_metadata** | Option<**String**> | Additional data to pass to server | | **file** | Option<**std::path::PathBuf**> | file to upload | | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/StoreApi.md b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/StoreApi.md index 364e7f93df..a6b3c572cc 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/StoreApi.md +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/StoreApi.md @@ -13,7 +13,7 @@ Method | HTTP request | Description ## delete_order -> delete_order(orderid) +> delete_order(order_id) Delete purchase order by ID For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors @@ -23,7 +23,7 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or non Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**orderid** | **String** | ID of the order that needs to be deleted | [required] | +**order_id** | **String** | ID of the order that needs to be deleted | [required] | ### Return type @@ -70,7 +70,7 @@ This endpoint does not need any parameter. ## get_order_by_id -> crate::models::Order get_order_by_id(orderid) +> crate::models::Order get_order_by_id(order_id) Find purchase order by ID For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions @@ -80,7 +80,7 @@ For valid response try integer IDs with value <= 5 or > 10. Other values will ge Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**orderid** | **i64** | ID of pet that needs to be fetched | [required] | +**order_id** | **i64** | ID of pet that needs to be fetched | [required] | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/pet_api.rs b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/pet_api.rs index 0ffae238b2..653fb343af 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/pet_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/pet_api.rs @@ -128,12 +128,12 @@ pub fn add_pet(configuration: &configuration::Configuration, pet: crate::models: } /// -pub fn delete_pet(configuration: &configuration::Configuration, petid: i64, api_key: Option<&str>) -> Result<(), Error> { +pub fn delete_pet(configuration: &configuration::Configuration, pet_id: i64, api_key: Option<&str>) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key { @@ -271,12 +271,12 @@ pub fn find_pets_by_tags(configuration: &configuration::Configuration, tags: Vec } /// Returns a single pet -pub fn get_pet_by_id(configuration: &configuration::Configuration, petid: i64) -> Result> { +pub fn get_pet_by_id(configuration: &configuration::Configuration, pet_id: i64) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key { @@ -365,12 +365,12 @@ pub fn update_pet(configuration: &configuration::Configuration, pet: crate::mode } /// -pub fn update_pet_with_form(configuration: &configuration::Configuration, petid: i64, name: Option<&str>, status: Option<&str>) -> Result<(), Error> { +pub fn update_pet_with_form(configuration: &configuration::Configuration, pet_id: i64, name: Option<&str>, status: Option<&str>) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key { @@ -417,12 +417,12 @@ pub fn update_pet_with_form(configuration: &configuration::Configuration, petid: } /// -pub fn upload_file(configuration: &configuration::Configuration, petid: i64, additionalmetadata: Option<&str>, file: Option) -> Result> { +pub fn upload_file(configuration: &configuration::Configuration, pet_id: i64, additional_metadata: Option<&str>, file: Option) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key { @@ -445,7 +445,7 @@ pub fn upload_file(configuration: &configuration::Configuration, petid: i64, add local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); }; let mut local_var_form = reqwest::multipart::Form::new(); - if let Some(local_var_param_value) = additionalmetadata { + if let Some(local_var_param_value) = additional_metadata { local_var_form = local_var_form.text("additionalMetadata", local_var_param_value.to_string()); } if let Some(local_var_param_value) = file { diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/store_api.rs b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/store_api.rs index df2c4e5cc7..d50a60e411 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/store_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/store_api.rs @@ -50,12 +50,12 @@ pub enum PlaceOrderError { /// For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors -pub fn delete_order(configuration: &configuration::Configuration, orderid: &str) -> Result<(), Error> { +pub fn delete_order(configuration: &configuration::Configuration, order_id: &str) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(orderid)); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(order_id)); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -127,12 +127,12 @@ pub fn get_inventory(configuration: &configuration::Configuration, ) -> Result<: } /// For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions -pub fn get_order_by_id(configuration: &configuration::Configuration, orderid: i64) -> Result> { +pub fn get_order_by_id(configuration: &configuration::Configuration, order_id: i64) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=orderid); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=order_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { diff --git a/samples/client/petstore/rust/reqwest/petstore/docs/FakeApi.md b/samples/client/petstore/rust/reqwest/petstore/docs/FakeApi.md index 1256c6c1c4..55bf612aa2 100644 --- a/samples/client/petstore/rust/reqwest/petstore/docs/FakeApi.md +++ b/samples/client/petstore/rust/reqwest/petstore/docs/FakeApi.md @@ -10,7 +10,7 @@ Method | HTTP request | Description ## test_nullable_required_param -> test_nullable_required_param(username, dummy_required_nullable_param) +> test_nullable_required_param(username, dummy_required_nullable_param, uppercase) To test nullable required parameters @@ -22,6 +22,7 @@ Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- **username** | **String** | The name that needs to be fetched. Use user1 for testing. | [required] | **dummy_required_nullable_param** | Option<**String**> | To test nullable required parameters | [required] | +**uppercase** | Option<**String**> | To test parameter names in upper case | | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore/docs/PetApi.md b/samples/client/petstore/rust/reqwest/petstore/docs/PetApi.md index 3ac38fd18a..5adc933415 100644 --- a/samples/client/petstore/rust/reqwest/petstore/docs/PetApi.md +++ b/samples/client/petstore/rust/reqwest/petstore/docs/PetApi.md @@ -47,7 +47,7 @@ Name | Type | Description | Required | Notes ## delete_pet -> delete_pet(petid, api_key) +> delete_pet(pet_id, api_key) Deletes a pet @@ -57,7 +57,7 @@ Deletes a pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | Pet id to delete | [required] | +**pet_id** | **i64** | Pet id to delete | [required] | **api_key** | Option<**String**> | | | ### Return type @@ -138,7 +138,7 @@ Name | Type | Description | Required | Notes ## get_pet_by_id -> crate::models::Pet get_pet_by_id(petid) +> crate::models::Pet get_pet_by_id(pet_id) Find pet by ID Returns a single pet @@ -148,7 +148,7 @@ Returns a single pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet to return | [required] | +**pet_id** | **i64** | ID of pet to return | [required] | ### Return type @@ -198,7 +198,7 @@ Name | Type | Description | Required | Notes ## update_pet_with_form -> update_pet_with_form(petid, name, status) +> update_pet_with_form(pet_id, name, status) Updates a pet in the store with form data @@ -208,7 +208,7 @@ Updates a pet in the store with form data Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet that needs to be updated | [required] | +**pet_id** | **i64** | ID of pet that needs to be updated | [required] | **name** | Option<**String**> | Updated name of the pet | | **status** | Option<**String**> | Updated status of the pet | | @@ -230,7 +230,7 @@ Name | Type | Description | Required | Notes ## upload_file -> crate::models::ApiResponse upload_file(petid, additionalmetadata, file) +> crate::models::ApiResponse upload_file(pet_id, additional_metadata, file) uploads an image @@ -240,8 +240,8 @@ uploads an image Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet to update | [required] | -**additionalmetadata** | Option<**String**> | Additional data to pass to server | | +**pet_id** | **i64** | ID of pet to update | [required] | +**additional_metadata** | Option<**String**> | Additional data to pass to server | | **file** | Option<**std::path::PathBuf**> | file to upload | | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore/docs/StoreApi.md b/samples/client/petstore/rust/reqwest/petstore/docs/StoreApi.md index 364e7f93df..a6b3c572cc 100644 --- a/samples/client/petstore/rust/reqwest/petstore/docs/StoreApi.md +++ b/samples/client/petstore/rust/reqwest/petstore/docs/StoreApi.md @@ -13,7 +13,7 @@ Method | HTTP request | Description ## delete_order -> delete_order(orderid) +> delete_order(order_id) Delete purchase order by ID For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors @@ -23,7 +23,7 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or non Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**orderid** | **String** | ID of the order that needs to be deleted | [required] | +**order_id** | **String** | ID of the order that needs to be deleted | [required] | ### Return type @@ -70,7 +70,7 @@ This endpoint does not need any parameter. ## get_order_by_id -> crate::models::Order get_order_by_id(orderid) +> crate::models::Order get_order_by_id(order_id) Find purchase order by ID For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions @@ -80,7 +80,7 @@ For valid response try integer IDs with value <= 5 or > 10. Other values will ge Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**orderid** | **i64** | ID of pet that needs to be fetched | [required] | +**order_id** | **i64** | ID of pet that needs to be fetched | [required] | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore/src/apis/fake_api.rs b/samples/client/petstore/rust/reqwest/petstore/src/apis/fake_api.rs index a345fce8d9..13d9b7f851 100644 --- a/samples/client/petstore/rust/reqwest/petstore/src/apis/fake_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore/src/apis/fake_api.rs @@ -26,7 +26,7 @@ pub enum TestNullableRequiredParamError { /// -pub fn test_nullable_required_param(configuration: &configuration::Configuration, username: &str, dummy_required_nullable_param: Option<&str>) -> Result<(), Error> { +pub fn test_nullable_required_param(configuration: &configuration::Configuration, username: &str, dummy_required_nullable_param: Option<&str>, uppercase: Option<&str>) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; @@ -41,6 +41,9 @@ pub fn test_nullable_required_param(configuration: &configuration::Configuration Some(local_var_param_value) => { local_var_req_builder = local_var_req_builder.header("dummy_required_nullable_param", local_var_param_value.to_string()); }, None => { local_var_req_builder = local_var_req_builder.header("dummy_required_nullable_param", ""); }, } + if let Some(local_var_param_value) = uppercase { + local_var_req_builder = local_var_req_builder.header("UPPERCASE", local_var_param_value.to_string()); + } let local_var_req = local_var_req_builder.build()?; let mut local_var_resp = local_var_client.execute(local_var_req)?; diff --git a/samples/client/petstore/rust/reqwest/petstore/src/apis/pet_api.rs b/samples/client/petstore/rust/reqwest/petstore/src/apis/pet_api.rs index 88cba2e99d..f44a38d609 100644 --- a/samples/client/petstore/rust/reqwest/petstore/src/apis/pet_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore/src/apis/pet_api.rs @@ -115,12 +115,12 @@ pub fn add_pet(configuration: &configuration::Configuration, pet: crate::models: } /// -pub fn delete_pet(configuration: &configuration::Configuration, petid: i64, api_key: Option<&str>) -> Result<(), Error> { +pub fn delete_pet(configuration: &configuration::Configuration, pet_id: i64, api_key: Option<&str>) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -219,12 +219,12 @@ pub fn find_pets_by_tags(configuration: &configuration::Configuration, tags: Vec } /// Returns a single pet -pub fn get_pet_by_id(configuration: &configuration::Configuration, petid: i64) -> Result> { +pub fn get_pet_by_id(configuration: &configuration::Configuration, pet_id: i64) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -287,12 +287,12 @@ pub fn update_pet(configuration: &configuration::Configuration, pet: crate::mode } /// -pub fn update_pet_with_form(configuration: &configuration::Configuration, petid: i64, name: Option<&str>, status: Option<&str>) -> Result<(), Error> { +pub fn update_pet_with_form(configuration: &configuration::Configuration, pet_id: i64, name: Option<&str>, status: Option<&str>) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -326,12 +326,12 @@ pub fn update_pet_with_form(configuration: &configuration::Configuration, petid: } /// -pub fn upload_file(configuration: &configuration::Configuration, petid: i64, additionalmetadata: Option<&str>, file: Option) -> Result> { +pub fn upload_file(configuration: &configuration::Configuration, pet_id: i64, additional_metadata: Option<&str>, file: Option) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -341,7 +341,7 @@ pub fn upload_file(configuration: &configuration::Configuration, petid: i64, add local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); }; let mut local_var_form = reqwest::multipart::Form::new(); - if let Some(local_var_param_value) = additionalmetadata { + if let Some(local_var_param_value) = additional_metadata { local_var_form = local_var_form.text("additionalMetadata", local_var_param_value.to_string()); } if let Some(local_var_param_value) = file { diff --git a/samples/client/petstore/rust/reqwest/petstore/src/apis/store_api.rs b/samples/client/petstore/rust/reqwest/petstore/src/apis/store_api.rs index bcc69cc560..f142404c3f 100644 --- a/samples/client/petstore/rust/reqwest/petstore/src/apis/store_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore/src/apis/store_api.rs @@ -50,12 +50,12 @@ pub enum PlaceOrderError { /// For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors -pub fn delete_order(configuration: &configuration::Configuration, orderid: &str) -> Result<(), Error> { +pub fn delete_order(configuration: &configuration::Configuration, order_id: &str) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(orderid)); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(order_id)); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -114,12 +114,12 @@ pub fn get_inventory(configuration: &configuration::Configuration, ) -> Result<: } /// For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions -pub fn get_order_by_id(configuration: &configuration::Configuration, orderid: i64) -> Result> { +pub fn get_order_by_id(configuration: &configuration::Configuration, order_id: i64) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=orderid); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=order_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { From 84ac06abdc96405a1ddf2a8204865d4b6cef8391 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Sun, 10 Jul 2022 08:45:49 -0400 Subject: [PATCH 163/212] 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 --- bin/generate-samples.sh | 4 -- .../PythonExperimentalClientCodegen.java | 41 ++++++++++++++----- 2 files changed, 30 insertions(+), 15 deletions(-) diff --git a/bin/generate-samples.sh b/bin/generate-samples.sh index 483d6dc797..b296ba608f 100755 --- a/bin/generate-samples.sh +++ b/bin/generate-samples.sh @@ -53,11 +53,7 @@ if [[ ${#files[@]} -eq 1 && "${files[0]}" != *'*'* ]]; then java ${JAVA_OPTS} -jar "$executable" generate -c ${files[0]} ${args[@]} else echo "Please press CTRL+C to stop or the script will continue in 5 seconds." - sleep 5 - # delete the 3_0_3 python-experimental tests because they are autogenerated our tooling needs to see differences - rm -rf "${root}/samples/openapi3/client/3_0_3_unit_test/python-experimental/test" - if [ ${#files[@]} -eq 0 ]; then files=("${root}"/bin/configs/*.yaml) fi diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java index ed144bc581..b373677418 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java @@ -25,6 +25,7 @@ import io.swagger.v3.oas.models.Operation; import io.swagger.v3.oas.models.servers.Server; import io.swagger.v3.oas.models.tags.Tag; +import org.apache.commons.io.FileUtils; import org.openapitools.codegen.api.TemplatePathLocator; import org.openapitools.codegen.ignore.CodegenIgnoreProcessor; import org.openapitools.codegen.model.ModelMap; @@ -740,6 +741,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { * this means that the generated client does not use these models * because they are not used we do not write them * - fix the model imports, go from model name to the full import string with toModelImport + globalImportFixer + * Also cleans the test folder if test cases exist and the testFolder is set because the tests are autogenerated * * @param objs a map going from the model name to a object hoding the model info * @return the updated objs @@ -748,6 +750,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { public Map postProcessAllModels(Map objs) { super.postProcessAllModels(objs); + boolean anyModelContainsTestCases = false; Map allDefinitions = ModelUtils.getSchemas(this.openAPI); for (String schemaName : allDefinitions.keySet()) { Schema refSchema = new Schema().$ref("#/components/schemas/" + schemaName); @@ -755,20 +758,36 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { String modelName = toModelName(schemaName); if (unaliasedSchema.get$ref() == null) { continue; - } else { - ModelsMap objModel = objs.get(modelName); - if (objModel != null) { // to avoid form parameter's models that are not generated (skipFormModel=true) - for (ModelMap model : objModel.getModels()) { - CodegenModel cm = model.getModel(); - String[] importModelNames = cm.imports.toArray(new String[0]); - cm.imports.clear(); - for (String importModelName : importModelNames) { - cm.imports.add(toModelImport(importModelName)); - } - } + } + ModelsMap objModel = objs.get(modelName); + if (objModel == null) { + // to avoid form parameter's models that are not generated (skipFormModel=true) + continue; + } + for (ModelMap model : objModel.getModels()) { + CodegenModel cm = model.getModel(); + if (cm.testCases != null && !cm.testCases.isEmpty()) { + anyModelContainsTestCases = true; + } + String[] importModelNames = cm.imports.toArray(new String[0]); + cm.imports.clear(); + for (String importModelName : importModelNames) { + cm.imports.add(toModelImport(importModelName)); } } } + boolean testFolderSet = testFolder != null; + if (testFolderSet && anyModelContainsTestCases) { + // delete the test folder because tests there will be autogenerated + String modelTestFolder = modelTestFileFolder(); + File testDirectory = new File(modelTestFolder); + try { + FileUtils.cleanDirectory(testDirectory); + } catch (IOException e) { + LOGGER.info("Unable to delete the test folder because of exception=" + e.toString()); + } + + } return objs; } From 20420e5e140d586d8930d49f541d335558f53525 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Mon, 11 Jul 2022 00:19:07 +0800 Subject: [PATCH 164/212] [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 --- .../codegen/languages/RClientCodegen.java | 2 - .../src/main/resources/r/api.mustache | 27 ++- .../src/main/resources/r/api_client.mustache | 45 +++- .../src/main/resources/r/api_doc.mustache | 2 +- .../src/test/resources/3_0/r/petstore.yaml | 32 +++ samples/client/petstore/R/R/api_client.R | 45 +++- samples/client/petstore/R/R/pet_api.R | 168 ++++++++++++++- samples/client/petstore/R/README.md | 5 +- samples/client/petstore/R/docs/PetApi.md | 67 +++++- samples/client/petstore/R/test_petstore.R | 202 +++++++++++------- .../petstore/R/tests/testthat/test_petstore.R | 7 + 11 files changed, 488 insertions(+), 114 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java index fd5d1a870e..3401ae3ae3 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java @@ -224,11 +224,9 @@ public class RClientCodegen extends DefaultCodegen implements CodegenConfig { additionalProperties.put(CodegenConstants.PACKAGE_NAME, packageName); additionalProperties.put(CodegenConstants.PACKAGE_VERSION, packageVersion); additionalProperties.put(CodegenConstants.EXCEPTION_ON_FAILURE, returnExceptionOnFailure); - additionalProperties.put(USE_DEFAULT_EXCEPTION, this.useDefaultExceptionHandling); additionalProperties.put(USE_RLANG_EXCEPTION, this.useRlangExceptionHandling); - additionalProperties.put("apiDocPath", apiDocPath); additionalProperties.put("modelDocPath", modelDocPath); diff --git a/modules/openapi-generator/src/main/resources/r/api.mustache b/modules/openapi-generator/src/main/resources/r/api.mustache index 8e24d44464..edb89d5042 100644 --- a/modules/openapi-generator/src/main/resources/r/api.mustache +++ b/modules/openapi-generator/src/main/resources/r/api.mustache @@ -177,14 +177,23 @@ {{#optionalParams}} #' @param {{{paramName}}} (optional) {{{description}}}{{#defaultValue}} (default value: {{{.}}}){{/defaultValue}} {{/optionalParams}} + {{#vendorExtensions.x-streaming}} + #' @param stream_callback (optional) callback function to process the data stream + {{/vendorExtensions.x-streaming}} {{#returnType}} #' @param data_file (optional) name of the data file to save the result {{/returnType}} #' @param ... Other optional arguments #' @return {{{returnType}}}{{^returnType}}void{{/returnType}} #' @export - {{{operationId}}} = function({{#requiredParams}}{{paramName}}, {{/requiredParams}}{{#optionalParams}}{{paramName}}={{^defaultValue}}NULL{{/defaultValue}}{{{defaultValue}}}, {{/optionalParams}}{{#returnType}}data_file=NULL, {{/returnType}}...) { - api_response <- self${{{operationId}}}WithHttpInfo({{#allParams}}{{paramName}}, {{/allParams}}{{#returnType}}data_file = data_file, {{/returnType}}...) + {{{operationId}}} = function({{#requiredParams}}{{paramName}}, {{/requiredParams}}{{#optionalParams}}{{paramName}}={{^defaultValue}}NULL{{/defaultValue}}{{{defaultValue}}}, {{/optionalParams}}{{#vendorExtensions.x-streaming}}stream_callback=NULL, {{/vendorExtensions.x-streaming}}{{#returnType}}data_file=NULL, {{/returnType}}...) { + api_response <- self${{{operationId}}}WithHttpInfo({{#allParams}}{{paramName}}, {{/allParams}}{{#vendorExtensions.x-streaming}}stream_callback = stream_callback, {{/vendorExtensions.x-streaming}}{{#returnType}}data_file = data_file, {{/returnType}}...) + {{#vendorExtensions.x-streaming}} + if (typeof(stream_callback) == "closure") { # return void if streaming is enabled + return(invisible(NULL)) + } + + {{/vendorExtensions.x-streaming}} resp <- api_response$response if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { api_response$content @@ -207,13 +216,16 @@ {{#optionalParams}} #' @param {{{paramName}}} (optional) {{{description}}}{{#defaultValue}} (default value: {{{.}}}){{/defaultValue}} {{/optionalParams}} + {{#vendorExtensions.x-streaming}} + #' @param stream_callback (optional) callback function to process the data stream + {{/vendorExtensions.x-streaming}} {{#returnType}} #' @param data_file (optional) name of the data file to save the result {{/returnType}} #' @param ... Other optional arguments #' @return API response ({{{returnType}}}{{^returnType}}void{{/returnType}}) with additional information such as HTTP status code, headers #' @export - {{{operationId}}}WithHttpInfo = function({{#requiredParams}}{{paramName}}, {{/requiredParams}}{{#optionalParams}}{{paramName}}={{^defaultValue}}NULL{{/defaultValue}}{{{defaultValue}}}, {{/optionalParams}}{{#returnType}}data_file = NULL, {{/returnType}}...) { + {{{operationId}}}WithHttpInfo = function({{#requiredParams}}{{paramName}}, {{/requiredParams}}{{#optionalParams}}{{paramName}}={{^defaultValue}}NULL{{/defaultValue}}{{{defaultValue}}}, {{/optionalParams}}{{#vendorExtensions.x-streaming}}stream_callback=NULL, {{/vendorExtensions.x-streaming}}{{#returnType}}data_file = NULL, {{/returnType}}...) { args <- list(...) query_params <- list() header_params <- c() @@ -311,8 +323,17 @@ query_params = query_params, header_params = header_params, body = body, + {{#vendorExtensions.x-streaming}} + stream_callback = stream_callback, + {{/vendorExtensions.x-streaming}} ...) + {{#vendorExtensions.x-streaming}} + if (typeof(stream_callback) == "closure") { # return void if streaming is enabled + return(invisible(NULL)) + } + + {{/vendorExtensions.x-streaming}} if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { {{#returnType}} {{#isPrimitiveType}} diff --git a/modules/openapi-generator/src/main/resources/r/api_client.mustache b/modules/openapi-generator/src/main/resources/r/api_client.mustache index d5f220b9c0..4cb754f984 100644 --- a/modules/openapi-generator/src/main/resources/r/api_client.mustache +++ b/modules/openapi-generator/src/main/resources/r/api_client.mustache @@ -128,9 +128,9 @@ ApiClient <- R6::R6Class( #' @param ... Other optional arguments. #' @return HTTP response #' @export - CallApi = function(url, method, query_params, header_params, body, ...) { + CallApi = function(url, method, query_params, header_params, body, stream_callback = NULL, ...) { - resp <- self$Execute(url, method, query_params, header_params, body, ...) + resp <- self$Execute(url, method, query_params, header_params, body, stream_callback = stream_callback, ...) status_code <- httr::status_code(resp) if (is.null(self$max_retry_attempts)) { @@ -142,7 +142,7 @@ ApiClient <- R6::R6Class( for (i in 1 : self$max_retry_attempts) { if (status_code %in% self$retry_status_codes) { Sys.sleep((2 ^ i) + stats::runif(n = 1, min = 0, max = 1)) - resp <- self$Execute(url, method, query_params, header_params, body, ...) + resp <- self$Execute(url, method, query_params, header_params, body, stream_callback = stream_callback, ...) status_code <- httr::status_code(resp) } else { break; @@ -162,10 +162,11 @@ ApiClient <- R6::R6Class( #' @param query_params The query parameters. #' @param header_params The header parameters. #' @param body The HTTP request body. + #' @param stream_callback callback function to process data stream #' @param ... Other optional arguments. #' @return HTTP response #' @export - Execute = function(url, method, query_params, header_params, body, ...) { + Execute = function(url, method, query_params, header_params, body, stream_callback = NULL, ...) { headers <- httr::add_headers(c(header_params, self$default_headers)) {{! Adding timeout that can be set at the apiClient object level}} @@ -175,17 +176,41 @@ ApiClient <- R6::R6Class( } if (method == "GET") { - httr::GET(url, query = query_params, headers, http_timeout, httr::user_agent(self$`user_agent`), ...) + if (typeof(stream_callback) == "closure") { + httr::GET(url, query = query_params, headers, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + } else { + httr::GET(url, query = query_params, headers, http_timeout, httr::user_agent(self$`user_agent`), ...) + } } else if (method == "POST") { - httr::POST(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, httr::user_agent(self$`user_agent`), ...) + if (typeof(stream_callback) == "closure") { + httr::POST(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + } else { + httr::POST(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, httr::user_agent(self$`user_agent`), ...) + } } else if (method == "PUT") { - httr::PUT(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + if (typeof(stream_callback) == "closure") { + httr::PUT(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + } else { + httr::PUT(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + } } else if (method == "PATCH") { - httr::PATCH(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + if (typeof(stream_callback) == "closure") { + httr::PATCH(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + } else { + httr::PATCH(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + } } else if (method == "HEAD") { - httr::HEAD(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + if (typeof(stream_callback) == "closure") { + httr::HEAD(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + } else { + httr::HEAD(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + } } else if (method == "DELETE") { - httr::DELETE(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + if (typeof(stream_callback) == "closure") { + httr::DELETE(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + } else { + httr::DELETE(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + } } else { err_msg <- "Http method must be `GET`, `HEAD`, `OPTIONS`, `POST`, `PATCH`, `PUT` or `DELETE`." {{#useDefaultExceptionHandling}} diff --git a/modules/openapi-generator/src/main/resources/r/api_doc.mustache b/modules/openapi-generator/src/main/resources/r/api_doc.mustache index f5fe834c30..e5c678efc7 100644 --- a/modules/openapi-generator/src/main/resources/r/api_doc.mustache +++ b/modules/openapi-generator/src/main/resources/r/api_doc.mustache @@ -53,7 +53,7 @@ result <- tryCatch( # to save the result into a file, simply add the optional `data_file` parameter, e.g. # api_instance${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}} = var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}{{#allParams}}{{#-first}}, {{/-first}}{{/allParams}}data_file = "result.txt"), {{/returnType}} - api_instance${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}} = var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}), + api_instance${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}} = var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}{{#vendorExtensions.x-streaming}}, stream_callback = function(x){ print(length(x)) }{{/vendorExtensions.x-streaming}}), ApiException = function(ex) ex ) # In case of error, print the error object diff --git a/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml b/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml index c2dc0e77df..dc669b62e2 100644 --- a/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/r/petstore.yaml @@ -185,6 +185,38 @@ paths: description: Pet not found security: - api_key: [] + '/pet/{petId}?streaming': + get: + tags: + - pet + summary: Find pet by ID (streaming) + description: Returns a single pet + operationId: getPetByIdStreaming + x-streaming: true + parameters: + - name: petId + in: path + description: ID of pet to return + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Pet' + application/json: + schema: + $ref: '#/components/schemas/Pet' + '400': + description: Invalid ID supplied + '404': + description: Pet not found + security: + - api_key: [] post: tags: - pet diff --git a/samples/client/petstore/R/R/api_client.R b/samples/client/petstore/R/R/api_client.R index 70912dd4de..c60b8df2e9 100644 --- a/samples/client/petstore/R/R/api_client.R +++ b/samples/client/petstore/R/R/api_client.R @@ -133,9 +133,9 @@ ApiClient <- R6::R6Class( #' @param ... Other optional arguments. #' @return HTTP response #' @export - CallApi = function(url, method, query_params, header_params, body, ...) { + CallApi = function(url, method, query_params, header_params, body, stream_callback = NULL, ...) { - resp <- self$Execute(url, method, query_params, header_params, body, ...) + resp <- self$Execute(url, method, query_params, header_params, body, stream_callback = stream_callback, ...) status_code <- httr::status_code(resp) if (is.null(self$max_retry_attempts)) { @@ -147,7 +147,7 @@ ApiClient <- R6::R6Class( for (i in 1 : self$max_retry_attempts) { if (status_code %in% self$retry_status_codes) { Sys.sleep((2 ^ i) + stats::runif(n = 1, min = 0, max = 1)) - resp <- self$Execute(url, method, query_params, header_params, body, ...) + resp <- self$Execute(url, method, query_params, header_params, body, stream_callback = stream_callback, ...) status_code <- httr::status_code(resp) } else { break; @@ -167,10 +167,11 @@ ApiClient <- R6::R6Class( #' @param query_params The query parameters. #' @param header_params The header parameters. #' @param body The HTTP request body. + #' @param stream_callback callback function to process data stream #' @param ... Other optional arguments. #' @return HTTP response #' @export - Execute = function(url, method, query_params, header_params, body, ...) { + Execute = function(url, method, query_params, header_params, body, stream_callback = NULL, ...) { headers <- httr::add_headers(c(header_params, self$default_headers)) http_timeout <- NULL @@ -179,17 +180,41 @@ ApiClient <- R6::R6Class( } if (method == "GET") { - httr::GET(url, query = query_params, headers, http_timeout, httr::user_agent(self$`user_agent`), ...) + if (typeof(stream_callback) == "closure") { + httr::GET(url, query = query_params, headers, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + } else { + httr::GET(url, query = query_params, headers, http_timeout, httr::user_agent(self$`user_agent`), ...) + } } else if (method == "POST") { - httr::POST(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, httr::user_agent(self$`user_agent`), ...) + if (typeof(stream_callback) == "closure") { + httr::POST(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + } else { + httr::POST(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, httr::user_agent(self$`user_agent`), ...) + } } else if (method == "PUT") { - httr::PUT(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + if (typeof(stream_callback) == "closure") { + httr::PUT(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + } else { + httr::PUT(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + } } else if (method == "PATCH") { - httr::PATCH(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + if (typeof(stream_callback) == "closure") { + httr::PATCH(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + } else { + httr::PATCH(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + } } else if (method == "HEAD") { - httr::HEAD(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + if (typeof(stream_callback) == "closure") { + httr::HEAD(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + } else { + httr::HEAD(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + } } else if (method == "DELETE") { - httr::DELETE(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + if (typeof(stream_callback) == "closure") { + httr::DELETE(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + } else { + httr::DELETE(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + } } else { err_msg <- "Http method must be `GET`, `HEAD`, `OPTIONS`, `POST`, `PATCH`, `PUT` or `DELETE`." rlang::abort(message = err_msg, .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = err_msg)) diff --git a/samples/client/petstore/R/R/pet_api.R b/samples/client/petstore/R/R/pet_api.R index c216b558e4..6b2f654c17 100644 --- a/samples/client/petstore/R/R/pet_api.R +++ b/samples/client/petstore/R/R/pet_api.R @@ -139,6 +139,38 @@ #' } #' } #' +#' \strong{ GetPetByIdStreaming } \emph{ Find pet by ID (streaming) } +#' Returns a single pet +#' +#' \itemize{ +#' \item \emph{ @param } pet_id integer +#' \item \emph{ @returnType } \link{Pet} \cr +#' +#' \item On encountering errors, an error of subclass ApiException will be thrown. +#' +#' \item status code : 200 | successful operation +#' +#' \item return type : Pet +#' \item response headers : +#' +#' \tabular{ll}{ +#' } +#' \item status code : 400 | Invalid ID supplied +#' +#' +#' \item response headers : +#' +#' \tabular{ll}{ +#' } +#' \item status code : 404 | Pet not found +#' +#' +#' \item response headers : +#' +#' \tabular{ll}{ +#' } +#' } +#' #' \strong{ UpdatePet } \emph{ Update an existing pet } #' #' @@ -361,6 +393,34 @@ #' } #' #' +#' #################### GetPetByIdStreaming #################### +#' +#' library(petstore) +#' var.pet_id <- 56 # integer | ID of pet to return +#' +#' #Find pet by ID (streaming) +#' api.instance <- PetApi$new() +#' +#' #Configure API key authorization: api_key +#' api.instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; +#' +#'result <- tryCatch( +#' api.instance$GetPetByIdStreaming(var.pet_id), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if(!is.null(result$ApiException)) { +#' cat(result$ApiException$toString()) +#' } else { +#' # deserialized response object +#' response.object <- result$content +#' # response headers +#' response.headers <- result$response$headers +#' # response status code +#' response.status.code <- result$response$status_code +#' } +#' +#' #' #################### UpdatePet #################### #' #' library(petstore) @@ -606,7 +666,7 @@ PetApi <- R6::R6Class( } body <- NULL - url_path <- "/pet/{petId}" + url_path <- "/pet/{petId}?streaming" if (!missing(`pet_id`)) { url_path <- gsub(paste0("\\{", "petId", "\\}"), URLencode(as.character(`pet_id`), reserved = TRUE), url_path) } @@ -910,6 +970,110 @@ PetApi <- R6::R6Class( rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) } }, + #' Find pet by ID (streaming) + #' + #' @description + #' Find pet by ID (streaming) + #' + #' @param pet_id ID of pet to return + #' @param stream_callback (optional) callback function to process the data stream + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return Pet + #' @export + GetPetByIdStreaming = function(pet_id, stream_callback=NULL, data_file=NULL, ...) { + api_response <- self$GetPetByIdStreamingWithHttpInfo(pet_id, stream_callback = stream_callback, data_file = data_file, ...) + if (typeof(stream_callback) == "closure") { # return void if streaming is enabled + return(invisible(NULL)) + } + + resp <- api_response$response + if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { + api_response$content + } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { + api_response + } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { + api_response + } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { + api_response + } + }, + #' Find pet by ID (streaming) + #' + #' @description + #' Find pet by ID (streaming) + #' + #' @param pet_id ID of pet to return + #' @param stream_callback (optional) callback function to process the data stream + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' @return API response (Pet) with additional information such as HTTP status code, headers + #' @export + GetPetByIdStreamingWithHttpInfo = function(pet_id, stream_callback=NULL, data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + + if (missing(`pet_id`)) { + rlang::abort(message = "Missing required parameter `pet_id`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `pet_id`.")) + } + + body <- NULL + url_path <- "/pet/{petId}?streaming" + if (!missing(`pet_id`)) { + url_path <- gsub(paste0("\\{", "petId", "\\}"), URLencode(as.character(`pet_id`), reserved = TRUE), url_path) + } + + # API key authentication + if ("api_key" %in% names(self$api_client$api_keys) && nchar(self$api_client$api_keys["api_key"]) > 0) { + header_params["api_key"] <- paste(unlist(self$api_client$api_keys["api_key"]), collapse = "") + } + + resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + body = body, + stream_callback = stream_callback, + ...) + + if (typeof(stream_callback) == "closure") { # return void if streaming is enabled + return(invisible(NULL)) + } + + if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(httr::content(resp, "text", encoding = "UTF-8", simplifyVector = FALSE), data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(resp, "Pet", loadNamespace("petstore")), + error = function(e) { + rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + } + ) + ApiResponse$new(deserialized_resp_obj, resp) + } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api client exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { + error_msg <- toString(content(resp)) + if(error_msg == "") { + error_msg <- "Api server exception encountered." + } + rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + } + }, #' Update an existing pet #' #' @description @@ -1051,7 +1215,7 @@ PetApi <- R6::R6Class( "status" = status ) - url_path <- "/pet/{petId}" + url_path <- "/pet/{petId}?streaming" if (!missing(`pet_id`)) { url_path <- gsub(paste0("\\{", "petId", "\\}"), URLencode(as.character(`pet_id`), reserved = TRUE), url_path) } diff --git a/samples/client/petstore/R/README.md b/samples/client/petstore/R/README.md index 79c2d3f042..18c37ed822 100644 --- a/samples/client/petstore/R/README.md +++ b/samples/client/petstore/R/README.md @@ -63,12 +63,13 @@ Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- *FakeApi* | [**FakeDataFile**](docs/FakeApi.md#FakeDataFile) | **GET** /fake/data_file | test data_file to ensure it's escaped correctly *PetApi* | [**AddPet**](docs/PetApi.md#AddPet) | **POST** /pet | Add a new pet to the store -*PetApi* | [**DeletePet**](docs/PetApi.md#DeletePet) | **DELETE** /pet/{petId} | Deletes a pet +*PetApi* | [**DeletePet**](docs/PetApi.md#DeletePet) | **DELETE** /pet/{petId}?streaming | Deletes a pet *PetApi* | [**FindPetsByStatus**](docs/PetApi.md#FindPetsByStatus) | **GET** /pet/findByStatus | Finds Pets by status *PetApi* | [**FindPetsByTags**](docs/PetApi.md#FindPetsByTags) | **GET** /pet/findByTags | Finds Pets by tags *PetApi* | [**GetPetById**](docs/PetApi.md#GetPetById) | **GET** /pet/{petId} | Find pet by ID +*PetApi* | [**GetPetByIdStreaming**](docs/PetApi.md#GetPetByIdStreaming) | **GET** /pet/{petId}?streaming | Find pet by ID (streaming) *PetApi* | [**UpdatePet**](docs/PetApi.md#UpdatePet) | **PUT** /pet | Update an existing pet -*PetApi* | [**UpdatePetWithForm**](docs/PetApi.md#UpdatePetWithForm) | **POST** /pet/{petId} | Updates a pet in the store with form data +*PetApi* | [**UpdatePetWithForm**](docs/PetApi.md#UpdatePetWithForm) | **POST** /pet/{petId}?streaming | Updates a pet in the store with form data *PetApi* | [**UploadFile**](docs/PetApi.md#UploadFile) | **POST** /pet/{petId}/uploadImage | uploads an image *StoreApi* | [**DeleteOrder**](docs/StoreApi.md#DeleteOrder) | **DELETE** /store/order/{orderId} | Delete purchase order by ID *StoreApi* | [**GetInventory**](docs/StoreApi.md#GetInventory) | **GET** /store/inventory | Returns pet inventories by status diff --git a/samples/client/petstore/R/docs/PetApi.md b/samples/client/petstore/R/docs/PetApi.md index d302a3bf70..3ac22efa25 100644 --- a/samples/client/petstore/R/docs/PetApi.md +++ b/samples/client/petstore/R/docs/PetApi.md @@ -5,12 +5,13 @@ All URIs are relative to *http://petstore.swagger.io/v2* Method | HTTP request | Description ------------- | ------------- | ------------- [**AddPet**](PetApi.md#AddPet) | **POST** /pet | Add a new pet to the store -[**DeletePet**](PetApi.md#DeletePet) | **DELETE** /pet/{petId} | Deletes a pet +[**DeletePet**](PetApi.md#DeletePet) | **DELETE** /pet/{petId}?streaming | Deletes a pet [**FindPetsByStatus**](PetApi.md#FindPetsByStatus) | **GET** /pet/findByStatus | Finds Pets by status [**FindPetsByTags**](PetApi.md#FindPetsByTags) | **GET** /pet/findByTags | Finds Pets by tags [**GetPetById**](PetApi.md#GetPetById) | **GET** /pet/{petId} | Find pet by ID +[**GetPetByIdStreaming**](PetApi.md#GetPetByIdStreaming) | **GET** /pet/{petId}?streaming | Find pet by ID (streaming) [**UpdatePet**](PetApi.md#UpdatePet) | **PUT** /pet | Update an existing pet -[**UpdatePetWithForm**](PetApi.md#UpdatePetWithForm) | **POST** /pet/{petId} | Updates a pet in the store with form data +[**UpdatePetWithForm**](PetApi.md#UpdatePetWithForm) | **POST** /pet/{petId}?streaming | Updates a pet in the store with form data [**UploadFile**](PetApi.md#UploadFile) | **POST** /pet/{petId}/uploadImage | uploads an image @@ -317,6 +318,68 @@ Name | Type | Description | Notes | **400** | Invalid ID supplied | - | | **404** | Pet not found | - | +# **GetPetByIdStreaming** +> Pet GetPetByIdStreaming(pet_id) + +Find pet by ID (streaming) + +Returns a single pet + +### Example +```R +library(petstore) + +var_pet_id <- 56 # integer | ID of pet to return + +#Find pet by ID (streaming) +api_instance <- PetApi$new() +# Configure API key authorization: api_key +api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; +result <- tryCatch( + # to save the result into a file, simply add the optional `data_file` parameter, e.g. + # api_instance$GetPetByIdStreaming(var_pet_id, data_file = "result.txt"), + api_instance$GetPetByIdStreaming(var_pet_id, stream_callback = function(x){ print(length(x)) }), + ApiException = function(ex) ex + ) +# In case of error, print the error object +if (!is.null(result$ApiException)) { + cat(result$ApiException$toString()) +} else { + # deserialized response object + response.object <- result$content + # response headers + response.headers <- result$response$headers + # response status code + response.status.code <- result$response$status_code +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **pet_id** | **integer**| ID of pet to return | + +### Return type + +[**Pet**](Pet.md) + +### Authorization + +[api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/xml, application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | successful operation | - | +| **400** | Invalid ID supplied | - | +| **404** | Pet not found | - | + # **UpdatePet** > Pet UpdatePet(pet) diff --git a/samples/client/petstore/R/test_petstore.R b/samples/client/petstore/R/test_petstore.R index ff95be9432..ed6479680e 100644 --- a/samples/client/petstore/R/test_petstore.R +++ b/samples/client/petstore/R/test_petstore.R @@ -2,25 +2,35 @@ install.packages("petstore_1.0.0.tar.gz",repos=NULL, type="source") library(petstore) -#errorMsg <- "{\"code\":1,\"type\":\"error\",\"message\":\"Pet not found\"}" -##errorMsg <- '{"code": 404, "message": "Not found"}' -#a <- ModelApiResponse$new()$fromJSONString(errorMsg) -#dput(a) -# -#var_pet_id <- 1231256 # integer | ID of pet to return -# -##Find pet by ID -#api_instance <- PetApi$new() -## Configure API key authorization: api_key -#api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; -#result <- tryCatch( -# api_instance$GetPetById(var_pet_id), -# ApiException = function(ex) ex -# ) -## In case of error, print the error object -#if(!is.null(result$ApiException)) { +var_pet <- Pet$new("name_example", list("photoUrls_example"), 56, Category$new(56, "name_example"), list(Tag$new(56, "name_example")), "available") # Pet | Pet object that needs to be added to the store + +#Add a new pet to the store +api_instance <- PetApi$new() +# Configure OAuth2 access token for authorization: petstore_auth +api_instance$api_client$access_token <- 'TODO_YOUR_ACCESS_TOKEN'; +result <- tryCatch( + # to save the result into a file, simply add the optional `data_file` parameter, e.g. + # api_instance$AddPet(var_pet, data_file = "result.txt"), + api_instance$AddPet(var_pet), + ApiException = function(ex) ex + ) + +var_pet_id <- 56 # integer | ID of pet to return + +#Find pet by ID (streaming) +api_instance <- PetApi$new() +# Configure API key authorization: api_key +api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; +result <- tryCatch( + # to save the result into a file, simply add the optional `data_file` parameter, e.g. + # api_instance$GetPetByIdStreaming(var_pet_id, data_file = "result.txt"), + api_instance$GetPetByIdStreaming(var_pet_id, stream_callback = function(x) { print(x) }), + ApiException = function(ex) ex + ) +# In case of error, print the error object +#if (!is.null(result$ApiException)) { # cat(result$ApiException$toString()) -#} else { +#} #else { # # deserialized response object # response.object <- result$content # # response headers @@ -29,75 +39,103 @@ library(petstore) # response.status.code <- result$response$status_code #} -json2 <- -'{"name": "pet", "photoUrls" : ["http://a.com", "http://b.com"]}' -jsonlite::minify(json2) - -pet_api <- PetApi$new() -pet_id <- 123321 -pet <- Pet$new("name_test", - photoUrls = list("photo_test", "second test"), - category = Category$new(id = 450, name = "test_cat"), - id = pet_id, - tags = list( - Tag$new(id = 123, name = "tag_test"), Tag$new(id = 456, name = "unknown") - ), - status = "available" -) - -#jsonlite::minify(pet$toJSONString()) -#cat(pet$toJSONString()) -toString(pet$toString()) - -#json <- -#'[ -# {"Name" : "Mario", "Age" : 32, "Occupation" : "Plumber"}, -# {"Name" : "Peach", "Age" : 21, "Occupation" : "Princess"}, -# {}, -# {"Name" : "Bowser", "Occupation" : "Koopa"} -#]' +##errorMsg <- "{\"code\":1,\"type\":\"error\",\"message\":\"Pet not found\"}" +###errorMsg <- '{"code": 404, "message": "Not found"}' +##a <- ModelApiResponse$new()$fromJSONString(errorMsg) +##dput(a) +## +##var_pet_id <- 1231256 # integer | ID of pet to return +## +###Find pet by ID +##api_instance <- PetApi$new() +### Configure API key authorization: api_key +##api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; +##result <- tryCatch( +## api_instance$GetPetById(var_pet_id), +## ApiException = function(ex) ex +## ) +### In case of error, print the error object +##if(!is.null(result$ApiException)) { +## cat(result$ApiException$toString()) +##} else { +## # deserialized response object +## response.object <- result$content +## # response headers +## response.headers <- result$response$headers +## # response status code +## response.status.code <- result$response$status_code +##} # +#json2 <- +#'{"name": "pet", "photoUrls" : ["http://a.com", "http://b.com"]}' # -##Pet$public_methods -##Pet$public_methods$fromJSON(json) -##Pet$public_methods$toJson() -##Pet$public_methods$validateJSON(json2) -##Pet$public_methods$validateJson(json) -##Pet$my_static_method <- function(x) { x + 2} -##Pet$public_methods$my_static_method(1) +#jsonlite::minify(json2) # - basque_pig_json <- - '{"className2": "BasquePig", "color": "red"}' -# -# danish_pig_json <- -# '{"className2": "DanishPig", "size": 7}' -# -# wrong_json <- -# '[ -# {"Name" : "Tom", "Age" : 32, "Occupation" : "Consultant"}, -# {}, -# {"Name" : "Ada", "Occupation" : "Engineer"} -# ]' +#pet_api <- PetApi$new() +#pet_id <- 123321 +#pet <- Pet$new("name_test", +# photoUrls = list("photo_test", "second test"), +# category = Category$new(id = 450, name = "test_cat"), +# id = pet_id, +# tags = list( +# Tag$new(id = 123, name = "tag_test"), Tag$new(id = 456, name = "unknown") +# ), +# status = "available" +#) # -# print("==========") - pig <- Pig$new() - basque_pig <- pig$fromJSON(basque_pig_json) -# #print(basque_pig$actual_instance$color) -# #expect_equal(basque_pig$actual_type, "BasquePig") -# pig$fromJSON(danish_pig_json) -# #pig$fromJSON(wrong_json) -# pig$toJSON() +##jsonlite::minify(pet$toJSONString()) +##cat(pet$toJSONString()) +#toString(pet$toString()) # -# #d <- DanishPig$new() -# #dp <- d$validateJSON(danish_pig_json) +##json <- +##'[ +## {"Name" : "Mario", "Age" : 32, "Occupation" : "Plumber"}, +## {"Name" : "Peach", "Age" : 21, "Occupation" : "Princess"}, +## {}, +## {"Name" : "Bowser", "Occupation" : "Koopa"} +##]' +## +## +###Pet$public_methods +###Pet$public_methods$fromJSON(json) +###Pet$public_methods$toJson() +###Pet$public_methods$validateJSON(json2) +###Pet$public_methods$validateJson(json) +###Pet$my_static_method <- function(x) { x + 2} +###Pet$public_methods$my_static_method(1) +## +# basque_pig_json <- +# '{"className2": "BasquePig", "color": "red"}' +## +## danish_pig_json <- +## '{"className2": "DanishPig", "size": 7}' +## +## wrong_json <- +## '[ +## {"Name" : "Tom", "Age" : 32, "Occupation" : "Consultant"}, +## {}, +## {"Name" : "Ada", "Occupation" : "Engineer"} +## ]' +## +## print("==========") +# pig <- Pig$new() +# basque_pig <- pig$fromJSON(basque_pig_json) +## #print(basque_pig$actual_instance$color) +## #expect_equal(basque_pig$actual_type, "BasquePig") +## pig$fromJSON(danish_pig_json) +## #pig$fromJSON(wrong_json) +## pig$toJSON() +## +## #d <- DanishPig$new() +## #dp <- d$validateJSON(danish_pig_json) +## +## # +## test nested oneOf +#nested_oneof <- NestedOneOf$new() +#nested_oneof$nested_pig <- pig +#nested_oneof$size <- 15 +# +#cat(nested_oneof$toJSONString()) # - -# test nested oneOf -nested_oneof <- NestedOneOf$new() -nested_oneof$nested_pig <- pig -nested_oneof$size <- 15 - -cat(nested_oneof$toJSONString()) - diff --git a/samples/client/petstore/R/tests/testthat/test_petstore.R b/samples/client/petstore/R/tests/testthat/test_petstore.R index f4b2df8344..b59366abe7 100644 --- a/samples/client/petstore/R/tests/testthat/test_petstore.R +++ b/samples/client/petstore/R/tests/testthat/test_petstore.R @@ -92,6 +92,13 @@ test_that("GetPetById", { ) }) +test_that("GetPetByIdStreaming", { + result <- tryCatch( + pet_api$GetPetByIdStreaming(pet_id, stream_callback = function(x) { print(x) }), + ApiException = function(ex) ex + ) +}) + #test_that("test GetPetById exception", { # # test exception # result <- tryCatch(petApi$GetPetById(98765), # petId not exist From cd48db43b48a520a688de47a87a527d90b18cd85 Mon Sep 17 00:00:00 2001 From: Thomas Hansen Date: Mon, 11 Jul 2022 18:00:39 +0200 Subject: [PATCH 165/212] [PHP] Add support to nullable (based on #3493) (#12794) * [PHP] Add support to nullable (based on PR 3493) * [AUTOGENERATED] update samples --- .../resources/php/ModelInterface.mustache | 16 ++ .../resources/php/ObjectSerializer.mustache | 12 +- .../main/resources/php/model_generic.mustache | 98 ++++++- .../lib/Model/AdditionalPropertiesClass.php | 91 ++++++- .../lib/Model/AllOfWithSingleRef.php | 98 ++++++- .../OpenAPIClient-php/lib/Model/Animal.php | 91 ++++++- .../lib/Model/ApiResponse.php | 99 ++++++- .../lib/Model/ArrayOfArrayOfNumberOnly.php | 83 +++++- .../lib/Model/ArrayOfNumberOnly.php | 83 +++++- .../OpenAPIClient-php/lib/Model/ArrayTest.php | 99 ++++++- .../lib/Model/Capitalization.php | 123 ++++++++- .../php/OpenAPIClient-php/lib/Model/Cat.php | 83 +++++- .../OpenAPIClient-php/lib/Model/CatAllOf.php | 83 +++++- .../OpenAPIClient-php/lib/Model/Category.php | 91 ++++++- .../lib/Model/ClassModel.php | 83 +++++- .../OpenAPIClient-php/lib/Model/Client.php | 83 +++++- .../lib/Model/DeprecatedObject.php | 83 +++++- .../php/OpenAPIClient-php/lib/Model/Dog.php | 83 +++++- .../OpenAPIClient-php/lib/Model/DogAllOf.php | 83 +++++- .../lib/Model/EnumArrays.php | 91 ++++++- .../OpenAPIClient-php/lib/Model/EnumTest.php | 146 ++++++++++- .../php/OpenAPIClient-php/lib/Model/File.php | 83 +++++- .../lib/Model/FileSchemaTestClass.php | 91 ++++++- .../php/OpenAPIClient-php/lib/Model/Foo.php | 83 +++++- .../lib/Model/FooGetDefaultResponse.php | 83 +++++- .../lib/Model/FormatTest.php | 203 +++++++++++++-- .../lib/Model/HasOnlyReadOnly.php | 91 ++++++- .../lib/Model/HealthCheckResult.php | 90 ++++++- .../OpenAPIClient-php/lib/Model/MapTest.php | 107 +++++++- ...PropertiesAndAdditionalPropertiesClass.php | 99 ++++++- .../lib/Model/Model200Response.php | 91 ++++++- .../lib/Model/ModelInterface.php | 16 ++ .../OpenAPIClient-php/lib/Model/ModelList.php | 83 +++++- .../lib/Model/ModelReturn.php | 83 +++++- .../php/OpenAPIClient-php/lib/Model/Name.php | 107 +++++++- .../lib/Model/NullableClass.php | 241 +++++++++++++++++- .../lib/Model/NumberOnly.php | 83 +++++- .../lib/Model/ObjectWithDeprecatedFields.php | 107 +++++++- .../php/OpenAPIClient-php/lib/Model/Order.php | 123 ++++++++- .../lib/Model/OuterComposite.php | 99 ++++++- .../lib/Model/OuterObjectWithEnumProperty.php | 83 +++++- .../php/OpenAPIClient-php/lib/Model/Pet.php | 123 ++++++++- .../lib/Model/ReadOnlyFirst.php | 91 ++++++- .../lib/Model/SpecialModelName.php | 83 +++++- .../php/OpenAPIClient-php/lib/Model/Tag.php | 91 ++++++- .../php/OpenAPIClient-php/lib/Model/User.php | 139 +++++++++- .../lib/ObjectSerializer.php | 12 +- 47 files changed, 4258 insertions(+), 129 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/php/ModelInterface.mustache b/modules/openapi-generator/src/main/resources/php/ModelInterface.mustache index e13fc20411..805db43f0d 100644 --- a/modules/openapi-generator/src/main/resources/php/ModelInterface.mustache +++ b/modules/openapi-generator/src/main/resources/php/ModelInterface.mustache @@ -83,4 +83,20 @@ interface ModelInterface * @return bool */ public function valid(); + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool; + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool; } diff --git a/modules/openapi-generator/src/main/resources/php/ObjectSerializer.mustache b/modules/openapi-generator/src/main/resources/php/ObjectSerializer.mustache index 2c6aa836fb..6b27c09d5f 100644 --- a/modules/openapi-generator/src/main/resources/php/ObjectSerializer.mustache +++ b/modules/openapi-generator/src/main/resources/php/ObjectSerializer.mustache @@ -89,7 +89,7 @@ class ObjectSerializer } } } - if ($value !== null) { + if (($data::isNullable($property) && $data->isNullableSetToNull($property)) || $value !== null) { $values[$data::attributeMap()[$property]] = self::sanitizeForSerialization($value, $openAPIType, $formats[$property]); } } @@ -460,7 +460,15 @@ class ObjectSerializer foreach ($instance::openAPITypes() as $property => $type) { $propertySetter = $instance::setters()[$property]; - if (!isset($propertySetter) || !isset($data->{$instance::attributeMap()[$property]})) { + if (!isset($propertySetter)) { + continue; + } + + if (!isset($data->{$instance::attributeMap()[$property]})) { + if ($instance::isNullable($property)) { + $instance->$propertySetter(null); + } + continue; } diff --git a/modules/openapi-generator/src/main/resources/php/model_generic.mustache b/modules/openapi-generator/src/main/resources/php/model_generic.mustache index 9f6bdaa649..f09167eaa8 100644 --- a/modules/openapi-generator/src/main/resources/php/model_generic.mustache +++ b/modules/openapi-generator/src/main/resources/php/model_generic.mustache @@ -31,6 +31,23 @@ class {{classname}} {{#parentSchema}}extends {{{parent}}}{{/parentSchema}}{{^par {{/-last}}{{/vars}} ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + {{#vars}}'{{name}}' => {{#isNullable}}true{{/isNullable}}{{^isNullable}}false{{/isNullable}}{{^-last}}, + {{/-last}}{{/vars}} + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -51,6 +68,48 @@ class {{classname}} {{#parentSchema}}extends {{{parent}}}{{/parentSchema}}{{^par return self::$openAPIFormats{{#parentSchema}} + parent::openAPIFormats(){{/parentSchema}}; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables{{#parentSchema}} + parent::openAPINullables(){{/parentSchema}}; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -172,7 +231,7 @@ class {{classname}} {{#parentSchema}}extends {{{parent}}}{{/parentSchema}}{{^par {{/parentSchema}} {{#vars}} - $this->container['{{name}}'] = $data['{{name}}'] ?? {{{defaultValue}}}{{^defaultValue}}null{{/defaultValue}}; + $this->setIfExists('{{name}}', $data ?? [], {{#defaultValue}}{{{defaultValue}}}{{/defaultValue}}{{^defaultValue}}null{{/defaultValue}}); {{/vars}} {{#discriminator}} @@ -181,6 +240,24 @@ class {{classname}} {{#parentSchema}}extends {{{parent}}}{{/parentSchema}}{{^par {{/discriminator}} } + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; + } + /** * Show all the invalid properties with reasons. * @@ -359,6 +436,25 @@ class {{classname}} {{#parentSchema}}extends {{{parent}}}{{/parentSchema}}{{^par } {{/minItems}} {{/hasValidation}} + + {{#isNullable}} + if (is_null(${{name}})) { + array_push($this->openAPINullablesSetToNull, '{{name}}'); + } else { + $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); + $index = array_search('{{name}}', $nullablesSetToNull); + if ($index !== FALSE) { + unset($nullablesSetToNull[$index]); + $this->setOpenAPINullablesSetToNull($nullablesSetToNull); + } + } + {{/isNullable}} + {{^isNullable}} + if (is_null(${{name}})) { + throw new \InvalidArgumentException('non-nullable {{name}} cannot be null'); + } + {{/isNullable}} + $this->container['{{name}}'] = ${{name}}; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AdditionalPropertiesClass.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AdditionalPropertiesClass.php index 9aed83a3e4..a8f964b20a 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AdditionalPropertiesClass.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AdditionalPropertiesClass.php @@ -73,6 +73,23 @@ class AdditionalPropertiesClass implements ModelInterface, ArrayAccess, \JsonSer 'map_of_map_property' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'map_property' => false, + 'map_of_map_property' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -93,6 +110,48 @@ class AdditionalPropertiesClass implements ModelInterface, ArrayAccess, \JsonSer return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -181,8 +240,26 @@ class AdditionalPropertiesClass implements ModelInterface, ArrayAccess, \JsonSer */ public function __construct(array $data = null) { - $this->container['map_property'] = $data['map_property'] ?? null; - $this->container['map_of_map_property'] = $data['map_of_map_property'] ?? null; + $this->setIfExists('map_property', $data ?? [], null); + $this->setIfExists('map_of_map_property', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -228,6 +305,11 @@ class AdditionalPropertiesClass implements ModelInterface, ArrayAccess, \JsonSer */ public function setMapProperty($map_property) { + + if (is_null($map_property)) { + throw new \InvalidArgumentException('non-nullable map_property cannot be null'); + } + $this->container['map_property'] = $map_property; return $this; @@ -252,6 +334,11 @@ class AdditionalPropertiesClass implements ModelInterface, ArrayAccess, \JsonSer */ public function setMapOfMapProperty($map_of_map_property) { + + if (is_null($map_of_map_property)) { + throw new \InvalidArgumentException('non-nullable map_of_map_property cannot be null'); + } + $this->container['map_of_map_property'] = $map_of_map_property; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AllOfWithSingleRef.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AllOfWithSingleRef.php index 31a8ac52f0..3c6fa68e2b 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AllOfWithSingleRef.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/AllOfWithSingleRef.php @@ -73,6 +73,23 @@ class AllOfWithSingleRef implements ModelInterface, ArrayAccess, \JsonSerializab 'single_ref_type' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'username' => false, + 'single_ref_type' => true + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -93,6 +110,48 @@ class AllOfWithSingleRef implements ModelInterface, ArrayAccess, \JsonSerializab return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -181,8 +240,26 @@ class AllOfWithSingleRef implements ModelInterface, ArrayAccess, \JsonSerializab */ public function __construct(array $data = null) { - $this->container['username'] = $data['username'] ?? null; - $this->container['single_ref_type'] = $data['single_ref_type'] ?? null; + $this->setIfExists('username', $data ?? [], null); + $this->setIfExists('single_ref_type', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -228,6 +305,11 @@ class AllOfWithSingleRef implements ModelInterface, ArrayAccess, \JsonSerializab */ public function setUsername($username) { + + if (is_null($username)) { + throw new \InvalidArgumentException('non-nullable username cannot be null'); + } + $this->container['username'] = $username; return $this; @@ -252,6 +334,18 @@ class AllOfWithSingleRef implements ModelInterface, ArrayAccess, \JsonSerializab */ public function setSingleRefType($single_ref_type) { + + if (is_null($single_ref_type)) { + array_push($this->openAPINullablesSetToNull, 'single_ref_type'); + } else { + $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); + $index = array_search('single_ref_type', $nullablesSetToNull); + if ($index !== FALSE) { + unset($nullablesSetToNull[$index]); + $this->setOpenAPINullablesSetToNull($nullablesSetToNull); + } + } + $this->container['single_ref_type'] = $single_ref_type; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Animal.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Animal.php index 3de3eb9aac..d68059ec45 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Animal.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Animal.php @@ -73,6 +73,23 @@ class Animal implements ModelInterface, ArrayAccess, \JsonSerializable 'color' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'class_name' => false, + 'color' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -93,6 +110,48 @@ class Animal implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -181,13 +240,31 @@ class Animal implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['class_name'] = $data['class_name'] ?? null; - $this->container['color'] = $data['color'] ?? 'red'; + $this->setIfExists('class_name', $data ?? [], null); + $this->setIfExists('color', $data ?? [], 'red'); // Initialize discriminator property with the model name. $this->container['class_name'] = static::$openAPIModelName; } + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; + } + /** * Show all the invalid properties with reasons. * @@ -234,6 +311,11 @@ class Animal implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setClassName($class_name) { + + if (is_null($class_name)) { + throw new \InvalidArgumentException('non-nullable class_name cannot be null'); + } + $this->container['class_name'] = $class_name; return $this; @@ -258,6 +340,11 @@ class Animal implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setColor($color) { + + if (is_null($color)) { + throw new \InvalidArgumentException('non-nullable color cannot be null'); + } + $this->container['color'] = $color; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ApiResponse.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ApiResponse.php index e391f008a0..b2d7029b44 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ApiResponse.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ApiResponse.php @@ -75,6 +75,24 @@ class ApiResponse implements ModelInterface, ArrayAccess, \JsonSerializable 'message' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'code' => false, + 'type' => false, + 'message' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -95,6 +113,48 @@ class ApiResponse implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -186,9 +246,27 @@ class ApiResponse implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['code'] = $data['code'] ?? null; - $this->container['type'] = $data['type'] ?? null; - $this->container['message'] = $data['message'] ?? null; + $this->setIfExists('code', $data ?? [], null); + $this->setIfExists('type', $data ?? [], null); + $this->setIfExists('message', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -234,6 +312,11 @@ class ApiResponse implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setCode($code) { + + if (is_null($code)) { + throw new \InvalidArgumentException('non-nullable code cannot be null'); + } + $this->container['code'] = $code; return $this; @@ -258,6 +341,11 @@ class ApiResponse implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setType($type) { + + if (is_null($type)) { + throw new \InvalidArgumentException('non-nullable type cannot be null'); + } + $this->container['type'] = $type; return $this; @@ -282,6 +370,11 @@ class ApiResponse implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setMessage($message) { + + if (is_null($message)) { + throw new \InvalidArgumentException('non-nullable message cannot be null'); + } + $this->container['message'] = $message; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfArrayOfNumberOnly.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfArrayOfNumberOnly.php index cbeeb23f19..aed58a032e 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfArrayOfNumberOnly.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfArrayOfNumberOnly.php @@ -71,6 +71,22 @@ class ArrayOfArrayOfNumberOnly implements ModelInterface, ArrayAccess, \JsonSeri 'array_array_number' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'array_array_number' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -91,6 +107,48 @@ class ArrayOfArrayOfNumberOnly implements ModelInterface, ArrayAccess, \JsonSeri return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -176,7 +234,25 @@ class ArrayOfArrayOfNumberOnly implements ModelInterface, ArrayAccess, \JsonSeri */ public function __construct(array $data = null) { - $this->container['array_array_number'] = $data['array_array_number'] ?? null; + $this->setIfExists('array_array_number', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -222,6 +298,11 @@ class ArrayOfArrayOfNumberOnly implements ModelInterface, ArrayAccess, \JsonSeri */ public function setArrayArrayNumber($array_array_number) { + + if (is_null($array_array_number)) { + throw new \InvalidArgumentException('non-nullable array_array_number cannot be null'); + } + $this->container['array_array_number'] = $array_array_number; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfNumberOnly.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfNumberOnly.php index ff01b1f34a..13e1bf8f46 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfNumberOnly.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayOfNumberOnly.php @@ -71,6 +71,22 @@ class ArrayOfNumberOnly implements ModelInterface, ArrayAccess, \JsonSerializabl 'array_number' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'array_number' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -91,6 +107,48 @@ class ArrayOfNumberOnly implements ModelInterface, ArrayAccess, \JsonSerializabl return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -176,7 +234,25 @@ class ArrayOfNumberOnly implements ModelInterface, ArrayAccess, \JsonSerializabl */ public function __construct(array $data = null) { - $this->container['array_number'] = $data['array_number'] ?? null; + $this->setIfExists('array_number', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -222,6 +298,11 @@ class ArrayOfNumberOnly implements ModelInterface, ArrayAccess, \JsonSerializabl */ public function setArrayNumber($array_number) { + + if (is_null($array_number)) { + throw new \InvalidArgumentException('non-nullable array_number cannot be null'); + } + $this->container['array_number'] = $array_number; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayTest.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayTest.php index 651a1fe61b..b74e89e8e8 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayTest.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ArrayTest.php @@ -75,6 +75,24 @@ class ArrayTest implements ModelInterface, ArrayAccess, \JsonSerializable 'array_array_of_model' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'array_of_string' => false, + 'array_array_of_integer' => false, + 'array_array_of_model' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -95,6 +113,48 @@ class ArrayTest implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -186,9 +246,27 @@ class ArrayTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['array_of_string'] = $data['array_of_string'] ?? null; - $this->container['array_array_of_integer'] = $data['array_array_of_integer'] ?? null; - $this->container['array_array_of_model'] = $data['array_array_of_model'] ?? null; + $this->setIfExists('array_of_string', $data ?? [], null); + $this->setIfExists('array_array_of_integer', $data ?? [], null); + $this->setIfExists('array_array_of_model', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -249,6 +327,11 @@ class ArrayTest implements ModelInterface, ArrayAccess, \JsonSerializable if (!is_null($array_of_string) && (count($array_of_string) < 0)) { throw new \InvalidArgumentException('invalid length for $array_of_string when calling ArrayTest., number of items must be greater than or equal to 0.'); } + + if (is_null($array_of_string)) { + throw new \InvalidArgumentException('non-nullable array_of_string cannot be null'); + } + $this->container['array_of_string'] = $array_of_string; return $this; @@ -273,6 +356,11 @@ class ArrayTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setArrayArrayOfInteger($array_array_of_integer) { + + if (is_null($array_array_of_integer)) { + throw new \InvalidArgumentException('non-nullable array_array_of_integer cannot be null'); + } + $this->container['array_array_of_integer'] = $array_array_of_integer; return $this; @@ -297,6 +385,11 @@ class ArrayTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setArrayArrayOfModel($array_array_of_model) { + + if (is_null($array_array_of_model)) { + throw new \InvalidArgumentException('non-nullable array_array_of_model cannot be null'); + } + $this->container['array_array_of_model'] = $array_array_of_model; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Capitalization.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Capitalization.php index 222ea4d21c..074096f0f8 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Capitalization.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Capitalization.php @@ -81,6 +81,27 @@ class Capitalization implements ModelInterface, ArrayAccess, \JsonSerializable 'att_name' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'small_camel' => false, + 'capital_camel' => false, + 'small_snake' => false, + 'capital_snake' => false, + 'sca_eth_flow_points' => false, + 'att_name' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -101,6 +122,48 @@ class Capitalization implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -201,12 +264,30 @@ class Capitalization implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['small_camel'] = $data['small_camel'] ?? null; - $this->container['capital_camel'] = $data['capital_camel'] ?? null; - $this->container['small_snake'] = $data['small_snake'] ?? null; - $this->container['capital_snake'] = $data['capital_snake'] ?? null; - $this->container['sca_eth_flow_points'] = $data['sca_eth_flow_points'] ?? null; - $this->container['att_name'] = $data['att_name'] ?? null; + $this->setIfExists('small_camel', $data ?? [], null); + $this->setIfExists('capital_camel', $data ?? [], null); + $this->setIfExists('small_snake', $data ?? [], null); + $this->setIfExists('capital_snake', $data ?? [], null); + $this->setIfExists('sca_eth_flow_points', $data ?? [], null); + $this->setIfExists('att_name', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -252,6 +333,11 @@ class Capitalization implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setSmallCamel($small_camel) { + + if (is_null($small_camel)) { + throw new \InvalidArgumentException('non-nullable small_camel cannot be null'); + } + $this->container['small_camel'] = $small_camel; return $this; @@ -276,6 +362,11 @@ class Capitalization implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setCapitalCamel($capital_camel) { + + if (is_null($capital_camel)) { + throw new \InvalidArgumentException('non-nullable capital_camel cannot be null'); + } + $this->container['capital_camel'] = $capital_camel; return $this; @@ -300,6 +391,11 @@ class Capitalization implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setSmallSnake($small_snake) { + + if (is_null($small_snake)) { + throw new \InvalidArgumentException('non-nullable small_snake cannot be null'); + } + $this->container['small_snake'] = $small_snake; return $this; @@ -324,6 +420,11 @@ class Capitalization implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setCapitalSnake($capital_snake) { + + if (is_null($capital_snake)) { + throw new \InvalidArgumentException('non-nullable capital_snake cannot be null'); + } + $this->container['capital_snake'] = $capital_snake; return $this; @@ -348,6 +449,11 @@ class Capitalization implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setScaEthFlowPoints($sca_eth_flow_points) { + + if (is_null($sca_eth_flow_points)) { + throw new \InvalidArgumentException('non-nullable sca_eth_flow_points cannot be null'); + } + $this->container['sca_eth_flow_points'] = $sca_eth_flow_points; return $this; @@ -372,6 +478,11 @@ class Capitalization implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setAttName($att_name) { + + if (is_null($att_name)) { + throw new \InvalidArgumentException('non-nullable att_name cannot be null'); + } + $this->container['att_name'] = $att_name; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Cat.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Cat.php index f60f2381aa..b619f458da 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Cat.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Cat.php @@ -69,6 +69,22 @@ class Cat extends Animal 'declawed' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'declawed' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -89,6 +105,48 @@ class Cat extends Animal return self::$openAPIFormats + parent::openAPIFormats(); } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables + parent::openAPINullables(); + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -170,7 +228,25 @@ class Cat extends Animal { parent::__construct($data); - $this->container['declawed'] = $data['declawed'] ?? null; + $this->setIfExists('declawed', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -216,6 +292,11 @@ class Cat extends Animal */ public function setDeclawed($declawed) { + + if (is_null($declawed)) { + throw new \InvalidArgumentException('non-nullable declawed cannot be null'); + } + $this->container['declawed'] = $declawed; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/CatAllOf.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/CatAllOf.php index d0e6f61955..1388eedf63 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/CatAllOf.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/CatAllOf.php @@ -71,6 +71,22 @@ class CatAllOf implements ModelInterface, ArrayAccess, \JsonSerializable 'declawed' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'declawed' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -91,6 +107,48 @@ class CatAllOf implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -176,7 +234,25 @@ class CatAllOf implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['declawed'] = $data['declawed'] ?? null; + $this->setIfExists('declawed', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -222,6 +298,11 @@ class CatAllOf implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setDeclawed($declawed) { + + if (is_null($declawed)) { + throw new \InvalidArgumentException('non-nullable declawed cannot be null'); + } + $this->container['declawed'] = $declawed; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Category.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Category.php index 6726c38136..0b3b4e92d6 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Category.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Category.php @@ -73,6 +73,23 @@ class Category implements ModelInterface, ArrayAccess, \JsonSerializable 'name' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'id' => false, + 'name' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -93,6 +110,48 @@ class Category implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -181,8 +240,26 @@ class Category implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['id'] = $data['id'] ?? null; - $this->container['name'] = $data['name'] ?? 'default-name'; + $this->setIfExists('id', $data ?? [], null); + $this->setIfExists('name', $data ?? [], 'default-name'); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -231,6 +308,11 @@ class Category implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setId($id) { + + if (is_null($id)) { + throw new \InvalidArgumentException('non-nullable id cannot be null'); + } + $this->container['id'] = $id; return $this; @@ -255,6 +337,11 @@ class Category implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setName($name) { + + if (is_null($name)) { + throw new \InvalidArgumentException('non-nullable name cannot be null'); + } + $this->container['name'] = $name; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ClassModel.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ClassModel.php index 3c84b6f4db..c756c20e66 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ClassModel.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ClassModel.php @@ -72,6 +72,22 @@ class ClassModel implements ModelInterface, ArrayAccess, \JsonSerializable '_class' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + '_class' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -92,6 +108,48 @@ class ClassModel implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -177,7 +235,25 @@ class ClassModel implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['_class'] = $data['_class'] ?? null; + $this->setIfExists('_class', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -223,6 +299,11 @@ class ClassModel implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setClass($_class) { + + if (is_null($_class)) { + throw new \InvalidArgumentException('non-nullable _class cannot be null'); + } + $this->container['_class'] = $_class; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Client.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Client.php index e0cd800b05..4a538595f8 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Client.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Client.php @@ -71,6 +71,22 @@ class Client implements ModelInterface, ArrayAccess, \JsonSerializable 'client' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'client' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -91,6 +107,48 @@ class Client implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -176,7 +234,25 @@ class Client implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['client'] = $data['client'] ?? null; + $this->setIfExists('client', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -222,6 +298,11 @@ class Client implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setClient($client) { + + if (is_null($client)) { + throw new \InvalidArgumentException('non-nullable client cannot be null'); + } + $this->container['client'] = $client; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DeprecatedObject.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DeprecatedObject.php index 2313c50719..3d07cc7266 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DeprecatedObject.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DeprecatedObject.php @@ -71,6 +71,22 @@ class DeprecatedObject implements ModelInterface, ArrayAccess, \JsonSerializable 'name' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'name' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -91,6 +107,48 @@ class DeprecatedObject implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -176,7 +234,25 @@ class DeprecatedObject implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['name'] = $data['name'] ?? null; + $this->setIfExists('name', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -222,6 +298,11 @@ class DeprecatedObject implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setName($name) { + + if (is_null($name)) { + throw new \InvalidArgumentException('non-nullable name cannot be null'); + } + $this->container['name'] = $name; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Dog.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Dog.php index b7bfcfb707..a305a4a79c 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Dog.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Dog.php @@ -69,6 +69,22 @@ class Dog extends Animal 'breed' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'breed' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -89,6 +105,48 @@ class Dog extends Animal return self::$openAPIFormats + parent::openAPIFormats(); } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables + parent::openAPINullables(); + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -170,7 +228,25 @@ class Dog extends Animal { parent::__construct($data); - $this->container['breed'] = $data['breed'] ?? null; + $this->setIfExists('breed', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -216,6 +292,11 @@ class Dog extends Animal */ public function setBreed($breed) { + + if (is_null($breed)) { + throw new \InvalidArgumentException('non-nullable breed cannot be null'); + } + $this->container['breed'] = $breed; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DogAllOf.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DogAllOf.php index 9d81debc4e..c8b8fb7e73 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DogAllOf.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/DogAllOf.php @@ -71,6 +71,22 @@ class DogAllOf implements ModelInterface, ArrayAccess, \JsonSerializable 'breed' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'breed' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -91,6 +107,48 @@ class DogAllOf implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -176,7 +234,25 @@ class DogAllOf implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['breed'] = $data['breed'] ?? null; + $this->setIfExists('breed', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -222,6 +298,11 @@ class DogAllOf implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setBreed($breed) { + + if (is_null($breed)) { + throw new \InvalidArgumentException('non-nullable breed cannot be null'); + } + $this->container['breed'] = $breed; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumArrays.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumArrays.php index a967b35062..17f2a70952 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumArrays.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumArrays.php @@ -73,6 +73,23 @@ class EnumArrays implements ModelInterface, ArrayAccess, \JsonSerializable 'array_enum' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'just_symbol' => false, + 'array_enum' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -93,6 +110,48 @@ class EnumArrays implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -211,8 +270,26 @@ class EnumArrays implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['just_symbol'] = $data['just_symbol'] ?? null; - $this->container['array_enum'] = $data['array_enum'] ?? null; + $this->setIfExists('just_symbol', $data ?? [], null); + $this->setIfExists('array_enum', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -277,6 +354,11 @@ class EnumArrays implements ModelInterface, ArrayAccess, \JsonSerializable ) ); } + + if (is_null($just_symbol)) { + throw new \InvalidArgumentException('non-nullable just_symbol cannot be null'); + } + $this->container['just_symbol'] = $just_symbol; return $this; @@ -310,6 +392,11 @@ class EnumArrays implements ModelInterface, ArrayAccess, \JsonSerializable ) ); } + + if (is_null($array_enum)) { + throw new \InvalidArgumentException('non-nullable array_enum cannot be null'); + } + $this->container['array_enum'] = $array_enum; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumTest.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumTest.php index b390c6c344..8d542cc3b1 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumTest.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/EnumTest.php @@ -85,6 +85,29 @@ class EnumTest implements ModelInterface, ArrayAccess, \JsonSerializable 'outer_enum_integer_default_value' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'enum_string' => false, + 'enum_string_required' => false, + 'enum_integer' => false, + 'enum_number' => false, + 'outer_enum' => true, + 'outer_enum_integer' => false, + 'outer_enum_default_value' => false, + 'outer_enum_integer_default_value' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -105,6 +128,48 @@ class EnumTest implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -275,14 +340,32 @@ class EnumTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['enum_string'] = $data['enum_string'] ?? null; - $this->container['enum_string_required'] = $data['enum_string_required'] ?? null; - $this->container['enum_integer'] = $data['enum_integer'] ?? null; - $this->container['enum_number'] = $data['enum_number'] ?? null; - $this->container['outer_enum'] = $data['outer_enum'] ?? null; - $this->container['outer_enum_integer'] = $data['outer_enum_integer'] ?? null; - $this->container['outer_enum_default_value'] = $data['outer_enum_default_value'] ?? null; - $this->container['outer_enum_integer_default_value'] = $data['outer_enum_integer_default_value'] ?? null; + $this->setIfExists('enum_string', $data ?? [], null); + $this->setIfExists('enum_string_required', $data ?? [], null); + $this->setIfExists('enum_integer', $data ?? [], null); + $this->setIfExists('enum_number', $data ?? [], null); + $this->setIfExists('outer_enum', $data ?? [], null); + $this->setIfExists('outer_enum_integer', $data ?? [], null); + $this->setIfExists('outer_enum_default_value', $data ?? [], null); + $this->setIfExists('outer_enum_integer_default_value', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -377,6 +460,11 @@ class EnumTest implements ModelInterface, ArrayAccess, \JsonSerializable ) ); } + + if (is_null($enum_string)) { + throw new \InvalidArgumentException('non-nullable enum_string cannot be null'); + } + $this->container['enum_string'] = $enum_string; return $this; @@ -411,6 +499,11 @@ class EnumTest implements ModelInterface, ArrayAccess, \JsonSerializable ) ); } + + if (is_null($enum_string_required)) { + throw new \InvalidArgumentException('non-nullable enum_string_required cannot be null'); + } + $this->container['enum_string_required'] = $enum_string_required; return $this; @@ -445,6 +538,11 @@ class EnumTest implements ModelInterface, ArrayAccess, \JsonSerializable ) ); } + + if (is_null($enum_integer)) { + throw new \InvalidArgumentException('non-nullable enum_integer cannot be null'); + } + $this->container['enum_integer'] = $enum_integer; return $this; @@ -479,6 +577,11 @@ class EnumTest implements ModelInterface, ArrayAccess, \JsonSerializable ) ); } + + if (is_null($enum_number)) { + throw new \InvalidArgumentException('non-nullable enum_number cannot be null'); + } + $this->container['enum_number'] = $enum_number; return $this; @@ -503,6 +606,18 @@ class EnumTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setOuterEnum($outer_enum) { + + if (is_null($outer_enum)) { + array_push($this->openAPINullablesSetToNull, 'outer_enum'); + } else { + $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); + $index = array_search('outer_enum', $nullablesSetToNull); + if ($index !== FALSE) { + unset($nullablesSetToNull[$index]); + $this->setOpenAPINullablesSetToNull($nullablesSetToNull); + } + } + $this->container['outer_enum'] = $outer_enum; return $this; @@ -527,6 +642,11 @@ class EnumTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setOuterEnumInteger($outer_enum_integer) { + + if (is_null($outer_enum_integer)) { + throw new \InvalidArgumentException('non-nullable outer_enum_integer cannot be null'); + } + $this->container['outer_enum_integer'] = $outer_enum_integer; return $this; @@ -551,6 +671,11 @@ class EnumTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setOuterEnumDefaultValue($outer_enum_default_value) { + + if (is_null($outer_enum_default_value)) { + throw new \InvalidArgumentException('non-nullable outer_enum_default_value cannot be null'); + } + $this->container['outer_enum_default_value'] = $outer_enum_default_value; return $this; @@ -575,6 +700,11 @@ class EnumTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setOuterEnumIntegerDefaultValue($outer_enum_integer_default_value) { + + if (is_null($outer_enum_integer_default_value)) { + throw new \InvalidArgumentException('non-nullable outer_enum_integer_default_value cannot be null'); + } + $this->container['outer_enum_integer_default_value'] = $outer_enum_integer_default_value; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/File.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/File.php index 683b7cba3e..4a393a7c8b 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/File.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/File.php @@ -72,6 +72,22 @@ class File implements ModelInterface, ArrayAccess, \JsonSerializable 'source_uri' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'source_uri' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -92,6 +108,48 @@ class File implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -177,7 +235,25 @@ class File implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['source_uri'] = $data['source_uri'] ?? null; + $this->setIfExists('source_uri', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -223,6 +299,11 @@ class File implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setSourceUri($source_uri) { + + if (is_null($source_uri)) { + throw new \InvalidArgumentException('non-nullable source_uri cannot be null'); + } + $this->container['source_uri'] = $source_uri; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FileSchemaTestClass.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FileSchemaTestClass.php index 8a4e0547a0..f9382d5b07 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FileSchemaTestClass.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FileSchemaTestClass.php @@ -73,6 +73,23 @@ class FileSchemaTestClass implements ModelInterface, ArrayAccess, \JsonSerializa 'files' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'file' => false, + 'files' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -93,6 +110,48 @@ class FileSchemaTestClass implements ModelInterface, ArrayAccess, \JsonSerializa return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -181,8 +240,26 @@ class FileSchemaTestClass implements ModelInterface, ArrayAccess, \JsonSerializa */ public function __construct(array $data = null) { - $this->container['file'] = $data['file'] ?? null; - $this->container['files'] = $data['files'] ?? null; + $this->setIfExists('file', $data ?? [], null); + $this->setIfExists('files', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -228,6 +305,11 @@ class FileSchemaTestClass implements ModelInterface, ArrayAccess, \JsonSerializa */ public function setFile($file) { + + if (is_null($file)) { + throw new \InvalidArgumentException('non-nullable file cannot be null'); + } + $this->container['file'] = $file; return $this; @@ -252,6 +334,11 @@ class FileSchemaTestClass implements ModelInterface, ArrayAccess, \JsonSerializa */ public function setFiles($files) { + + if (is_null($files)) { + throw new \InvalidArgumentException('non-nullable files cannot be null'); + } + $this->container['files'] = $files; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Foo.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Foo.php index 7fd28d1d32..61d66a1e88 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Foo.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Foo.php @@ -71,6 +71,22 @@ class Foo implements ModelInterface, ArrayAccess, \JsonSerializable 'bar' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'bar' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -91,6 +107,48 @@ class Foo implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -176,7 +234,25 @@ class Foo implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['bar'] = $data['bar'] ?? 'bar'; + $this->setIfExists('bar', $data ?? [], 'bar'); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -222,6 +298,11 @@ class Foo implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setBar($bar) { + + if (is_null($bar)) { + throw new \InvalidArgumentException('non-nullable bar cannot be null'); + } + $this->container['bar'] = $bar; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FooGetDefaultResponse.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FooGetDefaultResponse.php index b012ce059a..10e24c1300 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FooGetDefaultResponse.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FooGetDefaultResponse.php @@ -71,6 +71,22 @@ class FooGetDefaultResponse implements ModelInterface, ArrayAccess, \JsonSeriali 'string' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'string' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -91,6 +107,48 @@ class FooGetDefaultResponse implements ModelInterface, ArrayAccess, \JsonSeriali return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -176,7 +234,25 @@ class FooGetDefaultResponse implements ModelInterface, ArrayAccess, \JsonSeriali */ public function __construct(array $data = null) { - $this->container['string'] = $data['string'] ?? null; + $this->setIfExists('string', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -222,6 +298,11 @@ class FooGetDefaultResponse implements ModelInterface, ArrayAccess, \JsonSeriali */ public function setString($string) { + + if (is_null($string)) { + throw new \InvalidArgumentException('non-nullable string cannot be null'); + } + $this->container['string'] = $string; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php index 78f7dc8cce..1e8655a6aa 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/FormatTest.php @@ -101,6 +101,37 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable 'pattern_with_digits_and_delimiter' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'integer' => false, + 'int32' => false, + 'int64' => false, + 'number' => false, + 'float' => false, + 'double' => false, + 'decimal' => false, + 'string' => false, + 'byte' => false, + 'binary' => false, + 'date' => false, + 'date_time' => false, + 'uuid' => false, + 'password' => false, + 'pattern_with_digits' => false, + 'pattern_with_digits_and_delimiter' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -121,6 +152,48 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -251,22 +324,40 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['integer'] = $data['integer'] ?? null; - $this->container['int32'] = $data['int32'] ?? null; - $this->container['int64'] = $data['int64'] ?? null; - $this->container['number'] = $data['number'] ?? null; - $this->container['float'] = $data['float'] ?? null; - $this->container['double'] = $data['double'] ?? null; - $this->container['decimal'] = $data['decimal'] ?? null; - $this->container['string'] = $data['string'] ?? null; - $this->container['byte'] = $data['byte'] ?? null; - $this->container['binary'] = $data['binary'] ?? null; - $this->container['date'] = $data['date'] ?? null; - $this->container['date_time'] = $data['date_time'] ?? null; - $this->container['uuid'] = $data['uuid'] ?? null; - $this->container['password'] = $data['password'] ?? null; - $this->container['pattern_with_digits'] = $data['pattern_with_digits'] ?? null; - $this->container['pattern_with_digits_and_delimiter'] = $data['pattern_with_digits_and_delimiter'] ?? null; + $this->setIfExists('integer', $data ?? [], null); + $this->setIfExists('int32', $data ?? [], null); + $this->setIfExists('int64', $data ?? [], null); + $this->setIfExists('number', $data ?? [], null); + $this->setIfExists('float', $data ?? [], null); + $this->setIfExists('double', $data ?? [], null); + $this->setIfExists('decimal', $data ?? [], null); + $this->setIfExists('string', $data ?? [], null); + $this->setIfExists('byte', $data ?? [], null); + $this->setIfExists('binary', $data ?? [], null); + $this->setIfExists('date', $data ?? [], null); + $this->setIfExists('date_time', $data ?? [], null); + $this->setIfExists('uuid', $data ?? [], null); + $this->setIfExists('password', $data ?? [], null); + $this->setIfExists('pattern_with_digits', $data ?? [], null); + $this->setIfExists('pattern_with_digits_and_delimiter', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -392,6 +483,11 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable throw new \InvalidArgumentException('invalid value for $integer when calling FormatTest., must be bigger than or equal to 10.'); } + + if (is_null($integer)) { + throw new \InvalidArgumentException('non-nullable integer cannot be null'); + } + $this->container['integer'] = $integer; return $this; @@ -424,6 +520,11 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable throw new \InvalidArgumentException('invalid value for $int32 when calling FormatTest., must be bigger than or equal to 20.'); } + + if (is_null($int32)) { + throw new \InvalidArgumentException('non-nullable int32 cannot be null'); + } + $this->container['int32'] = $int32; return $this; @@ -448,6 +549,11 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setInt64($int64) { + + if (is_null($int64)) { + throw new \InvalidArgumentException('non-nullable int64 cannot be null'); + } + $this->container['int64'] = $int64; return $this; @@ -480,6 +586,11 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable throw new \InvalidArgumentException('invalid value for $number when calling FormatTest., must be bigger than or equal to 32.1.'); } + + if (is_null($number)) { + throw new \InvalidArgumentException('non-nullable number cannot be null'); + } + $this->container['number'] = $number; return $this; @@ -512,6 +623,11 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable throw new \InvalidArgumentException('invalid value for $float when calling FormatTest., must be bigger than or equal to 54.3.'); } + + if (is_null($float)) { + throw new \InvalidArgumentException('non-nullable float cannot be null'); + } + $this->container['float'] = $float; return $this; @@ -544,6 +660,11 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable throw new \InvalidArgumentException('invalid value for $double when calling FormatTest., must be bigger than or equal to 67.8.'); } + + if (is_null($double)) { + throw new \InvalidArgumentException('non-nullable double cannot be null'); + } + $this->container['double'] = $double; return $this; @@ -568,6 +689,11 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setDecimal($decimal) { + + if (is_null($decimal)) { + throw new \InvalidArgumentException('non-nullable decimal cannot be null'); + } + $this->container['decimal'] = $decimal; return $this; @@ -597,6 +723,11 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable throw new \InvalidArgumentException("invalid value for \$string when calling FormatTest., must conform to the pattern /[a-z]/i."); } + + if (is_null($string)) { + throw new \InvalidArgumentException('non-nullable string cannot be null'); + } + $this->container['string'] = $string; return $this; @@ -621,6 +752,11 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setByte($byte) { + + if (is_null($byte)) { + throw new \InvalidArgumentException('non-nullable byte cannot be null'); + } + $this->container['byte'] = $byte; return $this; @@ -645,6 +781,11 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setBinary($binary) { + + if (is_null($binary)) { + throw new \InvalidArgumentException('non-nullable binary cannot be null'); + } + $this->container['binary'] = $binary; return $this; @@ -669,6 +810,11 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setDate($date) { + + if (is_null($date)) { + throw new \InvalidArgumentException('non-nullable date cannot be null'); + } + $this->container['date'] = $date; return $this; @@ -693,6 +839,11 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setDateTime($date_time) { + + if (is_null($date_time)) { + throw new \InvalidArgumentException('non-nullable date_time cannot be null'); + } + $this->container['date_time'] = $date_time; return $this; @@ -717,6 +868,11 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setUuid($uuid) { + + if (is_null($uuid)) { + throw new \InvalidArgumentException('non-nullable uuid cannot be null'); + } + $this->container['uuid'] = $uuid; return $this; @@ -748,6 +904,11 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable throw new \InvalidArgumentException('invalid length for $password when calling FormatTest., must be bigger than or equal to 10.'); } + + if (is_null($password)) { + throw new \InvalidArgumentException('non-nullable password cannot be null'); + } + $this->container['password'] = $password; return $this; @@ -777,6 +938,11 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable throw new \InvalidArgumentException("invalid value for \$pattern_with_digits when calling FormatTest., must conform to the pattern /^\\d{10}$/."); } + + if (is_null($pattern_with_digits)) { + throw new \InvalidArgumentException('non-nullable pattern_with_digits cannot be null'); + } + $this->container['pattern_with_digits'] = $pattern_with_digits; return $this; @@ -806,6 +972,11 @@ class FormatTest implements ModelInterface, ArrayAccess, \JsonSerializable throw new \InvalidArgumentException("invalid value for \$pattern_with_digits_and_delimiter when calling FormatTest., must conform to the pattern /^image_\\d{1,3}$/i."); } + + if (is_null($pattern_with_digits_and_delimiter)) { + throw new \InvalidArgumentException('non-nullable pattern_with_digits_and_delimiter cannot be null'); + } + $this->container['pattern_with_digits_and_delimiter'] = $pattern_with_digits_and_delimiter; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HasOnlyReadOnly.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HasOnlyReadOnly.php index acb291c965..5eeb4f7cc2 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HasOnlyReadOnly.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HasOnlyReadOnly.php @@ -73,6 +73,23 @@ class HasOnlyReadOnly implements ModelInterface, ArrayAccess, \JsonSerializable 'foo' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'bar' => false, + 'foo' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -93,6 +110,48 @@ class HasOnlyReadOnly implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -181,8 +240,26 @@ class HasOnlyReadOnly implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['bar'] = $data['bar'] ?? null; - $this->container['foo'] = $data['foo'] ?? null; + $this->setIfExists('bar', $data ?? [], null); + $this->setIfExists('foo', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -228,6 +305,11 @@ class HasOnlyReadOnly implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setBar($bar) { + + if (is_null($bar)) { + throw new \InvalidArgumentException('non-nullable bar cannot be null'); + } + $this->container['bar'] = $bar; return $this; @@ -252,6 +334,11 @@ class HasOnlyReadOnly implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setFoo($foo) { + + if (is_null($foo)) { + throw new \InvalidArgumentException('non-nullable foo cannot be null'); + } + $this->container['foo'] = $foo; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HealthCheckResult.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HealthCheckResult.php index 04d9fef0e7..55e483dab5 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HealthCheckResult.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/HealthCheckResult.php @@ -72,6 +72,22 @@ class HealthCheckResult implements ModelInterface, ArrayAccess, \JsonSerializabl 'nullable_message' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'nullable_message' => true + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -92,6 +108,48 @@ class HealthCheckResult implements ModelInterface, ArrayAccess, \JsonSerializabl return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -177,7 +235,25 @@ class HealthCheckResult implements ModelInterface, ArrayAccess, \JsonSerializabl */ public function __construct(array $data = null) { - $this->container['nullable_message'] = $data['nullable_message'] ?? null; + $this->setIfExists('nullable_message', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -223,6 +299,18 @@ class HealthCheckResult implements ModelInterface, ArrayAccess, \JsonSerializabl */ public function setNullableMessage($nullable_message) { + + if (is_null($nullable_message)) { + array_push($this->openAPINullablesSetToNull, 'nullable_message'); + } else { + $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); + $index = array_search('nullable_message', $nullablesSetToNull); + if ($index !== FALSE) { + unset($nullablesSetToNull[$index]); + $this->setOpenAPINullablesSetToNull($nullablesSetToNull); + } + } + $this->container['nullable_message'] = $nullable_message; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MapTest.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MapTest.php index 1b88cd50be..899e4a5bb9 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MapTest.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MapTest.php @@ -77,6 +77,25 @@ class MapTest implements ModelInterface, ArrayAccess, \JsonSerializable 'indirect_map' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'map_map_of_string' => false, + 'map_of_enum_string' => false, + 'direct_map' => false, + 'indirect_map' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -97,6 +116,48 @@ class MapTest implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -206,10 +267,28 @@ class MapTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['map_map_of_string'] = $data['map_map_of_string'] ?? null; - $this->container['map_of_enum_string'] = $data['map_of_enum_string'] ?? null; - $this->container['direct_map'] = $data['direct_map'] ?? null; - $this->container['indirect_map'] = $data['indirect_map'] ?? null; + $this->setIfExists('map_map_of_string', $data ?? [], null); + $this->setIfExists('map_of_enum_string', $data ?? [], null); + $this->setIfExists('direct_map', $data ?? [], null); + $this->setIfExists('indirect_map', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -255,6 +334,11 @@ class MapTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setMapMapOfString($map_map_of_string) { + + if (is_null($map_map_of_string)) { + throw new \InvalidArgumentException('non-nullable map_map_of_string cannot be null'); + } + $this->container['map_map_of_string'] = $map_map_of_string; return $this; @@ -288,6 +372,11 @@ class MapTest implements ModelInterface, ArrayAccess, \JsonSerializable ) ); } + + if (is_null($map_of_enum_string)) { + throw new \InvalidArgumentException('non-nullable map_of_enum_string cannot be null'); + } + $this->container['map_of_enum_string'] = $map_of_enum_string; return $this; @@ -312,6 +401,11 @@ class MapTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setDirectMap($direct_map) { + + if (is_null($direct_map)) { + throw new \InvalidArgumentException('non-nullable direct_map cannot be null'); + } + $this->container['direct_map'] = $direct_map; return $this; @@ -336,6 +430,11 @@ class MapTest implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setIndirectMap($indirect_map) { + + if (is_null($indirect_map)) { + throw new \InvalidArgumentException('non-nullable indirect_map cannot be null'); + } + $this->container['indirect_map'] = $indirect_map; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MixedPropertiesAndAdditionalPropertiesClass.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MixedPropertiesAndAdditionalPropertiesClass.php index d9d49796a7..9c104a6111 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MixedPropertiesAndAdditionalPropertiesClass.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/MixedPropertiesAndAdditionalPropertiesClass.php @@ -75,6 +75,24 @@ class MixedPropertiesAndAdditionalPropertiesClass implements ModelInterface, Arr 'map' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'uuid' => false, + 'date_time' => false, + 'map' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -95,6 +113,48 @@ class MixedPropertiesAndAdditionalPropertiesClass implements ModelInterface, Arr return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -186,9 +246,27 @@ class MixedPropertiesAndAdditionalPropertiesClass implements ModelInterface, Arr */ public function __construct(array $data = null) { - $this->container['uuid'] = $data['uuid'] ?? null; - $this->container['date_time'] = $data['date_time'] ?? null; - $this->container['map'] = $data['map'] ?? null; + $this->setIfExists('uuid', $data ?? [], null); + $this->setIfExists('date_time', $data ?? [], null); + $this->setIfExists('map', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -234,6 +312,11 @@ class MixedPropertiesAndAdditionalPropertiesClass implements ModelInterface, Arr */ public function setUuid($uuid) { + + if (is_null($uuid)) { + throw new \InvalidArgumentException('non-nullable uuid cannot be null'); + } + $this->container['uuid'] = $uuid; return $this; @@ -258,6 +341,11 @@ class MixedPropertiesAndAdditionalPropertiesClass implements ModelInterface, Arr */ public function setDateTime($date_time) { + + if (is_null($date_time)) { + throw new \InvalidArgumentException('non-nullable date_time cannot be null'); + } + $this->container['date_time'] = $date_time; return $this; @@ -282,6 +370,11 @@ class MixedPropertiesAndAdditionalPropertiesClass implements ModelInterface, Arr */ public function setMap($map) { + + if (is_null($map)) { + throw new \InvalidArgumentException('non-nullable map cannot be null'); + } + $this->container['map'] = $map; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Model200Response.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Model200Response.php index 37cd9b17f4..232a99d616 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Model200Response.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Model200Response.php @@ -74,6 +74,23 @@ class Model200Response implements ModelInterface, ArrayAccess, \JsonSerializable 'class' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'name' => false, + 'class' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -94,6 +111,48 @@ class Model200Response implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -182,8 +241,26 @@ class Model200Response implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['name'] = $data['name'] ?? null; - $this->container['class'] = $data['class'] ?? null; + $this->setIfExists('name', $data ?? [], null); + $this->setIfExists('class', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -229,6 +306,11 @@ class Model200Response implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setName($name) { + + if (is_null($name)) { + throw new \InvalidArgumentException('non-nullable name cannot be null'); + } + $this->container['name'] = $name; return $this; @@ -253,6 +335,11 @@ class Model200Response implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setClass($class) { + + if (is_null($class)) { + throw new \InvalidArgumentException('non-nullable class cannot be null'); + } + $this->container['class'] = $class; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelInterface.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelInterface.php index 935d8833fd..ccd87eb610 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelInterface.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelInterface.php @@ -92,4 +92,20 @@ interface ModelInterface * @return bool */ public function valid(); + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool; + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool; } diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelList.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelList.php index 42e7e3e3d7..f921a0ba52 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelList.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelList.php @@ -71,6 +71,22 @@ class ModelList implements ModelInterface, ArrayAccess, \JsonSerializable '_123_list' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + '_123_list' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -91,6 +107,48 @@ class ModelList implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -176,7 +234,25 @@ class ModelList implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['_123_list'] = $data['_123_list'] ?? null; + $this->setIfExists('_123_list', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -222,6 +298,11 @@ class ModelList implements ModelInterface, ArrayAccess, \JsonSerializable */ public function set123List($_123_list) { + + if (is_null($_123_list)) { + throw new \InvalidArgumentException('non-nullable _123_list cannot be null'); + } + $this->container['_123_list'] = $_123_list; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelReturn.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelReturn.php index 3593ce0ed6..c9695f2410 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelReturn.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ModelReturn.php @@ -72,6 +72,22 @@ class ModelReturn implements ModelInterface, ArrayAccess, \JsonSerializable 'return' => 'int32' ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'return' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -92,6 +108,48 @@ class ModelReturn implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -177,7 +235,25 @@ class ModelReturn implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['return'] = $data['return'] ?? null; + $this->setIfExists('return', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -223,6 +299,11 @@ class ModelReturn implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setReturn($return) { + + if (is_null($return)) { + throw new \InvalidArgumentException('non-nullable return cannot be null'); + } + $this->container['return'] = $return; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Name.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Name.php index 5a62ac60cb..01605009e7 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Name.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Name.php @@ -78,6 +78,25 @@ class Name implements ModelInterface, ArrayAccess, \JsonSerializable '_123_number' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'name' => false, + 'snake_case' => false, + 'property' => false, + '_123_number' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -98,6 +117,48 @@ class Name implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -192,10 +253,28 @@ class Name implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['name'] = $data['name'] ?? null; - $this->container['snake_case'] = $data['snake_case'] ?? null; - $this->container['property'] = $data['property'] ?? null; - $this->container['_123_number'] = $data['_123_number'] ?? null; + $this->setIfExists('name', $data ?? [], null); + $this->setIfExists('snake_case', $data ?? [], null); + $this->setIfExists('property', $data ?? [], null); + $this->setIfExists('_123_number', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -244,6 +323,11 @@ class Name implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setName($name) { + + if (is_null($name)) { + throw new \InvalidArgumentException('non-nullable name cannot be null'); + } + $this->container['name'] = $name; return $this; @@ -268,6 +352,11 @@ class Name implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setSnakeCase($snake_case) { + + if (is_null($snake_case)) { + throw new \InvalidArgumentException('non-nullable snake_case cannot be null'); + } + $this->container['snake_case'] = $snake_case; return $this; @@ -292,6 +381,11 @@ class Name implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setProperty($property) { + + if (is_null($property)) { + throw new \InvalidArgumentException('non-nullable property cannot be null'); + } + $this->container['property'] = $property; return $this; @@ -316,6 +410,11 @@ class Name implements ModelInterface, ArrayAccess, \JsonSerializable */ public function set123Number($_123_number) { + + if (is_null($_123_number)) { + throw new \InvalidArgumentException('non-nullable _123_number cannot be null'); + } + $this->container['_123_number'] = $_123_number; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NullableClass.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NullableClass.php index 4bb135c4d5..c5f3e7a12f 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NullableClass.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NullableClass.php @@ -93,6 +93,33 @@ class NullableClass implements ModelInterface, ArrayAccess, \JsonSerializable 'object_items_nullable' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'integer_prop' => true, + 'number_prop' => true, + 'boolean_prop' => true, + 'string_prop' => true, + 'date_prop' => true, + 'datetime_prop' => true, + 'array_nullable_prop' => true, + 'array_and_items_nullable_prop' => true, + 'array_items_nullable' => false, + 'object_nullable_prop' => true, + 'object_and_items_nullable_prop' => true, + 'object_items_nullable' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -113,6 +140,48 @@ class NullableClass implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -231,18 +300,36 @@ class NullableClass implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['integer_prop'] = $data['integer_prop'] ?? null; - $this->container['number_prop'] = $data['number_prop'] ?? null; - $this->container['boolean_prop'] = $data['boolean_prop'] ?? null; - $this->container['string_prop'] = $data['string_prop'] ?? null; - $this->container['date_prop'] = $data['date_prop'] ?? null; - $this->container['datetime_prop'] = $data['datetime_prop'] ?? null; - $this->container['array_nullable_prop'] = $data['array_nullable_prop'] ?? null; - $this->container['array_and_items_nullable_prop'] = $data['array_and_items_nullable_prop'] ?? null; - $this->container['array_items_nullable'] = $data['array_items_nullable'] ?? null; - $this->container['object_nullable_prop'] = $data['object_nullable_prop'] ?? null; - $this->container['object_and_items_nullable_prop'] = $data['object_and_items_nullable_prop'] ?? null; - $this->container['object_items_nullable'] = $data['object_items_nullable'] ?? null; + $this->setIfExists('integer_prop', $data ?? [], null); + $this->setIfExists('number_prop', $data ?? [], null); + $this->setIfExists('boolean_prop', $data ?? [], null); + $this->setIfExists('string_prop', $data ?? [], null); + $this->setIfExists('date_prop', $data ?? [], null); + $this->setIfExists('datetime_prop', $data ?? [], null); + $this->setIfExists('array_nullable_prop', $data ?? [], null); + $this->setIfExists('array_and_items_nullable_prop', $data ?? [], null); + $this->setIfExists('array_items_nullable', $data ?? [], null); + $this->setIfExists('object_nullable_prop', $data ?? [], null); + $this->setIfExists('object_and_items_nullable_prop', $data ?? [], null); + $this->setIfExists('object_items_nullable', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -288,6 +375,18 @@ class NullableClass implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setIntegerProp($integer_prop) { + + if (is_null($integer_prop)) { + array_push($this->openAPINullablesSetToNull, 'integer_prop'); + } else { + $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); + $index = array_search('integer_prop', $nullablesSetToNull); + if ($index !== FALSE) { + unset($nullablesSetToNull[$index]); + $this->setOpenAPINullablesSetToNull($nullablesSetToNull); + } + } + $this->container['integer_prop'] = $integer_prop; return $this; @@ -312,6 +411,18 @@ class NullableClass implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setNumberProp($number_prop) { + + if (is_null($number_prop)) { + array_push($this->openAPINullablesSetToNull, 'number_prop'); + } else { + $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); + $index = array_search('number_prop', $nullablesSetToNull); + if ($index !== FALSE) { + unset($nullablesSetToNull[$index]); + $this->setOpenAPINullablesSetToNull($nullablesSetToNull); + } + } + $this->container['number_prop'] = $number_prop; return $this; @@ -336,6 +447,18 @@ class NullableClass implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setBooleanProp($boolean_prop) { + + if (is_null($boolean_prop)) { + array_push($this->openAPINullablesSetToNull, 'boolean_prop'); + } else { + $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); + $index = array_search('boolean_prop', $nullablesSetToNull); + if ($index !== FALSE) { + unset($nullablesSetToNull[$index]); + $this->setOpenAPINullablesSetToNull($nullablesSetToNull); + } + } + $this->container['boolean_prop'] = $boolean_prop; return $this; @@ -360,6 +483,18 @@ class NullableClass implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setStringProp($string_prop) { + + if (is_null($string_prop)) { + array_push($this->openAPINullablesSetToNull, 'string_prop'); + } else { + $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); + $index = array_search('string_prop', $nullablesSetToNull); + if ($index !== FALSE) { + unset($nullablesSetToNull[$index]); + $this->setOpenAPINullablesSetToNull($nullablesSetToNull); + } + } + $this->container['string_prop'] = $string_prop; return $this; @@ -384,6 +519,18 @@ class NullableClass implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setDateProp($date_prop) { + + if (is_null($date_prop)) { + array_push($this->openAPINullablesSetToNull, 'date_prop'); + } else { + $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); + $index = array_search('date_prop', $nullablesSetToNull); + if ($index !== FALSE) { + unset($nullablesSetToNull[$index]); + $this->setOpenAPINullablesSetToNull($nullablesSetToNull); + } + } + $this->container['date_prop'] = $date_prop; return $this; @@ -408,6 +555,18 @@ class NullableClass implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setDatetimeProp($datetime_prop) { + + if (is_null($datetime_prop)) { + array_push($this->openAPINullablesSetToNull, 'datetime_prop'); + } else { + $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); + $index = array_search('datetime_prop', $nullablesSetToNull); + if ($index !== FALSE) { + unset($nullablesSetToNull[$index]); + $this->setOpenAPINullablesSetToNull($nullablesSetToNull); + } + } + $this->container['datetime_prop'] = $datetime_prop; return $this; @@ -432,6 +591,18 @@ class NullableClass implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setArrayNullableProp($array_nullable_prop) { + + if (is_null($array_nullable_prop)) { + array_push($this->openAPINullablesSetToNull, 'array_nullable_prop'); + } else { + $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); + $index = array_search('array_nullable_prop', $nullablesSetToNull); + if ($index !== FALSE) { + unset($nullablesSetToNull[$index]); + $this->setOpenAPINullablesSetToNull($nullablesSetToNull); + } + } + $this->container['array_nullable_prop'] = $array_nullable_prop; return $this; @@ -456,6 +627,18 @@ class NullableClass implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setArrayAndItemsNullableProp($array_and_items_nullable_prop) { + + if (is_null($array_and_items_nullable_prop)) { + array_push($this->openAPINullablesSetToNull, 'array_and_items_nullable_prop'); + } else { + $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); + $index = array_search('array_and_items_nullable_prop', $nullablesSetToNull); + if ($index !== FALSE) { + unset($nullablesSetToNull[$index]); + $this->setOpenAPINullablesSetToNull($nullablesSetToNull); + } + } + $this->container['array_and_items_nullable_prop'] = $array_and_items_nullable_prop; return $this; @@ -480,6 +663,11 @@ class NullableClass implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setArrayItemsNullable($array_items_nullable) { + + if (is_null($array_items_nullable)) { + throw new \InvalidArgumentException('non-nullable array_items_nullable cannot be null'); + } + $this->container['array_items_nullable'] = $array_items_nullable; return $this; @@ -504,6 +692,18 @@ class NullableClass implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setObjectNullableProp($object_nullable_prop) { + + if (is_null($object_nullable_prop)) { + array_push($this->openAPINullablesSetToNull, 'object_nullable_prop'); + } else { + $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); + $index = array_search('object_nullable_prop', $nullablesSetToNull); + if ($index !== FALSE) { + unset($nullablesSetToNull[$index]); + $this->setOpenAPINullablesSetToNull($nullablesSetToNull); + } + } + $this->container['object_nullable_prop'] = $object_nullable_prop; return $this; @@ -528,6 +728,18 @@ class NullableClass implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setObjectAndItemsNullableProp($object_and_items_nullable_prop) { + + if (is_null($object_and_items_nullable_prop)) { + array_push($this->openAPINullablesSetToNull, 'object_and_items_nullable_prop'); + } else { + $nullablesSetToNull = $this->getOpenAPINullablesSetToNull(); + $index = array_search('object_and_items_nullable_prop', $nullablesSetToNull); + if ($index !== FALSE) { + unset($nullablesSetToNull[$index]); + $this->setOpenAPINullablesSetToNull($nullablesSetToNull); + } + } + $this->container['object_and_items_nullable_prop'] = $object_and_items_nullable_prop; return $this; @@ -552,6 +764,11 @@ class NullableClass implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setObjectItemsNullable($object_items_nullable) { + + if (is_null($object_items_nullable)) { + throw new \InvalidArgumentException('non-nullable object_items_nullable cannot be null'); + } + $this->container['object_items_nullable'] = $object_items_nullable; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NumberOnly.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NumberOnly.php index 8ec732dd07..4333158204 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NumberOnly.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/NumberOnly.php @@ -71,6 +71,22 @@ class NumberOnly implements ModelInterface, ArrayAccess, \JsonSerializable 'just_number' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'just_number' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -91,6 +107,48 @@ class NumberOnly implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -176,7 +234,25 @@ class NumberOnly implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['just_number'] = $data['just_number'] ?? null; + $this->setIfExists('just_number', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -222,6 +298,11 @@ class NumberOnly implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setJustNumber($just_number) { + + if (is_null($just_number)) { + throw new \InvalidArgumentException('non-nullable just_number cannot be null'); + } + $this->container['just_number'] = $just_number; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ObjectWithDeprecatedFields.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ObjectWithDeprecatedFields.php index c5f96667c1..26d5021766 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ObjectWithDeprecatedFields.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ObjectWithDeprecatedFields.php @@ -77,6 +77,25 @@ class ObjectWithDeprecatedFields implements ModelInterface, ArrayAccess, \JsonSe 'bars' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'uuid' => false, + 'id' => false, + 'deprecated_ref' => false, + 'bars' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -97,6 +116,48 @@ class ObjectWithDeprecatedFields implements ModelInterface, ArrayAccess, \JsonSe return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -191,10 +252,28 @@ class ObjectWithDeprecatedFields implements ModelInterface, ArrayAccess, \JsonSe */ public function __construct(array $data = null) { - $this->container['uuid'] = $data['uuid'] ?? null; - $this->container['id'] = $data['id'] ?? null; - $this->container['deprecated_ref'] = $data['deprecated_ref'] ?? null; - $this->container['bars'] = $data['bars'] ?? null; + $this->setIfExists('uuid', $data ?? [], null); + $this->setIfExists('id', $data ?? [], null); + $this->setIfExists('deprecated_ref', $data ?? [], null); + $this->setIfExists('bars', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -240,6 +319,11 @@ class ObjectWithDeprecatedFields implements ModelInterface, ArrayAccess, \JsonSe */ public function setUuid($uuid) { + + if (is_null($uuid)) { + throw new \InvalidArgumentException('non-nullable uuid cannot be null'); + } + $this->container['uuid'] = $uuid; return $this; @@ -266,6 +350,11 @@ class ObjectWithDeprecatedFields implements ModelInterface, ArrayAccess, \JsonSe */ public function setId($id) { + + if (is_null($id)) { + throw new \InvalidArgumentException('non-nullable id cannot be null'); + } + $this->container['id'] = $id; return $this; @@ -292,6 +381,11 @@ class ObjectWithDeprecatedFields implements ModelInterface, ArrayAccess, \JsonSe */ public function setDeprecatedRef($deprecated_ref) { + + if (is_null($deprecated_ref)) { + throw new \InvalidArgumentException('non-nullable deprecated_ref cannot be null'); + } + $this->container['deprecated_ref'] = $deprecated_ref; return $this; @@ -318,6 +412,11 @@ class ObjectWithDeprecatedFields implements ModelInterface, ArrayAccess, \JsonSe */ public function setBars($bars) { + + if (is_null($bars)) { + throw new \InvalidArgumentException('non-nullable bars cannot be null'); + } + $this->container['bars'] = $bars; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Order.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Order.php index 87e8d17659..123766cea4 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Order.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Order.php @@ -81,6 +81,27 @@ class Order implements ModelInterface, ArrayAccess, \JsonSerializable 'complete' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'id' => false, + 'pet_id' => false, + 'quantity' => false, + 'ship_date' => false, + 'status' => false, + 'complete' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -101,6 +122,48 @@ class Order implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -218,12 +281,30 @@ class Order implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['id'] = $data['id'] ?? null; - $this->container['pet_id'] = $data['pet_id'] ?? null; - $this->container['quantity'] = $data['quantity'] ?? null; - $this->container['ship_date'] = $data['ship_date'] ?? null; - $this->container['status'] = $data['status'] ?? null; - $this->container['complete'] = $data['complete'] ?? false; + $this->setIfExists('id', $data ?? [], null); + $this->setIfExists('pet_id', $data ?? [], null); + $this->setIfExists('quantity', $data ?? [], null); + $this->setIfExists('ship_date', $data ?? [], null); + $this->setIfExists('status', $data ?? [], null); + $this->setIfExists('complete', $data ?? [], false); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -278,6 +359,11 @@ class Order implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setId($id) { + + if (is_null($id)) { + throw new \InvalidArgumentException('non-nullable id cannot be null'); + } + $this->container['id'] = $id; return $this; @@ -302,6 +388,11 @@ class Order implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setPetId($pet_id) { + + if (is_null($pet_id)) { + throw new \InvalidArgumentException('non-nullable pet_id cannot be null'); + } + $this->container['pet_id'] = $pet_id; return $this; @@ -326,6 +417,11 @@ class Order implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setQuantity($quantity) { + + if (is_null($quantity)) { + throw new \InvalidArgumentException('non-nullable quantity cannot be null'); + } + $this->container['quantity'] = $quantity; return $this; @@ -350,6 +446,11 @@ class Order implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setShipDate($ship_date) { + + if (is_null($ship_date)) { + throw new \InvalidArgumentException('non-nullable ship_date cannot be null'); + } + $this->container['ship_date'] = $ship_date; return $this; @@ -384,6 +485,11 @@ class Order implements ModelInterface, ArrayAccess, \JsonSerializable ) ); } + + if (is_null($status)) { + throw new \InvalidArgumentException('non-nullable status cannot be null'); + } + $this->container['status'] = $status; return $this; @@ -408,6 +514,11 @@ class Order implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setComplete($complete) { + + if (is_null($complete)) { + throw new \InvalidArgumentException('non-nullable complete cannot be null'); + } + $this->container['complete'] = $complete; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterComposite.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterComposite.php index 76910f4e02..63f7a29b28 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterComposite.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterComposite.php @@ -75,6 +75,24 @@ class OuterComposite implements ModelInterface, ArrayAccess, \JsonSerializable 'my_boolean' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'my_number' => false, + 'my_string' => false, + 'my_boolean' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -95,6 +113,48 @@ class OuterComposite implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -186,9 +246,27 @@ class OuterComposite implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['my_number'] = $data['my_number'] ?? null; - $this->container['my_string'] = $data['my_string'] ?? null; - $this->container['my_boolean'] = $data['my_boolean'] ?? null; + $this->setIfExists('my_number', $data ?? [], null); + $this->setIfExists('my_string', $data ?? [], null); + $this->setIfExists('my_boolean', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -234,6 +312,11 @@ class OuterComposite implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setMyNumber($my_number) { + + if (is_null($my_number)) { + throw new \InvalidArgumentException('non-nullable my_number cannot be null'); + } + $this->container['my_number'] = $my_number; return $this; @@ -258,6 +341,11 @@ class OuterComposite implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setMyString($my_string) { + + if (is_null($my_string)) { + throw new \InvalidArgumentException('non-nullable my_string cannot be null'); + } + $this->container['my_string'] = $my_string; return $this; @@ -282,6 +370,11 @@ class OuterComposite implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setMyBoolean($my_boolean) { + + if (is_null($my_boolean)) { + throw new \InvalidArgumentException('non-nullable my_boolean cannot be null'); + } + $this->container['my_boolean'] = $my_boolean; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterObjectWithEnumProperty.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterObjectWithEnumProperty.php index 7e19b038a0..86ed80c8c1 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterObjectWithEnumProperty.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/OuterObjectWithEnumProperty.php @@ -71,6 +71,22 @@ class OuterObjectWithEnumProperty implements ModelInterface, ArrayAccess, \JsonS 'value' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'value' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -91,6 +107,48 @@ class OuterObjectWithEnumProperty implements ModelInterface, ArrayAccess, \JsonS return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -176,7 +234,25 @@ class OuterObjectWithEnumProperty implements ModelInterface, ArrayAccess, \JsonS */ public function __construct(array $data = null) { - $this->container['value'] = $data['value'] ?? null; + $this->setIfExists('value', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -225,6 +301,11 @@ class OuterObjectWithEnumProperty implements ModelInterface, ArrayAccess, \JsonS */ public function setValue($value) { + + if (is_null($value)) { + throw new \InvalidArgumentException('non-nullable value cannot be null'); + } + $this->container['value'] = $value; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Pet.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Pet.php index 90963b75df..ad237c72f0 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Pet.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Pet.php @@ -81,6 +81,27 @@ class Pet implements ModelInterface, ArrayAccess, \JsonSerializable 'status' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'id' => false, + 'category' => false, + 'name' => false, + 'photo_urls' => false, + 'tags' => false, + 'status' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -101,6 +122,48 @@ class Pet implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -218,12 +281,30 @@ class Pet implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['id'] = $data['id'] ?? null; - $this->container['category'] = $data['category'] ?? null; - $this->container['name'] = $data['name'] ?? null; - $this->container['photo_urls'] = $data['photo_urls'] ?? null; - $this->container['tags'] = $data['tags'] ?? null; - $this->container['status'] = $data['status'] ?? null; + $this->setIfExists('id', $data ?? [], null); + $this->setIfExists('category', $data ?? [], null); + $this->setIfExists('name', $data ?? [], null); + $this->setIfExists('photo_urls', $data ?? [], null); + $this->setIfExists('tags', $data ?? [], null); + $this->setIfExists('status', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -284,6 +365,11 @@ class Pet implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setId($id) { + + if (is_null($id)) { + throw new \InvalidArgumentException('non-nullable id cannot be null'); + } + $this->container['id'] = $id; return $this; @@ -308,6 +394,11 @@ class Pet implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setCategory($category) { + + if (is_null($category)) { + throw new \InvalidArgumentException('non-nullable category cannot be null'); + } + $this->container['category'] = $category; return $this; @@ -332,6 +423,11 @@ class Pet implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setName($name) { + + if (is_null($name)) { + throw new \InvalidArgumentException('non-nullable name cannot be null'); + } + $this->container['name'] = $name; return $this; @@ -358,6 +454,11 @@ class Pet implements ModelInterface, ArrayAccess, \JsonSerializable { + + if (is_null($photo_urls)) { + throw new \InvalidArgumentException('non-nullable photo_urls cannot be null'); + } + $this->container['photo_urls'] = $photo_urls; return $this; @@ -382,6 +483,11 @@ class Pet implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setTags($tags) { + + if (is_null($tags)) { + throw new \InvalidArgumentException('non-nullable tags cannot be null'); + } + $this->container['tags'] = $tags; return $this; @@ -416,6 +522,11 @@ class Pet implements ModelInterface, ArrayAccess, \JsonSerializable ) ); } + + if (is_null($status)) { + throw new \InvalidArgumentException('non-nullable status cannot be null'); + } + $this->container['status'] = $status; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ReadOnlyFirst.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ReadOnlyFirst.php index eb8026b40a..de98162465 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ReadOnlyFirst.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/ReadOnlyFirst.php @@ -73,6 +73,23 @@ class ReadOnlyFirst implements ModelInterface, ArrayAccess, \JsonSerializable 'baz' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'bar' => false, + 'baz' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -93,6 +110,48 @@ class ReadOnlyFirst implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -181,8 +240,26 @@ class ReadOnlyFirst implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['bar'] = $data['bar'] ?? null; - $this->container['baz'] = $data['baz'] ?? null; + $this->setIfExists('bar', $data ?? [], null); + $this->setIfExists('baz', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -228,6 +305,11 @@ class ReadOnlyFirst implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setBar($bar) { + + if (is_null($bar)) { + throw new \InvalidArgumentException('non-nullable bar cannot be null'); + } + $this->container['bar'] = $bar; return $this; @@ -252,6 +334,11 @@ class ReadOnlyFirst implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setBaz($baz) { + + if (is_null($baz)) { + throw new \InvalidArgumentException('non-nullable baz cannot be null'); + } + $this->container['baz'] = $baz; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SpecialModelName.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SpecialModelName.php index d513b02eb3..9107149287 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SpecialModelName.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/SpecialModelName.php @@ -71,6 +71,22 @@ class SpecialModelName implements ModelInterface, ArrayAccess, \JsonSerializable 'special_property_name' => 'int64' ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'special_property_name' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -91,6 +107,48 @@ class SpecialModelName implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -176,7 +234,25 @@ class SpecialModelName implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['special_property_name'] = $data['special_property_name'] ?? null; + $this->setIfExists('special_property_name', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -222,6 +298,11 @@ class SpecialModelName implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setSpecialPropertyName($special_property_name) { + + if (is_null($special_property_name)) { + throw new \InvalidArgumentException('non-nullable special_property_name cannot be null'); + } + $this->container['special_property_name'] = $special_property_name; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Tag.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Tag.php index 3231469b24..b8a720fd3a 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Tag.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/Tag.php @@ -73,6 +73,23 @@ class Tag implements ModelInterface, ArrayAccess, \JsonSerializable 'name' => null ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'id' => false, + 'name' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -93,6 +110,48 @@ class Tag implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -181,8 +240,26 @@ class Tag implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['id'] = $data['id'] ?? null; - $this->container['name'] = $data['name'] ?? null; + $this->setIfExists('id', $data ?? [], null); + $this->setIfExists('name', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -228,6 +305,11 @@ class Tag implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setId($id) { + + if (is_null($id)) { + throw new \InvalidArgumentException('non-nullable id cannot be null'); + } + $this->container['id'] = $id; return $this; @@ -252,6 +334,11 @@ class Tag implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setName($name) { + + if (is_null($name)) { + throw new \InvalidArgumentException('non-nullable name cannot be null'); + } + $this->container['name'] = $name; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/User.php b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/User.php index 1120ca6d5f..6bafd2583b 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/Model/User.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/Model/User.php @@ -85,6 +85,29 @@ class User implements ModelInterface, ArrayAccess, \JsonSerializable 'user_status' => 'int32' ]; + /** + * Array of nullable properties. Used for (de)serialization + * + * @var boolean[] + */ + protected static array $openAPINullables = [ + 'id' => false, + 'username' => false, + 'first_name' => false, + 'last_name' => false, + 'email' => false, + 'password' => false, + 'phone' => false, + 'user_status' => false + ]; + + /** + * If a nullable field gets set to null, insert it here + * + * @var boolean[] + */ + protected array $openAPINullablesSetToNull = []; + /** * Array of property to type mappings. Used for (de)serialization * @@ -105,6 +128,48 @@ class User implements ModelInterface, ArrayAccess, \JsonSerializable return self::$openAPIFormats; } + /** + * Array of nullable properties + * + * @return array + */ + protected static function openAPINullables(): array + { + return self::$openAPINullables; + } + + /** + * Array of nullable field names deliberately set to null + * + * @return boolean[] + */ + private function getOpenAPINullablesSetToNull(): array + { + return $this->openAPINullablesSetToNull; + } + + /** + * Checks if a property is nullable + * + * @param string $property + * @return bool + */ + public static function isNullable(string $property): bool + { + return self::openAPINullables()[$property] ?? false; + } + + /** + * Checks if a nullable property is set to null. + * + * @param string $property + * @return bool + */ + public function isNullableSetToNull(string $property): bool + { + return in_array($property, $this->getOpenAPINullablesSetToNull(), true); + } + /** * Array of attributes where the key is the local name, * and the value is the original name @@ -211,14 +276,32 @@ class User implements ModelInterface, ArrayAccess, \JsonSerializable */ public function __construct(array $data = null) { - $this->container['id'] = $data['id'] ?? null; - $this->container['username'] = $data['username'] ?? null; - $this->container['first_name'] = $data['first_name'] ?? null; - $this->container['last_name'] = $data['last_name'] ?? null; - $this->container['email'] = $data['email'] ?? null; - $this->container['password'] = $data['password'] ?? null; - $this->container['phone'] = $data['phone'] ?? null; - $this->container['user_status'] = $data['user_status'] ?? null; + $this->setIfExists('id', $data ?? [], null); + $this->setIfExists('username', $data ?? [], null); + $this->setIfExists('first_name', $data ?? [], null); + $this->setIfExists('last_name', $data ?? [], null); + $this->setIfExists('email', $data ?? [], null); + $this->setIfExists('password', $data ?? [], null); + $this->setIfExists('phone', $data ?? [], null); + $this->setIfExists('user_status', $data ?? [], null); + } + + /** + * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName + * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the + * $this->openAPINullablesSetToNull array + * + * @param string $variableName + * @param array $fields + * @param mixed $defaultValue + */ + private function setIfExists(string $variableName, array $fields, $defaultValue): void + { + if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) { + $this->openAPINullablesSetToNull[] = $variableName; + } + + $this->container[$variableName] = $fields[$variableName] ?? $defaultValue; } /** @@ -264,6 +347,11 @@ class User implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setId($id) { + + if (is_null($id)) { + throw new \InvalidArgumentException('non-nullable id cannot be null'); + } + $this->container['id'] = $id; return $this; @@ -288,6 +376,11 @@ class User implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setUsername($username) { + + if (is_null($username)) { + throw new \InvalidArgumentException('non-nullable username cannot be null'); + } + $this->container['username'] = $username; return $this; @@ -312,6 +405,11 @@ class User implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setFirstName($first_name) { + + if (is_null($first_name)) { + throw new \InvalidArgumentException('non-nullable first_name cannot be null'); + } + $this->container['first_name'] = $first_name; return $this; @@ -336,6 +434,11 @@ class User implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setLastName($last_name) { + + if (is_null($last_name)) { + throw new \InvalidArgumentException('non-nullable last_name cannot be null'); + } + $this->container['last_name'] = $last_name; return $this; @@ -360,6 +463,11 @@ class User implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setEmail($email) { + + if (is_null($email)) { + throw new \InvalidArgumentException('non-nullable email cannot be null'); + } + $this->container['email'] = $email; return $this; @@ -384,6 +492,11 @@ class User implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setPassword($password) { + + if (is_null($password)) { + throw new \InvalidArgumentException('non-nullable password cannot be null'); + } + $this->container['password'] = $password; return $this; @@ -408,6 +521,11 @@ class User implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setPhone($phone) { + + if (is_null($phone)) { + throw new \InvalidArgumentException('non-nullable phone cannot be null'); + } + $this->container['phone'] = $phone; return $this; @@ -432,6 +550,11 @@ class User implements ModelInterface, ArrayAccess, \JsonSerializable */ public function setUserStatus($user_status) { + + if (is_null($user_status)) { + throw new \InvalidArgumentException('non-nullable user_status cannot be null'); + } + $this->container['user_status'] = $user_status; return $this; diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/ObjectSerializer.php b/samples/client/petstore/php/OpenAPIClient-php/lib/ObjectSerializer.php index 8395487e8f..62756950ee 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/ObjectSerializer.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/ObjectSerializer.php @@ -98,7 +98,7 @@ class ObjectSerializer } } } - if ($value !== null) { + if (($data::isNullable($property) && $data->isNullableSetToNull($property)) || $value !== null) { $values[$data::attributeMap()[$property]] = self::sanitizeForSerialization($value, $openAPIType, $formats[$property]); } } @@ -469,7 +469,15 @@ class ObjectSerializer foreach ($instance::openAPITypes() as $property => $type) { $propertySetter = $instance::setters()[$property]; - if (!isset($propertySetter) || !isset($data->{$instance::attributeMap()[$property]})) { + if (!isset($propertySetter)) { + continue; + } + + if (!isset($data->{$instance::attributeMap()[$property]})) { + if ($instance::isNullable($property)) { + $instance->$propertySetter(null); + } + continue; } From 3e42a6eae050a15e14ed51d5a659b44550a38a11 Mon Sep 17 00:00:00 2001 From: Thomas Hansen Date: Mon, 11 Jul 2022 18:01:46 +0200 Subject: [PATCH 166/212] [PHP] Allow strings with only whitespaces in enums (#12783) --- .../codegen/languages/AbstractPhpCodegen.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java index 3c8dec1339..8dcee6d2cb 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java @@ -664,6 +664,10 @@ public abstract class AbstractPhpCodegen extends DefaultCodegen implements Codeg return "EMPTY"; } + if(name.trim().length() == 0) { + return "SPACE_" + name.length(); + } + // for symbol, e.g. $, # if (getSymbolName(name) != null) { return (getSymbolName(name)).toUpperCase(Locale.ROOT); @@ -739,6 +743,11 @@ public abstract class AbstractPhpCodegen extends DefaultCodegen implements Codeg return input; } + // If the string contains only "trim-able" characters, don't trim it + if(input.trim().length() == 0) { + return input; + } + // Trim the string to avoid leading and trailing spaces. return super.escapeText(input).trim(); } From 9122b2a547ce0fb7dcddb7670fe3dbde899c09eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20K=C3=B6nig?= Date: Mon, 11 Jul 2022 18:12:56 +0200 Subject: [PATCH 167/212] 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. --- .../src/main/java/org/openapitools/codegen/DefaultCodegen.java | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 2ce8fcb1e7..3246115b6f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -1735,6 +1735,7 @@ public class DefaultCodegen implements CodegenConfig { specialCharReplacements.put("<=", "Less_Than_Or_Equal_To"); specialCharReplacements.put(">=", "Greater_Than_Or_Equal_To"); specialCharReplacements.put("!=", "Not_Equal"); + specialCharReplacements.put("<>", "Not_Equal"); specialCharReplacements.put("~=", "Tilde_Equal"); } From 244a459836efb8831296876757fbe22dec8b95bf Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 12 Jul 2022 00:15:58 +0800 Subject: [PATCH 168/212] update samples --- .../server/petstore/haskell-servant/lib/OpenAPIPetstore/Types.hs | 1 + .../server/petstore/haskell-yesod/src/OpenAPIPetstore/Types.hs | 1 + 2 files changed, 2 insertions(+) diff --git a/samples/server/petstore/haskell-servant/lib/OpenAPIPetstore/Types.hs b/samples/server/petstore/haskell-servant/lib/OpenAPIPetstore/Types.hs index 7c19368f7c..9a4bfb851e 100644 --- a/samples/server/petstore/haskell-servant/lib/OpenAPIPetstore/Types.hs +++ b/samples/server/petstore/haskell-servant/lib/OpenAPIPetstore/Types.hs @@ -193,6 +193,7 @@ removeFieldLabelPrefix forParsing prefix = , ("<=", "'Less_Than_Or_Equal_To") , (">=", "'Greater_Than_Or_Equal_To") , ("!=", "'Not_Equal") + , ("<>", "'Not_Equal") , ("~=", "'Tilde_Equal") , ("\\", "'Back_Slash") , ("\"", "'Double_Quote") diff --git a/samples/server/petstore/haskell-yesod/src/OpenAPIPetstore/Types.hs b/samples/server/petstore/haskell-yesod/src/OpenAPIPetstore/Types.hs index 7057e0e55d..5e9b72c8fa 100644 --- a/samples/server/petstore/haskell-yesod/src/OpenAPIPetstore/Types.hs +++ b/samples/server/petstore/haskell-yesod/src/OpenAPIPetstore/Types.hs @@ -163,6 +163,7 @@ removeFieldLabelPrefix forParsing prefix = , ("<=", "'Less_Than_Or_Equal_To") , (">=", "'Greater_Than_Or_Equal_To") , ("!=", "'Not_Equal") + , ("<>", "'Not_Equal") , ("~=", "'Tilde_Equal") , ("\\", "'Back_Slash") , ("\"", "'Double_Quote") From 073a8004645f347e84a7c2cc65e9207ab6cc8d0b Mon Sep 17 00:00:00 2001 From: Hans Nuttin Date: Mon, 11 Jul 2022 19:06:57 +0200 Subject: [PATCH 169/212] [Typescript] support schemaMapping (#12803) Co-authored-by: hansnuttin --- .../codegen/languages/AbstractTypeScriptClientCodegen.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java index ab7cd031b0..486f430f62 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java @@ -430,11 +430,11 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp public String getTypeDeclaration(Schema p) { if (ModelUtils.isArraySchema(p)) { Schema items = getSchemaItems((ArraySchema) p); - return getSchemaType(p) + "<" + getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, items)) + ">"; + return getSchemaType(p) + "<" + getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, items, schemaMapping)) + ">"; } else if (ModelUtils.isMapSchema(p)) { Schema inner = getSchemaAdditionalProperties(p); String nullSafeSuffix = getNullSafeAdditionalProps() ? " | undefined" : ""; - return "{ [key: string]: " + getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, inner)) + nullSafeSuffix + "; }"; + return "{ [key: string]: " + getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, inner, schemaMapping)) + nullSafeSuffix + "; }"; } else if (ModelUtils.isFileSchema(p)) { return "any"; } else if (ModelUtils.isBinarySchema(p)) { From 4bbfa01ba84a25909720413cae1b21f72afae8df Mon Sep 17 00:00:00 2001 From: Oleh Kurpiak Date: Tue, 12 Jul 2022 05:41:55 +0300 Subject: [PATCH 170/212] [Java] fix JsonCreator with JsonNullable (#12813) --- .../languages/AbstractJavaCodegen.java | 16 +++ .../languages/JavaCXFClientCodegen.java | 2 + .../codegen/languages/JavaClientCodegen.java | 2 + .../Java/libraries/jersey2/pojo.mustache | 2 +- .../Java/libraries/native/pojo.mustache | 2 +- .../src/main/resources/Java/pojo.mustache | 4 +- .../codegen/java/JavaClientCodegenTest.java | 38 +++++++- .../java/assertions/ConstructorAssert.java | 97 +++++++++++++++++++ .../java/assertions/JavaFileAssert.java | 10 ++ .../assertions/MethodAnnotationAssert.java | 19 ++++ .../java/assertions/ParameterAssert.java | 18 ++++ .../src/test/resources/bugs/issue_12790.yaml | 28 ++++++ 12 files changed, 231 insertions(+), 7 deletions(-) create mode 100644 modules/openapi-generator/src/test/java/org/openapitools/codegen/java/assertions/ConstructorAssert.java create mode 100644 modules/openapi-generator/src/test/resources/bugs/issue_12790.yaml diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java index 3102703b83..509da5be05 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java @@ -2053,6 +2053,22 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code } } + /** + * Search for property by {@link CodegenProperty#name} + * @param name - name to search for + * @param properties - list of properties + * @return either found property or {@link Optional#empty()} if nothing has been found + */ + protected Optional findByName(String name, List properties) { + if (properties == null || properties.isEmpty()) { + return Optional.empty(); + } + + return properties.stream() + .filter(p -> p.name.equals(name)) + .findFirst(); + } + /** * This method removes all implicit header parameters from the list of parameters * diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaCXFClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaCXFClientCodegen.java index a45e743b8f..e83224d999 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaCXFClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaCXFClientCodegen.java @@ -159,6 +159,8 @@ public class JavaCXFClientCodegen extends AbstractJavaCodegen if (openApiNullable) { if (Boolean.FALSE.equals(property.required) && Boolean.TRUE.equals(property.isNullable)) { property.getVendorExtensions().put("x-is-jackson-optional-nullable", true); + findByName(property.name, model.readOnlyVars) + .ifPresent(p -> p.getVendorExtensions().put("x-is-jackson-optional-nullable", true)); model.imports.add("JsonNullable"); model.imports.add("JsonIgnore"); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java index fbbcc6c3fe..cedd19cfaf 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java @@ -926,6 +926,8 @@ public class JavaClientCodegen extends AbstractJavaCodegen // only add JsonNullable and related imports to optional and nullable values addImports |= isOptionalNullable; var.getVendorExtensions().put("x-is-jackson-optional-nullable", isOptionalNullable); + findByName(var.name, cm.readOnlyVars) + .ifPresent(p -> p.getVendorExtensions().put("x-is-jackson-optional-nullable", isOptionalNullable)); } if (Boolean.TRUE.equals(var.getVendorExtensions().get("x-enum-as-string"))) { diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/pojo.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/pojo.mustache index c138284ed4..9faeed2eaf 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/pojo.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/jersey2/pojo.mustache @@ -100,7 +100,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens ) { this(); {{#readOnlyVars}} - this.{{name}} = {{name}}; + this.{{name}} = {{#vendorExtensions.x-is-jackson-optional-nullable}}{{name}} == null ? JsonNullable.<{{{datatypeWithEnum}}}>undefined() : JsonNullable.of({{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{name}}{{/vendorExtensions.x-is-jackson-optional-nullable}}; {{/readOnlyVars}} }{{/jackson}}{{/withXml}}{{/vendorExtensions.x-has-readonly-properties}} {{#vars}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/native/pojo.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/native/pojo.mustache index 776532461d..804a2154e0 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/native/pojo.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/native/pojo.mustache @@ -100,7 +100,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens ) { this(); {{#readOnlyVars}} - this.{{name}} = {{name}}; + this.{{name}} = {{#vendorExtensions.x-is-jackson-optional-nullable}}{{name}} == null ? JsonNullable.<{{{datatypeWithEnum}}}>undefined() : JsonNullable.of({{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{name}}{{/vendorExtensions.x-is-jackson-optional-nullable}}; {{/readOnlyVars}} }{{/withXml}}{{/vendorExtensions.x-has-readonly-properties}} {{#vars}} diff --git a/modules/openapi-generator/src/main/resources/Java/pojo.mustache b/modules/openapi-generator/src/main/resources/Java/pojo.mustache index 7345b16da3..84ea11480c 100644 --- a/modules/openapi-generator/src/main/resources/Java/pojo.mustache +++ b/modules/openapi-generator/src/main/resources/Java/pojo.mustache @@ -93,12 +93,12 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens {{#jsonb}}@JsonbCreator{{/jsonb}}{{#jackson}}@JsonCreator{{/jackson}} public {{classname}}( {{#readOnlyVars}} - {{#jsonb}}@JsonbProperty("{{baseName}}"){{/jsonb}}{{#jackson}}@JsonProperty(JSON_PROPERTY_{{nameInSnakeCase}}){{/jackson}} {{{datatypeWithEnum}}} {{name}}{{^-last}}, {{/-last}} + {{#jsonb}}@JsonbProperty(value = "{{baseName}}"{{^required}}, nillable = true{{/required}}){{/jsonb}}{{#jackson}}@JsonProperty(JSON_PROPERTY_{{nameInSnakeCase}}){{/jackson}} {{{datatypeWithEnum}}} {{name}}{{^-last}}, {{/-last}} {{/readOnlyVars}} ) { this(); {{#readOnlyVars}} - this.{{name}} = {{name}}; + this.{{name}} = {{#vendorExtensions.x-is-jackson-optional-nullable}}{{name}} == null ? JsonNullable.<{{{datatypeWithEnum}}}>undefined() : JsonNullable.of({{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{name}}{{/vendorExtensions.x-is-jackson-optional-nullable}}; {{/readOnlyVars}} }{{/withXml}}{{/vendorExtensions.x-has-readonly-properties}} {{#vars}} diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java index 7b1c4215cc..06f5aadc9f 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java @@ -1534,10 +1534,42 @@ public class JavaClientCodegenTest { .collect(Collectors.toMap(File::getName, Function.identity())); JavaFileAssert.assertThat(files.get("Foo.java")) + .assertConstructor("String", "Integer") + .hasParameter("b") + .assertParameterAnnotations() + .containsWithNameAndAttributes("JsonbProperty", ImmutableMap.of("value", "\"b\"", "nillable", "true")) + .toParameter().toConstructor() + .hasParameter("c") + .assertParameterAnnotations() + .containsWithNameAndAttributes("JsonbProperty", ImmutableMap.of("value", "\"c\"")); + } + + @Test + public void testWebClientJsonCreatorWithNullable_issue12790() throws Exception { + Map properties = new HashMap<>(); + properties.put(AbstractJavaCodegen.OPENAPI_NULLABLE, "true"); + + File output = Files.createTempDirectory("test").toFile(); + output.deleteOnExit(); + + final CodegenConfigurator configurator = new CodegenConfigurator() + .setAdditionalProperties(properties) + .setGeneratorName("java") + .setLibrary(JavaClientCodegen.WEBCLIENT) + .setInputSpec("src/test/resources/bugs/issue_12790.yaml") + .setOutputDir(output.getAbsolutePath().replace("\\", "/")); + + final ClientOptInput clientOptInput = configurator.toClientOptInput(); + DefaultGenerator generator = new DefaultGenerator(); + Map files = generator.opts(clientOptInput).generate().stream() + .collect(Collectors.toMap(File::getName, Function.identity())); + + JavaFileAssert.assertThat(files.get("TestObject.java")) .printFileContent() - .fileContains( - "@JsonbProperty(value = \"b\", nillable = true) String b", - "@JsonbProperty(value = \"c\") Integer c" + .assertConstructor("String", "String") + .bodyContainsLines( + "this.nullableProperty = nullableProperty == null ? JsonNullable.undefined() : JsonNullable.of(nullableProperty);", + "this.notNullableProperty = notNullableProperty;" ); } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/assertions/ConstructorAssert.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/assertions/ConstructorAssert.java new file mode 100644 index 0000000000..c0296c5cea --- /dev/null +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/assertions/ConstructorAssert.java @@ -0,0 +1,97 @@ +package org.openapitools.codegen.java.assertions; + +import com.github.javaparser.ast.body.ConstructorDeclaration; +import com.github.javaparser.ast.body.Parameter; +import com.github.javaparser.ast.nodeTypes.NodeWithName; +import org.assertj.core.api.AbstractAssert; +import org.assertj.core.api.Assertions; +import org.assertj.core.util.CanIgnoreReturnValue; + +import java.util.Arrays; +import java.util.Optional; +import java.util.stream.Collectors; + +@CanIgnoreReturnValue +public class ConstructorAssert extends AbstractAssert { + + private final JavaFileAssert fileAssert; + private final String signature; + + ConstructorAssert(final JavaFileAssert fileAssert, final ConstructorDeclaration constructorDeclaration) { + super(constructorDeclaration, ConstructorAssert.class); + this.fileAssert = fileAssert; + this.signature = constructorDeclaration.getDeclarationAsString(); + } + + public JavaFileAssert toFileAssert() { + return fileAssert; + } + + public MethodAnnotationAssert assertConstructorAnnotations() { + return new MethodAnnotationAssert(this, actual.getAnnotations()); + } + + public ParameterAssert hasParameter(final String paramName) { + final Optional parameter = actual.getParameterByName(paramName); + Assertions.assertThat(parameter) + .withFailMessage("Constructor %s should have parameter %s, but it doesn't", signature, paramName) + .isPresent(); + return new ParameterAssert(this, parameter.get()); + } + + public ConstructorAssert doesNotHaveParameter(final String paramName) { + Assertions.assertThat(actual.getParameterByName(paramName)) + .withFailMessage("Constructor %s shouldn't have parameter %s, but it does", signature, paramName) + .isEmpty(); + return this; + } + + public ConstructorAssert bodyContainsLines(final String... lines) { + final String actualBody = actual.getTokenRange() + .orElseThrow(() -> new IllegalStateException("Can't get constructor body")) + .toString(); + Assertions.assertThat(actualBody) + .withFailMessage( + "Constructor's %s body should contains lines\n====\n%s\n====\nbut actually was\n====\n%s\n====", + signature, Arrays.stream(lines).collect(Collectors.joining(System.lineSeparator())), actualBody + ) + .contains(lines); + + return this; + } + + public ConstructorAssert doesNotHaveComment() { + Assertions.assertThat(actual.getJavadocComment()) + .withFailMessage("Constructor %s shouldn't contains comment, but it does", signature) + .isEmpty(); + return this; + } + + public ConstructorAssert commentContainsLines(final String... lines) { + Assertions.assertThat(actual.getJavadocComment()) + .withFailMessage("Constructor %s should contains comment, but it doesn't", signature) + .isPresent(); + final String actualComment = actual.getJavadocComment().get().getContent(); + Assertions.assertThat(actualComment) + .withFailMessage( + "Constructor's %s comment should contains lines\n====\n%s\n====\nbut actually was\n====%s\n====", + signature, Arrays.stream(lines).collect(Collectors.joining(System.lineSeparator())), actualComment + ) + .contains(lines); + + return this; + } + + public ConstructorAssert noneOfParameterHasAnnotation(final String annotationName) { + actual.getParameters() + .forEach( + param -> Assertions.assertThat(param.getAnnotations()) + .withFailMessage("Parameter %s contains annotation %s while it shouldn't", param.getNameAsString(), annotationName) + .extracting(NodeWithName::getNameAsString) + .doesNotContain(annotationName) + ); + + return this; + } + +} diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/assertions/JavaFileAssert.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/assertions/JavaFileAssert.java index 3189c40866..e0621b3166 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/assertions/JavaFileAssert.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/assertions/JavaFileAssert.java @@ -8,6 +8,7 @@ import java.util.List; import java.util.Optional; import java.util.stream.Collectors; +import com.github.javaparser.ast.body.ConstructorDeclaration; import org.assertj.core.api.AbstractAssert; import org.assertj.core.api.Assertions; import org.assertj.core.util.CanIgnoreReturnValue; @@ -59,6 +60,15 @@ public class JavaFileAssert extends AbstractAssert constructorDeclaration = actual.getType(0).getConstructorByParameterTypes(paramTypes); + Assertions.assertThat(constructorDeclaration) + .withFailMessage("No constructor with parameter(s) %s", Arrays.toString(paramTypes)) + .isPresent(); + + return new ConstructorAssert(this, constructorDeclaration.get()); + } + public PropertyAssert hasProperty(final String propertyName) { Optional fieldOptional = actual.getType(0).getMembers().stream() .filter(FieldDeclaration.class::isInstance) diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/assertions/MethodAnnotationAssert.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/assertions/MethodAnnotationAssert.java index 5667e29a4d..afcf80f9f9 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/assertions/MethodAnnotationAssert.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/assertions/MethodAnnotationAssert.java @@ -10,13 +10,32 @@ import com.github.javaparser.ast.expr.AnnotationExpr; public class MethodAnnotationAssert extends AbstractAnnotationAssert { private final MethodAssert methodAssert; + private final ConstructorAssert constructorAssert; protected MethodAnnotationAssert(final MethodAssert methodAssert, final List annotationExpr) { super(annotationExpr); this.methodAssert = methodAssert; + this.constructorAssert = null; + } + + protected MethodAnnotationAssert(final ConstructorAssert constructorAssert, final List annotationExpr) { + super(annotationExpr); + this.constructorAssert = constructorAssert; + this.methodAssert = null; } public MethodAssert toMethod() { + if (methodAssert == null) { + throw new IllegalArgumentException("No method assert for constructor's annotations"); + } return methodAssert; } + + public ConstructorAssert toConstructor() { + if (constructorAssert == null) { + throw new IllegalArgumentException("No constructor assert for method's annotations"); + } + return constructorAssert; + } + } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/assertions/ParameterAssert.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/assertions/ParameterAssert.java index a6a4a732cc..adf73c7063 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/assertions/ParameterAssert.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/assertions/ParameterAssert.java @@ -10,16 +10,34 @@ import com.github.javaparser.ast.body.Parameter; public class ParameterAssert extends ObjectAssert { private final MethodAssert methodAssert; + private final ConstructorAssert constructorAssert; protected ParameterAssert(final MethodAssert methodAssert, final Parameter parameter) { super(parameter); this.methodAssert = methodAssert; + this.constructorAssert = null; + } + + protected ParameterAssert(final ConstructorAssert constructorAssert, final Parameter parameter) { + super(parameter); + this.constructorAssert = constructorAssert; + this.methodAssert = null; } public MethodAssert toMethod() { + if (methodAssert == null) { + throw new IllegalArgumentException("No method assert for constructor's parameter"); + } return methodAssert; } + public ConstructorAssert toConstructor() { + if (constructorAssert == null) { + throw new IllegalArgumentException("No constructor assert for method's parameter"); + } + return constructorAssert; + } + public ParameterAssert withType(final String expectedType) { Assertions.assertThat(actual.getTypeAsString()) .withFailMessage("Expected parameter to have type %s, but was %s", expectedType, actual.getTypeAsString()) diff --git a/modules/openapi-generator/src/test/resources/bugs/issue_12790.yaml b/modules/openapi-generator/src/test/resources/bugs/issue_12790.yaml new file mode 100644 index 0000000000..78771207c0 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/bugs/issue_12790.yaml @@ -0,0 +1,28 @@ +openapi: 3.0.3 +info: + title: Title + version: "1" +paths: + /test: + get: + responses: + 200: + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/TestObject' +components: + schemas: + TestObject: + type: object + properties: + nullableProperty: + type: string + nullable: true + readOnly: true + notNullableProperty: + type: string + readOnly: true + notNullablePropertyNotRO: + type: integer From 00db9255c041722f26fedb922d8610565d843e13 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 12 Jul 2022 13:40:33 +0800 Subject: [PATCH 171/212] add schema mapping support in typescript client codegen (#12840) --- .../codegen/languages/TypeScriptClientCodegen.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java index e0bd61d53a..f1eb6bdadc 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java @@ -885,10 +885,10 @@ public class TypeScriptClientCodegen extends DefaultCodegen implements CodegenCo Schema inner; if (ModelUtils.isArraySchema(p)) { inner = ((ArraySchema) p).getItems(); - return this.getSchemaType(p) + "<" + this.getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, inner)) + ">"; + return this.getSchemaType(p) + "<" + this.getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, inner, schemaMapping)) + ">"; } else if (ModelUtils.isMapSchema(p)) { inner = (Schema) p.getAdditionalProperties(); - return "{ [key: string]: " + this.getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, inner)) + "; }"; + return "{ [key: string]: " + this.getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, inner, schemaMapping)) + "; }"; } else if (ModelUtils.isFileSchema(p)) { return "HttpFile"; } else if (ModelUtils.isBinarySchema(p)) { From 8b58abfdf2a718b4123a3d8ce193e9428ae2cd98 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 12 Jul 2022 14:30:20 +0800 Subject: [PATCH 172/212] add schema mapping support to go generator (#12839) --- .../openapitools/codegen/languages/AbstractGoCodegen.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java index 6dd27a8047..00ca51d028 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java @@ -346,7 +346,7 @@ public abstract class AbstractGoCodegen extends DefaultCodegen implements Codege // specification is aligned with the JSON schema specification. // When "items" is not specified, the elements of the array may be anything at all. if (inner != null) { - inner = ModelUtils.unaliasSchema(this.openAPI, inner); + inner = ModelUtils.unaliasSchema(this.openAPI, inner, schemaMapping); } String typDecl; if (inner != null) { @@ -360,10 +360,10 @@ public abstract class AbstractGoCodegen extends DefaultCodegen implements Codege return "[]" + typDecl; } else if (ModelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); - return getSchemaType(p) + "[string]" + getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, inner)); + return getSchemaType(p) + "[string]" + getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, inner, schemaMapping)); } - //return super.getTypeDeclaration(p); + //return super.getTypeDeclaration(p); // Not using the supertype invocation, because we want to UpperCamelize // the type. String openAPIType = getSchemaType(p); @@ -792,7 +792,7 @@ public abstract class AbstractGoCodegen extends DefaultCodegen implements Codege @Override public String toDefaultValue(Schema schema) { - schema = ModelUtils.unaliasSchema(this.openAPI, schema); + schema = ModelUtils.unaliasSchema(this.openAPI, schema, schemaMapping); if (schema.getDefault() != null) { return schema.getDefault().toString(); } else { From 6dfbc58bb8741d58e56977e4da79e5a3e5e42fb4 Mon Sep 17 00:00:00 2001 From: Akhil Nair <36164259+the-akhil-nair@users.noreply.github.com> Date: Tue, 12 Jul 2022 12:56:18 +0530 Subject: [PATCH 173/212] [custom_content_issue] (#12836) This PR will fix issue: https://github.com/OpenAPITools/openapi-generator/issues/12835 Signed-off-by: the-akhil-nair --- .../org/openapitools/codegen/examples/ExampleGenerator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java index 2a62a8cae1..6471d7f0f0 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java @@ -171,7 +171,7 @@ public class ExampleGenerator { output.add(kv); } } else { - kv.put(EXAMPLE, null); + kv.put(EXAMPLE, "null"); output.add(kv); } } From 60c5875091bf62538ef0756d02be1b2d29537a9a Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 12 Jul 2022 18:32:15 +0800 Subject: [PATCH 174/212] Custom Content type: better message and added tests (#12841) * add tests for custom mime types * better message for custom mime type example handling * minor code format change --- .../org/openapitools/codegen/examples/ExampleGenerator.java | 2 +- ...ke-endpoints-models-for-testing-with-http-signature.yaml | 4 ++++ .../OpenAPIClient-ConditionalSerialization/docs/PetApi.md | 2 +- .../src/Org.OpenAPITools/Api/PetApi.cs | 6 ++++-- .../docs/apis/PetApi.md | 2 +- .../src/Org.OpenAPITools/Api/PetApi.cs | 3 ++- .../OpenAPIClient-generichost-net6.0/docs/apis/PetApi.md | 2 +- .../src/Org.OpenAPITools/Api/PetApi.cs | 3 ++- .../docs/apis/PetApi.md | 2 +- .../src/Org.OpenAPITools/Api/PetApi.cs | 3 ++- .../csharp-netcore/OpenAPIClient-httpclient/docs/PetApi.md | 2 +- .../src/Org.OpenAPITools/Api/PetApi.cs | 6 ++++-- .../csharp-netcore/OpenAPIClient-net47/docs/PetApi.md | 2 +- .../OpenAPIClient-net47/src/Org.OpenAPITools/Api/PetApi.cs | 6 ++++-- .../csharp-netcore/OpenAPIClient-net5.0/docs/PetApi.md | 2 +- .../OpenAPIClient-net5.0/src/Org.OpenAPITools/Api/PetApi.cs | 6 ++++-- .../petstore/csharp-netcore/OpenAPIClient/docs/PetApi.md | 2 +- .../OpenAPIClient/src/Org.OpenAPITools/Api/PetApi.cs | 6 ++++-- .../csharp-netcore/OpenAPIClientCore/docs/PetApi.md | 2 +- .../OpenAPIClientCore/src/Org.OpenAPITools/Api/PetApi.cs | 6 ++++-- 20 files changed, 44 insertions(+), 25 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java index 6471d7f0f0..a1b973e7ea 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java @@ -171,7 +171,7 @@ public class ExampleGenerator { output.add(kv); } } else { - kv.put(EXAMPLE, "null"); + kv.put(EXAMPLE, "Custom MIME type example not yet supported: " + mediaType); output.add(kv); } } diff --git a/modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml b/modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml index 4e4d668d05..b9e2888f55 100644 --- a/modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml @@ -1069,6 +1069,10 @@ paths: application/json: schema: $ref: '#/components/schemas/ApiResponse' + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet: + # Export data as Excel spreadsheet. + schema: + $ref: '#/components/schemas/ApiResponse' security: - petstore_auth: - 'write:pets' diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/PetApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/PetApi.md index 589980bafe..1c51cb3d77 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/PetApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/PetApi.md @@ -844,7 +844,7 @@ catch (ApiException e) ### HTTP request headers - **Content-Type**: multipart/form-data - - **Accept**: application/json + - **Accept**: application/json, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ### HTTP response details diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Api/PetApi.cs index 562c0f4807..125b0f5cb7 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Api/PetApi.cs @@ -2033,7 +2033,8 @@ namespace Org.OpenAPITools.Api // to determine the Accept header string[] _accepts = new string[] { - "application/json" + "application/json", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -2122,7 +2123,8 @@ namespace Org.OpenAPITools.Api // to determine the Accept header string[] _accepts = new string[] { - "application/json" + "application/json", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/PetApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/PetApi.md index 18c0d4baf3..4187e44c57 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/PetApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/docs/apis/PetApi.md @@ -844,7 +844,7 @@ catch (ApiException e) ### HTTP request headers - **Content-Type**: multipart/form-data - - **Accept**: application/json + - **Accept**: application/json, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ### HTTP response details diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/PetApi.cs index c667da14ab..64cad62fdc 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/PetApi.cs @@ -1654,7 +1654,8 @@ namespace Org.OpenAPITools.Api request.Content.Headers.Add("ContentType", contentType); string[] accepts = new string[] { - "application/json" + "application/json", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; string? accept = ClientUtils.SelectHeaderAccept(accepts); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/PetApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/PetApi.md index f651b3db0d..8ece47af9c 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/PetApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/docs/apis/PetApi.md @@ -844,7 +844,7 @@ catch (ApiException e) ### HTTP request headers - **Content-Type**: multipart/form-data - - **Accept**: application/json + - **Accept**: application/json, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ### HTTP response details diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/PetApi.cs index 0e266cbd15..c245714fbf 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/PetApi.cs @@ -1513,7 +1513,8 @@ namespace Org.OpenAPITools.Api request.Content.Headers.Add("ContentType", contentType); string[] accepts = new string[] { - "application/json" + "application/json", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; string accept = ClientUtils.SelectHeaderAccept(accepts); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/PetApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/PetApi.md index f651b3db0d..8ece47af9c 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/PetApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/docs/apis/PetApi.md @@ -844,7 +844,7 @@ catch (ApiException e) ### HTTP request headers - **Content-Type**: multipart/form-data - - **Accept**: application/json + - **Accept**: application/json, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ### HTTP response details diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/PetApi.cs index 6239ae756b..82a0d311cf 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/PetApi.cs @@ -1513,7 +1513,8 @@ namespace Org.OpenAPITools.Api request.Content.Headers.Add("ContentType", contentType); string[] accepts = new string[] { - "application/json" + "application/json", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; string accept = ClientUtils.SelectHeaderAccept(accepts); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/PetApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/PetApi.md index 9f3f7aa9f2..9db1797db9 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/PetApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/PetApi.md @@ -880,7 +880,7 @@ catch (ApiException e) ### HTTP request headers - **Content-Type**: multipart/form-data - - **Accept**: application/json + - **Accept**: application/json, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ### HTTP response details diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Api/PetApi.cs index a4ab1260df..6f8299aee6 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Api/PetApi.cs @@ -1871,7 +1871,8 @@ namespace Org.OpenAPITools.Api // to determine the Accept header string[] _accepts = new string[] { - "application/json" + "application/json", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -1945,7 +1946,8 @@ namespace Org.OpenAPITools.Api // to determine the Accept header string[] _accepts = new string[] { - "application/json" + "application/json", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/PetApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/PetApi.md index 589980bafe..1c51cb3d77 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/PetApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/PetApi.md @@ -844,7 +844,7 @@ catch (ApiException e) ### HTTP request headers - **Content-Type**: multipart/form-data - - **Accept**: application/json + - **Accept**: application/json, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ### HTTP response details diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/src/Org.OpenAPITools/Api/PetApi.cs index 562c0f4807..125b0f5cb7 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/src/Org.OpenAPITools/Api/PetApi.cs @@ -2033,7 +2033,8 @@ namespace Org.OpenAPITools.Api // to determine the Accept header string[] _accepts = new string[] { - "application/json" + "application/json", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -2122,7 +2123,8 @@ namespace Org.OpenAPITools.Api // to determine the Accept header string[] _accepts = new string[] { - "application/json" + "application/json", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/PetApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/PetApi.md index 589980bafe..1c51cb3d77 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/PetApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/PetApi.md @@ -844,7 +844,7 @@ catch (ApiException e) ### HTTP request headers - **Content-Type**: multipart/form-data - - **Accept**: application/json + - **Accept**: application/json, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ### HTTP response details diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/src/Org.OpenAPITools/Api/PetApi.cs index 562c0f4807..125b0f5cb7 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/src/Org.OpenAPITools/Api/PetApi.cs @@ -2033,7 +2033,8 @@ namespace Org.OpenAPITools.Api // to determine the Accept header string[] _accepts = new string[] { - "application/json" + "application/json", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -2122,7 +2123,8 @@ namespace Org.OpenAPITools.Api // to determine the Accept header string[] _accepts = new string[] { - "application/json" + "application/json", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/PetApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/PetApi.md index 589980bafe..1c51cb3d77 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/PetApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/PetApi.md @@ -844,7 +844,7 @@ catch (ApiException e) ### HTTP request headers - **Content-Type**: multipart/form-data - - **Accept**: application/json + - **Accept**: application/json, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ### HTTP response details diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Api/PetApi.cs index 562c0f4807..125b0f5cb7 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Api/PetApi.cs @@ -2033,7 +2033,8 @@ namespace Org.OpenAPITools.Api // to determine the Accept header string[] _accepts = new string[] { - "application/json" + "application/json", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -2122,7 +2123,8 @@ namespace Org.OpenAPITools.Api // to determine the Accept header string[] _accepts = new string[] { - "application/json" + "application/json", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/PetApi.md b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/PetApi.md index 589980bafe..1c51cb3d77 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/PetApi.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/PetApi.md @@ -844,7 +844,7 @@ catch (ApiException e) ### HTTP request headers - **Content-Type**: multipart/form-data - - **Accept**: application/json + - **Accept**: application/json, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ### HTTP response details diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Api/PetApi.cs index 562c0f4807..125b0f5cb7 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Api/PetApi.cs @@ -2033,7 +2033,8 @@ namespace Org.OpenAPITools.Api // to determine the Accept header string[] _accepts = new string[] { - "application/json" + "application/json", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes); @@ -2122,7 +2123,8 @@ namespace Org.OpenAPITools.Api // to determine the Accept header string[] _accepts = new string[] { - "application/json" + "application/json", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; var localVarContentType = Org.OpenAPITools.Client.ClientUtils.SelectHeaderContentType(_contentTypes); From 8025aa3bfa61e8b31342e6842ee7514da58b12fd Mon Sep 17 00:00:00 2001 From: Edward Poot Date: Wed, 13 Jul 2022 05:05:35 +0200 Subject: [PATCH 175/212] Fix: Always set jakarta_annotation_version (#12834) Commit 1735ab9d27656171def2440fa75cfe0c80a510f5 added changes to set the `jakarta_annotation_version`. I've recently noticed that when using retrofit2 library, the project builds fine with Maven but fails with Gradle. The build fails due to `Could not get unknown property 'jakarta_annotation_version' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler`. Digging into this, in the generated `build.gradle` the `jakarta_annotation_version` is never set. Upon closer inspection, aforementioned commit seems to indeed set it differently for the Maven build configuration than the Gradle build configuration (same for SBT configuration) for that matter. The issue is that due to human error the `jakarta_annotation_version` line is added within the `{{#usePlayWS}}` block, meaning it won't be generated when `usePlayWS` is false, even though it should. This commit changes this to always generate it. --- .../resources/Java/libraries/retrofit2/build.gradle.mustache | 2 +- samples/client/petstore/java/retrofit2-play26/build.gradle | 2 +- samples/client/petstore/java/retrofit2/build.gradle | 1 + samples/client/petstore/java/retrofit2rx2/build.gradle | 1 + samples/client/petstore/java/retrofit2rx3/build.gradle | 1 + 5 files changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/build.gradle.mustache index a9eb683f60..7f2b0569ae 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/build.gradle.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/build.gradle.mustache @@ -105,9 +105,9 @@ ext { {{#openApiNullable}} jackson_databind_nullable_version = "0.2.3" {{/openApiNullable}} - jakarta_annotation_version = "1.3.5" play_version = "2.6.7" {{/usePlayWS}} + jakarta_annotation_version = "1.3.5" swagger_annotations_version = "1.5.22" junit_version = "4.13.2" {{#useRxJava2}} diff --git a/samples/client/petstore/java/retrofit2-play26/build.gradle b/samples/client/petstore/java/retrofit2-play26/build.gradle index 819ffd7803..49b13cac61 100644 --- a/samples/client/petstore/java/retrofit2-play26/build.gradle +++ b/samples/client/petstore/java/retrofit2-play26/build.gradle @@ -102,8 +102,8 @@ ext { jackson_version = "2.12.1" jackson_databind_version = "2.12.6.1" jackson_databind_nullable_version = "0.2.3" - jakarta_annotation_version = "1.3.5" play_version = "2.6.7" + jakarta_annotation_version = "1.3.5" swagger_annotations_version = "1.5.22" junit_version = "4.13.2" json_fire_version = "1.8.0" diff --git a/samples/client/petstore/java/retrofit2/build.gradle b/samples/client/petstore/java/retrofit2/build.gradle index 9fcc46882f..157c62f7de 100644 --- a/samples/client/petstore/java/retrofit2/build.gradle +++ b/samples/client/petstore/java/retrofit2/build.gradle @@ -99,6 +99,7 @@ if(hasProperty('target') && target == 'android') { ext { oltu_version = "1.0.1" retrofit_version = "2.3.0" + jakarta_annotation_version = "1.3.5" swagger_annotations_version = "1.5.22" junit_version = "4.13.2" json_fire_version = "1.8.0" diff --git a/samples/client/petstore/java/retrofit2rx2/build.gradle b/samples/client/petstore/java/retrofit2rx2/build.gradle index da85e26ceb..82b659c48b 100644 --- a/samples/client/petstore/java/retrofit2rx2/build.gradle +++ b/samples/client/petstore/java/retrofit2rx2/build.gradle @@ -99,6 +99,7 @@ if(hasProperty('target') && target == 'android') { ext { oltu_version = "1.0.1" retrofit_version = "2.3.0" + jakarta_annotation_version = "1.3.5" swagger_annotations_version = "1.5.22" junit_version = "4.13.2" rx_java_version = "2.1.1" diff --git a/samples/client/petstore/java/retrofit2rx3/build.gradle b/samples/client/petstore/java/retrofit2rx3/build.gradle index 2993b07fca..58563df94e 100644 --- a/samples/client/petstore/java/retrofit2rx3/build.gradle +++ b/samples/client/petstore/java/retrofit2rx3/build.gradle @@ -99,6 +99,7 @@ if(hasProperty('target') && target == 'android') { ext { oltu_version = "1.0.1" retrofit_version = "2.3.0" + jakarta_annotation_version = "1.3.5" swagger_annotations_version = "1.5.22" junit_version = "4.13.2" rx_java_version = "3.0.4" From 2e2da7bc8290440f502ce4e690ddebea79416f5a Mon Sep 17 00:00:00 2001 From: Oleh Kurpiak Date: Wed, 13 Jul 2022 06:08:28 +0300 Subject: [PATCH 176/212] [Spring] fix deprecated generation (#12832) --- .../src/main/resources/JavaSpring/api.mustache | 3 +++ .../src/main/resources/JavaSpring/apiController.mustache | 3 +++ .../src/main/resources/JavaSpring/apiDelegate.mustache | 3 +++ .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApiDelegate.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApiDelegate.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../springboot/src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApiDelegate.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApiDelegate.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApiDelegate.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApiDelegate.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApiDelegate.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/api/PetApi.java | 1 + .../src/main/java/org/openapitools/virtualan/api/PetApi.java | 1 + .../springboot/src/main/java/org/openapitools/api/PetApi.java | 1 + 45 files changed, 51 insertions(+) diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/api.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/api.mustache index ca2aa103c8..0b9c2bb4de 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/api.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/api.mustache @@ -134,6 +134,9 @@ public interface {{classname}} { * @see {{summary}} Documentation {{/externalDocs}} */ + {{#isDeprecated}} + @Deprecated + {{/isDeprecated}} {{#virtualService}} @ApiVirtual {{/virtualService}} diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/apiController.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/apiController.mustache index 6f348a15a2..aa091238bc 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/apiController.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/apiController.mustache @@ -115,6 +115,9 @@ public class {{classname}}Controller implements {{classname}} { {{/externalDocs}} * @see {{classname}}#{{operationId}} */ + {{#isDeprecated}} + @Deprecated + {{/isDeprecated}} public {{#responseWrapper}}{{.}}<{{/responseWrapper}}ResponseEntity<{{>returnTypes}}>{{#responseWrapper}}>{{/responseWrapper}} {{operationId}}( {{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{>cookieParams}}{{^-last}}, {{/-last}}{{/allParams}}{{#vendorExtensions.x-spring-paginated}}{{#hasParams}}, diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/apiDelegate.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/apiDelegate.mustache index b59f8bd01b..5d3332c0cc 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/apiDelegate.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/apiDelegate.mustache @@ -62,6 +62,9 @@ public interface {{classname}}Delegate { {{/externalDocs}} * @see {{classname}}#{{operationId}} */ + {{#isDeprecated}} + @Deprecated + {{/isDeprecated}} {{#jdk8-default-interface}}default {{/jdk8-default-interface}}{{#responseWrapper}}{{.}}<{{/responseWrapper}}ResponseEntity<{{>returnTypes}}>{{#responseWrapper}}>{{/responseWrapper}} {{operationId}}({{#allParams}}{{^isFile}}{{^isBodyParam}}{{>optionalDataType}}{{/isBodyParam}}{{#isBodyParam}}{{^reactive}}{{{dataType}}}{{/reactive}}{{#reactive}}{{^isArray}}Mono<{{{dataType}}}>{{/isArray}}{{#isArray}}Flux<{{{baseType}}}>{{/isArray}}{{/reactive}}{{/isBodyParam}}{{/isFile}}{{#isFile}}{{#isArray}}List<{{/isArray}}{{#reactive}}Flux{{/reactive}}{{^reactive}}MultipartFile{{/reactive}}{{#isArray}}>{{/isArray}}{{/isFile}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}{{#reactive}}{{#hasParams}}, {{/hasParams}}ServerWebExchange exchange{{/reactive}}{{#vendorExtensions.x-spring-paginated}}, final Pageable pageable{{/vendorExtensions.x-spring-paginated}}){{#unhandledException}} throws Exception{{/unhandledException}}{{^jdk8-default-interface}};{{/jdk8-default-interface}}{{#jdk8-default-interface}} { diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java index 8a6021f187..44ff770bf6 100644 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java @@ -137,6 +137,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @ApiOperation( tags = { "pet" }, value = "Finds Pets by tags", diff --git a/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/PetApi.java b/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/PetApi.java index 55bc3993f2..18df2b8fd8 100644 --- a/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/client/petstore/spring-cloud-feign-without-url/src/main/java/org/openapitools/api/PetApi.java @@ -141,6 +141,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @ApiOperation( tags = { "pet" }, value = "Finds Pets by tags", diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java index 989238f8af..792b5b5181 100644 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java @@ -139,6 +139,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @ApiOperation( tags = { "pet" }, value = "Finds Pets by tags", diff --git a/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java b/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java index 55bc3993f2..18df2b8fd8 100644 --- a/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java @@ -141,6 +141,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @ApiOperation( tags = { "pet" }, value = "Finds Pets by tags", diff --git a/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java b/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java index f482477884..c2e9bbb486 100644 --- a/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java @@ -163,6 +163,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @ApiOperation( tags = { "pet" }, value = "Finds Pets by tags", diff --git a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/PetApi.java index e743ac5778..bc528d869c 100644 --- a/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-3/src/main/java/org/openapitools/api/PetApi.java @@ -140,6 +140,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @Operation( operationId = "findPetsByTags", summary = "Finds Pets by tags", diff --git a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java index 8601fef842..6c4a3f8095 100644 --- a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java @@ -133,6 +133,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @Operation( operationId = "findPetsByTags", summary = "Finds Pets by tags", diff --git a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/PetApi.java index 30e0b06d93..df8fbba43e 100644 --- a/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-oas3-fakeapi/src/main/java/org/openapitools/api/PetApi.java @@ -137,6 +137,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @Operation( operationId = "findPetsByTags", summary = "Finds Pets by tags", diff --git a/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java index 7dbcf06d17..3731d3345b 100644 --- a/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java @@ -135,6 +135,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @Operation( operationId = "findPetsByTags", summary = "Finds Pets by tags", diff --git a/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java index 10e8a128f5..01863d6187 100644 --- a/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-cloud/src/main/java/org/openapitools/api/PetApi.java @@ -140,6 +140,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @Operation( operationId = "findPetsByTags", summary = "Finds Pets by tags", diff --git a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/PetApi.java index 6b3682f9c3..d7ce243725 100644 --- a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/PetApi.java @@ -132,6 +132,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @Operation( operationId = "findPetsByTags", summary = "Finds Pets by tags", diff --git a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java index 6033bad1da..1b722d9912 100644 --- a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java @@ -159,6 +159,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @Operation( operationId = "findPetsByTags", summary = "Finds Pets by tags", diff --git a/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/PetApi.java index a024d30679..141edaea32 100644 --- a/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/spring-boot-springdoc/src/main/java/org/openapitools/api/PetApi.java @@ -181,6 +181,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @Operation( operationId = "findPetsByTags", summary = "Finds Pets by tags", diff --git a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApi.java index cfd2564501..13ea5c38f8 100644 --- a/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-3/src/main/java/org/openapitools/api/PetApi.java @@ -181,6 +181,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @Operation( operationId = "findPetsByTags", summary = "Finds Pets by tags", diff --git a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java index 13f2f2ab9d..b3a781e192 100644 --- a/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java @@ -164,6 +164,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @Operation( operationId = "findPetsByTags", summary = "Finds Pets by tags", diff --git a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java index 4497460309..2cf7ed1ad4 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java @@ -143,6 +143,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @Operation( operationId = "findPetsByTags", summary = "Finds Pets by tags", diff --git a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApiDelegate.java b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApiDelegate.java index 8ecf827b36..1f97f43b6d 100644 --- a/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApiDelegate.java +++ b/samples/openapi3/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApiDelegate.java @@ -91,6 +91,7 @@ public interface PetApiDelegate { * @deprecated * @see PetApi#findPetsByTags */ + @Deprecated default ResponseEntity> findPetsByTags(Set tags) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { diff --git a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java index f776fad912..b145a23a02 100644 --- a/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java @@ -165,6 +165,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @Operation( operationId = "findPetsByTags", summary = "Finds Pets by tags", diff --git a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java index 3dae9c163e..f6476ac3b9 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java @@ -150,6 +150,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @Operation( operationId = "findPetsByTags", summary = "Finds Pets by tags", diff --git a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApiDelegate.java b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApiDelegate.java index 7d702440d7..23e86e8d55 100644 --- a/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApiDelegate.java +++ b/samples/openapi3/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApiDelegate.java @@ -102,6 +102,7 @@ public interface PetApiDelegate { * @deprecated * @see PetApi#findPetsByTags */ + @Deprecated default Mono>> findPetsByTags(Set tags, ServerWebExchange exchange) { Mono result = Mono.empty(); diff --git a/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/PetApi.java index fb63977d94..849c6dfea5 100644 --- a/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-source/src/main/java/org/openapitools/api/PetApi.java @@ -131,6 +131,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @RequestMapping( method = RequestMethod.GET, value = "/pet/findByTags", diff --git a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java index 0f235ec245..1582e94d08 100644 --- a/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java @@ -164,6 +164,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @Operation( operationId = "findPetsByTags", summary = "Finds Pets by tags", diff --git a/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java index a024d30679..141edaea32 100644 --- a/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java @@ -181,6 +181,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @Operation( operationId = "findPetsByTags", summary = "Finds Pets by tags", diff --git a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/PetApi.java index 92166266f1..4e66176dcd 100644 --- a/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/spring-boot-defaultInterface-unhandledException/src/main/java/org/openapitools/api/PetApi.java @@ -137,6 +137,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @Operation( operationId = "findPetsByTags", summary = "Finds Pets by tags", diff --git a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java index 0ffe324c3b..d90711dbf0 100644 --- a/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-beanvalidation-no-nullable/src/main/java/org/openapitools/api/PetApi.java @@ -168,6 +168,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @ApiOperation( tags = { "pet" }, value = "Finds Pets by tags", diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/PetApi.java index 0ffe324c3b..d90711dbf0 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/PetApi.java @@ -168,6 +168,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @ApiOperation( tags = { "pet" }, value = "Finds Pets by tags", diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/PetApi.java index eda88b62dc..63375f8559 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/PetApi.java @@ -147,6 +147,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @ApiOperation( tags = { "pet" }, value = "Finds Pets by tags", diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/PetApiDelegate.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/PetApiDelegate.java index 8ecf827b36..1f97f43b6d 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/PetApiDelegate.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/PetApiDelegate.java @@ -91,6 +91,7 @@ public interface PetApiDelegate { * @deprecated * @see PetApi#findPetsByTags */ + @Deprecated default ResponseEntity> findPetsByTags(Set tags) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java index eda88b62dc..63375f8559 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApi.java @@ -147,6 +147,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @ApiOperation( tags = { "pet" }, value = "Finds Pets by tags", diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApiDelegate.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApiDelegate.java index 8ecf827b36..1f97f43b6d 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApiDelegate.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/PetApiDelegate.java @@ -91,6 +91,7 @@ public interface PetApiDelegate { * @deprecated * @see PetApi#findPetsByTags */ + @Deprecated default ResponseEntity> findPetsByTags(Set tags) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java index 8ae5ba23ae..35a9bc5099 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/PetApi.java @@ -169,6 +169,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @ApiOperation( tags = { "pet" }, value = "Finds Pets by tags", diff --git a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java index 734c4b9e58..95eb597544 100644 --- a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApi.java @@ -155,6 +155,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @ApiOperation( tags = { "pet" }, value = "Finds Pets by tags", diff --git a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApiDelegate.java b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApiDelegate.java index 6a256a8fb4..b64cb0f503 100644 --- a/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApiDelegate.java +++ b/samples/server/petstore/springboot-reactive/src/main/java/org/openapitools/api/PetApiDelegate.java @@ -103,6 +103,7 @@ public interface PetApiDelegate { * @deprecated * @see PetApi#findPetsByTags */ + @Deprecated default Mono>> findPetsByTags(Set tags, ServerWebExchange exchange) { Mono result = Mono.empty(); diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/PetApi.java index 00b92947ec..4d76ec28a1 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/PetApi.java @@ -149,6 +149,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @ApiOperation( tags = { "pet" }, value = "Finds Pets by tags", diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/PetApiDelegate.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/PetApiDelegate.java index daf113aec6..e14cc23e79 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/PetApiDelegate.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/api/PetApiDelegate.java @@ -92,6 +92,7 @@ public interface PetApiDelegate { * @deprecated * @see PetApi#findPetsByTags */ + @Deprecated default ResponseEntity> findPetsByTags(List tags, final Pageable pageable) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/PetApi.java index 00b92947ec..4d76ec28a1 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/PetApi.java @@ -149,6 +149,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @ApiOperation( tags = { "pet" }, value = "Finds Pets by tags", diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/PetApiDelegate.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/PetApiDelegate.java index daf113aec6..e14cc23e79 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/PetApiDelegate.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/api/PetApiDelegate.java @@ -92,6 +92,7 @@ public interface PetApiDelegate { * @deprecated * @see PetApi#findPetsByTags */ + @Deprecated default ResponseEntity> findPetsByTags(List tags, final Pageable pageable) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/PetApi.java index 338198fe2d..ceb236762b 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/api/PetApi.java @@ -170,6 +170,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @ApiOperation( tags = { "pet" }, value = "Finds Pets by tags", diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/PetApi.java index 338198fe2d..ceb236762b 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/api/PetApi.java @@ -170,6 +170,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @ApiOperation( tags = { "pet" }, value = "Finds Pets by tags", diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java index d5ffce20e2..a569585677 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/PetApi.java @@ -168,6 +168,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @ApiOperation( tags = { "pet" }, value = "Finds Pets by tags", diff --git a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/PetApi.java b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/PetApi.java index c3f23157dc..5377f8517a 100644 --- a/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/PetApi.java +++ b/samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/PetApi.java @@ -170,6 +170,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @ApiVirtual @Operation( operationId = "findPetsByTags", diff --git a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java index 0ffe324c3b..d90711dbf0 100644 --- a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/PetApi.java @@ -168,6 +168,7 @@ public interface PetApi { * or Invalid tag value (status code 400) * @deprecated */ + @Deprecated @ApiOperation( tags = { "pet" }, value = "Finds Pets by tags", From 9e2b8a0ec14ea2ff48d989045c9a1ce161526633 Mon Sep 17 00:00:00 2001 From: roedde <81680004+roedde@users.noreply.github.com> Date: Wed, 13 Jul 2022 05:16:44 +0200 Subject: [PATCH 177/212] #12844: copy skipOperationExample from builder to WorkflowSettings (#12845) --- .../java/org/openapitools/codegen/config/WorkflowSettings.java | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/WorkflowSettings.java b/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/WorkflowSettings.java index 64e426fa68..020dad9e50 100644 --- a/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/WorkflowSettings.java +++ b/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/WorkflowSettings.java @@ -71,6 +71,7 @@ public class WorkflowSettings { this.outputDir = builder.outputDir; this.verbose = builder.verbose; this.skipOverwrite = builder.skipOverwrite; + this.skipOperationExample = builder.skipOperationExample; this.removeOperationIdPrefix = builder.removeOperationIdPrefix; this.logToStderr = builder.logToStderr; this.validateSpec = builder.validateSpec; From 57496ff0b044daad34674cad7fafc2b5194716c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Linus=20Kl=C3=B6ckner?= Date: Wed, 13 Jul 2022 09:47:39 +0200 Subject: [PATCH 178/212] [java][okhttp-gson] Complex values in form data get serialized as JSON instead of String (#12779) * Java: fix complex object serialization in form-data * Java: update samples --- .../libraries/okhttp-gson/ApiClient.mustache | 32 +++++++++++++++++-- .../org/openapitools/client/ApiClient.java | 32 +++++++++++++++++-- .../org/openapitools/client/ApiClient.java | 32 +++++++++++++++++-- .../org/openapitools/client/ApiClient.java | 32 +++++++++++++++++-- .../org/openapitools/client/ApiClient.java | 32 +++++++++++++++++-- .../org/openapitools/client/ApiClient.java | 32 +++++++++++++++++-- 6 files changed, 174 insertions(+), 18 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache index 73a5749fba..9b1812a955 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache @@ -1528,11 +1528,12 @@ public class ApiClient { for (Object item: list) { if (item instanceof File) { addPartToMultiPartBuilder(mpBuilder, param.getKey(), (File) item); + } else { + addPartToMultiPartBuilder(mpBuilder, param.getKey(), param.getValue()); } } } else { - Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + param.getKey() + "\""); - mpBuilder.addPart(partHeaders, RequestBody.create(parameterToString(param.getValue()), null)); + addPartToMultiPartBuilder(mpBuilder, param.getKey(), param.getValue()); } } return mpBuilder.build(); @@ -1566,6 +1567,31 @@ public class ApiClient { mpBuilder.addPart(partHeaders, RequestBody.create(file, mediaType)); } + /** + * Add a Content-Disposition Header for the given key and complex object to the MultipartBody Builder. + * + * @param mpBuilder MultipartBody.Builder + * @param key The key of the Header element + * @param obj The complex object to add to the Header + */ + private void addPartToMultiPartBuilder(MultipartBody.Builder mpBuilder, String key, Object obj) { + RequestBody requestBody; + if (obj instanceof String) { + requestBody = RequestBody.create((String) obj, MediaType.parse("text/plain")); + } else { + String content; + if (obj != null) { + content = json.serialize(obj); + } else { + content = null; + } + requestBody = RequestBody.create(content, MediaType.parse("application/json")); + } + + Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + key + "\""); + mpBuilder.addPart(partHeaders, requestBody); + } + /** * Get network interceptor to add it to the httpClient to track download progress for * async requests. @@ -1737,7 +1763,7 @@ public class ApiClient { /** * Convert the HTTP request body to a string. * - * @param request The HTTP request object + * @param requestBody The HTTP request object * @return The string representation of the HTTP request body * @throws {{invokerPackage}}.ApiException If fail to serialize the request body object into a string */ diff --git a/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/ApiClient.java index 20c24352d3..89471e3b8b 100644 --- a/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/ApiClient.java @@ -1323,11 +1323,12 @@ public class ApiClient { for (Object item: list) { if (item instanceof File) { addPartToMultiPartBuilder(mpBuilder, param.getKey(), (File) item); + } else { + addPartToMultiPartBuilder(mpBuilder, param.getKey(), param.getValue()); } } } else { - Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + param.getKey() + "\""); - mpBuilder.addPart(partHeaders, RequestBody.create(parameterToString(param.getValue()), null)); + addPartToMultiPartBuilder(mpBuilder, param.getKey(), param.getValue()); } } return mpBuilder.build(); @@ -1361,6 +1362,31 @@ public class ApiClient { mpBuilder.addPart(partHeaders, RequestBody.create(file, mediaType)); } + /** + * Add a Content-Disposition Header for the given key and complex object to the MultipartBody Builder. + * + * @param mpBuilder MultipartBody.Builder + * @param key The key of the Header element + * @param obj The complex object to add to the Header + */ + private void addPartToMultiPartBuilder(MultipartBody.Builder mpBuilder, String key, Object obj) { + RequestBody requestBody; + if (obj instanceof String) { + requestBody = RequestBody.create((String) obj, MediaType.parse("text/plain")); + } else { + String content; + if (obj != null) { + content = json.serialize(obj); + } else { + content = null; + } + requestBody = RequestBody.create(content, MediaType.parse("application/json")); + } + + Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + key + "\""); + mpBuilder.addPart(partHeaders, requestBody); + } + /** * Get network interceptor to add it to the httpClient to track download progress for * async requests. @@ -1461,7 +1487,7 @@ public class ApiClient { /** * Convert the HTTP request body to a string. * - * @param request The HTTP request object + * @param requestBody The HTTP request object * @return The string representation of the HTTP request body * @throws org.openapitools.client.ApiException If fail to serialize the request body object into a string */ diff --git a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/ApiClient.java index c065d7d109..e7332008c0 100644 --- a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/ApiClient.java @@ -1401,11 +1401,12 @@ public class ApiClient { for (Object item: list) { if (item instanceof File) { addPartToMultiPartBuilder(mpBuilder, param.getKey(), (File) item); + } else { + addPartToMultiPartBuilder(mpBuilder, param.getKey(), param.getValue()); } } } else { - Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + param.getKey() + "\""); - mpBuilder.addPart(partHeaders, RequestBody.create(parameterToString(param.getValue()), null)); + addPartToMultiPartBuilder(mpBuilder, param.getKey(), param.getValue()); } } return mpBuilder.build(); @@ -1439,6 +1440,31 @@ public class ApiClient { mpBuilder.addPart(partHeaders, RequestBody.create(file, mediaType)); } + /** + * Add a Content-Disposition Header for the given key and complex object to the MultipartBody Builder. + * + * @param mpBuilder MultipartBody.Builder + * @param key The key of the Header element + * @param obj The complex object to add to the Header + */ + private void addPartToMultiPartBuilder(MultipartBody.Builder mpBuilder, String key, Object obj) { + RequestBody requestBody; + if (obj instanceof String) { + requestBody = RequestBody.create((String) obj, MediaType.parse("text/plain")); + } else { + String content; + if (obj != null) { + content = json.serialize(obj); + } else { + content = null; + } + requestBody = RequestBody.create(content, MediaType.parse("application/json")); + } + + Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + key + "\""); + mpBuilder.addPart(partHeaders, requestBody); + } + /** * Get network interceptor to add it to the httpClient to track download progress for * async requests. @@ -1608,7 +1634,7 @@ public class ApiClient { /** * Convert the HTTP request body to a string. * - * @param request The HTTP request object + * @param requestBody The HTTP request object * @return The string representation of the HTTP request body * @throws org.openapitools.client.ApiException If fail to serialize the request body object into a string */ diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiClient.java index 8845b13e97..24914b5028 100644 --- a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiClient.java @@ -1396,11 +1396,12 @@ public class ApiClient { for (Object item: list) { if (item instanceof File) { addPartToMultiPartBuilder(mpBuilder, param.getKey(), (File) item); + } else { + addPartToMultiPartBuilder(mpBuilder, param.getKey(), param.getValue()); } } } else { - Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + param.getKey() + "\""); - mpBuilder.addPart(partHeaders, RequestBody.create(parameterToString(param.getValue()), null)); + addPartToMultiPartBuilder(mpBuilder, param.getKey(), param.getValue()); } } return mpBuilder.build(); @@ -1434,6 +1435,31 @@ public class ApiClient { mpBuilder.addPart(partHeaders, RequestBody.create(file, mediaType)); } + /** + * Add a Content-Disposition Header for the given key and complex object to the MultipartBody Builder. + * + * @param mpBuilder MultipartBody.Builder + * @param key The key of the Header element + * @param obj The complex object to add to the Header + */ + private void addPartToMultiPartBuilder(MultipartBody.Builder mpBuilder, String key, Object obj) { + RequestBody requestBody; + if (obj instanceof String) { + requestBody = RequestBody.create((String) obj, MediaType.parse("text/plain")); + } else { + String content; + if (obj != null) { + content = json.serialize(obj); + } else { + content = null; + } + requestBody = RequestBody.create(content, MediaType.parse("application/json")); + } + + Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + key + "\""); + mpBuilder.addPart(partHeaders, requestBody); + } + /** * Get network interceptor to add it to the httpClient to track download progress for * async requests. @@ -1534,7 +1560,7 @@ public class ApiClient { /** * Convert the HTTP request body to a string. * - * @param request The HTTP request object + * @param requestBody The HTTP request object * @return The string representation of the HTTP request body * @throws org.openapitools.client.ApiException If fail to serialize the request body object into a string */ diff --git a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/ApiClient.java index 8ae5d16c3b..07792101ff 100644 --- a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/ApiClient.java @@ -1402,11 +1402,12 @@ public class ApiClient { for (Object item: list) { if (item instanceof File) { addPartToMultiPartBuilder(mpBuilder, param.getKey(), (File) item); + } else { + addPartToMultiPartBuilder(mpBuilder, param.getKey(), param.getValue()); } } } else { - Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + param.getKey() + "\""); - mpBuilder.addPart(partHeaders, RequestBody.create(parameterToString(param.getValue()), null)); + addPartToMultiPartBuilder(mpBuilder, param.getKey(), param.getValue()); } } return mpBuilder.build(); @@ -1440,6 +1441,31 @@ public class ApiClient { mpBuilder.addPart(partHeaders, RequestBody.create(file, mediaType)); } + /** + * Add a Content-Disposition Header for the given key and complex object to the MultipartBody Builder. + * + * @param mpBuilder MultipartBody.Builder + * @param key The key of the Header element + * @param obj The complex object to add to the Header + */ + private void addPartToMultiPartBuilder(MultipartBody.Builder mpBuilder, String key, Object obj) { + RequestBody requestBody; + if (obj instanceof String) { + requestBody = RequestBody.create((String) obj, MediaType.parse("text/plain")); + } else { + String content; + if (obj != null) { + content = json.serialize(obj); + } else { + content = null; + } + requestBody = RequestBody.create(content, MediaType.parse("application/json")); + } + + Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + key + "\""); + mpBuilder.addPart(partHeaders, requestBody); + } + /** * Get network interceptor to add it to the httpClient to track download progress for * async requests. @@ -1540,7 +1566,7 @@ public class ApiClient { /** * Convert the HTTP request body to a string. * - * @param request The HTTP request object + * @param requestBody The HTTP request object * @return The string representation of the HTTP request body * @throws org.openapitools.client.ApiException If fail to serialize the request body object into a string */ diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java index 0e626694f6..4319311adf 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java @@ -1421,11 +1421,12 @@ public class ApiClient { for (Object item: list) { if (item instanceof File) { addPartToMultiPartBuilder(mpBuilder, param.getKey(), (File) item); + } else { + addPartToMultiPartBuilder(mpBuilder, param.getKey(), param.getValue()); } } } else { - Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + param.getKey() + "\""); - mpBuilder.addPart(partHeaders, RequestBody.create(parameterToString(param.getValue()), null)); + addPartToMultiPartBuilder(mpBuilder, param.getKey(), param.getValue()); } } return mpBuilder.build(); @@ -1459,6 +1460,31 @@ public class ApiClient { mpBuilder.addPart(partHeaders, RequestBody.create(file, mediaType)); } + /** + * Add a Content-Disposition Header for the given key and complex object to the MultipartBody Builder. + * + * @param mpBuilder MultipartBody.Builder + * @param key The key of the Header element + * @param obj The complex object to add to the Header + */ + private void addPartToMultiPartBuilder(MultipartBody.Builder mpBuilder, String key, Object obj) { + RequestBody requestBody; + if (obj instanceof String) { + requestBody = RequestBody.create((String) obj, MediaType.parse("text/plain")); + } else { + String content; + if (obj != null) { + content = json.serialize(obj); + } else { + content = null; + } + requestBody = RequestBody.create(content, MediaType.parse("application/json")); + } + + Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + key + "\""); + mpBuilder.addPart(partHeaders, requestBody); + } + /** * Get network interceptor to add it to the httpClient to track download progress for * async requests. @@ -1559,7 +1585,7 @@ public class ApiClient { /** * Convert the HTTP request body to a string. * - * @param request The HTTP request object + * @param requestBody The HTTP request object * @return The string representation of the HTTP request body * @throws org.openapitools.client.ApiException If fail to serialize the request body object into a string */ From 636820b541d7586d604c4d2272f61647b83f76a8 Mon Sep 17 00:00:00 2001 From: devhl-labs Date: Wed, 13 Jul 2022 04:48:23 -0400 Subject: [PATCH 179/212] Add nonNullableVars to CodegenModel (#12815) * added nonNullableVars * build samples --- .../openapitools/codegen/CodegenModel.java | 14 ++++++++- .../openapitools/codegen/DefaultCodegen.java | 8 +++++ .../rust/hyper/petstore/docs/PetApi.md | 18 +++++------ .../rust/hyper/petstore/docs/StoreApi.md | 8 ++--- .../rust/hyper/petstore/src/apis/pet_api.rs | 26 ++++++++-------- .../rust/hyper/petstore/src/apis/store_api.rs | 12 ++++---- .../reqwest/petstore-async/docs/PetApi.md | 18 +++++------ .../reqwest/petstore-async/docs/StoreApi.md | 8 ++--- .../petstore-async/src/apis/pet_api.rs | 30 +++++++++---------- .../petstore-async/src/apis/store_api.rs | 12 ++++---- .../petstore-awsv4signature/docs/PetApi.md | 18 +++++------ .../petstore-awsv4signature/docs/StoreApi.md | 8 ++--- .../src/apis/pet_api.rs | 18 +++++------ .../src/apis/store_api.rs | 8 ++--- .../rust/reqwest/petstore/docs/PetApi.md | 18 +++++------ .../rust/reqwest/petstore/docs/StoreApi.md | 8 ++--- .../rust/reqwest/petstore/src/apis/pet_api.rs | 18 +++++------ .../reqwest/petstore/src/apis/store_api.rs | 8 ++--- 18 files changed, 139 insertions(+), 119 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java index b4a7160538..a8107fb07d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java @@ -75,6 +75,7 @@ public class CodegenModel implements IJsonSchemaValidationProperties { public List readOnlyVars = new ArrayList<>(); // a list of read-only properties public List readWriteVars = new ArrayList<>(); // a list of properties for read, write public List parentVars = new ArrayList<>(); + public List nonNullableVars = new ArrayList<>(); // a list of non-nullable properties public Map allowableValues; // Sorted sets of required parameters. @@ -196,6 +197,14 @@ public class CodegenModel implements IJsonSchemaValidationProperties { this.allVars = allVars; } + public List getNonNullableVars() { + return nonNullableVars; + } + + public void setNonNullableVars(List nonNullableVars) { + this.nonNullableVars = nonNullableVars; + } + public Map getAllowableValues() { return allowableValues; } @@ -947,6 +956,7 @@ public class CodegenModel implements IJsonSchemaValidationProperties { Objects.equals(arrayModelType, that.arrayModelType) && Objects.equals(vars, that.vars) && Objects.equals(allVars, that.allVars) && + Objects.equals(nonNullableVars, that.nonNullableVars) && Objects.equals(requiredVars, that.requiredVars) && Objects.equals(optionalVars, that.optionalVars) && Objects.equals(readOnlyVars, that.readOnlyVars) && @@ -982,7 +992,7 @@ public class CodegenModel implements IJsonSchemaValidationProperties { getXmlName(), getClassFilename(), getUnescapedDescription(), getDiscriminator(), getDefaultValue(), getArrayModelType(), isAlias, isString, isInteger, isLong, isNumber, isNumeric, isFloat, isDouble, isDate, isDateTime, isNull, hasValidation, isShort, isUnboundedInteger, isBoolean, - getVars(), getAllVars(), getRequiredVars(), getOptionalVars(), getReadOnlyVars(), getReadWriteVars(), + getVars(), getAllVars(), getNonNullableVars(), getRequiredVars(), getOptionalVars(), getReadOnlyVars(), getReadWriteVars(), getParentVars(), getAllowableValues(), getMandatory(), getAllMandatory(), getImports(), hasVars, isEmptyVars(), hasMoreModels, hasEnums, isEnum, isNullable, hasRequired, hasOptional, isArray, hasChildren, isMap, isDeprecated, hasOnlyReadOnly, getExternalDocumentation(), getVendorExtensions(), @@ -1036,6 +1046,7 @@ public class CodegenModel implements IJsonSchemaValidationProperties { sb.append(", isDateTime=").append(isDateTime); sb.append(", vars=").append(vars); sb.append(", allVars=").append(allVars); + sb.append(", nonNullableVars=").append(nonNullableVars); sb.append(", requiredVars=").append(requiredVars); sb.append(", optionalVars=").append(optionalVars); sb.append(", readOnlyVars=").append(readOnlyVars); @@ -1123,6 +1134,7 @@ public class CodegenModel implements IJsonSchemaValidationProperties { requiredVars = removeDuplicatedProperty(requiredVars); parentVars = removeDuplicatedProperty(parentVars); allVars = removeDuplicatedProperty(allVars); + nonNullableVars = removeDuplicatedProperty(nonNullableVars); readOnlyVars = removeDuplicatedProperty(readOnlyVars); readWriteVars = removeDuplicatedProperty(readWriteVars); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 3246115b6f..36093d46d8 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -698,6 +698,10 @@ public class DefaultCodegen implements CodegenConfig { updateCodegenPropertyEnum(var); } + for (CodegenProperty var : cm.nonNullableVars) { + updateCodegenPropertyEnum(var); + } + for (CodegenProperty var : cm.requiredVars) { updateCodegenPropertyEnum(var); } @@ -5453,6 +5457,10 @@ public class DefaultCodegen implements CodegenConfig { // duplicated properties will be removed by removeAllDuplicatedProperty later cm.readWriteVars.add(cp); } + + if (Boolean.FALSE.equals(cp.isNullable)){ + cm.nonNullableVars.add(cp); + } } } return; diff --git a/samples/client/petstore/rust/hyper/petstore/docs/PetApi.md b/samples/client/petstore/rust/hyper/petstore/docs/PetApi.md index 7deea32cd8..b94b34a8a3 100644 --- a/samples/client/petstore/rust/hyper/petstore/docs/PetApi.md +++ b/samples/client/petstore/rust/hyper/petstore/docs/PetApi.md @@ -47,7 +47,7 @@ Name | Type | Description | Required | Notes ## delete_pet -> delete_pet(pet_id, api_key) +> delete_pet(petid, api_key) Deletes a pet @@ -57,7 +57,7 @@ Deletes a pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | Pet id to delete | [required] | +**petid** | **i64** | Pet id to delete | [required] | **api_key** | Option<**String**> | | | ### Return type @@ -138,7 +138,7 @@ Name | Type | Description | Required | Notes ## get_pet_by_id -> crate::models::Pet get_pet_by_id(pet_id) +> crate::models::Pet get_pet_by_id(petid) Find pet by ID Returns a single pet @@ -148,7 +148,7 @@ Returns a single pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet to return | [required] | +**petid** | **i64** | ID of pet to return | [required] | ### Return type @@ -198,7 +198,7 @@ Name | Type | Description | Required | Notes ## update_pet_with_form -> update_pet_with_form(pet_id, name, status) +> update_pet_with_form(petid, name, status) Updates a pet in the store with form data @@ -208,7 +208,7 @@ Updates a pet in the store with form data Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet that needs to be updated | [required] | +**petid** | **i64** | ID of pet that needs to be updated | [required] | **name** | Option<**String**> | Updated name of the pet | | **status** | Option<**String**> | Updated status of the pet | | @@ -230,7 +230,7 @@ Name | Type | Description | Required | Notes ## upload_file -> crate::models::ApiResponse upload_file(pet_id, additional_metadata, file) +> crate::models::ApiResponse upload_file(petid, additionalmetadata, file) uploads an image @@ -240,8 +240,8 @@ uploads an image Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet to update | [required] | -**additional_metadata** | Option<**String**> | Additional data to pass to server | | +**petid** | **i64** | ID of pet to update | [required] | +**additionalmetadata** | Option<**String**> | Additional data to pass to server | | **file** | Option<**std::path::PathBuf**> | file to upload | | ### Return type diff --git a/samples/client/petstore/rust/hyper/petstore/docs/StoreApi.md b/samples/client/petstore/rust/hyper/petstore/docs/StoreApi.md index c1f5b5a9c2..9b37fc16da 100644 --- a/samples/client/petstore/rust/hyper/petstore/docs/StoreApi.md +++ b/samples/client/petstore/rust/hyper/petstore/docs/StoreApi.md @@ -13,7 +13,7 @@ Method | HTTP request | Description ## delete_order -> delete_order(order_id) +> delete_order(orderid) Delete purchase order by ID For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors @@ -23,7 +23,7 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or non Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**order_id** | **String** | ID of the order that needs to be deleted | [required] | +**orderid** | **String** | ID of the order that needs to be deleted | [required] | ### Return type @@ -70,7 +70,7 @@ This endpoint does not need any parameter. ## get_order_by_id -> crate::models::Order get_order_by_id(order_id) +> crate::models::Order get_order_by_id(orderid) Find purchase order by ID For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions @@ -80,7 +80,7 @@ For valid response try integer IDs with value <= 5 or > 10. Other values will ge Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**order_id** | **i64** | ID of pet that needs to be fetched | [required] | +**orderid** | **i64** | ID of pet that needs to be fetched | [required] | ### Return type diff --git a/samples/client/petstore/rust/hyper/petstore/src/apis/pet_api.rs b/samples/client/petstore/rust/hyper/petstore/src/apis/pet_api.rs index 019ed347cd..4037e103f5 100644 --- a/samples/client/petstore/rust/hyper/petstore/src/apis/pet_api.rs +++ b/samples/client/petstore/rust/hyper/petstore/src/apis/pet_api.rs @@ -36,13 +36,13 @@ impl PetApiClient pub trait PetApi { fn add_pet(&self, pet: crate::models::Pet) -> Pin>>>; - fn delete_pet(&self, pet_id: i64, api_key: Option<&str>) -> Pin>>>; + fn delete_pet(&self, petid: i64, api_key: Option<&str>) -> Pin>>>; fn find_pets_by_status(&self, status: Vec) -> Pin, Error>>>>; fn find_pets_by_tags(&self, tags: Vec) -> Pin, Error>>>>; - fn get_pet_by_id(&self, pet_id: i64) -> Pin>>>; + fn get_pet_by_id(&self, petid: i64) -> Pin>>>; fn update_pet(&self, pet: crate::models::Pet) -> Pin>>>; - fn update_pet_with_form(&self, pet_id: i64, name: Option<&str>, status: Option<&str>) -> Pin>>>; - fn upload_file(&self, pet_id: i64, additional_metadata: Option<&str>, file: Option) -> Pin>>>; + fn update_pet_with_form(&self, petid: i64, name: Option<&str>, status: Option<&str>) -> Pin>>>; + fn upload_file(&self, petid: i64, additionalmetadata: Option<&str>, file: Option) -> Pin>>>; } implPetApi for PetApiClient @@ -58,11 +58,11 @@ implPetApi for PetApiClient } #[allow(unused_mut)] - fn delete_pet(&self, pet_id: i64, api_key: Option<&str>) -> Pin>>> { + fn delete_pet(&self, petid: i64, api_key: Option<&str>) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::DELETE, "/pet/{petId}".to_string()) .with_auth(__internal_request::Auth::Oauth) ; - req = req.with_path_param("petId".to_string(), pet_id.to_string()); + req = req.with_path_param("petId".to_string(), petid.to_string()); if let Some(param_value) = api_key { req = req.with_header_param("api_key".to_string(), param_value.to_string()); } @@ -92,7 +92,7 @@ implPetApi for PetApiClient } #[allow(unused_mut)] - fn get_pet_by_id(&self, pet_id: i64) -> Pin>>> { + fn get_pet_by_id(&self, petid: i64) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::GET, "/pet/{petId}".to_string()) .with_auth(__internal_request::Auth::ApiKey(__internal_request::ApiKey{ in_header: true, @@ -100,7 +100,7 @@ implPetApi for PetApiClient param_name: "api_key".to_owned(), })) ; - req = req.with_path_param("petId".to_string(), pet_id.to_string()); + req = req.with_path_param("petId".to_string(), petid.to_string()); req.execute(self.configuration.borrow()) } @@ -116,11 +116,11 @@ implPetApi for PetApiClient } #[allow(unused_mut)] - fn update_pet_with_form(&self, pet_id: i64, name: Option<&str>, status: Option<&str>) -> Pin>>> { + fn update_pet_with_form(&self, petid: i64, name: Option<&str>, status: Option<&str>) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::POST, "/pet/{petId}".to_string()) .with_auth(__internal_request::Auth::Oauth) ; - req = req.with_path_param("petId".to_string(), pet_id.to_string()); + req = req.with_path_param("petId".to_string(), petid.to_string()); if let Some(param_value) = name { req = req.with_form_param("name".to_string(), param_value.to_string()); } @@ -133,12 +133,12 @@ implPetApi for PetApiClient } #[allow(unused_mut)] - fn upload_file(&self, pet_id: i64, additional_metadata: Option<&str>, file: Option) -> Pin>>> { + fn upload_file(&self, petid: i64, additionalmetadata: Option<&str>, file: Option) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::POST, "/pet/{petId}/uploadImage".to_string()) .with_auth(__internal_request::Auth::Oauth) ; - req = req.with_path_param("petId".to_string(), pet_id.to_string()); - if let Some(param_value) = additional_metadata { + req = req.with_path_param("petId".to_string(), petid.to_string()); + if let Some(param_value) = additionalmetadata { req = req.with_form_param("additionalMetadata".to_string(), param_value.to_string()); } if let Some(param_value) = file { diff --git a/samples/client/petstore/rust/hyper/petstore/src/apis/store_api.rs b/samples/client/petstore/rust/hyper/petstore/src/apis/store_api.rs index e4bb563082..0cdf1993ef 100644 --- a/samples/client/petstore/rust/hyper/petstore/src/apis/store_api.rs +++ b/samples/client/petstore/rust/hyper/petstore/src/apis/store_api.rs @@ -35,19 +35,19 @@ impl StoreApiClient } pub trait StoreApi { - fn delete_order(&self, order_id: &str) -> Pin>>>; + fn delete_order(&self, orderid: &str) -> Pin>>>; fn get_inventory(&self, ) -> Pin, Error>>>>; - fn get_order_by_id(&self, order_id: i64) -> Pin>>>; + fn get_order_by_id(&self, orderid: i64) -> Pin>>>; fn place_order(&self, order: crate::models::Order) -> Pin>>>; } implStoreApi for StoreApiClient where C: Clone + std::marker::Send + Sync { #[allow(unused_mut)] - fn delete_order(&self, order_id: &str) -> Pin>>> { + fn delete_order(&self, orderid: &str) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::DELETE, "/store/order/{orderId}".to_string()) ; - req = req.with_path_param("orderId".to_string(), order_id.to_string()); + req = req.with_path_param("orderId".to_string(), orderid.to_string()); req = req.returns_nothing(); req.execute(self.configuration.borrow()) @@ -67,10 +67,10 @@ implStoreApi for StoreApiClient } #[allow(unused_mut)] - fn get_order_by_id(&self, order_id: i64) -> Pin>>> { + fn get_order_by_id(&self, orderid: i64) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::GET, "/store/order/{orderId}".to_string()) ; - req = req.with_path_param("orderId".to_string(), order_id.to_string()); + req = req.with_path_param("orderId".to_string(), orderid.to_string()); req.execute(self.configuration.borrow()) } diff --git a/samples/client/petstore/rust/reqwest/petstore-async/docs/PetApi.md b/samples/client/petstore/rust/reqwest/petstore-async/docs/PetApi.md index 5adc933415..3ac38fd18a 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/docs/PetApi.md +++ b/samples/client/petstore/rust/reqwest/petstore-async/docs/PetApi.md @@ -47,7 +47,7 @@ Name | Type | Description | Required | Notes ## delete_pet -> delete_pet(pet_id, api_key) +> delete_pet(petid, api_key) Deletes a pet @@ -57,7 +57,7 @@ Deletes a pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | Pet id to delete | [required] | +**petid** | **i64** | Pet id to delete | [required] | **api_key** | Option<**String**> | | | ### Return type @@ -138,7 +138,7 @@ Name | Type | Description | Required | Notes ## get_pet_by_id -> crate::models::Pet get_pet_by_id(pet_id) +> crate::models::Pet get_pet_by_id(petid) Find pet by ID Returns a single pet @@ -148,7 +148,7 @@ Returns a single pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet to return | [required] | +**petid** | **i64** | ID of pet to return | [required] | ### Return type @@ -198,7 +198,7 @@ Name | Type | Description | Required | Notes ## update_pet_with_form -> update_pet_with_form(pet_id, name, status) +> update_pet_with_form(petid, name, status) Updates a pet in the store with form data @@ -208,7 +208,7 @@ Updates a pet in the store with form data Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet that needs to be updated | [required] | +**petid** | **i64** | ID of pet that needs to be updated | [required] | **name** | Option<**String**> | Updated name of the pet | | **status** | Option<**String**> | Updated status of the pet | | @@ -230,7 +230,7 @@ Name | Type | Description | Required | Notes ## upload_file -> crate::models::ApiResponse upload_file(pet_id, additional_metadata, file) +> crate::models::ApiResponse upload_file(petid, additionalmetadata, file) uploads an image @@ -240,8 +240,8 @@ uploads an image Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet to update | [required] | -**additional_metadata** | Option<**String**> | Additional data to pass to server | | +**petid** | **i64** | ID of pet to update | [required] | +**additionalmetadata** | Option<**String**> | Additional data to pass to server | | **file** | Option<**std::path::PathBuf**> | file to upload | | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore-async/docs/StoreApi.md b/samples/client/petstore/rust/reqwest/petstore-async/docs/StoreApi.md index a6b3c572cc..364e7f93df 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/docs/StoreApi.md +++ b/samples/client/petstore/rust/reqwest/petstore-async/docs/StoreApi.md @@ -13,7 +13,7 @@ Method | HTTP request | Description ## delete_order -> delete_order(order_id) +> delete_order(orderid) Delete purchase order by ID For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors @@ -23,7 +23,7 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or non Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**order_id** | **String** | ID of the order that needs to be deleted | [required] | +**orderid** | **String** | ID of the order that needs to be deleted | [required] | ### Return type @@ -70,7 +70,7 @@ This endpoint does not need any parameter. ## get_order_by_id -> crate::models::Order get_order_by_id(order_id) +> crate::models::Order get_order_by_id(orderid) Find purchase order by ID For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions @@ -80,7 +80,7 @@ For valid response try integer IDs with value <= 5 or > 10. Other values will ge Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**order_id** | **i64** | ID of pet that needs to be fetched | [required] | +**orderid** | **i64** | ID of pet that needs to be fetched | [required] | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore-async/src/apis/pet_api.rs b/samples/client/petstore/rust/reqwest/petstore-async/src/apis/pet_api.rs index 977d79edcf..a9c0c537ee 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/src/apis/pet_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore-async/src/apis/pet_api.rs @@ -25,7 +25,7 @@ pub struct AddPetParams { #[derive(Clone, Debug, Default)] pub struct DeletePetParams { /// Pet id to delete - pub pet_id: i64, + pub petid: i64, pub api_key: Option } @@ -47,7 +47,7 @@ pub struct FindPetsByTagsParams { #[derive(Clone, Debug, Default)] pub struct GetPetByIdParams { /// ID of pet to return - pub pet_id: i64 + pub petid: i64 } /// struct for passing parameters to the method [`update_pet`] @@ -61,7 +61,7 @@ pub struct UpdatePetParams { #[derive(Clone, Debug, Default)] pub struct UpdatePetWithFormParams { /// ID of pet that needs to be updated - pub pet_id: i64, + pub petid: i64, /// Updated name of the pet pub name: Option, /// Updated status of the pet @@ -72,9 +72,9 @@ pub struct UpdatePetWithFormParams { #[derive(Clone, Debug, Default)] pub struct UploadFileParams { /// ID of pet to update - pub pet_id: i64, + pub petid: i64, /// Additional data to pass to server - pub additional_metadata: Option, + pub additionalmetadata: Option, /// file to upload pub file: Option } @@ -252,13 +252,13 @@ pub async fn delete_pet(configuration: &configuration::Configuration, params: De let local_var_configuration = configuration; // unbox the parameters - let pet_id = params.pet_id; + let petid = params.petid; let api_key = params.api_key; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -375,12 +375,12 @@ pub async fn get_pet_by_id(configuration: &configuration::Configuration, params: let local_var_configuration = configuration; // unbox the parameters - let pet_id = params.pet_id; + let petid = params.petid; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -455,14 +455,14 @@ pub async fn update_pet_with_form(configuration: &configuration::Configuration, let local_var_configuration = configuration; // unbox the parameters - let pet_id = params.pet_id; + let petid = params.petid; let name = params.name; let status = params.status; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -502,14 +502,14 @@ pub async fn upload_file(configuration: &configuration::Configuration, params: U let local_var_configuration = configuration; // unbox the parameters - let pet_id = params.pet_id; - let additional_metadata = params.additional_metadata; + let petid = params.petid; + let additionalmetadata = params.additionalmetadata; let file = params.file; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -519,7 +519,7 @@ pub async fn upload_file(configuration: &configuration::Configuration, params: U local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); }; let mut local_var_form = reqwest::multipart::Form::new(); - if let Some(local_var_param_value) = additional_metadata { + if let Some(local_var_param_value) = additionalmetadata { local_var_form = local_var_form.text("additionalMetadata", local_var_param_value.to_string()); } // TODO: support file upload for 'file' parameter diff --git a/samples/client/petstore/rust/reqwest/petstore-async/src/apis/store_api.rs b/samples/client/petstore/rust/reqwest/petstore-async/src/apis/store_api.rs index 36d090f4f1..40cc7617e9 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/src/apis/store_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore-async/src/apis/store_api.rs @@ -18,14 +18,14 @@ use super::{Error, configuration}; #[derive(Clone, Debug, Default)] pub struct DeleteOrderParams { /// ID of the order that needs to be deleted - pub order_id: String + pub orderid: String } /// struct for passing parameters to the method [`get_order_by_id`] #[derive(Clone, Debug, Default)] pub struct GetOrderByIdParams { /// ID of pet that needs to be fetched - pub order_id: i64 + pub orderid: i64 } /// struct for passing parameters to the method [`place_order`] @@ -106,12 +106,12 @@ pub async fn delete_order(configuration: &configuration::Configuration, params: let local_var_configuration = configuration; // unbox the parameters - let order_id = params.order_id; + let orderid = params.orderid; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(order_id)); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(orderid)); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -181,12 +181,12 @@ pub async fn get_order_by_id(configuration: &configuration::Configuration, param let local_var_configuration = configuration; // unbox the parameters - let order_id = params.order_id; + let orderid = params.orderid; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=order_id); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=orderid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/PetApi.md b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/PetApi.md index 5adc933415..3ac38fd18a 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/PetApi.md +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/PetApi.md @@ -47,7 +47,7 @@ Name | Type | Description | Required | Notes ## delete_pet -> delete_pet(pet_id, api_key) +> delete_pet(petid, api_key) Deletes a pet @@ -57,7 +57,7 @@ Deletes a pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | Pet id to delete | [required] | +**petid** | **i64** | Pet id to delete | [required] | **api_key** | Option<**String**> | | | ### Return type @@ -138,7 +138,7 @@ Name | Type | Description | Required | Notes ## get_pet_by_id -> crate::models::Pet get_pet_by_id(pet_id) +> crate::models::Pet get_pet_by_id(petid) Find pet by ID Returns a single pet @@ -148,7 +148,7 @@ Returns a single pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet to return | [required] | +**petid** | **i64** | ID of pet to return | [required] | ### Return type @@ -198,7 +198,7 @@ Name | Type | Description | Required | Notes ## update_pet_with_form -> update_pet_with_form(pet_id, name, status) +> update_pet_with_form(petid, name, status) Updates a pet in the store with form data @@ -208,7 +208,7 @@ Updates a pet in the store with form data Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet that needs to be updated | [required] | +**petid** | **i64** | ID of pet that needs to be updated | [required] | **name** | Option<**String**> | Updated name of the pet | | **status** | Option<**String**> | Updated status of the pet | | @@ -230,7 +230,7 @@ Name | Type | Description | Required | Notes ## upload_file -> crate::models::ApiResponse upload_file(pet_id, additional_metadata, file) +> crate::models::ApiResponse upload_file(petid, additionalmetadata, file) uploads an image @@ -240,8 +240,8 @@ uploads an image Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet to update | [required] | -**additional_metadata** | Option<**String**> | Additional data to pass to server | | +**petid** | **i64** | ID of pet to update | [required] | +**additionalmetadata** | Option<**String**> | Additional data to pass to server | | **file** | Option<**std::path::PathBuf**> | file to upload | | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/StoreApi.md b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/StoreApi.md index a6b3c572cc..364e7f93df 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/StoreApi.md +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/StoreApi.md @@ -13,7 +13,7 @@ Method | HTTP request | Description ## delete_order -> delete_order(order_id) +> delete_order(orderid) Delete purchase order by ID For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors @@ -23,7 +23,7 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or non Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**order_id** | **String** | ID of the order that needs to be deleted | [required] | +**orderid** | **String** | ID of the order that needs to be deleted | [required] | ### Return type @@ -70,7 +70,7 @@ This endpoint does not need any parameter. ## get_order_by_id -> crate::models::Order get_order_by_id(order_id) +> crate::models::Order get_order_by_id(orderid) Find purchase order by ID For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions @@ -80,7 +80,7 @@ For valid response try integer IDs with value <= 5 or > 10. Other values will ge Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**order_id** | **i64** | ID of pet that needs to be fetched | [required] | +**orderid** | **i64** | ID of pet that needs to be fetched | [required] | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/pet_api.rs b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/pet_api.rs index 653fb343af..0ffae238b2 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/pet_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/pet_api.rs @@ -128,12 +128,12 @@ pub fn add_pet(configuration: &configuration::Configuration, pet: crate::models: } /// -pub fn delete_pet(configuration: &configuration::Configuration, pet_id: i64, api_key: Option<&str>) -> Result<(), Error> { +pub fn delete_pet(configuration: &configuration::Configuration, petid: i64, api_key: Option<&str>) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key { @@ -271,12 +271,12 @@ pub fn find_pets_by_tags(configuration: &configuration::Configuration, tags: Vec } /// Returns a single pet -pub fn get_pet_by_id(configuration: &configuration::Configuration, pet_id: i64) -> Result> { +pub fn get_pet_by_id(configuration: &configuration::Configuration, petid: i64) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key { @@ -365,12 +365,12 @@ pub fn update_pet(configuration: &configuration::Configuration, pet: crate::mode } /// -pub fn update_pet_with_form(configuration: &configuration::Configuration, pet_id: i64, name: Option<&str>, status: Option<&str>) -> Result<(), Error> { +pub fn update_pet_with_form(configuration: &configuration::Configuration, petid: i64, name: Option<&str>, status: Option<&str>) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key { @@ -417,12 +417,12 @@ pub fn update_pet_with_form(configuration: &configuration::Configuration, pet_id } /// -pub fn upload_file(configuration: &configuration::Configuration, pet_id: i64, additional_metadata: Option<&str>, file: Option) -> Result> { +pub fn upload_file(configuration: &configuration::Configuration, petid: i64, additionalmetadata: Option<&str>, file: Option) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key { @@ -445,7 +445,7 @@ pub fn upload_file(configuration: &configuration::Configuration, pet_id: i64, ad local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); }; let mut local_var_form = reqwest::multipart::Form::new(); - if let Some(local_var_param_value) = additional_metadata { + if let Some(local_var_param_value) = additionalmetadata { local_var_form = local_var_form.text("additionalMetadata", local_var_param_value.to_string()); } if let Some(local_var_param_value) = file { diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/store_api.rs b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/store_api.rs index d50a60e411..df2c4e5cc7 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/store_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/store_api.rs @@ -50,12 +50,12 @@ pub enum PlaceOrderError { /// For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors -pub fn delete_order(configuration: &configuration::Configuration, order_id: &str) -> Result<(), Error> { +pub fn delete_order(configuration: &configuration::Configuration, orderid: &str) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(order_id)); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(orderid)); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -127,12 +127,12 @@ pub fn get_inventory(configuration: &configuration::Configuration, ) -> Result<: } /// For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions -pub fn get_order_by_id(configuration: &configuration::Configuration, order_id: i64) -> Result> { +pub fn get_order_by_id(configuration: &configuration::Configuration, orderid: i64) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=order_id); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=orderid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { diff --git a/samples/client/petstore/rust/reqwest/petstore/docs/PetApi.md b/samples/client/petstore/rust/reqwest/petstore/docs/PetApi.md index 5adc933415..3ac38fd18a 100644 --- a/samples/client/petstore/rust/reqwest/petstore/docs/PetApi.md +++ b/samples/client/petstore/rust/reqwest/petstore/docs/PetApi.md @@ -47,7 +47,7 @@ Name | Type | Description | Required | Notes ## delete_pet -> delete_pet(pet_id, api_key) +> delete_pet(petid, api_key) Deletes a pet @@ -57,7 +57,7 @@ Deletes a pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | Pet id to delete | [required] | +**petid** | **i64** | Pet id to delete | [required] | **api_key** | Option<**String**> | | | ### Return type @@ -138,7 +138,7 @@ Name | Type | Description | Required | Notes ## get_pet_by_id -> crate::models::Pet get_pet_by_id(pet_id) +> crate::models::Pet get_pet_by_id(petid) Find pet by ID Returns a single pet @@ -148,7 +148,7 @@ Returns a single pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet to return | [required] | +**petid** | **i64** | ID of pet to return | [required] | ### Return type @@ -198,7 +198,7 @@ Name | Type | Description | Required | Notes ## update_pet_with_form -> update_pet_with_form(pet_id, name, status) +> update_pet_with_form(petid, name, status) Updates a pet in the store with form data @@ -208,7 +208,7 @@ Updates a pet in the store with form data Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet that needs to be updated | [required] | +**petid** | **i64** | ID of pet that needs to be updated | [required] | **name** | Option<**String**> | Updated name of the pet | | **status** | Option<**String**> | Updated status of the pet | | @@ -230,7 +230,7 @@ Name | Type | Description | Required | Notes ## upload_file -> crate::models::ApiResponse upload_file(pet_id, additional_metadata, file) +> crate::models::ApiResponse upload_file(petid, additionalmetadata, file) uploads an image @@ -240,8 +240,8 @@ uploads an image Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**pet_id** | **i64** | ID of pet to update | [required] | -**additional_metadata** | Option<**String**> | Additional data to pass to server | | +**petid** | **i64** | ID of pet to update | [required] | +**additionalmetadata** | Option<**String**> | Additional data to pass to server | | **file** | Option<**std::path::PathBuf**> | file to upload | | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore/docs/StoreApi.md b/samples/client/petstore/rust/reqwest/petstore/docs/StoreApi.md index a6b3c572cc..364e7f93df 100644 --- a/samples/client/petstore/rust/reqwest/petstore/docs/StoreApi.md +++ b/samples/client/petstore/rust/reqwest/petstore/docs/StoreApi.md @@ -13,7 +13,7 @@ Method | HTTP request | Description ## delete_order -> delete_order(order_id) +> delete_order(orderid) Delete purchase order by ID For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors @@ -23,7 +23,7 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or non Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**order_id** | **String** | ID of the order that needs to be deleted | [required] | +**orderid** | **String** | ID of the order that needs to be deleted | [required] | ### Return type @@ -70,7 +70,7 @@ This endpoint does not need any parameter. ## get_order_by_id -> crate::models::Order get_order_by_id(order_id) +> crate::models::Order get_order_by_id(orderid) Find purchase order by ID For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions @@ -80,7 +80,7 @@ For valid response try integer IDs with value <= 5 or > 10. Other values will ge Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**order_id** | **i64** | ID of pet that needs to be fetched | [required] | +**orderid** | **i64** | ID of pet that needs to be fetched | [required] | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore/src/apis/pet_api.rs b/samples/client/petstore/rust/reqwest/petstore/src/apis/pet_api.rs index f44a38d609..88cba2e99d 100644 --- a/samples/client/petstore/rust/reqwest/petstore/src/apis/pet_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore/src/apis/pet_api.rs @@ -115,12 +115,12 @@ pub fn add_pet(configuration: &configuration::Configuration, pet: crate::models: } /// -pub fn delete_pet(configuration: &configuration::Configuration, pet_id: i64, api_key: Option<&str>) -> Result<(), Error> { +pub fn delete_pet(configuration: &configuration::Configuration, petid: i64, api_key: Option<&str>) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -219,12 +219,12 @@ pub fn find_pets_by_tags(configuration: &configuration::Configuration, tags: Vec } /// Returns a single pet -pub fn get_pet_by_id(configuration: &configuration::Configuration, pet_id: i64) -> Result> { +pub fn get_pet_by_id(configuration: &configuration::Configuration, petid: i64) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -287,12 +287,12 @@ pub fn update_pet(configuration: &configuration::Configuration, pet: crate::mode } /// -pub fn update_pet_with_form(configuration: &configuration::Configuration, pet_id: i64, name: Option<&str>, status: Option<&str>) -> Result<(), Error> { +pub fn update_pet_with_form(configuration: &configuration::Configuration, petid: i64, name: Option<&str>, status: Option<&str>) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -326,12 +326,12 @@ pub fn update_pet_with_form(configuration: &configuration::Configuration, pet_id } /// -pub fn upload_file(configuration: &configuration::Configuration, pet_id: i64, additional_metadata: Option<&str>, file: Option) -> Result> { +pub fn upload_file(configuration: &configuration::Configuration, petid: i64, additionalmetadata: Option<&str>, file: Option) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=pet_id); + let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=petid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -341,7 +341,7 @@ pub fn upload_file(configuration: &configuration::Configuration, pet_id: i64, ad local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); }; let mut local_var_form = reqwest::multipart::Form::new(); - if let Some(local_var_param_value) = additional_metadata { + if let Some(local_var_param_value) = additionalmetadata { local_var_form = local_var_form.text("additionalMetadata", local_var_param_value.to_string()); } if let Some(local_var_param_value) = file { diff --git a/samples/client/petstore/rust/reqwest/petstore/src/apis/store_api.rs b/samples/client/petstore/rust/reqwest/petstore/src/apis/store_api.rs index f142404c3f..bcc69cc560 100644 --- a/samples/client/petstore/rust/reqwest/petstore/src/apis/store_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore/src/apis/store_api.rs @@ -50,12 +50,12 @@ pub enum PlaceOrderError { /// For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors -pub fn delete_order(configuration: &configuration::Configuration, order_id: &str) -> Result<(), Error> { +pub fn delete_order(configuration: &configuration::Configuration, orderid: &str) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(order_id)); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(orderid)); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -114,12 +114,12 @@ pub fn get_inventory(configuration: &configuration::Configuration, ) -> Result<: } /// For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions -pub fn get_order_by_id(configuration: &configuration::Configuration, order_id: i64) -> Result> { +pub fn get_order_by_id(configuration: &configuration::Configuration, orderid: i64) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=order_id); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=orderid); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { From 464da4a10fd66706a92b53d95106072161069dbb Mon Sep 17 00:00:00 2001 From: justM4D Date: Wed, 13 Jul 2022 10:49:59 +0200 Subject: [PATCH 180/212] [csharp-netcore] Generic Host: Added port definion to the uriBuilder in API template (#12795) * Added port definition to uriBuilder, since it was ignored before and couldn't be set even by supplying a custom client * generated samples * update samples Co-authored-by: Matthias Lewen-Rieger | PROSPER X GmbH Co-authored-by: William Cheng --- .../libraries/generichost/api.mustache | 1 + .../src/Org.OpenAPITools/Api/AnotherFakeApi.cs | 1 + .../src/Org.OpenAPITools/Api/DefaultApi.cs | 1 + .../src/Org.OpenAPITools/Api/FakeApi.cs | 15 +++++++++++++++ .../Api/FakeClassnameTags123Api.cs | 1 + .../src/Org.OpenAPITools/Api/PetApi.cs | 9 +++++++++ .../src/Org.OpenAPITools/Api/StoreApi.cs | 4 ++++ .../src/Org.OpenAPITools/Api/UserApi.cs | 8 ++++++++ .../src/Org.OpenAPITools/Api/AnotherFakeApi.cs | 1 + .../src/Org.OpenAPITools/Api/DefaultApi.cs | 1 + .../src/Org.OpenAPITools/Api/FakeApi.cs | 15 +++++++++++++++ .../Api/FakeClassnameTags123Api.cs | 1 + .../src/Org.OpenAPITools/Api/PetApi.cs | 9 +++++++++ .../src/Org.OpenAPITools/Api/StoreApi.cs | 4 ++++ .../src/Org.OpenAPITools/Api/UserApi.cs | 8 ++++++++ .../src/Org.OpenAPITools/Api/AnotherFakeApi.cs | 1 + .../src/Org.OpenAPITools/Api/DefaultApi.cs | 1 + .../src/Org.OpenAPITools/Api/FakeApi.cs | 15 +++++++++++++++ .../Api/FakeClassnameTags123Api.cs | 1 + .../src/Org.OpenAPITools/Api/PetApi.cs | 9 +++++++++ .../src/Org.OpenAPITools/Api/StoreApi.cs | 4 ++++ .../src/Org.OpenAPITools/Api/UserApi.cs | 8 ++++++++ 22 files changed, 118 insertions(+) diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/libraries/generichost/api.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/libraries/generichost/api.mustache index bb86218183..5e2bb67c23 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/libraries/generichost/api.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/libraries/generichost/api.mustache @@ -247,6 +247,7 @@ namespace {{packageName}}.{{apiPackage}} { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress{{nrt!}}.Host; + uriBuilder.Port = HttpClient.BaseAddress{{nrt!}}.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "{{path}}";{{#pathParams}}{{#required}} uriBuilder.Path = uriBuilder.Path.Replace("%7B{{baseName}}%7D", Uri.EscapeDataString({{paramName}}.ToString()));{{/required}}{{^required}} diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index d48adffd90..7c19f93d3d 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -196,6 +196,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/another-fake/dummy"; diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/DefaultApi.cs index 4053933356..1f9ed0913d 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -183,6 +183,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/foo"; diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/FakeApi.cs index b6c15b6854..da538a367b 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/FakeApi.cs @@ -777,6 +777,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/health"; @@ -882,6 +883,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/outer/boolean"; @@ -1000,6 +1002,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/outer/composite"; @@ -1118,6 +1121,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/outer/number"; @@ -1236,6 +1240,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/outer/string"; @@ -1351,6 +1356,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/array-of-enums"; @@ -1463,6 +1469,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/body-with-file-schema"; @@ -1585,6 +1592,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/body-with-query-params"; @@ -1707,6 +1715,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake"; @@ -1880,6 +1889,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake"; @@ -2063,6 +2073,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake"; @@ -2231,6 +2242,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake"; @@ -2363,6 +2375,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/inline-additionalProperties"; @@ -2485,6 +2498,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/jsonFormData"; @@ -2633,6 +2647,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/test-query-parameters"; diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index 651adb38ef..c73a450136 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -196,6 +196,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake_classname_test"; diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/PetApi.cs index 64cad62fdc..d54ddb22b1 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/PetApi.cs @@ -505,6 +505,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet"; @@ -647,6 +648,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet/{petId}"; uriBuilder.Path = uriBuilder.Path.Replace("%7BpetId%7D", Uri.EscapeDataString(petId.ToString())); @@ -765,6 +767,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet/findByStatus"; @@ -906,6 +909,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet/findByTags"; @@ -1047,6 +1051,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet/{petId}"; uriBuilder.Path = uriBuilder.Path.Replace("%7BpetId%7D", Uri.EscapeDataString(petId.ToString())); @@ -1172,6 +1177,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet"; @@ -1317,6 +1323,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet/{petId}"; uriBuilder.Path = uriBuilder.Path.Replace("%7BpetId%7D", Uri.EscapeDataString(petId.ToString())); @@ -1461,6 +1468,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet/{petId}/uploadImage"; uriBuilder.Path = uriBuilder.Path.Replace("%7BpetId%7D", Uri.EscapeDataString(petId.ToString())); @@ -1617,6 +1625,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/{petId}/uploadImageWithRequiredFile"; uriBuilder.Path = uriBuilder.Path.Replace("%7BpetId%7D", Uri.EscapeDataString(petId.ToString())); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/StoreApi.cs index 68763e65dc..d09c3633b5 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/StoreApi.cs @@ -301,6 +301,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/store/order/{order_id}"; uriBuilder.Path = uriBuilder.Path.Replace("%7Border_id%7D", Uri.EscapeDataString(orderId.ToString())); @@ -395,6 +396,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/store/inventory"; @@ -518,6 +520,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/store/order/{order_id}"; uriBuilder.Path = uriBuilder.Path.Replace("%7Border_id%7D", Uri.EscapeDataString(orderId.ToString())); @@ -632,6 +635,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/store/order"; diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/UserApi.cs index dc5f0eb8aa..8e886e254d 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Api/UserApi.cs @@ -451,6 +451,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user"; @@ -567,6 +568,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/createWithArray"; @@ -683,6 +685,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/createWithList"; @@ -799,6 +802,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/{username}"; uriBuilder.Path = uriBuilder.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); @@ -903,6 +907,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/{username}"; uriBuilder.Path = uriBuilder.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); @@ -1023,6 +1028,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/login"; @@ -1133,6 +1139,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/logout"; @@ -1242,6 +1249,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress!.Host; + uriBuilder.Port = HttpClient.BaseAddress!.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/{username}"; uriBuilder.Path = uriBuilder.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index 5ee137f7dc..bfbb57aac8 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -181,6 +181,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/another-fake/dummy"; diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/DefaultApi.cs index 298db3820b..7877e961c2 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -169,6 +169,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/foo"; diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/FakeApi.cs index 7f5d17ef81..23fd9c57a9 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/FakeApi.cs @@ -551,6 +551,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/health"; @@ -635,6 +636,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/outer/boolean"; @@ -753,6 +755,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/outer/composite"; @@ -850,6 +853,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/outer/number"; @@ -947,6 +951,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/outer/string"; @@ -1062,6 +1067,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/array-of-enums"; @@ -1174,6 +1180,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/body-with-file-schema"; @@ -1296,6 +1303,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/body-with-query-params"; @@ -1418,6 +1426,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake"; @@ -1585,6 +1594,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake"; @@ -1768,6 +1778,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake"; @@ -1927,6 +1938,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake"; @@ -2059,6 +2071,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/inline-additionalProperties"; @@ -2181,6 +2194,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/jsonFormData"; @@ -2329,6 +2343,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/test-query-parameters"; diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index bb3b0c4275..05debff86a 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -181,6 +181,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake_classname_test"; diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/PetApi.cs index c245714fbf..8f01a7fc36 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/PetApi.cs @@ -379,6 +379,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet"; @@ -518,6 +519,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet/{petId}"; uriBuilder.Path = uriBuilder.Path.Replace("%7BpetId%7D", Uri.EscapeDataString(petId.ToString())); @@ -636,6 +638,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet/findByStatus"; @@ -777,6 +780,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet/findByTags"; @@ -915,6 +919,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet/{petId}"; uriBuilder.Path = uriBuilder.Path.Replace("%7BpetId%7D", Uri.EscapeDataString(petId.ToString())); @@ -1040,6 +1045,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet"; @@ -1182,6 +1188,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet/{petId}"; uriBuilder.Path = uriBuilder.Path.Replace("%7BpetId%7D", Uri.EscapeDataString(petId.ToString())); @@ -1323,6 +1330,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet/{petId}/uploadImage"; uriBuilder.Path = uriBuilder.Path.Replace("%7BpetId%7D", Uri.EscapeDataString(petId.ToString())); @@ -1476,6 +1484,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/{petId}/uploadImageWithRequiredFile"; uriBuilder.Path = uriBuilder.Path.Replace("%7BpetId%7D", Uri.EscapeDataString(petId.ToString())); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/StoreApi.cs index 98f8c541c0..cee9bd767c 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/StoreApi.cs @@ -248,6 +248,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/store/order/{order_id}"; uriBuilder.Path = uriBuilder.Path.Replace("%7Border_id%7D", Uri.EscapeDataString(orderId.ToString())); @@ -322,6 +323,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/store/inventory"; @@ -442,6 +444,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/store/order/{order_id}"; uriBuilder.Path = uriBuilder.Path.Replace("%7Border_id%7D", Uri.EscapeDataString(orderId.ToString())); @@ -556,6 +559,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/store/order"; diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/UserApi.cs index 39ab66ef1d..f117a118b3 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0/src/Org.OpenAPITools/Api/UserApi.cs @@ -344,6 +344,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user"; @@ -460,6 +461,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/createWithArray"; @@ -576,6 +578,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/createWithList"; @@ -692,6 +695,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/{username}"; uriBuilder.Path = uriBuilder.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); @@ -796,6 +800,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/{username}"; uriBuilder.Path = uriBuilder.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); @@ -894,6 +899,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/login"; @@ -1004,6 +1010,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/logout"; @@ -1113,6 +1120,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/{username}"; uriBuilder.Path = uriBuilder.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index d5ea224e60..59670fb4cb 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -181,6 +181,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/another-fake/dummy"; diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/DefaultApi.cs index 914b104ae8..ea2f1ced70 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -169,6 +169,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/foo"; diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/FakeApi.cs index ac878f7656..cad800bddf 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/FakeApi.cs @@ -551,6 +551,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/health"; @@ -635,6 +636,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/outer/boolean"; @@ -753,6 +755,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/outer/composite"; @@ -850,6 +853,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/outer/number"; @@ -947,6 +951,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/outer/string"; @@ -1062,6 +1067,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/array-of-enums"; @@ -1174,6 +1180,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/body-with-file-schema"; @@ -1296,6 +1303,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/body-with-query-params"; @@ -1418,6 +1426,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake"; @@ -1585,6 +1594,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake"; @@ -1768,6 +1778,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake"; @@ -1927,6 +1938,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake"; @@ -2059,6 +2071,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/inline-additionalProperties"; @@ -2181,6 +2194,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/jsonFormData"; @@ -2329,6 +2343,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/test-query-parameters"; diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index 56f3ffe6a8..528e98484d 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -181,6 +181,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake_classname_test"; diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/PetApi.cs index 82a0d311cf..dda60de460 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/PetApi.cs @@ -379,6 +379,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet"; @@ -518,6 +519,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet/{petId}"; uriBuilder.Path = uriBuilder.Path.Replace("%7BpetId%7D", Uri.EscapeDataString(petId.ToString())); @@ -636,6 +638,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet/findByStatus"; @@ -777,6 +780,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet/findByTags"; @@ -915,6 +919,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet/{petId}"; uriBuilder.Path = uriBuilder.Path.Replace("%7BpetId%7D", Uri.EscapeDataString(petId.ToString())); @@ -1040,6 +1045,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet"; @@ -1182,6 +1188,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet/{petId}"; uriBuilder.Path = uriBuilder.Path.Replace("%7BpetId%7D", Uri.EscapeDataString(petId.ToString())); @@ -1323,6 +1330,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/pet/{petId}/uploadImage"; uriBuilder.Path = uriBuilder.Path.Replace("%7BpetId%7D", Uri.EscapeDataString(petId.ToString())); @@ -1476,6 +1484,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/fake/{petId}/uploadImageWithRequiredFile"; uriBuilder.Path = uriBuilder.Path.Replace("%7BpetId%7D", Uri.EscapeDataString(petId.ToString())); diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/StoreApi.cs index fa62385b0a..0c0066afae 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/StoreApi.cs @@ -248,6 +248,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/store/order/{order_id}"; uriBuilder.Path = uriBuilder.Path.Replace("%7Border_id%7D", Uri.EscapeDataString(orderId.ToString())); @@ -322,6 +323,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/store/inventory"; @@ -442,6 +444,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/store/order/{order_id}"; uriBuilder.Path = uriBuilder.Path.Replace("%7Border_id%7D", Uri.EscapeDataString(orderId.ToString())); @@ -556,6 +559,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/store/order"; diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/UserApi.cs index 77fb592021..921dc7c29e 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0/src/Org.OpenAPITools/Api/UserApi.cs @@ -344,6 +344,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user"; @@ -460,6 +461,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/createWithArray"; @@ -576,6 +578,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/createWithList"; @@ -692,6 +695,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/{username}"; uriBuilder.Path = uriBuilder.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); @@ -796,6 +800,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/{username}"; uriBuilder.Path = uriBuilder.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); @@ -894,6 +899,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/login"; @@ -1004,6 +1010,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/logout"; @@ -1113,6 +1120,7 @@ namespace Org.OpenAPITools.Api { UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Host = HttpClient.BaseAddress.Host; + uriBuilder.Port = HttpClient.BaseAddress.Port; uriBuilder.Scheme = ClientUtils.SCHEME; uriBuilder.Path = ClientUtils.CONTEXT_PATH + "/user/{username}"; uriBuilder.Path = uriBuilder.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); From 57bcb046d15d7c66e0854b31ef0264c8446894c0 Mon Sep 17 00:00:00 2001 From: devhl-labs Date: Wed, 13 Jul 2022 05:01:43 -0400 Subject: [PATCH 181/212] Adds return property to CodegenOperation (#12816) * added nonNullableVars * added return property to operation * added return property to operation * build samples Co-authored-by: William Cheng --- .../main/java/org/openapitools/codegen/CodegenOperation.java | 5 ++++- .../main/java/org/openapitools/codegen/DefaultCodegen.java | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java index 91cc8141e2..16daa41f58 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java @@ -31,6 +31,7 @@ public class CodegenOperation { isRestfulIndex, isRestfulShow, isRestfulCreate, isRestfulUpdate, isRestfulDestroy, isRestful, isDeprecated, isCallbackRequest, uniqueItems, hasDefaultResponse = false, hasErrorResponseObject; // if 4xx, 5xx responses have at least one error object defined + public CodegenProperty returnProperty; public String path, operationId, returnType, returnFormat, httpMethod, returnBaseType, returnContainer, summary, unescapedNotes, notes, baseName, defaultResponse; public CodegenDiscriminator discriminator; @@ -298,6 +299,7 @@ public class CodegenOperation { sb.append(", returnSimpleType=").append(returnSimpleType); sb.append(", subresourceOperation=").append(subresourceOperation); sb.append(", isMap=").append(isMap); + sb.append(", returnProperty=").append(returnProperty); sb.append(", isArray=").append(isArray); sb.append(", isMultipart=").append(isMultipart); sb.append(", isResponseBinary=").append(isResponseBinary); @@ -391,6 +393,7 @@ public class CodegenOperation { isDeprecated == that.isDeprecated && isCallbackRequest == that.isCallbackRequest && uniqueItems == that.uniqueItems && + Objects.equals(returnProperty, that.returnProperty) && Objects.equals(responseHeaders, that.responseHeaders) && Objects.equals(path, that.path) && Objects.equals(operationId, that.operationId) && @@ -444,7 +447,7 @@ public class CodegenOperation { isRestful, isDeprecated, isCallbackRequest, uniqueItems, path, operationId, returnType, httpMethod, returnBaseType, returnContainer, summary, unescapedNotes, notes, baseName, defaultResponse, discriminator, consumes, produces, prioritizedContentTypes, servers, bodyParam, allParams, bodyParams, - pathParams, queryParams, headerParams, formParams, cookieParams, requiredParams, optionalParams, + pathParams, queryParams, headerParams, formParams, cookieParams, requiredParams, returnProperty, optionalParams, authMethods, tags, responses, callbacks, imports, examples, requestBodyExamples, externalDocs, vendorExtensions, nickname, operationIdOriginal, operationIdLowerCase, operationIdCamelCase, operationIdSnakeCase, hasErrorResponseObject); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 36093d46d8..3f4d8cd342 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -4026,6 +4026,7 @@ public class DefaultCodegen implements CodegenConfig { if (languageSpecificPrimitives().contains(op.returnBaseType) || op.returnBaseType == null) { op.returnTypeIsPrimitive = true; } + op.returnProperty = cm; } addHeaders(methodResponse, op.responseHeaders); } From 5aa0e0a45632d88ab378ca02401e2e94aa9135f0 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Wed, 13 Jul 2022 17:32:31 +0800 Subject: [PATCH 182/212] update samples --- .../rust/hyper/petstore/docs/PetApi.md | 18 +++++------ .../rust/hyper/petstore/docs/StoreApi.md | 8 ++--- .../rust/hyper/petstore/src/apis/pet_api.rs | 26 ++++++++-------- .../rust/hyper/petstore/src/apis/store_api.rs | 12 ++++---- .../reqwest/petstore-async/docs/PetApi.md | 18 +++++------ .../reqwest/petstore-async/docs/StoreApi.md | 8 ++--- .../petstore-async/src/apis/pet_api.rs | 30 +++++++++---------- .../petstore-async/src/apis/store_api.rs | 12 ++++---- .../petstore-awsv4signature/docs/PetApi.md | 18 +++++------ .../petstore-awsv4signature/docs/StoreApi.md | 8 ++--- .../src/apis/pet_api.rs | 18 +++++------ .../src/apis/store_api.rs | 8 ++--- .../rust/reqwest/petstore/docs/PetApi.md | 18 +++++------ .../rust/reqwest/petstore/docs/StoreApi.md | 8 ++--- .../rust/reqwest/petstore/src/apis/pet_api.rs | 18 +++++------ .../reqwest/petstore/src/apis/store_api.rs | 8 ++--- 16 files changed, 118 insertions(+), 118 deletions(-) diff --git a/samples/client/petstore/rust/hyper/petstore/docs/PetApi.md b/samples/client/petstore/rust/hyper/petstore/docs/PetApi.md index b94b34a8a3..7deea32cd8 100644 --- a/samples/client/petstore/rust/hyper/petstore/docs/PetApi.md +++ b/samples/client/petstore/rust/hyper/petstore/docs/PetApi.md @@ -47,7 +47,7 @@ Name | Type | Description | Required | Notes ## delete_pet -> delete_pet(petid, api_key) +> delete_pet(pet_id, api_key) Deletes a pet @@ -57,7 +57,7 @@ Deletes a pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | Pet id to delete | [required] | +**pet_id** | **i64** | Pet id to delete | [required] | **api_key** | Option<**String**> | | | ### Return type @@ -138,7 +138,7 @@ Name | Type | Description | Required | Notes ## get_pet_by_id -> crate::models::Pet get_pet_by_id(petid) +> crate::models::Pet get_pet_by_id(pet_id) Find pet by ID Returns a single pet @@ -148,7 +148,7 @@ Returns a single pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet to return | [required] | +**pet_id** | **i64** | ID of pet to return | [required] | ### Return type @@ -198,7 +198,7 @@ Name | Type | Description | Required | Notes ## update_pet_with_form -> update_pet_with_form(petid, name, status) +> update_pet_with_form(pet_id, name, status) Updates a pet in the store with form data @@ -208,7 +208,7 @@ Updates a pet in the store with form data Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet that needs to be updated | [required] | +**pet_id** | **i64** | ID of pet that needs to be updated | [required] | **name** | Option<**String**> | Updated name of the pet | | **status** | Option<**String**> | Updated status of the pet | | @@ -230,7 +230,7 @@ Name | Type | Description | Required | Notes ## upload_file -> crate::models::ApiResponse upload_file(petid, additionalmetadata, file) +> crate::models::ApiResponse upload_file(pet_id, additional_metadata, file) uploads an image @@ -240,8 +240,8 @@ uploads an image Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet to update | [required] | -**additionalmetadata** | Option<**String**> | Additional data to pass to server | | +**pet_id** | **i64** | ID of pet to update | [required] | +**additional_metadata** | Option<**String**> | Additional data to pass to server | | **file** | Option<**std::path::PathBuf**> | file to upload | | ### Return type diff --git a/samples/client/petstore/rust/hyper/petstore/docs/StoreApi.md b/samples/client/petstore/rust/hyper/petstore/docs/StoreApi.md index 9b37fc16da..c1f5b5a9c2 100644 --- a/samples/client/petstore/rust/hyper/petstore/docs/StoreApi.md +++ b/samples/client/petstore/rust/hyper/petstore/docs/StoreApi.md @@ -13,7 +13,7 @@ Method | HTTP request | Description ## delete_order -> delete_order(orderid) +> delete_order(order_id) Delete purchase order by ID For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors @@ -23,7 +23,7 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or non Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**orderid** | **String** | ID of the order that needs to be deleted | [required] | +**order_id** | **String** | ID of the order that needs to be deleted | [required] | ### Return type @@ -70,7 +70,7 @@ This endpoint does not need any parameter. ## get_order_by_id -> crate::models::Order get_order_by_id(orderid) +> crate::models::Order get_order_by_id(order_id) Find purchase order by ID For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions @@ -80,7 +80,7 @@ For valid response try integer IDs with value <= 5 or > 10. Other values will ge Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**orderid** | **i64** | ID of pet that needs to be fetched | [required] | +**order_id** | **i64** | ID of pet that needs to be fetched | [required] | ### Return type diff --git a/samples/client/petstore/rust/hyper/petstore/src/apis/pet_api.rs b/samples/client/petstore/rust/hyper/petstore/src/apis/pet_api.rs index 4037e103f5..019ed347cd 100644 --- a/samples/client/petstore/rust/hyper/petstore/src/apis/pet_api.rs +++ b/samples/client/petstore/rust/hyper/petstore/src/apis/pet_api.rs @@ -36,13 +36,13 @@ impl PetApiClient pub trait PetApi { fn add_pet(&self, pet: crate::models::Pet) -> Pin>>>; - fn delete_pet(&self, petid: i64, api_key: Option<&str>) -> Pin>>>; + fn delete_pet(&self, pet_id: i64, api_key: Option<&str>) -> Pin>>>; fn find_pets_by_status(&self, status: Vec) -> Pin, Error>>>>; fn find_pets_by_tags(&self, tags: Vec) -> Pin, Error>>>>; - fn get_pet_by_id(&self, petid: i64) -> Pin>>>; + fn get_pet_by_id(&self, pet_id: i64) -> Pin>>>; fn update_pet(&self, pet: crate::models::Pet) -> Pin>>>; - fn update_pet_with_form(&self, petid: i64, name: Option<&str>, status: Option<&str>) -> Pin>>>; - fn upload_file(&self, petid: i64, additionalmetadata: Option<&str>, file: Option) -> Pin>>>; + fn update_pet_with_form(&self, pet_id: i64, name: Option<&str>, status: Option<&str>) -> Pin>>>; + fn upload_file(&self, pet_id: i64, additional_metadata: Option<&str>, file: Option) -> Pin>>>; } implPetApi for PetApiClient @@ -58,11 +58,11 @@ implPetApi for PetApiClient } #[allow(unused_mut)] - fn delete_pet(&self, petid: i64, api_key: Option<&str>) -> Pin>>> { + fn delete_pet(&self, pet_id: i64, api_key: Option<&str>) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::DELETE, "/pet/{petId}".to_string()) .with_auth(__internal_request::Auth::Oauth) ; - req = req.with_path_param("petId".to_string(), petid.to_string()); + req = req.with_path_param("petId".to_string(), pet_id.to_string()); if let Some(param_value) = api_key { req = req.with_header_param("api_key".to_string(), param_value.to_string()); } @@ -92,7 +92,7 @@ implPetApi for PetApiClient } #[allow(unused_mut)] - fn get_pet_by_id(&self, petid: i64) -> Pin>>> { + fn get_pet_by_id(&self, pet_id: i64) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::GET, "/pet/{petId}".to_string()) .with_auth(__internal_request::Auth::ApiKey(__internal_request::ApiKey{ in_header: true, @@ -100,7 +100,7 @@ implPetApi for PetApiClient param_name: "api_key".to_owned(), })) ; - req = req.with_path_param("petId".to_string(), petid.to_string()); + req = req.with_path_param("petId".to_string(), pet_id.to_string()); req.execute(self.configuration.borrow()) } @@ -116,11 +116,11 @@ implPetApi for PetApiClient } #[allow(unused_mut)] - fn update_pet_with_form(&self, petid: i64, name: Option<&str>, status: Option<&str>) -> Pin>>> { + fn update_pet_with_form(&self, pet_id: i64, name: Option<&str>, status: Option<&str>) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::POST, "/pet/{petId}".to_string()) .with_auth(__internal_request::Auth::Oauth) ; - req = req.with_path_param("petId".to_string(), petid.to_string()); + req = req.with_path_param("petId".to_string(), pet_id.to_string()); if let Some(param_value) = name { req = req.with_form_param("name".to_string(), param_value.to_string()); } @@ -133,12 +133,12 @@ implPetApi for PetApiClient } #[allow(unused_mut)] - fn upload_file(&self, petid: i64, additionalmetadata: Option<&str>, file: Option) -> Pin>>> { + fn upload_file(&self, pet_id: i64, additional_metadata: Option<&str>, file: Option) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::POST, "/pet/{petId}/uploadImage".to_string()) .with_auth(__internal_request::Auth::Oauth) ; - req = req.with_path_param("petId".to_string(), petid.to_string()); - if let Some(param_value) = additionalmetadata { + req = req.with_path_param("petId".to_string(), pet_id.to_string()); + if let Some(param_value) = additional_metadata { req = req.with_form_param("additionalMetadata".to_string(), param_value.to_string()); } if let Some(param_value) = file { diff --git a/samples/client/petstore/rust/hyper/petstore/src/apis/store_api.rs b/samples/client/petstore/rust/hyper/petstore/src/apis/store_api.rs index 0cdf1993ef..e4bb563082 100644 --- a/samples/client/petstore/rust/hyper/petstore/src/apis/store_api.rs +++ b/samples/client/petstore/rust/hyper/petstore/src/apis/store_api.rs @@ -35,19 +35,19 @@ impl StoreApiClient } pub trait StoreApi { - fn delete_order(&self, orderid: &str) -> Pin>>>; + fn delete_order(&self, order_id: &str) -> Pin>>>; fn get_inventory(&self, ) -> Pin, Error>>>>; - fn get_order_by_id(&self, orderid: i64) -> Pin>>>; + fn get_order_by_id(&self, order_id: i64) -> Pin>>>; fn place_order(&self, order: crate::models::Order) -> Pin>>>; } implStoreApi for StoreApiClient where C: Clone + std::marker::Send + Sync { #[allow(unused_mut)] - fn delete_order(&self, orderid: &str) -> Pin>>> { + fn delete_order(&self, order_id: &str) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::DELETE, "/store/order/{orderId}".to_string()) ; - req = req.with_path_param("orderId".to_string(), orderid.to_string()); + req = req.with_path_param("orderId".to_string(), order_id.to_string()); req = req.returns_nothing(); req.execute(self.configuration.borrow()) @@ -67,10 +67,10 @@ implStoreApi for StoreApiClient } #[allow(unused_mut)] - fn get_order_by_id(&self, orderid: i64) -> Pin>>> { + fn get_order_by_id(&self, order_id: i64) -> Pin>>> { let mut req = __internal_request::Request::new(hyper::Method::GET, "/store/order/{orderId}".to_string()) ; - req = req.with_path_param("orderId".to_string(), orderid.to_string()); + req = req.with_path_param("orderId".to_string(), order_id.to_string()); req.execute(self.configuration.borrow()) } diff --git a/samples/client/petstore/rust/reqwest/petstore-async/docs/PetApi.md b/samples/client/petstore/rust/reqwest/petstore-async/docs/PetApi.md index 3ac38fd18a..5adc933415 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/docs/PetApi.md +++ b/samples/client/petstore/rust/reqwest/petstore-async/docs/PetApi.md @@ -47,7 +47,7 @@ Name | Type | Description | Required | Notes ## delete_pet -> delete_pet(petid, api_key) +> delete_pet(pet_id, api_key) Deletes a pet @@ -57,7 +57,7 @@ Deletes a pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | Pet id to delete | [required] | +**pet_id** | **i64** | Pet id to delete | [required] | **api_key** | Option<**String**> | | | ### Return type @@ -138,7 +138,7 @@ Name | Type | Description | Required | Notes ## get_pet_by_id -> crate::models::Pet get_pet_by_id(petid) +> crate::models::Pet get_pet_by_id(pet_id) Find pet by ID Returns a single pet @@ -148,7 +148,7 @@ Returns a single pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet to return | [required] | +**pet_id** | **i64** | ID of pet to return | [required] | ### Return type @@ -198,7 +198,7 @@ Name | Type | Description | Required | Notes ## update_pet_with_form -> update_pet_with_form(petid, name, status) +> update_pet_with_form(pet_id, name, status) Updates a pet in the store with form data @@ -208,7 +208,7 @@ Updates a pet in the store with form data Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet that needs to be updated | [required] | +**pet_id** | **i64** | ID of pet that needs to be updated | [required] | **name** | Option<**String**> | Updated name of the pet | | **status** | Option<**String**> | Updated status of the pet | | @@ -230,7 +230,7 @@ Name | Type | Description | Required | Notes ## upload_file -> crate::models::ApiResponse upload_file(petid, additionalmetadata, file) +> crate::models::ApiResponse upload_file(pet_id, additional_metadata, file) uploads an image @@ -240,8 +240,8 @@ uploads an image Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet to update | [required] | -**additionalmetadata** | Option<**String**> | Additional data to pass to server | | +**pet_id** | **i64** | ID of pet to update | [required] | +**additional_metadata** | Option<**String**> | Additional data to pass to server | | **file** | Option<**std::path::PathBuf**> | file to upload | | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore-async/docs/StoreApi.md b/samples/client/petstore/rust/reqwest/petstore-async/docs/StoreApi.md index 364e7f93df..a6b3c572cc 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/docs/StoreApi.md +++ b/samples/client/petstore/rust/reqwest/petstore-async/docs/StoreApi.md @@ -13,7 +13,7 @@ Method | HTTP request | Description ## delete_order -> delete_order(orderid) +> delete_order(order_id) Delete purchase order by ID For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors @@ -23,7 +23,7 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or non Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**orderid** | **String** | ID of the order that needs to be deleted | [required] | +**order_id** | **String** | ID of the order that needs to be deleted | [required] | ### Return type @@ -70,7 +70,7 @@ This endpoint does not need any parameter. ## get_order_by_id -> crate::models::Order get_order_by_id(orderid) +> crate::models::Order get_order_by_id(order_id) Find purchase order by ID For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions @@ -80,7 +80,7 @@ For valid response try integer IDs with value <= 5 or > 10. Other values will ge Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**orderid** | **i64** | ID of pet that needs to be fetched | [required] | +**order_id** | **i64** | ID of pet that needs to be fetched | [required] | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore-async/src/apis/pet_api.rs b/samples/client/petstore/rust/reqwest/petstore-async/src/apis/pet_api.rs index a9c0c537ee..977d79edcf 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/src/apis/pet_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore-async/src/apis/pet_api.rs @@ -25,7 +25,7 @@ pub struct AddPetParams { #[derive(Clone, Debug, Default)] pub struct DeletePetParams { /// Pet id to delete - pub petid: i64, + pub pet_id: i64, pub api_key: Option } @@ -47,7 +47,7 @@ pub struct FindPetsByTagsParams { #[derive(Clone, Debug, Default)] pub struct GetPetByIdParams { /// ID of pet to return - pub petid: i64 + pub pet_id: i64 } /// struct for passing parameters to the method [`update_pet`] @@ -61,7 +61,7 @@ pub struct UpdatePetParams { #[derive(Clone, Debug, Default)] pub struct UpdatePetWithFormParams { /// ID of pet that needs to be updated - pub petid: i64, + pub pet_id: i64, /// Updated name of the pet pub name: Option, /// Updated status of the pet @@ -72,9 +72,9 @@ pub struct UpdatePetWithFormParams { #[derive(Clone, Debug, Default)] pub struct UploadFileParams { /// ID of pet to update - pub petid: i64, + pub pet_id: i64, /// Additional data to pass to server - pub additionalmetadata: Option, + pub additional_metadata: Option, /// file to upload pub file: Option } @@ -252,13 +252,13 @@ pub async fn delete_pet(configuration: &configuration::Configuration, params: De let local_var_configuration = configuration; // unbox the parameters - let petid = params.petid; + let pet_id = params.pet_id; let api_key = params.api_key; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -375,12 +375,12 @@ pub async fn get_pet_by_id(configuration: &configuration::Configuration, params: let local_var_configuration = configuration; // unbox the parameters - let petid = params.petid; + let pet_id = params.pet_id; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -455,14 +455,14 @@ pub async fn update_pet_with_form(configuration: &configuration::Configuration, let local_var_configuration = configuration; // unbox the parameters - let petid = params.petid; + let pet_id = params.pet_id; let name = params.name; let status = params.status; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -502,14 +502,14 @@ pub async fn upload_file(configuration: &configuration::Configuration, params: U let local_var_configuration = configuration; // unbox the parameters - let petid = params.petid; - let additionalmetadata = params.additionalmetadata; + let pet_id = params.pet_id; + let additional_metadata = params.additional_metadata; let file = params.file; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -519,7 +519,7 @@ pub async fn upload_file(configuration: &configuration::Configuration, params: U local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); }; let mut local_var_form = reqwest::multipart::Form::new(); - if let Some(local_var_param_value) = additionalmetadata { + if let Some(local_var_param_value) = additional_metadata { local_var_form = local_var_form.text("additionalMetadata", local_var_param_value.to_string()); } // TODO: support file upload for 'file' parameter diff --git a/samples/client/petstore/rust/reqwest/petstore-async/src/apis/store_api.rs b/samples/client/petstore/rust/reqwest/petstore-async/src/apis/store_api.rs index 40cc7617e9..36d090f4f1 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/src/apis/store_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore-async/src/apis/store_api.rs @@ -18,14 +18,14 @@ use super::{Error, configuration}; #[derive(Clone, Debug, Default)] pub struct DeleteOrderParams { /// ID of the order that needs to be deleted - pub orderid: String + pub order_id: String } /// struct for passing parameters to the method [`get_order_by_id`] #[derive(Clone, Debug, Default)] pub struct GetOrderByIdParams { /// ID of pet that needs to be fetched - pub orderid: i64 + pub order_id: i64 } /// struct for passing parameters to the method [`place_order`] @@ -106,12 +106,12 @@ pub async fn delete_order(configuration: &configuration::Configuration, params: let local_var_configuration = configuration; // unbox the parameters - let orderid = params.orderid; + let order_id = params.order_id; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(orderid)); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(order_id)); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -181,12 +181,12 @@ pub async fn get_order_by_id(configuration: &configuration::Configuration, param let local_var_configuration = configuration; // unbox the parameters - let orderid = params.orderid; + let order_id = params.order_id; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=orderid); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=order_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/PetApi.md b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/PetApi.md index 3ac38fd18a..5adc933415 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/PetApi.md +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/PetApi.md @@ -47,7 +47,7 @@ Name | Type | Description | Required | Notes ## delete_pet -> delete_pet(petid, api_key) +> delete_pet(pet_id, api_key) Deletes a pet @@ -57,7 +57,7 @@ Deletes a pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | Pet id to delete | [required] | +**pet_id** | **i64** | Pet id to delete | [required] | **api_key** | Option<**String**> | | | ### Return type @@ -138,7 +138,7 @@ Name | Type | Description | Required | Notes ## get_pet_by_id -> crate::models::Pet get_pet_by_id(petid) +> crate::models::Pet get_pet_by_id(pet_id) Find pet by ID Returns a single pet @@ -148,7 +148,7 @@ Returns a single pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet to return | [required] | +**pet_id** | **i64** | ID of pet to return | [required] | ### Return type @@ -198,7 +198,7 @@ Name | Type | Description | Required | Notes ## update_pet_with_form -> update_pet_with_form(petid, name, status) +> update_pet_with_form(pet_id, name, status) Updates a pet in the store with form data @@ -208,7 +208,7 @@ Updates a pet in the store with form data Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet that needs to be updated | [required] | +**pet_id** | **i64** | ID of pet that needs to be updated | [required] | **name** | Option<**String**> | Updated name of the pet | | **status** | Option<**String**> | Updated status of the pet | | @@ -230,7 +230,7 @@ Name | Type | Description | Required | Notes ## upload_file -> crate::models::ApiResponse upload_file(petid, additionalmetadata, file) +> crate::models::ApiResponse upload_file(pet_id, additional_metadata, file) uploads an image @@ -240,8 +240,8 @@ uploads an image Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet to update | [required] | -**additionalmetadata** | Option<**String**> | Additional data to pass to server | | +**pet_id** | **i64** | ID of pet to update | [required] | +**additional_metadata** | Option<**String**> | Additional data to pass to server | | **file** | Option<**std::path::PathBuf**> | file to upload | | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/StoreApi.md b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/StoreApi.md index 364e7f93df..a6b3c572cc 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/StoreApi.md +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/StoreApi.md @@ -13,7 +13,7 @@ Method | HTTP request | Description ## delete_order -> delete_order(orderid) +> delete_order(order_id) Delete purchase order by ID For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors @@ -23,7 +23,7 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or non Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**orderid** | **String** | ID of the order that needs to be deleted | [required] | +**order_id** | **String** | ID of the order that needs to be deleted | [required] | ### Return type @@ -70,7 +70,7 @@ This endpoint does not need any parameter. ## get_order_by_id -> crate::models::Order get_order_by_id(orderid) +> crate::models::Order get_order_by_id(order_id) Find purchase order by ID For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions @@ -80,7 +80,7 @@ For valid response try integer IDs with value <= 5 or > 10. Other values will ge Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**orderid** | **i64** | ID of pet that needs to be fetched | [required] | +**order_id** | **i64** | ID of pet that needs to be fetched | [required] | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/pet_api.rs b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/pet_api.rs index 0ffae238b2..653fb343af 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/pet_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/pet_api.rs @@ -128,12 +128,12 @@ pub fn add_pet(configuration: &configuration::Configuration, pet: crate::models: } /// -pub fn delete_pet(configuration: &configuration::Configuration, petid: i64, api_key: Option<&str>) -> Result<(), Error> { +pub fn delete_pet(configuration: &configuration::Configuration, pet_id: i64, api_key: Option<&str>) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key { @@ -271,12 +271,12 @@ pub fn find_pets_by_tags(configuration: &configuration::Configuration, tags: Vec } /// Returns a single pet -pub fn get_pet_by_id(configuration: &configuration::Configuration, petid: i64) -> Result> { +pub fn get_pet_by_id(configuration: &configuration::Configuration, pet_id: i64) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key { @@ -365,12 +365,12 @@ pub fn update_pet(configuration: &configuration::Configuration, pet: crate::mode } /// -pub fn update_pet_with_form(configuration: &configuration::Configuration, petid: i64, name: Option<&str>, status: Option<&str>) -> Result<(), Error> { +pub fn update_pet_with_form(configuration: &configuration::Configuration, pet_id: i64, name: Option<&str>, status: Option<&str>) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key { @@ -417,12 +417,12 @@ pub fn update_pet_with_form(configuration: &configuration::Configuration, petid: } /// -pub fn upload_file(configuration: &configuration::Configuration, petid: i64, additionalmetadata: Option<&str>, file: Option) -> Result> { +pub fn upload_file(configuration: &configuration::Configuration, pet_id: i64, additional_metadata: Option<&str>, file: Option) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key { @@ -445,7 +445,7 @@ pub fn upload_file(configuration: &configuration::Configuration, petid: i64, add local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); }; let mut local_var_form = reqwest::multipart::Form::new(); - if let Some(local_var_param_value) = additionalmetadata { + if let Some(local_var_param_value) = additional_metadata { local_var_form = local_var_form.text("additionalMetadata", local_var_param_value.to_string()); } if let Some(local_var_param_value) = file { diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/store_api.rs b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/store_api.rs index df2c4e5cc7..d50a60e411 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/store_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/apis/store_api.rs @@ -50,12 +50,12 @@ pub enum PlaceOrderError { /// For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors -pub fn delete_order(configuration: &configuration::Configuration, orderid: &str) -> Result<(), Error> { +pub fn delete_order(configuration: &configuration::Configuration, order_id: &str) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(orderid)); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(order_id)); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -127,12 +127,12 @@ pub fn get_inventory(configuration: &configuration::Configuration, ) -> Result<: } /// For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions -pub fn get_order_by_id(configuration: &configuration::Configuration, orderid: i64) -> Result> { +pub fn get_order_by_id(configuration: &configuration::Configuration, order_id: i64) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=orderid); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=order_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { diff --git a/samples/client/petstore/rust/reqwest/petstore/docs/PetApi.md b/samples/client/petstore/rust/reqwest/petstore/docs/PetApi.md index 3ac38fd18a..5adc933415 100644 --- a/samples/client/petstore/rust/reqwest/petstore/docs/PetApi.md +++ b/samples/client/petstore/rust/reqwest/petstore/docs/PetApi.md @@ -47,7 +47,7 @@ Name | Type | Description | Required | Notes ## delete_pet -> delete_pet(petid, api_key) +> delete_pet(pet_id, api_key) Deletes a pet @@ -57,7 +57,7 @@ Deletes a pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | Pet id to delete | [required] | +**pet_id** | **i64** | Pet id to delete | [required] | **api_key** | Option<**String**> | | | ### Return type @@ -138,7 +138,7 @@ Name | Type | Description | Required | Notes ## get_pet_by_id -> crate::models::Pet get_pet_by_id(petid) +> crate::models::Pet get_pet_by_id(pet_id) Find pet by ID Returns a single pet @@ -148,7 +148,7 @@ Returns a single pet Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet to return | [required] | +**pet_id** | **i64** | ID of pet to return | [required] | ### Return type @@ -198,7 +198,7 @@ Name | Type | Description | Required | Notes ## update_pet_with_form -> update_pet_with_form(petid, name, status) +> update_pet_with_form(pet_id, name, status) Updates a pet in the store with form data @@ -208,7 +208,7 @@ Updates a pet in the store with form data Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet that needs to be updated | [required] | +**pet_id** | **i64** | ID of pet that needs to be updated | [required] | **name** | Option<**String**> | Updated name of the pet | | **status** | Option<**String**> | Updated status of the pet | | @@ -230,7 +230,7 @@ Name | Type | Description | Required | Notes ## upload_file -> crate::models::ApiResponse upload_file(petid, additionalmetadata, file) +> crate::models::ApiResponse upload_file(pet_id, additional_metadata, file) uploads an image @@ -240,8 +240,8 @@ uploads an image Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**petid** | **i64** | ID of pet to update | [required] | -**additionalmetadata** | Option<**String**> | Additional data to pass to server | | +**pet_id** | **i64** | ID of pet to update | [required] | +**additional_metadata** | Option<**String**> | Additional data to pass to server | | **file** | Option<**std::path::PathBuf**> | file to upload | | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore/docs/StoreApi.md b/samples/client/petstore/rust/reqwest/petstore/docs/StoreApi.md index 364e7f93df..a6b3c572cc 100644 --- a/samples/client/petstore/rust/reqwest/petstore/docs/StoreApi.md +++ b/samples/client/petstore/rust/reqwest/petstore/docs/StoreApi.md @@ -13,7 +13,7 @@ Method | HTTP request | Description ## delete_order -> delete_order(orderid) +> delete_order(order_id) Delete purchase order by ID For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors @@ -23,7 +23,7 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or non Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**orderid** | **String** | ID of the order that needs to be deleted | [required] | +**order_id** | **String** | ID of the order that needs to be deleted | [required] | ### Return type @@ -70,7 +70,7 @@ This endpoint does not need any parameter. ## get_order_by_id -> crate::models::Order get_order_by_id(orderid) +> crate::models::Order get_order_by_id(order_id) Find purchase order by ID For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions @@ -80,7 +80,7 @@ For valid response try integer IDs with value <= 5 or > 10. Other values will ge Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**orderid** | **i64** | ID of pet that needs to be fetched | [required] | +**order_id** | **i64** | ID of pet that needs to be fetched | [required] | ### Return type diff --git a/samples/client/petstore/rust/reqwest/petstore/src/apis/pet_api.rs b/samples/client/petstore/rust/reqwest/petstore/src/apis/pet_api.rs index 88cba2e99d..f44a38d609 100644 --- a/samples/client/petstore/rust/reqwest/petstore/src/apis/pet_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore/src/apis/pet_api.rs @@ -115,12 +115,12 @@ pub fn add_pet(configuration: &configuration::Configuration, pet: crate::models: } /// -pub fn delete_pet(configuration: &configuration::Configuration, petid: i64, api_key: Option<&str>) -> Result<(), Error> { +pub fn delete_pet(configuration: &configuration::Configuration, pet_id: i64, api_key: Option<&str>) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -219,12 +219,12 @@ pub fn find_pets_by_tags(configuration: &configuration::Configuration, tags: Vec } /// Returns a single pet -pub fn get_pet_by_id(configuration: &configuration::Configuration, petid: i64) -> Result> { +pub fn get_pet_by_id(configuration: &configuration::Configuration, pet_id: i64) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -287,12 +287,12 @@ pub fn update_pet(configuration: &configuration::Configuration, pet: crate::mode } /// -pub fn update_pet_with_form(configuration: &configuration::Configuration, petid: i64, name: Option<&str>, status: Option<&str>) -> Result<(), Error> { +pub fn update_pet_with_form(configuration: &configuration::Configuration, pet_id: i64, name: Option<&str>, status: Option<&str>) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -326,12 +326,12 @@ pub fn update_pet_with_form(configuration: &configuration::Configuration, petid: } /// -pub fn upload_file(configuration: &configuration::Configuration, petid: i64, additionalmetadata: Option<&str>, file: Option) -> Result> { +pub fn upload_file(configuration: &configuration::Configuration, pet_id: i64, additional_metadata: Option<&str>, file: Option) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=petid); + let local_var_uri_str = format!("{}/pet/{petId}/uploadImage", local_var_configuration.base_path, petId=pet_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -341,7 +341,7 @@ pub fn upload_file(configuration: &configuration::Configuration, petid: i64, add local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); }; let mut local_var_form = reqwest::multipart::Form::new(); - if let Some(local_var_param_value) = additionalmetadata { + if let Some(local_var_param_value) = additional_metadata { local_var_form = local_var_form.text("additionalMetadata", local_var_param_value.to_string()); } if let Some(local_var_param_value) = file { diff --git a/samples/client/petstore/rust/reqwest/petstore/src/apis/store_api.rs b/samples/client/petstore/rust/reqwest/petstore/src/apis/store_api.rs index bcc69cc560..f142404c3f 100644 --- a/samples/client/petstore/rust/reqwest/petstore/src/apis/store_api.rs +++ b/samples/client/petstore/rust/reqwest/petstore/src/apis/store_api.rs @@ -50,12 +50,12 @@ pub enum PlaceOrderError { /// For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors -pub fn delete_order(configuration: &configuration::Configuration, orderid: &str) -> Result<(), Error> { +pub fn delete_order(configuration: &configuration::Configuration, order_id: &str) -> Result<(), Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(orderid)); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=crate::apis::urlencode(order_id)); let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { @@ -114,12 +114,12 @@ pub fn get_inventory(configuration: &configuration::Configuration, ) -> Result<: } /// For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions -pub fn get_order_by_id(configuration: &configuration::Configuration, orderid: i64) -> Result> { +pub fn get_order_by_id(configuration: &configuration::Configuration, order_id: i64) -> Result> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; - let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=orderid); + let local_var_uri_str = format!("{}/store/order/{orderId}", local_var_configuration.base_path, orderId=order_id); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { From c44fe8a04a569ea73ce3cf2b33005812e8c138c2 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Wed, 13 Jul 2022 18:17:33 -0700 Subject: [PATCH 183/212] Fixes fromProperty when property is required vs optional (#12858) * Adds required boolean to fromProperty * Adds required to other method signatures * pythn-exp sample regenerated * Samples regenerated * Adds java test of fix --- .../openapitools/codegen/DefaultCodegen.java | 150 +++++++++--------- .../IJsonSchemaValidationProperties.java | 2 +- .../codegen/languages/AbstractAdaCodegen.java | 6 +- .../codegen/languages/AbstractCppCodegen.java | 4 +- .../languages/AbstractDartCodegen.java | 4 +- .../languages/AbstractScalaCodegen.java | 4 +- .../languages/CLibcurlClientCodegen.java | 4 +- .../languages/CppPistacheServerCodegen.java | 2 +- .../languages/CppRestSdkClientCodegen.java | 2 +- .../codegen/languages/GoClientCodegen.java | 4 +- .../codegen/languages/KtormSchemaCodegen.java | 2 +- .../languages/PhpLaravelServerCodegen.java | 4 +- .../languages/PythonClientCodegen.java | 6 +- .../PythonExperimentalClientCodegen.java | 14 +- .../TypeScriptFetchClientCodegen.java | 6 +- .../codegen/DefaultCodegenTest.java | 25 +++ .../src/test/resources/3_0/issue_12857.yaml | 17 ++ .../docs/ChildCat.md | 2 +- .../src/Org.OpenAPITools/Model/ChildCat.cs | 11 +- .../OpenAPIClient-httpclient/docs/ChildCat.md | 2 +- .../src/Org.OpenAPITools/Model/ChildCat.cs | 10 +- .../OpenAPIClient-net47/docs/ChildCat.md | 2 +- .../src/Org.OpenAPITools/Model/ChildCat.cs | 10 +- .../OpenAPIClient-net5.0/docs/ChildCat.md | 2 +- .../src/Org.OpenAPITools/Model/ChildCat.cs | 10 +- .../OpenAPIClient/docs/ChildCat.md | 2 +- .../src/Org.OpenAPITools/Model/ChildCat.cs | 10 +- .../OpenAPIClientCore/docs/ChildCat.md | 2 +- .../src/Org.OpenAPITools/Model/ChildCat.cs | 10 +- .../petstore/java/jersey3/docs/ChildCat.md | 2 +- .../openapitools/client/model/ChildCat.java | 8 +- .../builds/test-petstore/api.ts | 2 +- .../java/jersey2-java8/docs/ChildCat.md | 2 +- .../openapitools/client/model/ChildCat.java | 8 +- .../python-experimental/docs/PetApi.md | 2 +- .../fake_api_endpoints/endpoint_parameters.py | 12 ++ .../api/fake_api_endpoints/json_form_data.py | 6 + .../api/fake_api_endpoints/upload_file.py | 3 + .../upload_file_with_required_file.py | 3 + .../api/pet_api_endpoints/upload_image.py | 2 + 40 files changed, 224 insertions(+), 155 deletions(-) create mode 100644 modules/openapi-generator/src/test/resources/3_0/issue_12857.yaml diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 3f4d8cd342..5d604086d8 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -2456,26 +2456,29 @@ public class DefaultCodegen implements CodegenConfig { } private static class NamedSchema { - private NamedSchema(String name, Schema s) { + private NamedSchema(String name, Schema s, boolean required) { this.name = name; this.schema = s; + this.required = required; } private String name; private Schema schema; + private boolean required; @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; NamedSchema that = (NamedSchema) o; - return Objects.equals(name, that.name) && + return Objects.equals(required, that.required) && + Objects.equals(name, that.name) && Objects.equals(schema, that.schema); } @Override public int hashCode() { - return Objects.hash(name, schema); + return Objects.hash(name, schema, required); } } @@ -2548,7 +2551,7 @@ public class DefaultCodegen implements CodegenConfig { if (StringUtils.isBlank(interfaceSchema.get$ref())) { // primitive type String languageType = getTypeDeclaration(interfaceSchema); - CodegenProperty interfaceProperty = fromProperty(languageType, interfaceSchema); + CodegenProperty interfaceProperty = fromProperty(languageType, interfaceSchema, false); if (ModelUtils.isArraySchema(interfaceSchema) || ModelUtils.isMapSchema(interfaceSchema)) { while (interfaceProperty != null) { addImport(m, interfaceProperty.complexType); @@ -2584,7 +2587,7 @@ public class DefaultCodegen implements CodegenConfig { refSchema = allDefinitions.get(ref); } final String modelName = toModelName(ref); - CodegenProperty interfaceProperty = fromProperty(modelName, interfaceSchema); + CodegenProperty interfaceProperty = fromProperty(modelName, interfaceSchema, false); m.interfaces.add(modelName); addImport(composed, refSchema, m, modelName); @@ -2835,7 +2838,7 @@ public class DefaultCodegen implements CodegenConfig { m.setTypeProperties(schema); m.setComposedSchemas(getComposedSchemas(schema)); if (ModelUtils.isArraySchema(schema)) { - CodegenProperty arrayProperty = fromProperty(name, schema); + CodegenProperty arrayProperty = fromProperty(name, schema, false); m.setItems(arrayProperty.items); m.arrayModelType = arrayProperty.complexType; addParentContainer(m, name, schema); @@ -2955,17 +2958,17 @@ public class DefaultCodegen implements CodegenConfig { if (schema.getAdditionalProperties() == null) { if (!disallowAdditionalPropertiesIfNotPresent) { isAdditionalPropertiesTrue = true; - addPropProp = fromProperty("", new Schema()); + addPropProp = fromProperty("", new Schema(), false); additionalPropertiesIsAnyType = true; } } else if (schema.getAdditionalProperties() instanceof Boolean) { if (Boolean.TRUE.equals(schema.getAdditionalProperties())) { isAdditionalPropertiesTrue = true; - addPropProp = fromProperty("", new Schema()); + addPropProp = fromProperty("", new Schema(), false); additionalPropertiesIsAnyType = true; } } else { - addPropProp = fromProperty("", (Schema) schema.getAdditionalProperties()); + addPropProp = fromProperty("", (Schema) schema.getAdditionalProperties(), false); if (ModelUtils.isAnyType((Schema) schema.getAdditionalProperties())) { additionalPropertiesIsAnyType = true; } @@ -3451,7 +3454,7 @@ public class DefaultCodegen implements CodegenConfig { innerSchema = new StringSchema().description("//TODO automatically added by openapi-generator due to undefined type"); p.setAdditionalProperties(innerSchema); } - CodegenProperty cp = fromProperty("inner", innerSchema); + CodegenProperty cp = fromProperty("inner", innerSchema, false); updatePropertyForMap(property, cp); } @@ -3522,6 +3525,19 @@ public class DefaultCodegen implements CodegenConfig { property.pattern = toRegularExpression(p.getPattern()); } + /** + * TODO remove this in 7.0.0 as a breaking change + * This method was kept when required was added to the fromProperty signature + * to ensure that the change was non-breaking + * + * @param name name of the property + * @param p OAS property schema + * @return Codegen Property object + */ + public CodegenProperty fromProperty(String name, Schema p) { + return fromProperty(name, p, false); + } + /** * Convert OAS Property object to Codegen Property object. *

    @@ -3531,26 +3547,28 @@ public class DefaultCodegen implements CodegenConfig { * Any subsequent processing of the CodegenModel return value must be idempotent * for a given (String name, Schema schema). * - * @param name name of the property - * @param p OAS property schema + * @param name name of the property + * @param p OAS property schema + * @param required true if the property is required in the next higher object schema, false otherwise * @return Codegen Property object */ - public CodegenProperty fromProperty(String name, Schema p) { + public CodegenProperty fromProperty(String name, Schema p, boolean required) { if (p == null) { LOGGER.error("Undefined property/schema for `{}`. Default to type:string.", name); return null; } LOGGER.debug("debugging fromProperty for {} : {}", name, p); - NamedSchema ns = new NamedSchema(name, p); + NamedSchema ns = new NamedSchema(name, p, required); CodegenProperty cpc = schemaCodegenPropertyCache.get(ns); if (cpc != null) { - LOGGER.debug("Cached fromProperty for {} : {}", name, p.getName()); + LOGGER.debug("Cached fromProperty for {} : {} required={}", name, p.getName(), required); return cpc; } // unalias schema p = unaliasSchema(p, schemaMapping); CodegenProperty property = CodegenModelFactory.newInstance(CodegenModelType.PROPERTY); + property.required = required; ModelUtils.syncValidationProperties(p, property); property.name = toVarName(name); @@ -3717,7 +3735,7 @@ public class DefaultCodegen implements CodegenConfig { } ArraySchema arraySchema = (ArraySchema) p; Schema innerSchema = unaliasSchema(getSchemaItems(arraySchema), schemaMapping); - CodegenProperty cp = fromProperty(itemName, innerSchema); + CodegenProperty cp = fromProperty(itemName, innerSchema, false); updatePropertyForArray(property, cp); } else if (ModelUtils.isTypeObjectSchema(p)) { updatePropertyForObject(property, p); @@ -3965,14 +3983,14 @@ public class DefaultCodegen implements CodegenConfig { Schema responseSchema = unaliasSchema(ModelUtils.getSchemaFromResponse(methodResponse), schemaMapping); if (responseSchema != null) { - CodegenProperty cm = fromProperty("response", responseSchema); + CodegenProperty cm = fromProperty("response", responseSchema, false); if (ModelUtils.isArraySchema(responseSchema)) { ArraySchema as = (ArraySchema) responseSchema; - CodegenProperty innerProperty = fromProperty("response", getSchemaItems(as)); + CodegenProperty innerProperty = fromProperty("response", getSchemaItems(as), false); op.returnBaseType = innerProperty.baseType; } else if (ModelUtils.isMapSchema(responseSchema)) { - CodegenProperty innerProperty = fromProperty("response", getAdditionalProperties(responseSchema)); + CodegenProperty innerProperty = fromProperty("response", getAdditionalProperties(responseSchema), false); op.returnBaseType = innerProperty.baseType; } else { if (cm.complexType != null) { @@ -4430,7 +4448,7 @@ public class DefaultCodegen implements CodegenConfig { r.setPattern(toRegularExpression(responseSchema.getPattern())); } - CodegenProperty cp = fromProperty("response", responseSchema); + CodegenProperty cp = fromProperty("response", responseSchema, false); r.dataType = getTypeDeclaration(responseSchema); if (!ModelUtils.isArraySchema(responseSchema)) { @@ -4453,7 +4471,7 @@ public class DefaultCodegen implements CodegenConfig { r.isArray = true; r.containerType = cp.containerType; ArraySchema as = (ArraySchema) responseSchema; - CodegenProperty items = fromProperty("response", getSchemaItems(as)); + CodegenProperty items = fromProperty("response", getSchemaItems(as), false); r.setItems(items); CodegenProperty innerCp = items; @@ -4612,7 +4630,7 @@ public class DefaultCodegen implements CodegenConfig { private void updateParameterForMap(CodegenParameter codegenParameter, Schema parameterSchema, Set imports) { - CodegenProperty codegenProperty = fromProperty("inner", getAdditionalProperties(parameterSchema)); + CodegenProperty codegenProperty = fromProperty("inner", getAdditionalProperties(parameterSchema), false); codegenParameter.items = codegenProperty; codegenParameter.mostInnerItems = codegenProperty.mostInnerItems; codegenParameter.baseType = codegenProperty.dataType; @@ -4700,11 +4718,11 @@ public class DefaultCodegen implements CodegenConfig { if (this instanceof RustServerCodegen) { // for rust server, we need to do somethings special as it uses // $ref (e.g. #components/schemas/Pet) to determine whether it's a model - prop = fromProperty(parameter.getName(), parameterSchema); + prop = fromProperty(parameter.getName(), parameterSchema, false); } else if (getUseInlineModelResolver()) { - prop = fromProperty(parameter.getName(), getReferencedSchemaWhenNotEnum(parameterSchema)); + prop = fromProperty(parameter.getName(), getReferencedSchemaWhenNotEnum(parameterSchema), false); } else { - prop = fromProperty(parameter.getName(), parameterSchema); + prop = fromProperty(parameter.getName(), parameterSchema, false); } codegenParameter.setSchema(prop); } else if (parameter.getContent() != null) { @@ -4827,7 +4845,7 @@ public class DefaultCodegen implements CodegenConfig { collectionFormat = getCollectionFormat(parameter); // default to csv: collectionFormat = StringUtils.isEmpty(collectionFormat) ? "csv" : collectionFormat; - CodegenProperty itemsProperty = fromProperty("inner", inner); + CodegenProperty itemsProperty = fromProperty("inner", inner, false); codegenParameter.items = itemsProperty; codegenParameter.mostInnerItems = itemsProperty.mostInnerItems; codegenParameter.baseType = itemsProperty.dataType; @@ -4843,15 +4861,10 @@ public class DefaultCodegen implements CodegenConfig { ; } - CodegenProperty codegenProperty = fromProperty(parameter.getName(), parameterSchema); + CodegenProperty codegenProperty = fromProperty(parameter.getName(), parameterSchema, false); if (Boolean.TRUE.equals(codegenProperty.isModel)) { codegenParameter.isModel = true; } - // TODO revise below which seems not working - //if (parameterSchema.getRequired() != null && !parameterSchema.getRequired().isEmpty() && parameterSchema.getRequired().contains(codegenProperty.baseName)) { - codegenProperty.required = Boolean.TRUE.equals(parameter.getRequired()) ? true : false; - //} - //codegenProperty.required = true; if (parameterModelName != null) { codegenParameter.dataType = parameterModelName; @@ -4865,7 +4878,9 @@ public class DefaultCodegen implements CodegenConfig { imports.add(codegenProperty.baseType); } codegenParameter.dataFormat = codegenProperty.dataFormat; - codegenParameter.required = codegenProperty.required; + if (parameter.getRequired() != null) { + codegenParameter.required = parameter.getRequired().booleanValue(); + } if (codegenProperty.isEnum) { codegenParameter.datatypeWithEnum = codegenProperty.datatypeWithEnum; @@ -4902,15 +4917,19 @@ public class DefaultCodegen implements CodegenConfig { if (schema.get$ref() != null) { schema = ModelUtils.getReferencedSchema(openAPI, schema); } - codegenParameter.items = fromProperty(codegenParameter.paramName, schema); + codegenParameter.items = fromProperty(codegenParameter.paramName, schema, false); // https://swagger.io/docs/specification/serialization/ if (schema != null) { Map> properties = schema.getProperties(); + List requiredVarNames = new ArrayList<>(); + if (schema.getRequired() != null) { + requiredVarNames.addAll(schema.getRequired()); + } if (properties != null) { codegenParameter.items.vars = properties.entrySet().stream() .map(entry -> { - CodegenProperty property = fromProperty(entry.getKey(), entry.getValue()); + CodegenProperty property = fromProperty(entry.getKey(), entry.getValue(), requiredVarNames.contains(entry.getKey())); property.baseName = codegenParameter.baseName + "[" + entry.getKey() + "]"; return property; }).collect(Collectors.toList()); @@ -5189,7 +5208,7 @@ public class DefaultCodegen implements CodegenConfig { } else { schema = header.getSchema(); } - CodegenProperty cp = fromProperty(headerEntry.getKey(), schema); + CodegenProperty cp = fromProperty(headerEntry.getKey(), schema, false); cp.setDescription(escapeText(description)); cp.setUnescapedDescription(description); if (header.getRequired() != null) { @@ -5257,7 +5276,7 @@ public class DefaultCodegen implements CodegenConfig { * @param schema the input OAS schema. */ protected void addParentContainer(CodegenModel model, String name, Schema schema) { - final CodegenProperty property = fromProperty(name, schema); + final CodegenProperty property = fromProperty(name, schema, false); addImport(model, property.complexType); model.parent = toInstantiationType(schema); final String containerType = property.containerType; @@ -5423,13 +5442,16 @@ public class DefaultCodegen implements CodegenConfig { if (prop == null) { LOGGER.warn("Please report the issue. There shouldn't be null property for {}", key); } else { - final CodegenProperty cp = fromProperty(key, prop); - cp.required = mandatory.contains(key); + final CodegenProperty cp = fromProperty(key, prop, mandatory.contains(key)); vars.add(cp); + m.setHasVars(true); + if (cp.required) { + m.setHasRequired(true); + m.getRequiredVars().add(cp); + } if (cm == null) { continue; } - cm.hasRequired = cm.hasRequired || cp.required; cm.hasOptional = cm.hasOptional || !cp.required; if (cp.isEnum) { // FIXME: if supporting inheritance, when called a second time for allProperties it is possible for @@ -5445,9 +5467,7 @@ public class DefaultCodegen implements CodegenConfig { addImportsForPropertyType(cm, cp); // if required, add to the list "requiredVars" - if (Boolean.TRUE.equals(cp.required)) { - cm.requiredVars.add(cp); - } else { // else add to the list "optionalVars" for optional property + if (Boolean.FALSE.equals(cp.required)) { cm.optionalVars.add(cp); } @@ -6467,7 +6487,7 @@ public class DefaultCodegen implements CodegenConfig { CodegenParameter codegenParameter = CodegenModelFactory.newInstance(CodegenModelType.PARAMETER); LOGGER.debug("Debugging fromFormProperty {}: {}", name, propertySchema); - CodegenProperty codegenProperty = fromProperty(name, propertySchema); + CodegenProperty codegenProperty = fromProperty(name, propertySchema, false); Schema ps = unaliasSchema(propertySchema, schemaMapping); ModelUtils.syncValidationProperties(ps, codegenParameter); @@ -6553,7 +6573,7 @@ public class DefaultCodegen implements CodegenConfig { ; } else if (ModelUtils.isArraySchema(ps)) { Schema inner = getSchemaItems((ArraySchema) ps); - CodegenProperty arrayInnerProperty = fromProperty("inner", inner); + CodegenProperty arrayInnerProperty = fromProperty("inner", inner, false); codegenParameter.items = arrayInnerProperty; codegenParameter.mostInnerItems = arrayInnerProperty.mostInnerItems; codegenParameter.isPrimitiveType = false; @@ -6648,7 +6668,7 @@ public class DefaultCodegen implements CodegenConfig { codegenParameter.isNullable = codegenModel.isNullable; imports.add(codegenParameter.baseType); } else { - CodegenProperty codegenProperty = fromProperty("property", schema); + CodegenProperty codegenProperty = fromProperty("property", schema, false); if (codegenProperty != null && codegenProperty.getComplexType() != null && codegenProperty.getComplexType().contains(" | ")) { List parts = Arrays.asList(codegenProperty.getComplexType().split(" \\| ")); @@ -6713,7 +6733,7 @@ public class DefaultCodegen implements CodegenConfig { inner = new StringSchema().description("//TODO automatically added by openapi-generator"); schema.setAdditionalProperties(inner); } - CodegenProperty codegenProperty = fromProperty("property", schema); + CodegenProperty codegenProperty = fromProperty("property", schema, false); imports.add(codegenProperty.baseType); @@ -6745,7 +6765,7 @@ public class DefaultCodegen implements CodegenConfig { } protected void updateRequestBodyForPrimitiveType(CodegenParameter codegenParameter, Schema schema, String bodyParameterName, Set imports) { - CodegenProperty codegenProperty = fromProperty("PRIMITIVE_REQUEST_BODY", schema); + CodegenProperty codegenProperty = fromProperty("PRIMITIVE_REQUEST_BODY", schema, false); if (codegenProperty != null) { if (StringUtils.isEmpty(bodyParameterName)) { codegenParameter.baseName = "body"; // default to body @@ -6779,7 +6799,7 @@ public class DefaultCodegen implements CodegenConfig { codegenParameter.isFreeFormObject = true; // HTTP request body is free form object - CodegenProperty codegenProperty = fromProperty("FREE_FORM_REQUEST_BODY", schema); + CodegenProperty codegenProperty = fromProperty("FREE_FORM_REQUEST_BODY", schema, false); if (codegenProperty != null) { if (StringUtils.isEmpty(bodyParameterName)) { codegenParameter.baseName = "body"; // default to body @@ -6808,7 +6828,7 @@ public class DefaultCodegen implements CodegenConfig { } else { final ArraySchema arraySchema = (ArraySchema) schema; Schema inner = getSchemaItems(arraySchema); - CodegenProperty codegenProperty = fromProperty("property", arraySchema); + CodegenProperty codegenProperty = fromProperty("property", arraySchema, false); imports.add(codegenProperty.baseType); CodegenProperty innerCp = codegenProperty; CodegenProperty mostInnerItem = innerCp; @@ -6942,7 +6962,7 @@ public class DefaultCodegen implements CodegenConfig { String contentType = contentEntry.getKey(); CodegenProperty schemaProp = null; if (mt.getSchema() != null) { - schemaProp = fromProperty(toMediaTypeSchemaName(contentType, mediaTypeSchemaSuffix), mt.getSchema()); + schemaProp = fromProperty(toMediaTypeSchemaName(contentType, mediaTypeSchemaSuffix), mt.getSchema(), false); } CodegenMediaType codegenMt = new CodegenMediaType(schemaProp, ceMap); cmtContent.put(contentType, codegenMt); @@ -7049,27 +7069,9 @@ public class DefaultCodegen implements CodegenConfig { protected void addVarsRequiredVarsAdditionalProps(Schema schema, IJsonSchemaValidationProperties property) { setAddProps(schema, property); - if (!"object".equals(schema.getType())) { - return; - } - if (schema instanceof ObjectSchema) { - ObjectSchema objSchema = (ObjectSchema) schema; - HashSet requiredVars = new HashSet<>(); - if (objSchema.getRequired() != null) { - requiredVars.addAll(objSchema.getRequired()); - } - if (objSchema.getProperties() != null && objSchema.getProperties().size() > 0) { - property.setHasVars(true); - } - addVars(property, property.getVars(), objSchema.getProperties(), requiredVars); - List requireCpVars = property.getVars() - .stream() - .filter(p -> Boolean.TRUE.equals(p.required)).collect(Collectors.toList()); - property.setRequiredVars(requireCpVars); - if (property.getRequiredVars() != null && property.getRequiredVars().size() > 0) { - property.setHasRequired(true); - } - } + Set mandatory = schema.getRequired() == null ? Collections.emptySet() + : new TreeSet<>(schema.getRequired()); + addVars(property, property.getVars(), schema.getProperties(), mandatory); } private void addJsonSchemaForBodyRequestInCaseItsNotPresent(CodegenParameter codegenParameter, RequestBody body) { @@ -7576,7 +7578,7 @@ public class DefaultCodegen implements CodegenConfig { Schema notSchema = schema.getNot(); CodegenProperty notProperty = null; if (notSchema != null) { - notProperty = fromProperty("NotSchema", notSchema); + notProperty = fromProperty("NotSchema", notSchema, false); } List allOf = new ArrayList<>(); List oneOf = new ArrayList<>(); @@ -7602,7 +7604,7 @@ public class DefaultCodegen implements CodegenConfig { List xOf = new ArrayList<>(); int i = 0; for (Schema xOfSchema : xOfCollection) { - CodegenProperty cp = fromProperty(collectionName + "_" + i, xOfSchema); + CodegenProperty cp = fromProperty(collectionName + "_" + i, xOfSchema, false); xOf.add(cp); i += 1; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/IJsonSchemaValidationProperties.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/IJsonSchemaValidationProperties.java index c3cc9a1303..c3cf15fc36 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/IJsonSchemaValidationProperties.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/IJsonSchemaValidationProperties.java @@ -129,7 +129,7 @@ public interface IJsonSchemaValidationProperties { boolean getHasVars(); - void setHasVars(boolean hasRequiredVars); + void setHasVars(boolean hasVars); boolean getHasRequired(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java index 4a1933e094..2965605fd3 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java @@ -385,8 +385,8 @@ abstract public class AbstractAdaCodegen extends DefaultCodegen implements Codeg } @Override - public CodegenProperty fromProperty(String name, Schema p) { - CodegenProperty property = super.fromProperty(name, p); + public CodegenProperty fromProperty(String name, Schema p, boolean required) { + CodegenProperty property = super.fromProperty(name, p, required); if (property != null) { String nameInCamelCase = property.nameInCamelCase; nameInCamelCase = sanitizeName(nameInCamelCase); @@ -566,7 +566,7 @@ abstract public class AbstractAdaCodegen extends DefaultCodegen implements Codeg if (operation.getResponses() != null && !operation.getResponses().isEmpty()) { ApiResponse methodResponse = findMethodResponse(operation.getResponses()); if (methodResponse != null && ModelUtils.getSchemaFromResponse(methodResponse) != null) { - CodegenProperty cm = fromProperty("response", ModelUtils.getSchemaFromResponse(methodResponse)); + CodegenProperty cm = fromProperty("response", ModelUtils.getSchemaFromResponse(methodResponse), false); op.vendorExtensions.put("x-codegen-response", cm); op.vendorExtensions.put("x-is-model-type", isModelType(cm)); op.vendorExtensions.put("x-is-stream-type", isStreamType(cm)); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCppCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCppCodegen.java index a05999bd7f..7cbb943a98 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCppCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCppCodegen.java @@ -251,8 +251,8 @@ abstract public class AbstractCppCodegen extends DefaultCodegen implements Codeg @SuppressWarnings("rawtypes") @Override - public CodegenProperty fromProperty(String name, Schema p) { - CodegenProperty property = super.fromProperty(name, p); + public CodegenProperty fromProperty(String name, Schema p, boolean required) { + CodegenProperty property = super.fromProperty(name, p, required); String nameInCamelCase = property.nameInCamelCase; if (nameInCamelCase.length() > 1) { nameInCamelCase = sanitizeName(Character.toLowerCase(nameInCamelCase.charAt(0)) + nameInCamelCase.substring(1)); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java index bc42591cb2..b560bfd258 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java @@ -551,8 +551,8 @@ public abstract class AbstractDartCodegen extends DefaultCodegen { } @Override - public CodegenProperty fromProperty(String name, Schema p) { - final CodegenProperty property = super.fromProperty(name, p); + public CodegenProperty fromProperty(String name, Schema p, boolean required) { + final CodegenProperty property = super.fromProperty(name, p, required); // Handle composed properties if (ModelUtils.isComposedSchema(p)) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java index f0dbaed17a..1f1bb974a8 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java @@ -461,8 +461,8 @@ public abstract class AbstractScalaCodegen extends DefaultCodegen { * @return Codegen Property object */ @Override - public CodegenProperty fromProperty(String name, Schema p) { - CodegenProperty prop = super.fromProperty(name, p); + public CodegenProperty fromProperty(String name, Schema p, boolean required) { + CodegenProperty prop = super.fromProperty(name, p, required); if (ModelUtils.isArraySchema(p)) { ArraySchema as = (ArraySchema) p; if (ModelUtils.isSet(as)) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CLibcurlClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CLibcurlClientCodegen.java index a2bdc18320..c0c4977209 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CLibcurlClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CLibcurlClientCodegen.java @@ -852,8 +852,8 @@ public class CLibcurlClientCodegen extends DefaultCodegen implements CodegenConf } @Override - public CodegenProperty fromProperty(String name, Schema p) { - CodegenProperty cm = super.fromProperty(name, p); + public CodegenProperty fromProperty(String name, Schema p, boolean required) { + CodegenProperty cm = super.fromProperty(name, p, required); Schema ref = ModelUtils.getReferencedSchema(openAPI, p); if (ref != null) { if (ref.getEnum() != null) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java index e6ce6acc3e..00cd52dbab 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java @@ -242,7 +242,7 @@ public class CppPistacheServerCodegen extends AbstractCppCodegen { if (apiResponse != null) { Schema response = ModelUtils.getSchemaFromResponse(apiResponse); if (response != null) { - CodegenProperty cm = fromProperty("response", response); + CodegenProperty cm = fromProperty("response", response, false); op.vendorExtensions.put("x-codegen-response", cm); if ("HttpContent".equals(cm.dataType)) { op.vendorExtensions.put("x-codegen-response-ishttpcontent", true); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java index 13be5ab413..516df642b3 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java @@ -297,7 +297,7 @@ public class CppRestSdkClientCodegen extends AbstractCppCodegen { Schema response = ModelUtils.getSchemaFromResponse(methodResponse); response = ModelUtils.unaliasSchema(this.openAPI, response, schemaMapping); if (response != null) { - CodegenProperty cm = fromProperty("response", response); + CodegenProperty cm = fromProperty("response", response, false); op.vendorExtensions.put("x-codegen-response", cm); if ("std::shared_ptr".equals(cm.dataType)) { op.vendorExtensions.put("x-codegen-response-ishttpcontent", true); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoClientCodegen.java index 3f95f7a31e..1c98aefeaf 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoClientCodegen.java @@ -384,8 +384,8 @@ public class GoClientCodegen extends AbstractGoCodegen { } @Override - public CodegenProperty fromProperty(String name, Schema p) { - CodegenProperty prop = super.fromProperty(name, p); + public CodegenProperty fromProperty(String name, Schema p, boolean required) { + CodegenProperty prop = super.fromProperty(name, p, required); String cc = camelize(prop.name, true); if (isReservedWord(cc)) { cc = escapeReservedWord(cc); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KtormSchemaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KtormSchemaCodegen.java index adfef4bf3c..1bf5b024ec 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KtormSchemaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KtormSchemaCodegen.java @@ -323,7 +323,7 @@ public class KtormSchemaCodegen extends AbstractKotlinCodegen { } if (!hasPrimaryKey) { final IntegerSchema schema = new IntegerSchema().format(SchemaTypeUtil.INTEGER64_FORMAT); - CodegenProperty cp = super.fromProperty(primaryKeyConvention, schema); + CodegenProperty cp = super.fromProperty(primaryKeyConvention, schema, false); cp.setRequired(true); model.vars.add(0, cp); model.allVars.add(0, cp); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java index 71162ddf66..62f7d164ea 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java @@ -307,8 +307,8 @@ public class PhpLaravelServerCodegen extends AbstractPhpCodegen { } @Override - public CodegenProperty fromProperty(String name, Schema p) { - CodegenProperty property = super.fromProperty(name, p); + public CodegenProperty fromProperty(String name, Schema p, boolean required) { + CodegenProperty property = super.fromProperty(name, p, required); Schema referencedSchema = ModelUtils.getReferencedSchema(this.openAPI, p); //Referenced enum case: diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java index 9c61e90377..f7f886467c 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java @@ -446,8 +446,8 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { * @return Codegen Property object */ @Override - public CodegenProperty fromProperty(String name, Schema p) { - CodegenProperty cp = super.fromProperty(name, p); + public CodegenProperty fromProperty(String name, Schema p, boolean required) { + CodegenProperty cp = super.fromProperty(name, p, required); if (cp.isEnum) { updateCodegenPropertyEnum(cp); } @@ -518,7 +518,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { return cp; } Schema unaliasedSchema = unaliasSchema(schema, schemaMapping); - CodegenProperty unaliasedProp = fromProperty("body", unaliasedSchema); + CodegenProperty unaliasedProp = fromProperty("body", unaliasedSchema, false); Boolean dataTypeMismatch = !cp.dataType.equals(unaliasedProp.dataType); Boolean baseTypeMismatch = !cp.baseType.equals(unaliasedProp.complexType) && unaliasedProp.complexType != null; if (dataTypeMismatch || baseTypeMismatch) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java index b373677418..3cfb87e320 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java @@ -849,8 +849,8 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { * @return Codegen Property object */ @Override - public CodegenProperty fromProperty(String name, Schema p) { - CodegenProperty cp = super.fromProperty(name, p); + public CodegenProperty fromProperty(String name, Schema p, boolean required) { + CodegenProperty cp = super.fromProperty(name, p, required); if (cp.isAnyType && cp.isNullable) { cp.isNullable = false; } @@ -964,7 +964,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { return cp; } Schema unaliasedSchema = unaliasSchema(schema, schemaMapping); - CodegenProperty unaliasedProp = fromProperty("body", unaliasedSchema); + CodegenProperty unaliasedProp = fromProperty("body", unaliasedSchema, false); Boolean dataTypeMismatch = !cp.dataType.equals(unaliasedProp.dataType); Boolean baseTypeMismatch = !cp.baseType.equals(unaliasedProp.complexType) && unaliasedProp.complexType != null; if (dataTypeMismatch || baseTypeMismatch) { @@ -1022,7 +1022,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { codegenParameter.isNullable = codegenModel.isNullable; imports.add(codegenParameter.baseType); } else { - CodegenProperty codegenProperty = fromProperty("property", schema); + CodegenProperty codegenProperty = fromProperty("property", schema, false); if (codegenProperty != null && codegenProperty.getComplexType() != null && codegenProperty.getComplexType().contains(" | ")) { List parts = Arrays.asList(codegenProperty.getComplexType().split(" \\| ")); @@ -2033,7 +2033,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { isAdditionalPropertiesTrue = true; // pass in the hashCode as the name to ensure that the returned property is not from the cache // if we need to set indent on every one, then they need to be different - addPropProp = fromProperty(String.valueOf(property.hashCode()), new Schema()); + addPropProp = fromProperty(String.valueOf(property.hashCode()), new Schema(), false); addPropProp.name = ""; addPropProp.baseName = ""; addPropProp.nameInSnakeCase = null; @@ -2042,14 +2042,14 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { } else if (schema.getAdditionalProperties() instanceof Boolean) { if (Boolean.TRUE.equals(schema.getAdditionalProperties())) { isAdditionalPropertiesTrue = true; - addPropProp = fromProperty(String.valueOf(property.hashCode()), new Schema()); + addPropProp = fromProperty(String.valueOf(property.hashCode()), new Schema(), false); addPropProp.name = ""; addPropProp.baseName = ""; addPropProp.nameInSnakeCase = null; additionalPropertiesIsAnyType = true; } } else { - addPropProp = fromProperty(String.valueOf(property.hashCode()), (Schema) schema.getAdditionalProperties()); + addPropProp = fromProperty(String.valueOf(property.hashCode()), (Schema) schema.getAdditionalProperties(), false); addPropProp.name = ""; addPropProp.baseName = ""; addPropProp.nameInSnakeCase = null; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java index 38a75efd9d..195215bdb5 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java @@ -443,8 +443,8 @@ public class TypeScriptFetchClientCodegen extends AbstractTypeScriptClientCodege } @Override - public ExtendedCodegenProperty fromProperty(String name, Schema p) { - CodegenProperty cp = super.fromProperty(name, p); + public ExtendedCodegenProperty fromProperty(String name, Schema p, boolean required) { + CodegenProperty cp = super.fromProperty(name, p, required); return new ExtendedCodegenProperty(cp); } @@ -515,7 +515,7 @@ public class TypeScriptFetchClientCodegen extends AbstractTypeScriptClientCodege if (op.returnPassthrough instanceof String && cm != null) { cp = (ExtendedCodegenProperty) this.processCodeGenModel(cm).vars.get(1); } else if (responseSchema != null) { - cp = fromProperty("response", responseSchema); + cp = fromProperty("response", responseSchema, false); this.processCodegenProperty(cp, "", null); } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java index 4005601df8..ef0b59a12b 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java @@ -4220,4 +4220,29 @@ public class DefaultCodegenTest { Assert.assertEquals(codegenParameter.defaultValue, "1971-12-19T03:39:57-08:00"); Assert.assertEquals(codegenParameter.getSchema(), null); } + + @Test + public void testFromPropertyRequiredAndOptional() { + final OpenAPI openAPI = TestUtils.parseFlattenSpec("src/test/resources/3_0/issue_12857.yaml"); + final DefaultCodegen codegen = new DefaultCodegen(); + codegen.setOpenAPI(openAPI); + codegen.setDisallowAdditionalPropertiesIfNotPresent(false); + + String modelName = "FooRequired"; + Schema sc = openAPI.getComponents().getSchemas().get(modelName); + CodegenModel fooRequired = codegen.fromModel(modelName, sc); + modelName = "FooOptional"; + sc = openAPI.getComponents().getSchemas().get(modelName); + CodegenModel fooOptional = codegen.fromModel(modelName, sc); + Assert.assertTrue(fooRequired.vars.get(0).required); + Assert.assertEquals(fooRequired.vars.get(0).name, "foo"); + + Assert.assertEquals(fooRequired.requiredVars.size(), 1); + Assert.assertEquals(fooRequired.requiredVars.get(0).name, "foo"); + Assert.assertTrue(fooRequired.requiredVars.get(0).required); + + Assert.assertFalse(fooOptional.vars.get(0).required); + Assert.assertEquals(fooOptional.vars.get(0).name, "foo"); + Assert.assertEquals(fooOptional.requiredVars.size(), 0); + } } diff --git a/modules/openapi-generator/src/test/resources/3_0/issue_12857.yaml b/modules/openapi-generator/src/test/resources/3_0/issue_12857.yaml new file mode 100644 index 0000000000..88f3af1b9e --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/issue_12857.yaml @@ -0,0 +1,17 @@ +openapi: 3.0.3 +info: + title: openapi 3.0.3 sample spec + description: sample spec for testing openapi functionality, built from json schema + tests for draft6 + version: 0.0.1 +paths: {} +components: + schemas: + FooRequired: + properties: + foo: {} + required: + - foo + FooOptional: + properties: + foo: {} \ No newline at end of file diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/ChildCat.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/ChildCat.md index 8ce6449e5f..072ad05b36 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/ChildCat.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/docs/ChildCat.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Name** | **string** | | [optional] -**PetType** | **string** | | [default to PetTypeEnum.ChildCat] +**PetType** | **string** | | [optional] [default to PetTypeEnum.ChildCat] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Model/ChildCat.cs index 6358e859ce..e5f952880e 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Model/ChildCat.cs @@ -53,8 +53,8 @@ namespace Org.OpenAPITools.Model /// Gets or Sets PetType /// - [DataMember(Name = "pet_type", IsRequired = true, EmitDefaultValue = false)] - public PetTypeEnum PetType + [DataMember(Name = "pet_type", EmitDefaultValue = false)] + public PetTypeEnum? PetType { get{ return _PetType;} set @@ -63,7 +63,7 @@ namespace Org.OpenAPITools.Model _flagPetType = true; } } - private PetTypeEnum _PetType; + private PetTypeEnum? _PetType; private bool _flagPetType; ///

    @@ -86,10 +86,9 @@ namespace Org.OpenAPITools.Model /// Initializes a new instance of the class. /// /// name. - /// petType (required) (default to PetTypeEnum.ChildCat). - public ChildCat(string name = default(string), PetTypeEnum petType = PetTypeEnum.ChildCat) : base() + /// petType (default to PetTypeEnum.ChildCat). + public ChildCat(string name = default(string), PetTypeEnum? petType = PetTypeEnum.ChildCat) : base() { - this._PetType = petType; this._Name = name; if (this.Name != null) { diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/ChildCat.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/ChildCat.md index 8ce6449e5f..072ad05b36 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/ChildCat.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/docs/ChildCat.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Name** | **string** | | [optional] -**PetType** | **string** | | [default to PetTypeEnum.ChildCat] +**PetType** | **string** | | [optional] [default to PetTypeEnum.ChildCat] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Model/ChildCat.cs index a6603b7cb8..2420d12955 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Model/ChildCat.cs @@ -53,8 +53,8 @@ namespace Org.OpenAPITools.Model /// /// Gets or Sets PetType /// - [DataMember(Name = "pet_type", IsRequired = true, EmitDefaultValue = false)] - public PetTypeEnum PetType { get; set; } + [DataMember(Name = "pet_type", EmitDefaultValue = false)] + public PetTypeEnum? PetType { get; set; } /// /// Initializes a new instance of the class. /// @@ -67,11 +67,11 @@ namespace Org.OpenAPITools.Model /// Initializes a new instance of the class. /// /// name. - /// petType (required) (default to PetTypeEnum.ChildCat). - public ChildCat(string name = default(string), PetTypeEnum petType = PetTypeEnum.ChildCat) : base() + /// petType (default to PetTypeEnum.ChildCat). + public ChildCat(string name = default(string), PetTypeEnum? petType = PetTypeEnum.ChildCat) : base() { - this.PetType = petType; this.Name = name; + this.PetType = petType; this.AdditionalProperties = new Dictionary(); } diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/ChildCat.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/ChildCat.md index 8ce6449e5f..072ad05b36 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/ChildCat.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/docs/ChildCat.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Name** | **string** | | [optional] -**PetType** | **string** | | [default to PetTypeEnum.ChildCat] +**PetType** | **string** | | [optional] [default to PetTypeEnum.ChildCat] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/src/Org.OpenAPITools/Model/ChildCat.cs index 7a15a5297d..4c60ed776c 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net47/src/Org.OpenAPITools/Model/ChildCat.cs @@ -52,8 +52,8 @@ namespace Org.OpenAPITools.Model /// /// Gets or Sets PetType /// - [DataMember(Name = "pet_type", IsRequired = true, EmitDefaultValue = false)] - public PetTypeEnum PetType { get; set; } + [DataMember(Name = "pet_type", EmitDefaultValue = false)] + public PetTypeEnum? PetType { get; set; } /// /// Initializes a new instance of the class. /// @@ -66,11 +66,11 @@ namespace Org.OpenAPITools.Model /// Initializes a new instance of the class. /// /// name. - /// petType (required) (default to PetTypeEnum.ChildCat). - public ChildCat(string name = default(string), PetTypeEnum petType = PetTypeEnum.ChildCat) : base() + /// petType (default to PetTypeEnum.ChildCat). + public ChildCat(string name = default(string), PetTypeEnum? petType = PetTypeEnum.ChildCat) : base() { - this.PetType = petType; this.Name = name; + this.PetType = petType; this.AdditionalProperties = new Dictionary(); } diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/ChildCat.md b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/ChildCat.md index 8ce6449e5f..072ad05b36 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/ChildCat.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/docs/ChildCat.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Name** | **string** | | [optional] -**PetType** | **string** | | [default to PetTypeEnum.ChildCat] +**PetType** | **string** | | [optional] [default to PetTypeEnum.ChildCat] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/src/Org.OpenAPITools/Model/ChildCat.cs index 7a15a5297d..4c60ed776c 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-net5.0/src/Org.OpenAPITools/Model/ChildCat.cs @@ -52,8 +52,8 @@ namespace Org.OpenAPITools.Model /// /// Gets or Sets PetType /// - [DataMember(Name = "pet_type", IsRequired = true, EmitDefaultValue = false)] - public PetTypeEnum PetType { get; set; } + [DataMember(Name = "pet_type", EmitDefaultValue = false)] + public PetTypeEnum? PetType { get; set; } /// /// Initializes a new instance of the class. /// @@ -66,11 +66,11 @@ namespace Org.OpenAPITools.Model /// Initializes a new instance of the class. /// /// name. - /// petType (required) (default to PetTypeEnum.ChildCat). - public ChildCat(string name = default(string), PetTypeEnum petType = PetTypeEnum.ChildCat) : base() + /// petType (default to PetTypeEnum.ChildCat). + public ChildCat(string name = default(string), PetTypeEnum? petType = PetTypeEnum.ChildCat) : base() { - this.PetType = petType; this.Name = name; + this.PetType = petType; this.AdditionalProperties = new Dictionary(); } diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/ChildCat.md b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/ChildCat.md index 8ce6449e5f..072ad05b36 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/ChildCat.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/docs/ChildCat.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Name** | **string** | | [optional] -**PetType** | **string** | | [default to PetTypeEnum.ChildCat] +**PetType** | **string** | | [optional] [default to PetTypeEnum.ChildCat] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Model/ChildCat.cs index 7a15a5297d..4c60ed776c 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Model/ChildCat.cs @@ -52,8 +52,8 @@ namespace Org.OpenAPITools.Model /// /// Gets or Sets PetType /// - [DataMember(Name = "pet_type", IsRequired = true, EmitDefaultValue = false)] - public PetTypeEnum PetType { get; set; } + [DataMember(Name = "pet_type", EmitDefaultValue = false)] + public PetTypeEnum? PetType { get; set; } /// /// Initializes a new instance of the class. /// @@ -66,11 +66,11 @@ namespace Org.OpenAPITools.Model /// Initializes a new instance of the class. /// /// name. - /// petType (required) (default to PetTypeEnum.ChildCat). - public ChildCat(string name = default(string), PetTypeEnum petType = PetTypeEnum.ChildCat) : base() + /// petType (default to PetTypeEnum.ChildCat). + public ChildCat(string name = default(string), PetTypeEnum? petType = PetTypeEnum.ChildCat) : base() { - this.PetType = petType; this.Name = name; + this.PetType = petType; this.AdditionalProperties = new Dictionary(); } diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/ChildCat.md b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/ChildCat.md index 8ce6449e5f..072ad05b36 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/ChildCat.md +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/docs/ChildCat.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Name** | **string** | | [optional] -**PetType** | **string** | | [default to PetTypeEnum.ChildCat] +**PetType** | **string** | | [optional] [default to PetTypeEnum.ChildCat] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Model/ChildCat.cs index d2b8192788..c6c7222d7a 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Model/ChildCat.cs @@ -52,8 +52,8 @@ namespace Org.OpenAPITools.Model /// /// Gets or Sets PetType /// - [DataMember(Name = "pet_type", IsRequired = true, EmitDefaultValue = false)] - public PetTypeEnum PetType { get; set; } + [DataMember(Name = "pet_type", EmitDefaultValue = false)] + public PetTypeEnum? PetType { get; set; } /// /// Initializes a new instance of the class. /// @@ -63,11 +63,11 @@ namespace Org.OpenAPITools.Model /// Initializes a new instance of the class. /// /// name. - /// petType (required) (default to PetTypeEnum.ChildCat). - public ChildCat(string name = default(string), PetTypeEnum petType = PetTypeEnum.ChildCat) : base() + /// petType (default to PetTypeEnum.ChildCat). + public ChildCat(string name = default(string), PetTypeEnum? petType = PetTypeEnum.ChildCat) : base() { - this.PetType = petType; this.Name = name; + this.PetType = petType; } /// diff --git a/samples/client/petstore/java/jersey3/docs/ChildCat.md b/samples/client/petstore/java/jersey3/docs/ChildCat.md index 6a114cc4ff..3f39832529 100644 --- a/samples/client/petstore/java/jersey3/docs/ChildCat.md +++ b/samples/client/petstore/java/jersey3/docs/ChildCat.md @@ -8,7 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | | [optional] | -|**petType** | [**String**](#String) | | | +|**petType** | [**String**](#String) | | [optional] | diff --git a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/ChildCat.java b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/ChildCat.java index 8e16e6fedd..e0ce86c3f9 100644 --- a/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/ChildCat.java +++ b/samples/client/petstore/java/jersey3/src/main/java/org/openapitools/client/model/ChildCat.java @@ -105,10 +105,10 @@ public class ChildCat extends ParentPet { * Get petType * @return petType **/ - @jakarta.annotation.Nonnull - @ApiModelProperty(required = true, value = "") + @jakarta.annotation.Nullable + @ApiModelProperty(value = "") @JsonProperty(JSON_PROPERTY_PET_TYPE) - @JsonInclude(value = JsonInclude.Include.ALWAYS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public String getPetType() { return petType; @@ -116,7 +116,7 @@ public class ChildCat extends ParentPet { @JsonProperty(JSON_PROPERTY_PET_TYPE) - @JsonInclude(value = JsonInclude.Include.ALWAYS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public void setPetType(String petType) { if (!PET_TYPE_VALUES.contains(petType)) { throw new IllegalArgumentException(petType + " is invalid. Possible values for petType: " + String.join(", ", PET_TYPE_VALUES)); diff --git a/samples/client/petstore/typescript-axios/builds/test-petstore/api.ts b/samples/client/petstore/typescript-axios/builds/test-petstore/api.ts index 572cae5223..0d480e40bc 100644 --- a/samples/client/petstore/typescript-axios/builds/test-petstore/api.ts +++ b/samples/client/petstore/typescript-axios/builds/test-petstore/api.ts @@ -359,7 +359,7 @@ export interface ChildCat extends ParentPet { * @type {string} * @memberof ChildCat */ - 'pet_type': ChildCatPetTypeEnum; + 'pet_type'?: ChildCatPetTypeEnum; } export const ChildCatPetTypeEnum = { diff --git a/samples/openapi3/client/petstore/java/jersey2-java8/docs/ChildCat.md b/samples/openapi3/client/petstore/java/jersey2-java8/docs/ChildCat.md index 6a114cc4ff..3f39832529 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8/docs/ChildCat.md +++ b/samples/openapi3/client/petstore/java/jersey2-java8/docs/ChildCat.md @@ -8,7 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | | [optional] | -|**petType** | [**String**](#String) | | | +|**petType** | [**String**](#String) | | [optional] | diff --git a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/ChildCat.java b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/ChildCat.java index 0e2970ef03..ae123669a7 100644 --- a/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/ChildCat.java +++ b/samples/openapi3/client/petstore/java/jersey2-java8/src/main/java/org/openapitools/client/model/ChildCat.java @@ -105,10 +105,10 @@ public class ChildCat extends ParentPet { * Get petType * @return petType **/ - @javax.annotation.Nonnull - @ApiModelProperty(required = true, value = "") + @javax.annotation.Nullable + @ApiModelProperty(value = "") @JsonProperty(JSON_PROPERTY_PET_TYPE) - @JsonInclude(value = JsonInclude.Include.ALWAYS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public String getPetType() { return petType; @@ -116,7 +116,7 @@ public class ChildCat extends ParentPet { @JsonProperty(JSON_PROPERTY_PET_TYPE) - @JsonInclude(value = JsonInclude.Include.ALWAYS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public void setPetType(String petType) { if (!PET_TYPE_VALUES.contains(petType)) { throw new IllegalArgumentException(petType + " is invalid. Possible values for petType: " + String.join(", ", PET_TYPE_VALUES)); diff --git a/samples/openapi3/client/petstore/python-experimental/docs/PetApi.md b/samples/openapi3/client/petstore/python-experimental/docs/PetApi.md index 7b9ab23bc5..d8ee4cb32f 100644 --- a/samples/openapi3/client/petstore/python-experimental/docs/PetApi.md +++ b/samples/openapi3/client/petstore/python-experimental/docs/PetApi.md @@ -1315,7 +1315,7 @@ skip_deserialization | bool | default is False | when True, headers and body wil Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **additionalMetadata** | **str** | Additional data to pass to server | [optional] -**file** | **file_type** | file to upload | +**file** | **file_type** | file to upload | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] ### path_params diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/endpoint_parameters.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/endpoint_parameters.py index 666b832fc7..d4bfb218fd 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/endpoint_parameters.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/endpoint_parameters.py @@ -73,6 +73,10 @@ class SchemaForRequestBodyApplicationXWwwFormUrlencoded( DictSchema ): _required_property_names = set(( + 'number', + 'double', + 'pattern_without_delimiter', + 'byte', )) @@ -171,6 +175,10 @@ class SchemaForRequestBodyApplicationXWwwFormUrlencoded( def __new__( cls, *args: typing.Union[dict, frozendict, ], + number: number, + double: double, + pattern_without_delimiter: pattern_without_delimiter, + byte: byte, integer: typing.Union[integer, Unset] = unset, int32: typing.Union[int32, Unset] = unset, int64: typing.Union[int64, Unset] = unset, @@ -186,6 +194,10 @@ class SchemaForRequestBodyApplicationXWwwFormUrlencoded( return super().__new__( cls, *args, + number=number, + double=double, + pattern_without_delimiter=pattern_without_delimiter, + byte=byte, integer=integer, int32=int32, int64=int64, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_form_data.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_form_data.py index 34dfe5627c..ce7e5851c6 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_form_data.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/json_form_data.py @@ -73,6 +73,8 @@ class SchemaForRequestBodyApplicationXWwwFormUrlencoded( DictSchema ): _required_property_names = set(( + 'param', + 'param2', )) param = StrSchema param2 = StrSchema @@ -81,12 +83,16 @@ class SchemaForRequestBodyApplicationXWwwFormUrlencoded( def __new__( cls, *args: typing.Union[dict, frozendict, ], + param: param, + param2: param2, _configuration: typing.Optional[Configuration] = None, **kwargs: typing.Type[Schema], ) -> 'SchemaForRequestBodyApplicationXWwwFormUrlencoded': return super().__new__( cls, *args, + param=param, + param2=param2, _configuration=_configuration, **kwargs, ) diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_file.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_file.py index e308b76b1f..c8c8a179a5 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_file.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/fake_api_endpoints/upload_file.py @@ -75,6 +75,7 @@ class SchemaForRequestBodyMultipartFormData( DictSchema ): _required_property_names = set(( + 'file', )) additionalMetadata = StrSchema file = BinarySchema @@ -83,6 +84,7 @@ class SchemaForRequestBodyMultipartFormData( def __new__( cls, *args: typing.Union[dict, frozendict, ], + file: file, additionalMetadata: typing.Union[additionalMetadata, Unset] = unset, _configuration: typing.Optional[Configuration] = None, **kwargs: typing.Type[Schema], @@ -90,6 +92,7 @@ class SchemaForRequestBodyMultipartFormData( return super().__new__( cls, *args, + file=file, additionalMetadata=additionalMetadata, _configuration=_configuration, **kwargs, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_file_with_required_file.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_file_with_required_file.py index 689f54addd..fb1375c1b8 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_file_with_required_file.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_file_with_required_file.py @@ -101,6 +101,7 @@ class SchemaForRequestBodyMultipartFormData( DictSchema ): _required_property_names = set(( + 'requiredFile', )) additionalMetadata = StrSchema requiredFile = BinarySchema @@ -109,6 +110,7 @@ class SchemaForRequestBodyMultipartFormData( def __new__( cls, *args: typing.Union[dict, frozendict, ], + requiredFile: requiredFile, additionalMetadata: typing.Union[additionalMetadata, Unset] = unset, _configuration: typing.Optional[Configuration] = None, **kwargs: typing.Type[Schema], @@ -116,6 +118,7 @@ class SchemaForRequestBodyMultipartFormData( return super().__new__( cls, *args, + requiredFile=requiredFile, additionalMetadata=additionalMetadata, _configuration=_configuration, **kwargs, diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_image.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_image.py index 70cce044b1..20bb010ae1 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_image.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/api/pet_api_endpoints/upload_image.py @@ -108,6 +108,7 @@ class SchemaForRequestBodyMultipartFormData( cls, *args: typing.Union[dict, frozendict, ], additionalMetadata: typing.Union[additionalMetadata, Unset] = unset, + file: typing.Union[file, Unset] = unset, _configuration: typing.Optional[Configuration] = None, **kwargs: typing.Type[Schema], ) -> 'SchemaForRequestBodyMultipartFormData': @@ -115,6 +116,7 @@ class SchemaForRequestBodyMultipartFormData( cls, *args, additionalMetadata=additionalMetadata, + file=file, _configuration=_configuration, **kwargs, ) From 01afbaecd88884ba3a22468b040a0bac3294e953 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Wed, 13 Jul 2022 19:27:55 -0700 Subject: [PATCH 184/212] [python-experimental] turns on allOf unit test cases (#12826) * Spec regenerated with only allOf on Sample regnerated Fixes a bug where AnyType composed schemas omitted validations, Fixes a bug where properties in AnyType schemas were omitted, Stops storing multipleOf value in a list Adds required variable info to AnyType classes Samples regenerated Turns all unit tests back on * Samples regenerated * Docs and models regenerated --- .../openapitools/codegen/DefaultCodegen.java | 2 + .../PythonExperimentalClientCodegen.java | 28 +-- .../composed_schemas.handlebars | 20 -- .../model_templates/validations.handlebars | 2 +- .../python-experimental/schemas.handlebars | 23 +-- .../unit_test_spec/3_0_3_unit_test_spec.yaml | 192 ++++++++++++++++++ .../3_0/unit_test_spec/spec_writer.py | 7 +- .../.openapi-generator/FILES | 27 +++ .../python-experimental/README.md | 9 + .../python-experimental/docs/Allof.md | 9 + .../docs/AllofCombinedWithAnyofOneof.md | 9 + .../docs/AllofSimpleTypes.md | 9 + .../docs/AllofWithBaseSchema.md | 10 + .../docs/AllofWithOneEmptySchema.md | 9 + .../docs/AllofWithTheFirstEmptySchema.md | 9 + .../docs/AllofWithTheLastEmptySchema.md | 9 + .../docs/AllofWithTwoEmptySchemas.md | 9 + .../NestedAllofToCheckValidationSemantics.md | 9 + .../python-experimental/test/test_allof.py | 72 +++++++ .../test_allof_combined_with_anyof_oneof.py | 88 ++++++++ .../test/test_allof_simple_types.py | 40 ++++ .../test/test_allof_with_base_schema.py | 89 ++++++++ .../test/test_allof_with_one_empty_schema.py | 32 +++ .../test_allof_with_the_first_empty_schema.py | 40 ++++ .../test_allof_with_the_last_empty_schema.py | 40 ++++ .../test/test_allof_with_two_empty_schemas.py | 32 +++ ...ted_allof_to_check_validation_semantics.py | 40 ++++ ...operties_should_not_look_in_applicators.py | 22 +- .../unit_test_api/model/allof.py | 163 +++++++++++++++ .../model/allof_combined_with_anyof_oneof.py | 179 ++++++++++++++++ .../unit_test_api/model/allof_simple_types.py | 157 ++++++++++++++ .../model/allof_with_base_schema.py | 169 +++++++++++++++ .../model/allof_with_one_empty_schema.py | 115 +++++++++++ .../allof_with_the_first_empty_schema.py | 117 +++++++++++ .../model/allof_with_the_last_empty_schema.py | 117 +++++++++++ .../model/allof_with_two_empty_schemas.py | 117 +++++++++++ .../unit_test_api/model/by_int.py | 2 +- .../unit_test_api/model/by_number.py | 2 +- .../unit_test_api/model/by_small_number.py | 2 +- ...not_raise_error_when_float_division_inf.py | 2 +- ...ted_allof_to_check_validation_semantics.py | 156 ++++++++++++++ .../unit_test_api/models/__init__.py | 9 + .../unit_test_api/schemas.py | 23 +-- .../petstore_api/model/format_test.py | 4 +- .../petstore_api/schemas.py | 23 +-- 45 files changed, 2162 insertions(+), 82 deletions(-) create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Allof.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofCombinedWithAnyofOneof.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofSimpleTypes.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithBaseSchema.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithOneEmptySchema.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithTheFirstEmptySchema.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithTheLastEmptySchema.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithTwoEmptySchemas.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NestedAllofToCheckValidationSemantics.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_combined_with_anyof_oneof.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_simple_types.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_base_schema.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_one_empty_schema.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_the_first_empty_schema.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_the_last_empty_schema.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_two_empty_schemas.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nested_allof_to_check_validation_semantics.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_combined_with_anyof_oneof.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_simple_types.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_base_schema.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_one_empty_schema.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_the_first_empty_schema.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_the_last_empty_schema.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_two_empty_schemas.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_allof_to_check_validation_semantics.py diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 5d604086d8..46f2a1d002 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -5445,10 +5445,12 @@ public class DefaultCodegen implements CodegenConfig { final CodegenProperty cp = fromProperty(key, prop, mandatory.contains(key)); vars.add(cp); m.setHasVars(true); + if (cp.required) { m.setHasRequired(true); m.getRequiredVars().add(cp); } + if (cm == null) { continue; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java index 3cfb87e320..e6e1e2e84e 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java @@ -498,13 +498,15 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { @Override protected void addVarsRequiredVarsAdditionalProps(Schema schema, IJsonSchemaValidationProperties property){ setAddProps(schema, property); - if (schema instanceof ComposedSchema && supportsAdditionalPropertiesWithComposedSchema) { - // if schema has properties outside of allOf/oneOf/anyOf also add them - ComposedSchema cs = (ComposedSchema) schema; + if (ModelUtils.isAnyType(schema) && supportsAdditionalPropertiesWithComposedSchema) { + // if anyType schema has properties then add them if (schema.getProperties() != null && !schema.getProperties().isEmpty()) { - if (cs.getOneOf() != null && !cs.getOneOf().isEmpty()) { - LOGGER.warn("'oneOf' is intended to include only the additional optional OAS extension discriminator object. " + - "For more details, see https://json-schema.org/draft/2019-09/json-schema-core.html#rfc.section.9.2.1.3 and the OAS section on 'Composition and Inheritance'."); + if (schema instanceof ComposedSchema) { + ComposedSchema cs = (ComposedSchema) schema; + if (cs.getOneOf() != null && !cs.getOneOf().isEmpty()) { + LOGGER.warn("'oneOf' is intended to include only the additional optional OAS extension discriminator object. " + + "For more details, see https://json-schema.org/draft/2019-09/json-schema-core.html#rfc.section.9.2.1.3 and the OAS section on 'Composition and Inheritance'."); + } } HashSet requiredVars = new HashSet<>(); if (schema.getRequired() != null) { @@ -2031,27 +2033,19 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { if (schema.getAdditionalProperties() == null) { if (!disallowAdditionalPropertiesIfNotPresent) { isAdditionalPropertiesTrue = true; - // pass in the hashCode as the name to ensure that the returned property is not from the cache - // if we need to set indent on every one, then they need to be different - addPropProp = fromProperty(String.valueOf(property.hashCode()), new Schema(), false); - addPropProp.name = ""; - addPropProp.baseName = ""; + addPropProp = fromProperty("", new Schema()); addPropProp.nameInSnakeCase = null; additionalPropertiesIsAnyType = true; } } else if (schema.getAdditionalProperties() instanceof Boolean) { if (Boolean.TRUE.equals(schema.getAdditionalProperties())) { isAdditionalPropertiesTrue = true; - addPropProp = fromProperty(String.valueOf(property.hashCode()), new Schema(), false); - addPropProp.name = ""; - addPropProp.baseName = ""; + addPropProp = fromProperty("", new Schema()); addPropProp.nameInSnakeCase = null; additionalPropertiesIsAnyType = true; } } else { - addPropProp = fromProperty(String.valueOf(property.hashCode()), (Schema) schema.getAdditionalProperties(), false); - addPropProp.name = ""; - addPropProp.baseName = ""; + addPropProp = fromProperty("", (Schema) schema.getAdditionalProperties()); addPropProp.nameInSnakeCase = null; if (isAnyTypeSchema((Schema) schema.getAdditionalProperties())) { additionalPropertiesIsAnyType = true; diff --git a/modules/openapi-generator/src/main/resources/python-experimental/model_templates/composed_schemas.handlebars b/modules/openapi-generator/src/main/resources/python-experimental/model_templates/composed_schemas.handlebars index 8fa99842e1..8cfeccc6cd 100644 --- a/modules/openapi-generator/src/main/resources/python-experimental/model_templates/composed_schemas.handlebars +++ b/modules/openapi-generator/src/main/resources/python-experimental/model_templates/composed_schemas.handlebars @@ -12,43 +12,23 @@ def _composed_schemas(cls): {{#with composedSchemas}} {{#each allOf}} {{#unless complexType}} -{{#unless isAnyType}} {{> model_templates/schema }} {{/unless}} -{{/unless}} -{{#if isAnyType}} - {{#if this.classname}}{{classname}}{{else}}{{#if nameInSnakeCase}}{{name}}{{else}}{{baseName}}{{/if}}{{/if}} = AnyTypeSchema -{{/if}} {{/each}} {{#each oneOf}} {{#unless complexType}} -{{#unless isAnyType}} {{> model_templates/schema }} {{/unless}} -{{/unless}} -{{#if isAnyType}} - {{#if this.classname}}{{classname}}{{else}}{{#if nameInSnakeCase}}{{name}}{{else}}{{baseName}}{{/if}}{{/if}} = AnyTypeSchema -{{/if}} {{/each}} {{#each anyOf}} {{#unless complexType}} -{{#unless isAnyType}} {{> model_templates/schema }} {{/unless}} -{{/unless}} -{{#if isAnyType}} - {{#if this.classname}}{{classname}}{{else}}{{#if nameInSnakeCase}}{{name}}{{else}}{{baseName}}{{/if}}{{/if}} = AnyTypeSchema -{{/if}} {{/each}} {{#with not}} {{#unless complexType}} -{{#unless isAnyType}} {{> model_templates/schema }} {{/unless}} -{{/unless}} -{{#if isAnyType}} - {{#if this.classname}}{{classname}}{{else}}{{#if nameInSnakeCase}}{{name}}{{else}}{{baseName}}{{/if}}{{/if}} = AnyTypeSchema -{{/if}} {{/with}} {{/with}} return { diff --git a/modules/openapi-generator/src/main/resources/python-experimental/model_templates/validations.handlebars b/modules/openapi-generator/src/main/resources/python-experimental/model_templates/validations.handlebars index ab8dc2e043..efb463b0a7 100644 --- a/modules/openapi-generator/src/main/resources/python-experimental/model_templates/validations.handlebars +++ b/modules/openapi-generator/src/main/resources/python-experimental/model_templates/validations.handlebars @@ -45,6 +45,6 @@ _SchemaValidator( }], {{/if}} {{#if multipleOf}} - multiple_of=[{{multipleOf}}], + multiple_of={{multipleOf}}, {{/if}} ), diff --git a/modules/openapi-generator/src/main/resources/python-experimental/schemas.handlebars b/modules/openapi-generator/src/main/resources/python-experimental/schemas.handlebars index 7f2245c64e..7e442ffca8 100644 --- a/modules/openapi-generator/src/main/resources/python-experimental/schemas.handlebars +++ b/modules/openapi-generator/src/main/resources/python-experimental/schemas.handlebars @@ -288,18 +288,17 @@ class ValidatorBase: if cls.__is_json_validation_enabled('multipleOf', validation_metadata.configuration) and 'multiple_of' in validations: - multiple_of_values = validations['multiple_of'] - for multiple_of_value in multiple_of_values: - if (isinstance(input_values, decimal.Decimal) and - not (float(input_values) / multiple_of_value).is_integer() - ): - # Note 'multipleOf' will be as good as the floating point arithmetic. - cls.__raise_validation_error_message( - value=input_values, - constraint_msg="value must be a multiple of", - constraint_value=multiple_of_value, - path_to_item=validation_metadata.path_to_item - ) + multiple_of_value = validations['multiple_of'] + if (isinstance(input_values, decimal.Decimal) and + not (float(input_values) / multiple_of_value).is_integer() + ): + # Note 'multipleOf' will be as good as the floating point arithmetic. + cls.__raise_validation_error_message( + value=input_values, + constraint_msg="value must be a multiple of", + constraint_value=multiple_of_value, + path_to_item=validation_metadata.path_to_item + ) checking_max_or_min_values = {'exclusive_maximum', 'inclusive_maximum', 'exclusive_minimum', 'inclusive_minimum'}.isdisjoint(validations) is False diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/3_0_3_unit_test_spec.yaml b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/3_0_3_unit_test_spec.yaml index c2bf8c421b..690720dc01 100644 --- a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/3_0_3_unit_test_spec.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/3_0_3_unit_test_spec.yaml @@ -26,6 +26,65 @@ components: foo: {} additionalProperties: type: boolean + Allof: + allOf: + - properties: + bar: + type: integer + required: + - bar + - properties: + foo: + type: string + required: + - foo + AllofWithBaseSchema: + properties: + bar: + type: integer + required: + - bar + allOf: + - properties: + foo: + type: string + required: + - foo + - properties: + baz: + type: 'null' + required: + - baz + AllofSimpleTypes: + allOf: + - maximum: 30 + - minimum: 20 + AllofWithOneEmptySchema: + allOf: + - {} + AllofWithTwoEmptySchemas: + allOf: + - {} + - {} + AllofWithTheFirstEmptySchema: + allOf: + - {} + - type: number + AllofWithTheLastEmptySchema: + allOf: + - type: number + - {} + NestedAllofToCheckValidationSemantics: + allOf: + - allOf: + - type: 'null' + AllofCombinedWithAnyofOneof: + allOf: + - multipleOf: 2 + anyOf: + - multipleOf: 3 + oneOf: + - multipleOf: 5 InvalidStringValueForDefault: properties: bar: @@ -276,6 +335,139 @@ components: foo: 1 bar: true valid: false + Allof: + Allof: + description: allOf + data: + foo: baz + bar: 2 + valid: true + MismatchSecond: + description: mismatch second + data: + foo: baz + valid: false + MismatchFirst: + description: mismatch first + data: + bar: 2 + valid: false + WrongType: + description: wrong type + data: + foo: baz + bar: quux + valid: false + AllofWithBaseSchema: + Valid: + description: valid + data: + foo: quux + bar: 2 + baz: null + valid: true + MismatchBaseSchema: + description: mismatch base schema + data: + foo: quux + baz: null + valid: false + MismatchFirstAllof: + description: mismatch first allOf + data: + bar: 2 + baz: null + valid: false + MismatchSecondAllof: + description: mismatch second allOf + data: + foo: quux + bar: 2 + valid: false + MismatchBoth: + description: mismatch both + data: + bar: 2 + valid: false + AllofSimpleTypes: + Valid: + description: valid + data: 25 + valid: true + MismatchOne: + description: mismatch one + data: 35 + valid: false + AllofWithOneEmptySchema: + AnyDataIsValid: + description: any data is valid + data: 1 + valid: true + AllofWithTwoEmptySchemas: + AnyDataIsValid: + description: any data is valid + data: 1 + valid: true + AllofWithTheFirstEmptySchema: + NumberIsValid: + description: number is valid + data: 1 + valid: true + StringIsInvalid: + description: string is invalid + data: foo + valid: false + AllofWithTheLastEmptySchema: + NumberIsValid: + description: number is valid + data: 1 + valid: true + StringIsInvalid: + description: string is invalid + data: foo + valid: false + NestedAllofToCheckValidationSemantics: + NullIsValid: + description: null is valid + data: null + valid: true + AnythingNonNullIsInvalid: + description: anything non-null is invalid + data: 123 + valid: false + AllofCombinedWithAnyofOneof: + AllofFalseAnyofFalseOneofFalse: + description: 'allOf: false, anyOf: false, oneOf: false' + data: 1 + valid: false + AllofFalseAnyofFalseOneofTrue: + description: 'allOf: false, anyOf: false, oneOf: true' + data: 5 + valid: false + AllofFalseAnyofTrueOneofFalse: + description: 'allOf: false, anyOf: true, oneOf: false' + data: 3 + valid: false + AllofFalseAnyofTrueOneofTrue: + description: 'allOf: false, anyOf: true, oneOf: true' + data: 15 + valid: false + AllofTrueAnyofFalseOneofFalse: + description: 'allOf: true, anyOf: false, oneOf: false' + data: 2 + valid: false + AllofTrueAnyofFalseOneofTrue: + description: 'allOf: true, anyOf: false, oneOf: true' + data: 10 + valid: false + AllofTrueAnyofTrueOneofFalse: + description: 'allOf: true, anyOf: true, oneOf: false' + data: 6 + valid: false + AllofTrueAnyofTrueOneofTrue: + description: 'allOf: true, anyOf: true, oneOf: true' + data: 30 + valid: true InvalidStringValueForDefault: ValidWhenPropertyIsSpecified: description: valid when property is specified diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/spec_writer.py b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/spec_writer.py index d4cd2c5b7e..ec52bb122b 100644 --- a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/spec_writer.py +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/spec_writer.py @@ -108,6 +108,11 @@ json_schema_test_draft = 'draft6' openapi_additions = 'openapi_additions' FILEPATH_TO_EXCLUDED_CASE_AND_REASON = { + (json_schema_test_draft, 'allOf.json'): { + 'allOf with boolean schemas, all true': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + 'allOf with boolean schemas, some false': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + 'allOf with boolean schemas, all false': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + }, (json_schema_test_draft, 'default.json'): { 'invalid type for default': ExclusionReason.v303_requires_that_the_default_value_is_an_allowed_type, }, @@ -213,7 +218,7 @@ FILEPATH_TO_EXCLUDE_REASON = { JSON_SCHEMA_TEST_FILE_TO_FOLDERS = { 'additionalItems.json': (json_schema_test_draft,), 'additionalProperties.json': (json_schema_test_draft,), -# 'allOf.json': (json_schema_test_draft,), # activate later after fixing composition processing + 'allOf.json': (json_schema_test_draft,), # activate later after fixing composition processing # 'anyOf.json': (json_schema_test_draft,), # activate later after fixing composition processing 'boolean_schema.json': (json_schema_test_draft,), 'const.json': (json_schema_test_draft,), diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/FILES b/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/FILES index 9d9faaf0c3..e3b0e78dd7 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/FILES +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/FILES @@ -6,6 +6,14 @@ docs/AdditionalpropertiesAllowsASchemaWhichShouldValidate.md docs/AdditionalpropertiesAreAllowedByDefault.md docs/AdditionalpropertiesCanExistByItself.md docs/AdditionalpropertiesShouldNotLookInApplicators.md +docs/Allof.md +docs/AllofCombinedWithAnyofOneof.md +docs/AllofSimpleTypes.md +docs/AllofWithBaseSchema.md +docs/AllofWithOneEmptySchema.md +docs/AllofWithTheFirstEmptySchema.md +docs/AllofWithTheLastEmptySchema.md +docs/AllofWithTwoEmptySchemas.md docs/ArrayTypeMatchesArrays.md docs/BooleanTypeMatchesBooleans.md docs/ByInt.md @@ -39,6 +47,7 @@ docs/MinitemsValidation.md docs/MinlengthValidation.md docs/MinpropertiesValidation.md docs/ModelNot.md +docs/NestedAllofToCheckValidationSemantics.md docs/NestedItems.md docs/NotMoreComplexSchema.md docs/NulCharactersInStrings.md @@ -76,6 +85,14 @@ test/test_additionalproperties_allows_a_schema_which_should_validate.py test/test_additionalproperties_are_allowed_by_default.py test/test_additionalproperties_can_exist_by_itself.py test/test_additionalproperties_should_not_look_in_applicators.py +test/test_allof.py +test/test_allof_combined_with_anyof_oneof.py +test/test_allof_simple_types.py +test/test_allof_with_base_schema.py +test/test_allof_with_one_empty_schema.py +test/test_allof_with_the_first_empty_schema.py +test/test_allof_with_the_last_empty_schema.py +test/test_allof_with_two_empty_schemas.py test/test_array_type_matches_arrays.py test/test_boolean_type_matches_booleans.py test/test_by_int.py @@ -109,6 +126,7 @@ test/test_minitems_validation.py test/test_minlength_validation.py test/test_minproperties_validation.py test/test_model_not.py +test/test_nested_allof_to_check_validation_semantics.py test/test_nested_items.py test/test_not_more_complex_schema.py test/test_nul_characters_in_strings.py @@ -148,6 +166,14 @@ unit_test_api/model/additionalproperties_allows_a_schema_which_should_validate.p unit_test_api/model/additionalproperties_are_allowed_by_default.py unit_test_api/model/additionalproperties_can_exist_by_itself.py unit_test_api/model/additionalproperties_should_not_look_in_applicators.py +unit_test_api/model/allof.py +unit_test_api/model/allof_combined_with_anyof_oneof.py +unit_test_api/model/allof_simple_types.py +unit_test_api/model/allof_with_base_schema.py +unit_test_api/model/allof_with_one_empty_schema.py +unit_test_api/model/allof_with_the_first_empty_schema.py +unit_test_api/model/allof_with_the_last_empty_schema.py +unit_test_api/model/allof_with_two_empty_schemas.py unit_test_api/model/array_type_matches_arrays.py unit_test_api/model/boolean_type_matches_booleans.py unit_test_api/model/by_int.py @@ -181,6 +207,7 @@ unit_test_api/model/minitems_validation.py unit_test_api/model/minlength_validation.py unit_test_api/model/minproperties_validation.py unit_test_api/model/model_not.py +unit_test_api/model/nested_allof_to_check_validation_semantics.py unit_test_api/model/nested_items.py unit_test_api/model/not_more_complex_schema.py unit_test_api/model/nul_characters_in_strings.py diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/README.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/README.md index a5feaa4ef0..260575301c 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/README.md +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/README.md @@ -66,6 +66,14 @@ Class | Method | HTTP request | Description - [AdditionalpropertiesAreAllowedByDefault](docs/AdditionalpropertiesAreAllowedByDefault.md) - [AdditionalpropertiesCanExistByItself](docs/AdditionalpropertiesCanExistByItself.md) - [AdditionalpropertiesShouldNotLookInApplicators](docs/AdditionalpropertiesShouldNotLookInApplicators.md) + - [Allof](docs/Allof.md) + - [AllofCombinedWithAnyofOneof](docs/AllofCombinedWithAnyofOneof.md) + - [AllofSimpleTypes](docs/AllofSimpleTypes.md) + - [AllofWithBaseSchema](docs/AllofWithBaseSchema.md) + - [AllofWithOneEmptySchema](docs/AllofWithOneEmptySchema.md) + - [AllofWithTheFirstEmptySchema](docs/AllofWithTheFirstEmptySchema.md) + - [AllofWithTheLastEmptySchema](docs/AllofWithTheLastEmptySchema.md) + - [AllofWithTwoEmptySchemas](docs/AllofWithTwoEmptySchemas.md) - [ArrayTypeMatchesArrays](docs/ArrayTypeMatchesArrays.md) - [BooleanTypeMatchesBooleans](docs/BooleanTypeMatchesBooleans.md) - [ByInt](docs/ByInt.md) @@ -99,6 +107,7 @@ Class | Method | HTTP request | Description - [MinlengthValidation](docs/MinlengthValidation.md) - [MinpropertiesValidation](docs/MinpropertiesValidation.md) - [ModelNot](docs/ModelNot.md) + - [NestedAllofToCheckValidationSemantics](docs/NestedAllofToCheckValidationSemantics.md) - [NestedItems](docs/NestedItems.md) - [NotMoreComplexSchema](docs/NotMoreComplexSchema.md) - [NulCharactersInStrings](docs/NulCharactersInStrings.md) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Allof.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Allof.md new file mode 100644 index 0000000000..77328e52d3 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Allof.md @@ -0,0 +1,9 @@ +# Allof + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofCombinedWithAnyofOneof.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofCombinedWithAnyofOneof.md new file mode 100644 index 0000000000..403b07716c --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofCombinedWithAnyofOneof.md @@ -0,0 +1,9 @@ +# AllofCombinedWithAnyofOneof + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofSimpleTypes.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofSimpleTypes.md new file mode 100644 index 0000000000..b1ababc3e5 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofSimpleTypes.md @@ -0,0 +1,9 @@ +# AllofSimpleTypes + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithBaseSchema.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithBaseSchema.md new file mode 100644 index 0000000000..a01c8b13de --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithBaseSchema.md @@ -0,0 +1,10 @@ +# AllofWithBaseSchema + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bar** | **int** | | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithOneEmptySchema.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithOneEmptySchema.md new file mode 100644 index 0000000000..21e4d7d4ef --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithOneEmptySchema.md @@ -0,0 +1,9 @@ +# AllofWithOneEmptySchema + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithTheFirstEmptySchema.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithTheFirstEmptySchema.md new file mode 100644 index 0000000000..d25f566484 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithTheFirstEmptySchema.md @@ -0,0 +1,9 @@ +# AllofWithTheFirstEmptySchema + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithTheLastEmptySchema.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithTheLastEmptySchema.md new file mode 100644 index 0000000000..aefbea3036 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithTheLastEmptySchema.md @@ -0,0 +1,9 @@ +# AllofWithTheLastEmptySchema + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithTwoEmptySchemas.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithTwoEmptySchemas.md new file mode 100644 index 0000000000..220b95e4f0 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AllofWithTwoEmptySchemas.md @@ -0,0 +1,9 @@ +# AllofWithTwoEmptySchemas + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NestedAllofToCheckValidationSemantics.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NestedAllofToCheckValidationSemantics.md new file mode 100644 index 0000000000..abd73afca5 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NestedAllofToCheckValidationSemantics.md @@ -0,0 +1,9 @@ +# NestedAllofToCheckValidationSemantics + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof.py new file mode 100644 index 0000000000..9337a2edd4 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof.py @@ -0,0 +1,72 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.allof import Allof +from unit_test_api import configuration + + +class TestAllof(unittest.TestCase): + """Allof unit test stubs""" + _configuration = configuration.Configuration() + + def test_allof_passes(self): + # allOf + Allof._from_openapi_data( + { + "foo": + "baz", + "bar": + 2, + }, + _configuration=self._configuration + ) + + def test_mismatch_first_fails(self): + # mismatch first + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + Allof._from_openapi_data( + { + "bar": + 2, + }, + _configuration=self._configuration + ) + + def test_mismatch_second_fails(self): + # mismatch second + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + Allof._from_openapi_data( + { + "foo": + "baz", + }, + _configuration=self._configuration + ) + + def test_wrong_type_fails(self): + # wrong type + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + Allof._from_openapi_data( + { + "foo": + "baz", + "bar": + "quux", + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_combined_with_anyof_oneof.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_combined_with_anyof_oneof.py new file mode 100644 index 0000000000..56a76b5d05 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_combined_with_anyof_oneof.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.allof_combined_with_anyof_oneof import AllofCombinedWithAnyofOneof +from unit_test_api import configuration + + +class TestAllofCombinedWithAnyofOneof(unittest.TestCase): + """AllofCombinedWithAnyofOneof unit test stubs""" + _configuration = configuration.Configuration() + + def test_allof_true_anyof_false_oneof_false_fails(self): + # allOf: true, anyOf: false, oneOf: false + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AllofCombinedWithAnyofOneof._from_openapi_data( + 2, + _configuration=self._configuration + ) + + def test_allof_false_anyof_false_oneof_true_fails(self): + # allOf: false, anyOf: false, oneOf: true + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AllofCombinedWithAnyofOneof._from_openapi_data( + 5, + _configuration=self._configuration + ) + + def test_allof_false_anyof_true_oneof_true_fails(self): + # allOf: false, anyOf: true, oneOf: true + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AllofCombinedWithAnyofOneof._from_openapi_data( + 15, + _configuration=self._configuration + ) + + def test_allof_true_anyof_true_oneof_false_fails(self): + # allOf: true, anyOf: true, oneOf: false + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AllofCombinedWithAnyofOneof._from_openapi_data( + 6, + _configuration=self._configuration + ) + + def test_allof_true_anyof_true_oneof_true_passes(self): + # allOf: true, anyOf: true, oneOf: true + AllofCombinedWithAnyofOneof._from_openapi_data( + 30, + _configuration=self._configuration + ) + + def test_allof_true_anyof_false_oneof_true_fails(self): + # allOf: true, anyOf: false, oneOf: true + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AllofCombinedWithAnyofOneof._from_openapi_data( + 10, + _configuration=self._configuration + ) + + def test_allof_false_anyof_true_oneof_false_fails(self): + # allOf: false, anyOf: true, oneOf: false + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AllofCombinedWithAnyofOneof._from_openapi_data( + 3, + _configuration=self._configuration + ) + + def test_allof_false_anyof_false_oneof_false_fails(self): + # allOf: false, anyOf: false, oneOf: false + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AllofCombinedWithAnyofOneof._from_openapi_data( + 1, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_simple_types.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_simple_types.py new file mode 100644 index 0000000000..db0c8b5b52 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_simple_types.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.allof_simple_types import AllofSimpleTypes +from unit_test_api import configuration + + +class TestAllofSimpleTypes(unittest.TestCase): + """AllofSimpleTypes unit test stubs""" + _configuration = configuration.Configuration() + + def test_valid_passes(self): + # valid + AllofSimpleTypes._from_openapi_data( + 25, + _configuration=self._configuration + ) + + def test_mismatch_one_fails(self): + # mismatch one + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AllofSimpleTypes._from_openapi_data( + 35, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_base_schema.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_base_schema.py new file mode 100644 index 0000000000..f9922161cb --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_base_schema.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.allof_with_base_schema import AllofWithBaseSchema +from unit_test_api import configuration + + +class TestAllofWithBaseSchema(unittest.TestCase): + """AllofWithBaseSchema unit test stubs""" + _configuration = configuration.Configuration() + + def test_valid_passes(self): + # valid + AllofWithBaseSchema._from_openapi_data( + { + "foo": + "quux", + "bar": + 2, + "baz": + None, + }, + _configuration=self._configuration + ) + + def test_mismatch_first_allof_fails(self): + # mismatch first allOf + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AllofWithBaseSchema._from_openapi_data( + { + "bar": + 2, + "baz": + None, + }, + _configuration=self._configuration + ) + + def test_mismatch_base_schema_fails(self): + # mismatch base schema + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AllofWithBaseSchema._from_openapi_data( + { + "foo": + "quux", + "baz": + None, + }, + _configuration=self._configuration + ) + + def test_mismatch_both_fails(self): + # mismatch both + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AllofWithBaseSchema._from_openapi_data( + { + "bar": + 2, + }, + _configuration=self._configuration + ) + + def test_mismatch_second_allof_fails(self): + # mismatch second allOf + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AllofWithBaseSchema._from_openapi_data( + { + "foo": + "quux", + "bar": + 2, + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_one_empty_schema.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_one_empty_schema.py new file mode 100644 index 0000000000..ac60d40856 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_one_empty_schema.py @@ -0,0 +1,32 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.allof_with_one_empty_schema import AllofWithOneEmptySchema +from unit_test_api import configuration + + +class TestAllofWithOneEmptySchema(unittest.TestCase): + """AllofWithOneEmptySchema unit test stubs""" + _configuration = configuration.Configuration() + + def test_any_data_is_valid_passes(self): + # any data is valid + AllofWithOneEmptySchema._from_openapi_data( + 1, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_the_first_empty_schema.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_the_first_empty_schema.py new file mode 100644 index 0000000000..5dacdfb979 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_the_first_empty_schema.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.allof_with_the_first_empty_schema import AllofWithTheFirstEmptySchema +from unit_test_api import configuration + + +class TestAllofWithTheFirstEmptySchema(unittest.TestCase): + """AllofWithTheFirstEmptySchema unit test stubs""" + _configuration = configuration.Configuration() + + def test_string_is_invalid_fails(self): + # string is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AllofWithTheFirstEmptySchema._from_openapi_data( + "foo", + _configuration=self._configuration + ) + + def test_number_is_valid_passes(self): + # number is valid + AllofWithTheFirstEmptySchema._from_openapi_data( + 1, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_the_last_empty_schema.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_the_last_empty_schema.py new file mode 100644 index 0000000000..bd425c3147 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_the_last_empty_schema.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.allof_with_the_last_empty_schema import AllofWithTheLastEmptySchema +from unit_test_api import configuration + + +class TestAllofWithTheLastEmptySchema(unittest.TestCase): + """AllofWithTheLastEmptySchema unit test stubs""" + _configuration = configuration.Configuration() + + def test_string_is_invalid_fails(self): + # string is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AllofWithTheLastEmptySchema._from_openapi_data( + "foo", + _configuration=self._configuration + ) + + def test_number_is_valid_passes(self): + # number is valid + AllofWithTheLastEmptySchema._from_openapi_data( + 1, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_two_empty_schemas.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_two_empty_schemas.py new file mode 100644 index 0000000000..45356cece7 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_allof_with_two_empty_schemas.py @@ -0,0 +1,32 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.allof_with_two_empty_schemas import AllofWithTwoEmptySchemas +from unit_test_api import configuration + + +class TestAllofWithTwoEmptySchemas(unittest.TestCase): + """AllofWithTwoEmptySchemas unit test stubs""" + _configuration = configuration.Configuration() + + def test_any_data_is_valid_passes(self): + # any data is valid + AllofWithTwoEmptySchemas._from_openapi_data( + 1, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nested_allof_to_check_validation_semantics.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nested_allof_to_check_validation_semantics.py new file mode 100644 index 0000000000..61cefebba0 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nested_allof_to_check_validation_semantics.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.nested_allof_to_check_validation_semantics import NestedAllofToCheckValidationSemantics +from unit_test_api import configuration + + +class TestNestedAllofToCheckValidationSemantics(unittest.TestCase): + """NestedAllofToCheckValidationSemantics unit test stubs""" + _configuration = configuration.Configuration() + + def test_anything_non_null_is_invalid_fails(self): + # anything non-null is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NestedAllofToCheckValidationSemantics._from_openapi_data( + 123, + _configuration=self._configuration + ) + + def test_null_is_valid_passes(self): + # null is valid + NestedAllofToCheckValidationSemantics._from_openapi_data( + None, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_should_not_look_in_applicators.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_should_not_look_in_applicators.py index 11a38935e5..5f2482fc08 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_should_not_look_in_applicators.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/additionalproperties_should_not_look_in_applicators.py @@ -89,7 +89,27 @@ class AdditionalpropertiesShouldNotLookInApplicators( # code would be run when this module is imported, and these composed # classes don't exist yet because their module has not finished # loading - allOf_0 = AnyTypeSchema + + + class allOf_0( + AnyTypeSchema + ): + foo = AnyTypeSchema + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + foo: typing.Union[foo, Unset] = unset, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'allOf_0': + return super().__new__( + cls, + *args, + foo=foo, + _configuration=_configuration, + **kwargs, + ) return { 'allOf': [ allOf_0, diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof.py new file mode 100644 index 0000000000..51d4cec94c --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof.py @@ -0,0 +1,163 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + NoneClass, + BoolClass, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class Allof( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + + + class allOf_0( + AnyTypeSchema + ): + _required_property_names = set(( + 'bar', + )) + bar = IntSchema + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + bar: bar, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'allOf_0': + return super().__new__( + cls, + *args, + bar=bar, + _configuration=_configuration, + **kwargs, + ) + + + class allOf_1( + AnyTypeSchema + ): + _required_property_names = set(( + 'foo', + )) + foo = StrSchema + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + foo: foo, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'allOf_1': + return super().__new__( + cls, + *args, + foo=foo, + _configuration=_configuration, + **kwargs, + ) + return { + 'allOf': [ + allOf_0, + allOf_1, + ], + 'oneOf': [ + ], + 'anyOf': [ + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'Allof': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_combined_with_anyof_oneof.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_combined_with_anyof_oneof.py new file mode 100644 index 0000000000..ebb7195de0 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_combined_with_anyof_oneof.py @@ -0,0 +1,179 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + NoneClass, + BoolClass, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class AllofCombinedWithAnyofOneof( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + + + class allOf_0( + _SchemaValidator( + multiple_of=2, + ), + AnyTypeSchema + ): + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'allOf_0': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) + + + class oneOf_0( + _SchemaValidator( + multiple_of=5, + ), + AnyTypeSchema + ): + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'oneOf_0': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) + + + class anyOf_0( + _SchemaValidator( + multiple_of=3, + ), + AnyTypeSchema + ): + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'anyOf_0': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) + return { + 'allOf': [ + allOf_0, + ], + 'oneOf': [ + oneOf_0, + ], + 'anyOf': [ + anyOf_0, + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'AllofCombinedWithAnyofOneof': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_simple_types.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_simple_types.py new file mode 100644 index 0000000000..6115b79c0f --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_simple_types.py @@ -0,0 +1,157 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + NoneClass, + BoolClass, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class AllofSimpleTypes( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + + + class allOf_0( + _SchemaValidator( + inclusive_maximum=30, + ), + AnyTypeSchema + ): + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'allOf_0': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) + + + class allOf_1( + _SchemaValidator( + inclusive_minimum=20, + ), + AnyTypeSchema + ): + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'allOf_1': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) + return { + 'allOf': [ + allOf_0, + allOf_1, + ], + 'oneOf': [ + ], + 'anyOf': [ + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'AllofSimpleTypes': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_base_schema.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_base_schema.py new file mode 100644 index 0000000000..b0a4665f9b --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_base_schema.py @@ -0,0 +1,169 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + NoneClass, + BoolClass, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class AllofWithBaseSchema( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + _required_property_names = set(( + 'bar', + )) + bar = IntSchema + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + + + class allOf_0( + AnyTypeSchema + ): + _required_property_names = set(( + 'foo', + )) + foo = StrSchema + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + foo: foo, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'allOf_0': + return super().__new__( + cls, + *args, + foo=foo, + _configuration=_configuration, + **kwargs, + ) + + + class allOf_1( + AnyTypeSchema + ): + _required_property_names = set(( + 'baz', + )) + baz = NoneSchema + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + baz: baz, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'allOf_1': + return super().__new__( + cls, + *args, + baz=baz, + _configuration=_configuration, + **kwargs, + ) + return { + 'allOf': [ + allOf_0, + allOf_1, + ], + 'oneOf': [ + ], + 'anyOf': [ + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + bar: bar, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'AllofWithBaseSchema': + return super().__new__( + cls, + *args, + bar=bar, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_one_empty_schema.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_one_empty_schema.py new file mode 100644 index 0000000000..02678cbcd7 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_one_empty_schema.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + NoneClass, + BoolClass, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class AllofWithOneEmptySchema( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + allOf_0 = AnyTypeSchema + return { + 'allOf': [ + allOf_0, + ], + 'oneOf': [ + ], + 'anyOf': [ + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'AllofWithOneEmptySchema': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_the_first_empty_schema.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_the_first_empty_schema.py new file mode 100644 index 0000000000..a23acfe6b4 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_the_first_empty_schema.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + NoneClass, + BoolClass, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class AllofWithTheFirstEmptySchema( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + allOf_0 = AnyTypeSchema + allOf_1 = NumberSchema + return { + 'allOf': [ + allOf_0, + allOf_1, + ], + 'oneOf': [ + ], + 'anyOf': [ + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'AllofWithTheFirstEmptySchema': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_the_last_empty_schema.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_the_last_empty_schema.py new file mode 100644 index 0000000000..82d9ce92d0 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_the_last_empty_schema.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + NoneClass, + BoolClass, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class AllofWithTheLastEmptySchema( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + allOf_0 = NumberSchema + allOf_1 = AnyTypeSchema + return { + 'allOf': [ + allOf_0, + allOf_1, + ], + 'oneOf': [ + ], + 'anyOf': [ + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'AllofWithTheLastEmptySchema': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_two_empty_schemas.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_two_empty_schemas.py new file mode 100644 index 0000000000..b690851c8b --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/allof_with_two_empty_schemas.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + NoneClass, + BoolClass, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class AllofWithTwoEmptySchemas( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + allOf_0 = AnyTypeSchema + allOf_1 = AnyTypeSchema + return { + 'allOf': [ + allOf_0, + allOf_1, + ], + 'oneOf': [ + ], + 'anyOf': [ + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'AllofWithTwoEmptySchemas': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_int.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_int.py index f03594a943..5ae8498de1 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_int.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_int.py @@ -70,7 +70,7 @@ from unit_test_api.schemas import ( # noqa: F401 class ByInt( _SchemaValidator( - multiple_of=[2], + multiple_of=2, ), AnyTypeSchema ): diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_number.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_number.py index 5fdee3839e..c5692a559b 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_number.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_number.py @@ -70,7 +70,7 @@ from unit_test_api.schemas import ( # noqa: F401 class ByNumber( _SchemaValidator( - multiple_of=[1.5], + multiple_of=1.5, ), AnyTypeSchema ): diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_small_number.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_small_number.py index 078b49c88f..03b8054a9a 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_small_number.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/by_small_number.py @@ -70,7 +70,7 @@ from unit_test_api.schemas import ( # noqa: F401 class BySmallNumber( _SchemaValidator( - multiple_of=[0.00010], + multiple_of=0.00010, ), AnyTypeSchema ): diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_instance_should_not_raise_error_when_float_division_inf.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_instance_should_not_raise_error_when_float_division_inf.py index 8d6290fc26..053368514d 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_instance_should_not_raise_error_when_float_division_inf.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/invalid_instance_should_not_raise_error_when_float_division_inf.py @@ -70,7 +70,7 @@ from unit_test_api.schemas import ( # noqa: F401 class InvalidInstanceShouldNotRaiseErrorWhenFloatDivisionInf( _SchemaValidator( - multiple_of=[0.123456789], + multiple_of=0.123456789, ), IntSchema ): diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_allof_to_check_validation_semantics.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_allof_to_check_validation_semantics.py new file mode 100644 index 0000000000..41f27e3664 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_allof_to_check_validation_semantics.py @@ -0,0 +1,156 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + NoneClass, + BoolClass, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class NestedAllofToCheckValidationSemantics( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + + + class allOf_0( + ComposedSchema + ): + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + allOf_0 = NoneSchema + return { + 'allOf': [ + allOf_0, + ], + 'oneOf': [ + ], + 'anyOf': [ + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'allOf_0': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) + return { + 'allOf': [ + allOf_0, + ], + 'oneOf': [ + ], + 'anyOf': [ + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'NestedAllofToCheckValidationSemantics': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/models/__init__.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/models/__init__.py index a45a5dacf3..1761a63a98 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/models/__init__.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/models/__init__.py @@ -15,6 +15,14 @@ from unit_test_api.model.additionalproperties_allows_a_schema_which_should_valid from unit_test_api.model.additionalproperties_are_allowed_by_default import AdditionalpropertiesAreAllowedByDefault from unit_test_api.model.additionalproperties_can_exist_by_itself import AdditionalpropertiesCanExistByItself from unit_test_api.model.additionalproperties_should_not_look_in_applicators import AdditionalpropertiesShouldNotLookInApplicators +from unit_test_api.model.allof import Allof +from unit_test_api.model.allof_combined_with_anyof_oneof import AllofCombinedWithAnyofOneof +from unit_test_api.model.allof_simple_types import AllofSimpleTypes +from unit_test_api.model.allof_with_base_schema import AllofWithBaseSchema +from unit_test_api.model.allof_with_one_empty_schema import AllofWithOneEmptySchema +from unit_test_api.model.allof_with_the_first_empty_schema import AllofWithTheFirstEmptySchema +from unit_test_api.model.allof_with_the_last_empty_schema import AllofWithTheLastEmptySchema +from unit_test_api.model.allof_with_two_empty_schemas import AllofWithTwoEmptySchemas from unit_test_api.model.array_type_matches_arrays import ArrayTypeMatchesArrays from unit_test_api.model.boolean_type_matches_booleans import BooleanTypeMatchesBooleans from unit_test_api.model.by_int import ByInt @@ -48,6 +56,7 @@ from unit_test_api.model.minitems_validation import MinitemsValidation from unit_test_api.model.minlength_validation import MinlengthValidation from unit_test_api.model.minproperties_validation import MinpropertiesValidation from unit_test_api.model.model_not import ModelNot +from unit_test_api.model.nested_allof_to_check_validation_semantics import NestedAllofToCheckValidationSemantics from unit_test_api.model.nested_items import NestedItems from unit_test_api.model.not_more_complex_schema import NotMoreComplexSchema from unit_test_api.model.nul_characters_in_strings import NulCharactersInStrings diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/schemas.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/schemas.py index 987bcf4f64..d4f8e67b4e 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/schemas.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/schemas.py @@ -295,18 +295,17 @@ class ValidatorBase: if cls.__is_json_validation_enabled('multipleOf', validation_metadata.configuration) and 'multiple_of' in validations: - multiple_of_values = validations['multiple_of'] - for multiple_of_value in multiple_of_values: - if (isinstance(input_values, decimal.Decimal) and - not (float(input_values) / multiple_of_value).is_integer() - ): - # Note 'multipleOf' will be as good as the floating point arithmetic. - cls.__raise_validation_error_message( - value=input_values, - constraint_msg="value must be a multiple of", - constraint_value=multiple_of_value, - path_to_item=validation_metadata.path_to_item - ) + multiple_of_value = validations['multiple_of'] + if (isinstance(input_values, decimal.Decimal) and + not (float(input_values) / multiple_of_value).is_integer() + ): + # Note 'multipleOf' will be as good as the floating point arithmetic. + cls.__raise_validation_error_message( + value=input_values, + constraint_msg="value must be a multiple of", + constraint_value=multiple_of_value, + path_to_item=validation_metadata.path_to_item + ) checking_max_or_min_values = {'exclusive_maximum', 'inclusive_maximum', 'exclusive_minimum', 'inclusive_minimum'}.isdisjoint(validations) is False diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/format_test.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/format_test.py index a7d1bbb9f3..28fb00bce8 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/model/format_test.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/model/format_test.py @@ -88,7 +88,7 @@ class FormatTest( _SchemaValidator( inclusive_maximum=100, inclusive_minimum=10, - multiple_of=[2], + multiple_of=2, ), IntSchema ): @@ -111,7 +111,7 @@ class FormatTest( _SchemaValidator( inclusive_maximum=543.2, inclusive_minimum=32.1, - multiple_of=[32.5], + multiple_of=32.5, ), NumberSchema ): diff --git a/samples/openapi3/client/petstore/python-experimental/petstore_api/schemas.py b/samples/openapi3/client/petstore/python-experimental/petstore_api/schemas.py index 578c03da74..20e903d493 100644 --- a/samples/openapi3/client/petstore/python-experimental/petstore_api/schemas.py +++ b/samples/openapi3/client/petstore/python-experimental/petstore_api/schemas.py @@ -295,18 +295,17 @@ class ValidatorBase: if cls.__is_json_validation_enabled('multipleOf', validation_metadata.configuration) and 'multiple_of' in validations: - multiple_of_values = validations['multiple_of'] - for multiple_of_value in multiple_of_values: - if (isinstance(input_values, decimal.Decimal) and - not (float(input_values) / multiple_of_value).is_integer() - ): - # Note 'multipleOf' will be as good as the floating point arithmetic. - cls.__raise_validation_error_message( - value=input_values, - constraint_msg="value must be a multiple of", - constraint_value=multiple_of_value, - path_to_item=validation_metadata.path_to_item - ) + multiple_of_value = validations['multiple_of'] + if (isinstance(input_values, decimal.Decimal) and + not (float(input_values) / multiple_of_value).is_integer() + ): + # Note 'multipleOf' will be as good as the floating point arithmetic. + cls.__raise_validation_error_message( + value=input_values, + constraint_msg="value must be a multiple of", + constraint_value=multiple_of_value, + path_to_item=validation_metadata.path_to_item + ) checking_max_or_min_values = {'exclusive_maximum', 'inclusive_maximum', 'exclusive_minimum', 'inclusive_minimum'}.isdisjoint(validations) is False From 4dfac192f869170c692f6b91e5d17835133cea9d Mon Sep 17 00:00:00 2001 From: William Cheng Date: Thu, 14 Jul 2022 15:41:56 +0800 Subject: [PATCH 185/212] fix warning in rdoc due to missing @param (#12865) --- .../openapi-generator/src/main/resources/r/api_client.mustache | 3 ++- samples/client/petstore/R/R/api_client.R | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/r/api_client.mustache b/modules/openapi-generator/src/main/resources/r/api_client.mustache index 4cb754f984..3beafeb79b 100644 --- a/modules/openapi-generator/src/main/resources/r/api_client.mustache +++ b/modules/openapi-generator/src/main/resources/r/api_client.mustache @@ -125,6 +125,7 @@ ApiClient <- R6::R6Class( #' @param query_params The query parameters. #' @param header_params The header parameters. #' @param body The HTTP request body. + #' @param stream_callback Callback function to process the data stream #' @param ... Other optional arguments. #' @return HTTP response #' @export @@ -162,7 +163,7 @@ ApiClient <- R6::R6Class( #' @param query_params The query parameters. #' @param header_params The header parameters. #' @param body The HTTP request body. - #' @param stream_callback callback function to process data stream + #' @param stream_callback Callback function to process data stream #' @param ... Other optional arguments. #' @return HTTP response #' @export diff --git a/samples/client/petstore/R/R/api_client.R b/samples/client/petstore/R/R/api_client.R index c60b8df2e9..c3c0ac8fd6 100644 --- a/samples/client/petstore/R/R/api_client.R +++ b/samples/client/petstore/R/R/api_client.R @@ -130,6 +130,7 @@ ApiClient <- R6::R6Class( #' @param query_params The query parameters. #' @param header_params The header parameters. #' @param body The HTTP request body. + #' @param stream_callback Callback function to process the data stream #' @param ... Other optional arguments. #' @return HTTP response #' @export @@ -167,7 +168,7 @@ ApiClient <- R6::R6Class( #' @param query_params The query parameters. #' @param header_params The header parameters. #' @param body The HTTP request body. - #' @param stream_callback callback function to process data stream + #' @param stream_callback Callback function to process data stream #' @param ... Other optional arguments. #' @return HTTP response #' @export From 28b74d79cbe431bfed23abefea2b6e6cfcce2452 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Thu, 14 Jul 2022 16:23:02 +0800 Subject: [PATCH 186/212] remove unused import in r package (#12867) --- .../openapi-generator/src/main/resources/r/description.mustache | 2 +- samples/client/petstore/R/DESCRIPTION | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/r/description.mustache b/modules/openapi-generator/src/main/resources/r/description.mustache index 1d6f09608d..2a16f842bf 100644 --- a/modules/openapi-generator/src/main/resources/r/description.mustache +++ b/modules/openapi-generator/src/main/resources/r/description.mustache @@ -11,5 +11,5 @@ Encoding: UTF-8 License: {{#lambdaLicense}}{{licenseInfo}}{{/lambdaLicense}}{{^licenseInfo}}Unlicense{{/licenseInfo}} LazyData: true Suggests: testthat -Imports: jsonlite, httr, R6, base64enc{{#useRlangExceptionHandling}}, rlang{{/useRlangExceptionHandling}} +Imports: jsonlite, httr, R6, base64enc RoxygenNote: 7.2.0 diff --git a/samples/client/petstore/R/DESCRIPTION b/samples/client/petstore/R/DESCRIPTION index 49307b2145..2afb45624b 100644 --- a/samples/client/petstore/R/DESCRIPTION +++ b/samples/client/petstore/R/DESCRIPTION @@ -11,5 +11,5 @@ Encoding: UTF-8 License: Apache License 2.0 LazyData: true Suggests: testthat -Imports: jsonlite, httr, R6, base64enc, rlang +Imports: jsonlite, httr, R6, base64enc RoxygenNote: 7.2.0 From ca4a86ea550df3205ef6dd4509d7d3c5a32ca51b Mon Sep 17 00:00:00 2001 From: Justin Black Date: Thu, 14 Jul 2022 09:57:43 -0700 Subject: [PATCH 187/212] Turns on json-schema python-exp anyOf + oneOf unit tests (#12864) * Spec updated to anyof only * All tests turned on * Revert version file * Adds oneOf tests also --- .../unit_test_spec/3_0_3_unit_test_spec.yaml | 200 ++++++++++++++++++ .../3_0/unit_test_spec/spec_writer.py | 16 +- .../.openapi-generator/FILES | 30 +++ .../python-experimental/README.md | 10 + .../python-experimental/docs/Anyof.md | 9 + .../docs/AnyofComplexTypes.md | 9 + .../docs/AnyofWithBaseSchema.md | 8 + .../docs/AnyofWithOneEmptySchema.md | 9 + .../NestedAnyofToCheckValidationSemantics.md | 9 + .../NestedOneofToCheckValidationSemantics.md | 9 + .../python-experimental/docs/Oneof.md | 9 + .../docs/OneofComplexTypes.md | 9 + .../docs/OneofWithBaseSchema.md | 8 + .../docs/OneofWithEmptySchema.md | 9 + .../python-experimental/test/test_anyof.py | 54 +++++ .../test/test_anyof_complex_types.py | 70 ++++++ .../test/test_anyof_with_base_schema.py | 48 +++++ .../test/test_anyof_with_one_empty_schema.py | 39 ++++ ...ted_anyof_to_check_validation_semantics.py | 40 ++++ ...ted_oneof_to_check_validation_semantics.py | 40 ++++ .../python-experimental/test/test_oneof.py | 55 +++++ .../test/test_oneof_complex_types.py | 71 +++++++ .../test/test_oneof_with_base_schema.py | 48 +++++ .../test/test_oneof_with_empty_schema.py | 40 ++++ .../unit_test_api/model/anyof.py | 137 ++++++++++++ .../model/anyof_complex_types.py | 163 ++++++++++++++ .../model/anyof_with_base_schema.py | 156 ++++++++++++++ .../model/anyof_with_one_empty_schema.py | 117 ++++++++++ ...ted_anyof_to_check_validation_semantics.py | 156 ++++++++++++++ ...ted_oneof_to_check_validation_semantics.py | 156 ++++++++++++++ .../unit_test_api/model/oneof.py | 137 ++++++++++++ .../model/oneof_complex_types.py | 163 ++++++++++++++ .../model/oneof_with_base_schema.py | 156 ++++++++++++++ .../model/oneof_with_empty_schema.py | 117 ++++++++++ .../unit_test_api/models/__init__.py | 10 + 35 files changed, 2314 insertions(+), 3 deletions(-) create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Anyof.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AnyofComplexTypes.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AnyofWithBaseSchema.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AnyofWithOneEmptySchema.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NestedAnyofToCheckValidationSemantics.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NestedOneofToCheckValidationSemantics.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Oneof.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/OneofComplexTypes.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/OneofWithBaseSchema.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/OneofWithEmptySchema.md create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_anyof.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_anyof_complex_types.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_anyof_with_base_schema.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_anyof_with_one_empty_schema.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nested_anyof_to_check_validation_semantics.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nested_oneof_to_check_validation_semantics.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_oneof.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_oneof_complex_types.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_oneof_with_base_schema.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_oneof_with_empty_schema.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/anyof.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/anyof_complex_types.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/anyof_with_base_schema.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/anyof_with_one_empty_schema.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_anyof_to_check_validation_semantics.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_oneof_to_check_validation_semantics.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/oneof.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/oneof_complex_types.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/oneof_with_base_schema.py create mode 100644 samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/oneof_with_empty_schema.py diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/3_0_3_unit_test_spec.yaml b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/3_0_3_unit_test_spec.yaml index 690720dc01..d3ff930a90 100644 --- a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/3_0_3_unit_test_spec.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/3_0_3_unit_test_spec.yaml @@ -85,6 +85,35 @@ components: - multipleOf: 3 oneOf: - multipleOf: 5 + Anyof: + anyOf: + - type: integer + - minimum: 2 + AnyofWithBaseSchema: + type: string + anyOf: + - maxLength: 2 + - minLength: 4 + AnyofComplexTypes: + anyOf: + - properties: + bar: + type: integer + required: + - bar + - properties: + foo: + type: string + required: + - foo + AnyofWithOneEmptySchema: + anyOf: + - type: number + - {} + NestedAnyofToCheckValidationSemantics: + anyOf: + - anyOf: + - type: 'null' InvalidStringValueForDefault: properties: bar: @@ -207,6 +236,35 @@ components: properties: foo: not: {} + Oneof: + oneOf: + - type: integer + - minimum: 2 + OneofWithBaseSchema: + type: string + oneOf: + - minLength: 2 + - maxLength: 4 + OneofComplexTypes: + oneOf: + - properties: + bar: + type: integer + required: + - bar + - properties: + foo: + type: string + required: + - foo + OneofWithEmptySchema: + oneOf: + - type: number + - {} + NestedOneofToCheckValidationSemantics: + oneOf: + - oneOf: + - type: 'null' PatternValidation: pattern: ^a*$ PatternIsNotAnchored: @@ -468,6 +526,77 @@ components: description: 'allOf: true, anyOf: true, oneOf: true' data: 30 valid: true + Anyof: + FirstAnyofValid: + description: first anyOf valid + data: 1 + valid: true + SecondAnyofValid: + description: second anyOf valid + data: 2.5 + valid: true + BothAnyofValid: + description: both anyOf valid + data: 3 + valid: true + NeitherAnyofValid: + description: neither anyOf valid + data: 1.5 + valid: false + AnyofWithBaseSchema: + MismatchBaseSchema: + description: mismatch base schema + data: 3 + valid: false + OneAnyofValid: + description: one anyOf valid + data: foobar + valid: true + BothAnyofInvalid: + description: both anyOf invalid + data: foo + valid: false + AnyofComplexTypes: + FirstAnyofValidComplex: + description: first anyOf valid (complex) + data: + bar: 2 + valid: true + SecondAnyofValidComplex: + description: second anyOf valid (complex) + data: + foo: baz + valid: true + BothAnyofValidComplex: + description: both anyOf valid (complex) + data: + foo: baz + bar: 2 + valid: true + NeitherAnyofValidComplex: + description: neither anyOf valid (complex) + data: + foo: 2 + bar: quux + valid: false + AnyofWithOneEmptySchema: + StringIsValid: + description: string is valid + data: foo + valid: true + NumberIsValid: + description: number is valid + data: 123 + valid: true + NestedAnyofToCheckValidationSemantics: + NullIsValid: + description: null is valid + data: null + valid: true + AnythingNonNullIsInvalid: + description: anything non-null is invalid + data: 123 + valid: false InvalidStringValueForDefault: ValidWhenPropertyIsSpecified: description: valid when property is specified @@ -1182,6 +1311,77 @@ components: bar: 1 baz: 2 valid: true + Oneof: + FirstOneofValid: + description: first oneOf valid + data: 1 + valid: true + SecondOneofValid: + description: second oneOf valid + data: 2.5 + valid: true + BothOneofValid: + description: both oneOf valid + data: 3 + valid: false + NeitherOneofValid: + description: neither oneOf valid + data: 1.5 + valid: false + OneofWithBaseSchema: + MismatchBaseSchema: + description: mismatch base schema + data: 3 + valid: false + OneOneofValid: + description: one oneOf valid + data: foobar + valid: true + BothOneofValid: + description: both oneOf valid + data: foo + valid: false + OneofComplexTypes: + FirstOneofValidComplex: + description: first oneOf valid (complex) + data: + bar: 2 + valid: true + SecondOneofValidComplex: + description: second oneOf valid (complex) + data: + foo: baz + valid: true + BothOneofValidComplex: + description: both oneOf valid (complex) + data: + foo: baz + bar: 2 + valid: false + NeitherOneofValidComplex: + description: neither oneOf valid (complex) + data: + foo: 2 + bar: quux + valid: false + OneofWithEmptySchema: + OneValidValid: + description: one valid - valid + data: foo + valid: true + BothValidInvalid: + description: both valid - invalid + data: 123 + valid: false + NestedOneofToCheckValidationSemantics: + NullIsValid: + description: null is valid + data: null + valid: true + AnythingNonNullIsInvalid: + description: anything non-null is invalid + data: 123 + valid: false PatternValidation: AMatchingPatternIsValid: description: a matching pattern is valid diff --git a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/spec_writer.py b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/spec_writer.py index ec52bb122b..c4843877a1 100644 --- a/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/spec_writer.py +++ b/modules/openapi-generator/src/test/resources/3_0/unit_test_spec/spec_writer.py @@ -113,6 +113,11 @@ FILEPATH_TO_EXCLUDED_CASE_AND_REASON = { 'allOf with boolean schemas, some false': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, 'allOf with boolean schemas, all false': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, }, + (json_schema_test_draft, 'anyOf.json'): { + 'anyOf with boolean schemas, all true': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + 'anyOf with boolean schemas, some true': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + 'anyOf with boolean schemas, all false': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + }, (json_schema_test_draft, 'default.json'): { 'invalid type for default': ExclusionReason.v303_requires_that_the_default_value_is_an_allowed_type, }, @@ -140,6 +145,11 @@ FILEPATH_TO_EXCLUDED_CASE_AND_REASON = { }, (json_schema_test_draft, 'oneOf.json'): { 'oneOf with missing optional property': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + 'oneOf with boolean schemas, all true': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + 'oneOf with boolean schemas, one true': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + 'oneOf with boolean schemas, more than one true': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + 'oneOf with boolean schemas, all false': ExclusionReason.v303_does_not_support_boolean_schemas_in_location, + 'oneOf with required': ExclusionReason.required_vars_missing_for_anytype_schema_bug, }, (json_schema_test_draft, 'properties.json'): { 'properties, patternProperties, additionalProperties interaction': ExclusionReason.v303_does_not_support_patternProperties, @@ -218,8 +228,8 @@ FILEPATH_TO_EXCLUDE_REASON = { JSON_SCHEMA_TEST_FILE_TO_FOLDERS = { 'additionalItems.json': (json_schema_test_draft,), 'additionalProperties.json': (json_schema_test_draft,), - 'allOf.json': (json_schema_test_draft,), # activate later after fixing composition processing -# 'anyOf.json': (json_schema_test_draft,), # activate later after fixing composition processing + 'allOf.json': (json_schema_test_draft,), + 'anyOf.json': (json_schema_test_draft,), 'boolean_schema.json': (json_schema_test_draft,), 'const.json': (json_schema_test_draft,), 'contains.json': (json_schema_test_draft,), @@ -243,7 +253,7 @@ JSON_SCHEMA_TEST_FILE_TO_FOLDERS = { 'minProperties.json': (json_schema_test_draft,), 'multipleOf.json': (json_schema_test_draft,), 'not.json': (json_schema_test_draft,), -# 'oneOf.json': (json_schema_test_draft,), # activate after fixing this + 'oneOf.json': (json_schema_test_draft,), 'pattern.json': (json_schema_test_draft,), 'patternProperties.json': (json_schema_test_draft,), 'properties.json': (json_schema_test_draft,), diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/FILES b/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/FILES index e3b0e78dd7..e470d78a14 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/FILES +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/.openapi-generator/FILES @@ -14,6 +14,10 @@ docs/AllofWithOneEmptySchema.md docs/AllofWithTheFirstEmptySchema.md docs/AllofWithTheLastEmptySchema.md docs/AllofWithTwoEmptySchemas.md +docs/Anyof.md +docs/AnyofComplexTypes.md +docs/AnyofWithBaseSchema.md +docs/AnyofWithOneEmptySchema.md docs/ArrayTypeMatchesArrays.md docs/BooleanTypeMatchesBooleans.md docs/ByInt.md @@ -48,12 +52,18 @@ docs/MinlengthValidation.md docs/MinpropertiesValidation.md docs/ModelNot.md docs/NestedAllofToCheckValidationSemantics.md +docs/NestedAnyofToCheckValidationSemantics.md docs/NestedItems.md +docs/NestedOneofToCheckValidationSemantics.md docs/NotMoreComplexSchema.md docs/NulCharactersInStrings.md docs/NullTypeMatchesOnlyTheNullObject.md docs/NumberTypeMatchesNumbers.md docs/ObjectPropertiesValidation.md +docs/Oneof.md +docs/OneofComplexTypes.md +docs/OneofWithBaseSchema.md +docs/OneofWithEmptySchema.md docs/PatternIsNotAnchored.md docs/PatternValidation.md docs/PropertiesWithEscapedCharacters.md @@ -93,6 +103,10 @@ test/test_allof_with_one_empty_schema.py test/test_allof_with_the_first_empty_schema.py test/test_allof_with_the_last_empty_schema.py test/test_allof_with_two_empty_schemas.py +test/test_anyof.py +test/test_anyof_complex_types.py +test/test_anyof_with_base_schema.py +test/test_anyof_with_one_empty_schema.py test/test_array_type_matches_arrays.py test/test_boolean_type_matches_booleans.py test/test_by_int.py @@ -127,12 +141,18 @@ test/test_minlength_validation.py test/test_minproperties_validation.py test/test_model_not.py test/test_nested_allof_to_check_validation_semantics.py +test/test_nested_anyof_to_check_validation_semantics.py test/test_nested_items.py +test/test_nested_oneof_to_check_validation_semantics.py test/test_not_more_complex_schema.py test/test_nul_characters_in_strings.py test/test_null_type_matches_only_the_null_object.py test/test_number_type_matches_numbers.py test/test_object_properties_validation.py +test/test_oneof.py +test/test_oneof_complex_types.py +test/test_oneof_with_base_schema.py +test/test_oneof_with_empty_schema.py test/test_pattern_is_not_anchored.py test/test_pattern_validation.py test/test_properties_with_escaped_characters.py @@ -174,6 +194,10 @@ unit_test_api/model/allof_with_one_empty_schema.py unit_test_api/model/allof_with_the_first_empty_schema.py unit_test_api/model/allof_with_the_last_empty_schema.py unit_test_api/model/allof_with_two_empty_schemas.py +unit_test_api/model/anyof.py +unit_test_api/model/anyof_complex_types.py +unit_test_api/model/anyof_with_base_schema.py +unit_test_api/model/anyof_with_one_empty_schema.py unit_test_api/model/array_type_matches_arrays.py unit_test_api/model/boolean_type_matches_booleans.py unit_test_api/model/by_int.py @@ -208,12 +232,18 @@ unit_test_api/model/minlength_validation.py unit_test_api/model/minproperties_validation.py unit_test_api/model/model_not.py unit_test_api/model/nested_allof_to_check_validation_semantics.py +unit_test_api/model/nested_anyof_to_check_validation_semantics.py unit_test_api/model/nested_items.py +unit_test_api/model/nested_oneof_to_check_validation_semantics.py unit_test_api/model/not_more_complex_schema.py unit_test_api/model/nul_characters_in_strings.py unit_test_api/model/null_type_matches_only_the_null_object.py unit_test_api/model/number_type_matches_numbers.py unit_test_api/model/object_properties_validation.py +unit_test_api/model/oneof.py +unit_test_api/model/oneof_complex_types.py +unit_test_api/model/oneof_with_base_schema.py +unit_test_api/model/oneof_with_empty_schema.py unit_test_api/model/pattern_is_not_anchored.py unit_test_api/model/pattern_validation.py unit_test_api/model/properties_with_escaped_characters.py diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/README.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/README.md index 260575301c..8f38f97e69 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/README.md +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/README.md @@ -74,6 +74,10 @@ Class | Method | HTTP request | Description - [AllofWithTheFirstEmptySchema](docs/AllofWithTheFirstEmptySchema.md) - [AllofWithTheLastEmptySchema](docs/AllofWithTheLastEmptySchema.md) - [AllofWithTwoEmptySchemas](docs/AllofWithTwoEmptySchemas.md) + - [Anyof](docs/Anyof.md) + - [AnyofComplexTypes](docs/AnyofComplexTypes.md) + - [AnyofWithBaseSchema](docs/AnyofWithBaseSchema.md) + - [AnyofWithOneEmptySchema](docs/AnyofWithOneEmptySchema.md) - [ArrayTypeMatchesArrays](docs/ArrayTypeMatchesArrays.md) - [BooleanTypeMatchesBooleans](docs/BooleanTypeMatchesBooleans.md) - [ByInt](docs/ByInt.md) @@ -108,12 +112,18 @@ Class | Method | HTTP request | Description - [MinpropertiesValidation](docs/MinpropertiesValidation.md) - [ModelNot](docs/ModelNot.md) - [NestedAllofToCheckValidationSemantics](docs/NestedAllofToCheckValidationSemantics.md) + - [NestedAnyofToCheckValidationSemantics](docs/NestedAnyofToCheckValidationSemantics.md) - [NestedItems](docs/NestedItems.md) + - [NestedOneofToCheckValidationSemantics](docs/NestedOneofToCheckValidationSemantics.md) - [NotMoreComplexSchema](docs/NotMoreComplexSchema.md) - [NulCharactersInStrings](docs/NulCharactersInStrings.md) - [NullTypeMatchesOnlyTheNullObject](docs/NullTypeMatchesOnlyTheNullObject.md) - [NumberTypeMatchesNumbers](docs/NumberTypeMatchesNumbers.md) - [ObjectPropertiesValidation](docs/ObjectPropertiesValidation.md) + - [Oneof](docs/Oneof.md) + - [OneofComplexTypes](docs/OneofComplexTypes.md) + - [OneofWithBaseSchema](docs/OneofWithBaseSchema.md) + - [OneofWithEmptySchema](docs/OneofWithEmptySchema.md) - [PatternIsNotAnchored](docs/PatternIsNotAnchored.md) - [PatternValidation](docs/PatternValidation.md) - [PropertiesWithEscapedCharacters](docs/PropertiesWithEscapedCharacters.md) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Anyof.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Anyof.md new file mode 100644 index 0000000000..2a5107e980 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Anyof.md @@ -0,0 +1,9 @@ +# Anyof + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AnyofComplexTypes.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AnyofComplexTypes.md new file mode 100644 index 0000000000..a6a3dcfa53 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AnyofComplexTypes.md @@ -0,0 +1,9 @@ +# AnyofComplexTypes + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AnyofWithBaseSchema.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AnyofWithBaseSchema.md new file mode 100644 index 0000000000..cf00c6413d --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AnyofWithBaseSchema.md @@ -0,0 +1,8 @@ +# AnyofWithBaseSchema + +Type | Description | Notes +------------- | ------------- | ------------- +**str** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AnyofWithOneEmptySchema.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AnyofWithOneEmptySchema.md new file mode 100644 index 0000000000..2d3666e55b --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/AnyofWithOneEmptySchema.md @@ -0,0 +1,9 @@ +# AnyofWithOneEmptySchema + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NestedAnyofToCheckValidationSemantics.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NestedAnyofToCheckValidationSemantics.md new file mode 100644 index 0000000000..d95966736d --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NestedAnyofToCheckValidationSemantics.md @@ -0,0 +1,9 @@ +# NestedAnyofToCheckValidationSemantics + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NestedOneofToCheckValidationSemantics.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NestedOneofToCheckValidationSemantics.md new file mode 100644 index 0000000000..06ba0d5e9e --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/NestedOneofToCheckValidationSemantics.md @@ -0,0 +1,9 @@ +# NestedOneofToCheckValidationSemantics + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Oneof.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Oneof.md new file mode 100644 index 0000000000..e42f38aff3 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/Oneof.md @@ -0,0 +1,9 @@ +# Oneof + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/OneofComplexTypes.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/OneofComplexTypes.md new file mode 100644 index 0000000000..e26c501afd --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/OneofComplexTypes.md @@ -0,0 +1,9 @@ +# OneofComplexTypes + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/OneofWithBaseSchema.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/OneofWithBaseSchema.md new file mode 100644 index 0000000000..f80a4e8b65 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/OneofWithBaseSchema.md @@ -0,0 +1,8 @@ +# OneofWithBaseSchema + +Type | Description | Notes +------------- | ------------- | ------------- +**str** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/OneofWithEmptySchema.md b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/OneofWithEmptySchema.md new file mode 100644 index 0000000000..1310a70f30 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/docs/OneofWithEmptySchema.md @@ -0,0 +1,9 @@ +# OneofWithEmptySchema + +#### Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_anyof.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_anyof.py new file mode 100644 index 0000000000..197c3449a9 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_anyof.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.anyof import Anyof +from unit_test_api import configuration + + +class TestAnyof(unittest.TestCase): + """Anyof unit test stubs""" + _configuration = configuration.Configuration() + + def test_second_anyof_valid_passes(self): + # second anyOf valid + Anyof._from_openapi_data( + 2.5, + _configuration=self._configuration + ) + + def test_neither_anyof_valid_fails(self): + # neither anyOf valid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + Anyof._from_openapi_data( + 1.5, + _configuration=self._configuration + ) + + def test_both_anyof_valid_passes(self): + # both anyOf valid + Anyof._from_openapi_data( + 3, + _configuration=self._configuration + ) + + def test_first_anyof_valid_passes(self): + # first anyOf valid + Anyof._from_openapi_data( + 1, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_anyof_complex_types.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_anyof_complex_types.py new file mode 100644 index 0000000000..eeb533e619 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_anyof_complex_types.py @@ -0,0 +1,70 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.anyof_complex_types import AnyofComplexTypes +from unit_test_api import configuration + + +class TestAnyofComplexTypes(unittest.TestCase): + """AnyofComplexTypes unit test stubs""" + _configuration = configuration.Configuration() + + def test_second_anyof_valid_complex_passes(self): + # second anyOf valid (complex) + AnyofComplexTypes._from_openapi_data( + { + "foo": + "baz", + }, + _configuration=self._configuration + ) + + def test_neither_anyof_valid_complex_fails(self): + # neither anyOf valid (complex) + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AnyofComplexTypes._from_openapi_data( + { + "foo": + 2, + "bar": + "quux", + }, + _configuration=self._configuration + ) + + def test_both_anyof_valid_complex_passes(self): + # both anyOf valid (complex) + AnyofComplexTypes._from_openapi_data( + { + "foo": + "baz", + "bar": + 2, + }, + _configuration=self._configuration + ) + + def test_first_anyof_valid_complex_passes(self): + # first anyOf valid (complex) + AnyofComplexTypes._from_openapi_data( + { + "bar": + 2, + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_anyof_with_base_schema.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_anyof_with_base_schema.py new file mode 100644 index 0000000000..96e03720d6 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_anyof_with_base_schema.py @@ -0,0 +1,48 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.anyof_with_base_schema import AnyofWithBaseSchema +from unit_test_api import configuration + + +class TestAnyofWithBaseSchema(unittest.TestCase): + """AnyofWithBaseSchema unit test stubs""" + _configuration = configuration.Configuration() + + def test_one_anyof_valid_passes(self): + # one anyOf valid + AnyofWithBaseSchema._from_openapi_data( + "foobar", + _configuration=self._configuration + ) + + def test_both_anyof_invalid_fails(self): + # both anyOf invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AnyofWithBaseSchema._from_openapi_data( + "foo", + _configuration=self._configuration + ) + + def test_mismatch_base_schema_fails(self): + # mismatch base schema + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + AnyofWithBaseSchema._from_openapi_data( + 3, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_anyof_with_one_empty_schema.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_anyof_with_one_empty_schema.py new file mode 100644 index 0000000000..dcb2c0ea80 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_anyof_with_one_empty_schema.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.anyof_with_one_empty_schema import AnyofWithOneEmptySchema +from unit_test_api import configuration + + +class TestAnyofWithOneEmptySchema(unittest.TestCase): + """AnyofWithOneEmptySchema unit test stubs""" + _configuration = configuration.Configuration() + + def test_string_is_valid_passes(self): + # string is valid + AnyofWithOneEmptySchema._from_openapi_data( + "foo", + _configuration=self._configuration + ) + + def test_number_is_valid_passes(self): + # number is valid + AnyofWithOneEmptySchema._from_openapi_data( + 123, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nested_anyof_to_check_validation_semantics.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nested_anyof_to_check_validation_semantics.py new file mode 100644 index 0000000000..9790a71c84 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nested_anyof_to_check_validation_semantics.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.nested_anyof_to_check_validation_semantics import NestedAnyofToCheckValidationSemantics +from unit_test_api import configuration + + +class TestNestedAnyofToCheckValidationSemantics(unittest.TestCase): + """NestedAnyofToCheckValidationSemantics unit test stubs""" + _configuration = configuration.Configuration() + + def test_anything_non_null_is_invalid_fails(self): + # anything non-null is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NestedAnyofToCheckValidationSemantics._from_openapi_data( + 123, + _configuration=self._configuration + ) + + def test_null_is_valid_passes(self): + # null is valid + NestedAnyofToCheckValidationSemantics._from_openapi_data( + None, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nested_oneof_to_check_validation_semantics.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nested_oneof_to_check_validation_semantics.py new file mode 100644 index 0000000000..48f2ffeb02 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_nested_oneof_to_check_validation_semantics.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.nested_oneof_to_check_validation_semantics import NestedOneofToCheckValidationSemantics +from unit_test_api import configuration + + +class TestNestedOneofToCheckValidationSemantics(unittest.TestCase): + """NestedOneofToCheckValidationSemantics unit test stubs""" + _configuration = configuration.Configuration() + + def test_anything_non_null_is_invalid_fails(self): + # anything non-null is invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + NestedOneofToCheckValidationSemantics._from_openapi_data( + 123, + _configuration=self._configuration + ) + + def test_null_is_valid_passes(self): + # null is valid + NestedOneofToCheckValidationSemantics._from_openapi_data( + None, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_oneof.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_oneof.py new file mode 100644 index 0000000000..5daa47d179 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_oneof.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.oneof import Oneof +from unit_test_api import configuration + + +class TestOneof(unittest.TestCase): + """Oneof unit test stubs""" + _configuration = configuration.Configuration() + + def test_second_oneof_valid_passes(self): + # second oneOf valid + Oneof._from_openapi_data( + 2.5, + _configuration=self._configuration + ) + + def test_both_oneof_valid_fails(self): + # both oneOf valid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + Oneof._from_openapi_data( + 3, + _configuration=self._configuration + ) + + def test_first_oneof_valid_passes(self): + # first oneOf valid + Oneof._from_openapi_data( + 1, + _configuration=self._configuration + ) + + def test_neither_oneof_valid_fails(self): + # neither oneOf valid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + Oneof._from_openapi_data( + 1.5, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_oneof_complex_types.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_oneof_complex_types.py new file mode 100644 index 0000000000..16e639618c --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_oneof_complex_types.py @@ -0,0 +1,71 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.oneof_complex_types import OneofComplexTypes +from unit_test_api import configuration + + +class TestOneofComplexTypes(unittest.TestCase): + """OneofComplexTypes unit test stubs""" + _configuration = configuration.Configuration() + + def test_first_oneof_valid_complex_passes(self): + # first oneOf valid (complex) + OneofComplexTypes._from_openapi_data( + { + "bar": + 2, + }, + _configuration=self._configuration + ) + + def test_neither_oneof_valid_complex_fails(self): + # neither oneOf valid (complex) + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + OneofComplexTypes._from_openapi_data( + { + "foo": + 2, + "bar": + "quux", + }, + _configuration=self._configuration + ) + + def test_both_oneof_valid_complex_fails(self): + # both oneOf valid (complex) + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + OneofComplexTypes._from_openapi_data( + { + "foo": + "baz", + "bar": + 2, + }, + _configuration=self._configuration + ) + + def test_second_oneof_valid_complex_passes(self): + # second oneOf valid (complex) + OneofComplexTypes._from_openapi_data( + { + "foo": + "baz", + }, + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_oneof_with_base_schema.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_oneof_with_base_schema.py new file mode 100644 index 0000000000..52e075c47c --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_oneof_with_base_schema.py @@ -0,0 +1,48 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.oneof_with_base_schema import OneofWithBaseSchema +from unit_test_api import configuration + + +class TestOneofWithBaseSchema(unittest.TestCase): + """OneofWithBaseSchema unit test stubs""" + _configuration = configuration.Configuration() + + def test_both_oneof_valid_fails(self): + # both oneOf valid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + OneofWithBaseSchema._from_openapi_data( + "foo", + _configuration=self._configuration + ) + + def test_mismatch_base_schema_fails(self): + # mismatch base schema + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + OneofWithBaseSchema._from_openapi_data( + 3, + _configuration=self._configuration + ) + + def test_one_oneof_valid_passes(self): + # one oneOf valid + OneofWithBaseSchema._from_openapi_data( + "foobar", + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_oneof_with_empty_schema.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_oneof_with_empty_schema.py new file mode 100644 index 0000000000..66b9d79990 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/test/test_oneof_with_empty_schema.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import unittest + +import unit_test_api +from unit_test_api.model.oneof_with_empty_schema import OneofWithEmptySchema +from unit_test_api import configuration + + +class TestOneofWithEmptySchema(unittest.TestCase): + """OneofWithEmptySchema unit test stubs""" + _configuration = configuration.Configuration() + + def test_both_valid_invalid_fails(self): + # both valid - invalid + with self.assertRaises((unit_test_api.ApiValueError, unit_test_api.ApiTypeError)): + OneofWithEmptySchema._from_openapi_data( + 123, + _configuration=self._configuration + ) + + def test_one_valid_valid_passes(self): + # one valid - valid + OneofWithEmptySchema._from_openapi_data( + "foo", + _configuration=self._configuration + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/anyof.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/anyof.py new file mode 100644 index 0000000000..b1d4591b55 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/anyof.py @@ -0,0 +1,137 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + NoneClass, + BoolClass, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class Anyof( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + anyOf_0 = IntSchema + + + class anyOf_1( + _SchemaValidator( + inclusive_minimum=2, + ), + AnyTypeSchema + ): + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'anyOf_1': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) + return { + 'allOf': [ + ], + 'oneOf': [ + ], + 'anyOf': [ + anyOf_0, + anyOf_1, + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'Anyof': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/anyof_complex_types.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/anyof_complex_types.py new file mode 100644 index 0000000000..918cb35d65 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/anyof_complex_types.py @@ -0,0 +1,163 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + NoneClass, + BoolClass, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class AnyofComplexTypes( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + + + class anyOf_0( + AnyTypeSchema + ): + _required_property_names = set(( + 'bar', + )) + bar = IntSchema + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + bar: bar, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'anyOf_0': + return super().__new__( + cls, + *args, + bar=bar, + _configuration=_configuration, + **kwargs, + ) + + + class anyOf_1( + AnyTypeSchema + ): + _required_property_names = set(( + 'foo', + )) + foo = StrSchema + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + foo: foo, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'anyOf_1': + return super().__new__( + cls, + *args, + foo=foo, + _configuration=_configuration, + **kwargs, + ) + return { + 'allOf': [ + ], + 'oneOf': [ + ], + 'anyOf': [ + anyOf_0, + anyOf_1, + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'AnyofComplexTypes': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/anyof_with_base_schema.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/anyof_with_base_schema.py new file mode 100644 index 0000000000..48f7374cb2 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/anyof_with_base_schema.py @@ -0,0 +1,156 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + NoneClass, + BoolClass, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class AnyofWithBaseSchema( + ComposedBase, + StrSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + + + class anyOf_0( + _SchemaValidator( + max_length=2, + ), + AnyTypeSchema + ): + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'anyOf_0': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) + + + class anyOf_1( + _SchemaValidator( + min_length=4, + ), + AnyTypeSchema + ): + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'anyOf_1': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) + return { + 'allOf': [ + ], + 'oneOf': [ + ], + 'anyOf': [ + anyOf_0, + anyOf_1, + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[str, ], + _configuration: typing.Optional[Configuration] = None, + ) -> 'AnyofWithBaseSchema': + return super().__new__( + cls, + *args, + _configuration=_configuration, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/anyof_with_one_empty_schema.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/anyof_with_one_empty_schema.py new file mode 100644 index 0000000000..ba318600bd --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/anyof_with_one_empty_schema.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + NoneClass, + BoolClass, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class AnyofWithOneEmptySchema( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + anyOf_0 = NumberSchema + anyOf_1 = AnyTypeSchema + return { + 'allOf': [ + ], + 'oneOf': [ + ], + 'anyOf': [ + anyOf_0, + anyOf_1, + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'AnyofWithOneEmptySchema': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_anyof_to_check_validation_semantics.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_anyof_to_check_validation_semantics.py new file mode 100644 index 0000000000..6c01a59bcc --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_anyof_to_check_validation_semantics.py @@ -0,0 +1,156 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + NoneClass, + BoolClass, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class NestedAnyofToCheckValidationSemantics( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + + + class anyOf_0( + ComposedSchema + ): + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + anyOf_0 = NoneSchema + return { + 'allOf': [ + ], + 'oneOf': [ + ], + 'anyOf': [ + anyOf_0, + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'anyOf_0': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) + return { + 'allOf': [ + ], + 'oneOf': [ + ], + 'anyOf': [ + anyOf_0, + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'NestedAnyofToCheckValidationSemantics': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_oneof_to_check_validation_semantics.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_oneof_to_check_validation_semantics.py new file mode 100644 index 0000000000..4f7280c4e0 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/nested_oneof_to_check_validation_semantics.py @@ -0,0 +1,156 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + NoneClass, + BoolClass, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class NestedOneofToCheckValidationSemantics( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + + + class oneOf_0( + ComposedSchema + ): + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + oneOf_0 = NoneSchema + return { + 'allOf': [ + ], + 'oneOf': [ + oneOf_0, + ], + 'anyOf': [ + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'oneOf_0': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) + return { + 'allOf': [ + ], + 'oneOf': [ + oneOf_0, + ], + 'anyOf': [ + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'NestedOneofToCheckValidationSemantics': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/oneof.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/oneof.py new file mode 100644 index 0000000000..70eb394c43 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/oneof.py @@ -0,0 +1,137 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + NoneClass, + BoolClass, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class Oneof( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + oneOf_0 = IntSchema + + + class oneOf_1( + _SchemaValidator( + inclusive_minimum=2, + ), + AnyTypeSchema + ): + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'oneOf_1': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) + return { + 'allOf': [ + ], + 'oneOf': [ + oneOf_0, + oneOf_1, + ], + 'anyOf': [ + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'Oneof': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/oneof_complex_types.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/oneof_complex_types.py new file mode 100644 index 0000000000..e3c9861ad4 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/oneof_complex_types.py @@ -0,0 +1,163 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + NoneClass, + BoolClass, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class OneofComplexTypes( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + + + class oneOf_0( + AnyTypeSchema + ): + _required_property_names = set(( + 'bar', + )) + bar = IntSchema + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + bar: bar, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'oneOf_0': + return super().__new__( + cls, + *args, + bar=bar, + _configuration=_configuration, + **kwargs, + ) + + + class oneOf_1( + AnyTypeSchema + ): + _required_property_names = set(( + 'foo', + )) + foo = StrSchema + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + foo: foo, + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'oneOf_1': + return super().__new__( + cls, + *args, + foo=foo, + _configuration=_configuration, + **kwargs, + ) + return { + 'allOf': [ + ], + 'oneOf': [ + oneOf_0, + oneOf_1, + ], + 'anyOf': [ + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'OneofComplexTypes': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/oneof_with_base_schema.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/oneof_with_base_schema.py new file mode 100644 index 0000000000..09bf4d2d52 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/oneof_with_base_schema.py @@ -0,0 +1,156 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + NoneClass, + BoolClass, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class OneofWithBaseSchema( + ComposedBase, + StrSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + + + class oneOf_0( + _SchemaValidator( + min_length=2, + ), + AnyTypeSchema + ): + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'oneOf_0': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) + + + class oneOf_1( + _SchemaValidator( + max_length=4, + ), + AnyTypeSchema + ): + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'oneOf_1': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) + return { + 'allOf': [ + ], + 'oneOf': [ + oneOf_0, + oneOf_1, + ], + 'anyOf': [ + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[str, ], + _configuration: typing.Optional[Configuration] = None, + ) -> 'OneofWithBaseSchema': + return super().__new__( + cls, + *args, + _configuration=_configuration, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/oneof_with_empty_schema.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/oneof_with_empty_schema.py new file mode 100644 index 0000000000..1ccdc627c9 --- /dev/null +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/model/oneof_with_empty_schema.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + openapi 3.0.3 sample spec + + sample spec for testing openapi functionality, built from json schema tests for draft6 # noqa: E501 + + The version of the OpenAPI document: 0.0.1 + Generated by: https://openapi-generator.tech +""" + +import re # noqa: F401 +import sys # noqa: F401 +import typing # noqa: F401 +import functools # noqa: F401 + +from frozendict import frozendict # noqa: F401 + +import decimal # noqa: F401 +from datetime import date, datetime # noqa: F401 +from frozendict import frozendict # noqa: F401 + +from unit_test_api.schemas import ( # noqa: F401 + AnyTypeSchema, + ComposedSchema, + DictSchema, + ListSchema, + StrSchema, + IntSchema, + Int32Schema, + Int64Schema, + Float32Schema, + Float64Schema, + NumberSchema, + UUIDSchema, + DateSchema, + DateTimeSchema, + DecimalSchema, + BoolSchema, + BinarySchema, + NoneSchema, + none_type, + Configuration, + Unset, + unset, + ComposedBase, + ListBase, + DictBase, + NoneBase, + StrBase, + IntBase, + Int32Base, + Int64Base, + Float32Base, + Float64Base, + NumberBase, + UUIDBase, + DateBase, + DateTimeBase, + BoolBase, + BinaryBase, + Schema, + NoneClass, + BoolClass, + _SchemaValidator, + _SchemaTypeChecker, + _SchemaEnumMaker +) + + +class OneofWithEmptySchema( + ComposedSchema +): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + @classmethod + @property + @functools.cache + def _composed_schemas(cls): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + oneOf_0 = NumberSchema + oneOf_1 = AnyTypeSchema + return { + 'allOf': [ + ], + 'oneOf': [ + oneOf_0, + oneOf_1, + ], + 'anyOf': [ + ], + 'not': + None + } + + def __new__( + cls, + *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes], + _configuration: typing.Optional[Configuration] = None, + **kwargs: typing.Type[Schema], + ) -> 'OneofWithEmptySchema': + return super().__new__( + cls, + *args, + _configuration=_configuration, + **kwargs, + ) diff --git a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/models/__init__.py b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/models/__init__.py index 1761a63a98..c794f6ca09 100644 --- a/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/models/__init__.py +++ b/samples/openapi3/client/3_0_3_unit_test/python-experimental/unit_test_api/models/__init__.py @@ -23,6 +23,10 @@ from unit_test_api.model.allof_with_one_empty_schema import AllofWithOneEmptySch from unit_test_api.model.allof_with_the_first_empty_schema import AllofWithTheFirstEmptySchema from unit_test_api.model.allof_with_the_last_empty_schema import AllofWithTheLastEmptySchema from unit_test_api.model.allof_with_two_empty_schemas import AllofWithTwoEmptySchemas +from unit_test_api.model.anyof import Anyof +from unit_test_api.model.anyof_complex_types import AnyofComplexTypes +from unit_test_api.model.anyof_with_base_schema import AnyofWithBaseSchema +from unit_test_api.model.anyof_with_one_empty_schema import AnyofWithOneEmptySchema from unit_test_api.model.array_type_matches_arrays import ArrayTypeMatchesArrays from unit_test_api.model.boolean_type_matches_booleans import BooleanTypeMatchesBooleans from unit_test_api.model.by_int import ByInt @@ -57,12 +61,18 @@ from unit_test_api.model.minlength_validation import MinlengthValidation from unit_test_api.model.minproperties_validation import MinpropertiesValidation from unit_test_api.model.model_not import ModelNot from unit_test_api.model.nested_allof_to_check_validation_semantics import NestedAllofToCheckValidationSemantics +from unit_test_api.model.nested_anyof_to_check_validation_semantics import NestedAnyofToCheckValidationSemantics from unit_test_api.model.nested_items import NestedItems +from unit_test_api.model.nested_oneof_to_check_validation_semantics import NestedOneofToCheckValidationSemantics from unit_test_api.model.not_more_complex_schema import NotMoreComplexSchema from unit_test_api.model.nul_characters_in_strings import NulCharactersInStrings from unit_test_api.model.null_type_matches_only_the_null_object import NullTypeMatchesOnlyTheNullObject from unit_test_api.model.number_type_matches_numbers import NumberTypeMatchesNumbers from unit_test_api.model.object_properties_validation import ObjectPropertiesValidation +from unit_test_api.model.oneof import Oneof +from unit_test_api.model.oneof_complex_types import OneofComplexTypes +from unit_test_api.model.oneof_with_base_schema import OneofWithBaseSchema +from unit_test_api.model.oneof_with_empty_schema import OneofWithEmptySchema from unit_test_api.model.pattern_is_not_anchored import PatternIsNotAnchored from unit_test_api.model.pattern_validation import PatternValidation from unit_test_api.model.properties_with_escaped_characters import PropertiesWithEscapedCharacters From a3269a056937f25046df6ac38cf6db63905f5bb1 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Fri, 15 Jul 2022 15:31:22 +0800 Subject: [PATCH 188/212] Add R GitHub action file (#12868) * fix travis, update rbuildignore * add comment --- .../codegen/languages/RClientCodegen.java | 1 + .../src/main/resources/r/.travis.yml | 1 + .../main/resources/r/Rbuildignore.mustache | 1 + .../src/main/resources/r/r-client.mustache | 26 +++++++++++++++++++ samples/client/petstore/R/.Rbuildignore | 1 + .../R/.github/workflows/r-client.yaml | 26 +++++++++++++++++++ .../petstore/R/.openapi-generator/FILES | 1 + samples/client/petstore/R/.travis.yml | 1 + 8 files changed, 58 insertions(+) create mode 100644 modules/openapi-generator/src/main/resources/r/r-client.mustache create mode 100644 samples/client/petstore/R/.github/workflows/r-client.yaml diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java index 3401ae3ae3..9fcf0f4a64 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java @@ -250,6 +250,7 @@ public class RClientCodegen extends DefaultCodegen implements CodegenConfig { supportingFiles.add(new SupportingFile("api_client.mustache", File.separator + "R", "api_client.R")); supportingFiles.add(new SupportingFile("NAMESPACE.mustache", "", "NAMESPACE")); supportingFiles.add(new SupportingFile("testthat.mustache", File.separator + "tests", "testthat.R")); + supportingFiles.add(new SupportingFile("r-client.mustache", File.separator + ".github" + File.separator + "workflows", "r-client.yaml")); // add lambda for mustache templates to fix license field additionalProperties.put("lambdaLicense", new Mustache.Lambda() { diff --git a/modules/openapi-generator/src/main/resources/r/.travis.yml b/modules/openapi-generator/src/main/resources/r/.travis.yml index 543bf1463d..b96a0ef5a8 100644 --- a/modules/openapi-generator/src/main/resources/r/.travis.yml +++ b/modules/openapi-generator/src/main/resources/r/.travis.yml @@ -6,6 +6,7 @@ cache: r_packages: - jsonlite - httr +- testthat # uncomment below to install deps with devtools #install: #- R -e 'devtools::install_deps(dep = T)' diff --git a/modules/openapi-generator/src/main/resources/r/Rbuildignore.mustache b/modules/openapi-generator/src/main/resources/r/Rbuildignore.mustache index b270aa54fb..b3cedf7751 100644 --- a/modules/openapi-generator/src/main/resources/r/Rbuildignore.mustache +++ b/modules/openapi-generator/src/main/resources/r/Rbuildignore.mustache @@ -11,6 +11,7 @@ ^\.gitignore$ ^\.openapi-generator-ignore$ ^\.travis\.yml$ +^\.github$ ^\.openapi-generator$ ^docs$ ^git_push\.sh$ diff --git a/modules/openapi-generator/src/main/resources/r/r-client.mustache b/modules/openapi-generator/src/main/resources/r/r-client.mustache new file mode 100644 index 0000000000..567ce17f2f --- /dev/null +++ b/modules/openapi-generator/src/main/resources/r/r-client.mustache @@ -0,0 +1,26 @@ +# This file is automatically generated by openapi-generator (https://openapi-generator.tech) +# +# Based on https://github.com/r-lib/actions/tree/v2/examples +on: + push: + branches: [main, master] + pull_request: + branches: [main, master] + +name: R-CMD-check + +jobs: + R-CMD-check: + runs-on: ubuntu-latest + env: + R_KEEP_PKG_SOURCE: yes + steps: + - uses: actions/checkout@v2 + - uses: r-lib/actions/setup-r@v2 + with: + use-public-rspm: true + - uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: any::rcmdcheck + needs: check + - uses: r-lib/actions/check-r-package@v2 diff --git a/samples/client/petstore/R/.Rbuildignore b/samples/client/petstore/R/.Rbuildignore index e146ddffb8..b87ca49775 100644 --- a/samples/client/petstore/R/.Rbuildignore +++ b/samples/client/petstore/R/.Rbuildignore @@ -11,6 +11,7 @@ ^\.gitignore$ ^\.openapi-generator-ignore$ ^\.travis\.yml$ +^\.github$ ^\.openapi-generator$ ^docs$ ^git_push\.sh$ diff --git a/samples/client/petstore/R/.github/workflows/r-client.yaml b/samples/client/petstore/R/.github/workflows/r-client.yaml new file mode 100644 index 0000000000..567ce17f2f --- /dev/null +++ b/samples/client/petstore/R/.github/workflows/r-client.yaml @@ -0,0 +1,26 @@ +# This file is automatically generated by openapi-generator (https://openapi-generator.tech) +# +# Based on https://github.com/r-lib/actions/tree/v2/examples +on: + push: + branches: [main, master] + pull_request: + branches: [main, master] + +name: R-CMD-check + +jobs: + R-CMD-check: + runs-on: ubuntu-latest + env: + R_KEEP_PKG_SOURCE: yes + steps: + - uses: actions/checkout@v2 + - uses: r-lib/actions/setup-r@v2 + with: + use-public-rspm: true + - uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: any::rcmdcheck + needs: check + - uses: r-lib/actions/check-r-package@v2 diff --git a/samples/client/petstore/R/.openapi-generator/FILES b/samples/client/petstore/R/.openapi-generator/FILES index 3046316ea3..3c5469b531 100644 --- a/samples/client/petstore/R/.openapi-generator/FILES +++ b/samples/client/petstore/R/.openapi-generator/FILES @@ -1,4 +1,5 @@ .Rbuildignore +.github/workflows/r-client.yaml .gitignore .travis.yml DESCRIPTION diff --git a/samples/client/petstore/R/.travis.yml b/samples/client/petstore/R/.travis.yml index 543bf1463d..b96a0ef5a8 100644 --- a/samples/client/petstore/R/.travis.yml +++ b/samples/client/petstore/R/.travis.yml @@ -6,6 +6,7 @@ cache: r_packages: - jsonlite - httr +- testthat # uncomment below to install deps with devtools #install: #- R -e 'devtools::install_deps(dep = T)' From f830adac5ba7d5cefb5e64ffb0deb3ef7cfa0657 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Petit?= Date: Fri, 15 Jul 2022 09:33:44 +0200 Subject: [PATCH 189/212] Add Glovo to the list of companies (#12870) --- README.md | 1 + website/src/dynamic/users.yml | 5 +++++ website/static/img/companies/glovo.svg | 1 + 3 files changed, 7 insertions(+) create mode 100644 website/static/img/companies/glovo.svg diff --git a/README.md b/README.md index dfc4a62b7c..277035284e 100644 --- a/README.md +++ b/README.md @@ -616,6 +616,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in - [Gantner](https://www.gantner.com) - [GenFlow](https://github.com/RepreZen/GenFlow) - [GetYourGuide](https://www.getyourguide.com/) +- [Glovo](https://glovoapp.com/) - [GMO Pepabo](https://pepabo.com/en/) - [GoDaddy](https://godaddy.com) - [Gumtree](https://gumtree.com) diff --git a/website/src/dynamic/users.yml b/website/src/dynamic/users.yml index 522d291fbf..4396c080f5 100644 --- a/website/src/dynamic/users.yml +++ b/website/src/dynamic/users.yml @@ -223,6 +223,11 @@ image: "img/companies/gm.png" infoLink: "https://www.giantmonkey.de/" pinned: true +- + caption: "Glovo" + image: "img/companies/glovo.svg" + infoLink: "https://glovoapp.com/" + pinned: false - caption: "GMO Pepabo" image: "img/companies/pepabo.png" diff --git a/website/static/img/companies/glovo.svg b/website/static/img/companies/glovo.svg new file mode 100644 index 0000000000..751f7fb4b3 --- /dev/null +++ b/website/static/img/companies/glovo.svg @@ -0,0 +1 @@ + \ No newline at end of file From 810a8b5937f181721c2cc5079a7fa22d1d434428 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Fri, 15 Jul 2022 11:35:34 +0200 Subject: [PATCH 190/212] [Typescript] Support text/plain by ObjectSerializer.stringify (#12799) * [Typescript] Support text/plain by ObjectSerializer.stringify * Update ObjectSerializer.mustache * Update ObjectSerializer.mustache * Update ObjectSerializer.ts * generate samples * generate samples * update samples, remove trailing spaces * Update modules/openapi-generator/src/main/resources/typescript/model/ObjectSerializer.mustache Co-authored-by: Esteban Gehring * regenerate samples * update samples Co-authored-by: William Cheng Co-authored-by: Esteban Gehring Co-authored-by: Esteban Gehring --- .../main/resources/typescript/model/ObjectSerializer.mustache | 4 ++++ .../builds/with-unique-items/models/ObjectSerializer.ts | 4 ++++ .../typescript/builds/browser/models/ObjectSerializer.ts | 4 ++++ .../builds/composed-schemas/models/ObjectSerializer.ts | 4 ++++ .../typescript/builds/default/models/ObjectSerializer.ts | 4 ++++ .../typescript/builds/deno/models/ObjectSerializer.ts | 4 ++++ .../typescript/builds/inversify/models/ObjectSerializer.ts | 4 ++++ .../typescript/builds/jquery/models/ObjectSerializer.ts | 4 ++++ .../builds/object_params/models/ObjectSerializer.ts | 4 ++++ 9 files changed, 36 insertions(+) diff --git a/modules/openapi-generator/src/main/resources/typescript/model/ObjectSerializer.mustache b/modules/openapi-generator/src/main/resources/typescript/model/ObjectSerializer.mustache index 8a88964898..2534008ab8 100644 --- a/modules/openapi-generator/src/main/resources/typescript/model/ObjectSerializer.mustache +++ b/modules/openapi-generator/src/main/resources/typescript/model/ObjectSerializer.mustache @@ -225,6 +225,10 @@ export class ObjectSerializer { * Convert data to a string according the given media type */ public static stringify(data: any, mediaType: string): string { + if (mediaType === "text/plain") { + return String(data); + } + if (mediaType === "application/json") { return JSON.stringify(data); } diff --git a/samples/client/others/typescript/builds/with-unique-items/models/ObjectSerializer.ts b/samples/client/others/typescript/builds/with-unique-items/models/ObjectSerializer.ts index 3f220e663a..02e7264cf8 100644 --- a/samples/client/others/typescript/builds/with-unique-items/models/ObjectSerializer.ts +++ b/samples/client/others/typescript/builds/with-unique-items/models/ObjectSerializer.ts @@ -197,6 +197,10 @@ export class ObjectSerializer { * Convert data to a string according the given media type */ public static stringify(data: any, mediaType: string): string { + if (mediaType === "text/plain") { + return String(data); + } + if (mediaType === "application/json") { return JSON.stringify(data); } diff --git a/samples/openapi3/client/petstore/typescript/builds/browser/models/ObjectSerializer.ts b/samples/openapi3/client/petstore/typescript/builds/browser/models/ObjectSerializer.ts index ef7c495e6a..6c5432f558 100644 --- a/samples/openapi3/client/petstore/typescript/builds/browser/models/ObjectSerializer.ts +++ b/samples/openapi3/client/petstore/typescript/builds/browser/models/ObjectSerializer.ts @@ -214,6 +214,10 @@ export class ObjectSerializer { * Convert data to a string according the given media type */ public static stringify(data: any, mediaType: string): string { + if (mediaType === "text/plain") { + return String(data); + } + if (mediaType === "application/json") { return JSON.stringify(data); } diff --git a/samples/openapi3/client/petstore/typescript/builds/composed-schemas/models/ObjectSerializer.ts b/samples/openapi3/client/petstore/typescript/builds/composed-schemas/models/ObjectSerializer.ts index 2667fd9097..6b3b745cbb 100644 --- a/samples/openapi3/client/petstore/typescript/builds/composed-schemas/models/ObjectSerializer.ts +++ b/samples/openapi3/client/petstore/typescript/builds/composed-schemas/models/ObjectSerializer.ts @@ -226,6 +226,10 @@ export class ObjectSerializer { * Convert data to a string according the given media type */ public static stringify(data: any, mediaType: string): string { + if (mediaType === "text/plain") { + return String(data); + } + if (mediaType === "application/json") { return JSON.stringify(data); } diff --git a/samples/openapi3/client/petstore/typescript/builds/default/models/ObjectSerializer.ts b/samples/openapi3/client/petstore/typescript/builds/default/models/ObjectSerializer.ts index ef7c495e6a..6c5432f558 100644 --- a/samples/openapi3/client/petstore/typescript/builds/default/models/ObjectSerializer.ts +++ b/samples/openapi3/client/petstore/typescript/builds/default/models/ObjectSerializer.ts @@ -214,6 +214,10 @@ export class ObjectSerializer { * Convert data to a string according the given media type */ public static stringify(data: any, mediaType: string): string { + if (mediaType === "text/plain") { + return String(data); + } + if (mediaType === "application/json") { return JSON.stringify(data); } diff --git a/samples/openapi3/client/petstore/typescript/builds/deno/models/ObjectSerializer.ts b/samples/openapi3/client/petstore/typescript/builds/deno/models/ObjectSerializer.ts index 67c7189569..cfe71122b0 100644 --- a/samples/openapi3/client/petstore/typescript/builds/deno/models/ObjectSerializer.ts +++ b/samples/openapi3/client/petstore/typescript/builds/deno/models/ObjectSerializer.ts @@ -214,6 +214,10 @@ export class ObjectSerializer { * Convert data to a string according the given media type */ public static stringify(data: any, mediaType: string): string { + if (mediaType === "text/plain") { + return String(data); + } + if (mediaType === "application/json") { return JSON.stringify(data); } diff --git a/samples/openapi3/client/petstore/typescript/builds/inversify/models/ObjectSerializer.ts b/samples/openapi3/client/petstore/typescript/builds/inversify/models/ObjectSerializer.ts index ef7c495e6a..6c5432f558 100644 --- a/samples/openapi3/client/petstore/typescript/builds/inversify/models/ObjectSerializer.ts +++ b/samples/openapi3/client/petstore/typescript/builds/inversify/models/ObjectSerializer.ts @@ -214,6 +214,10 @@ export class ObjectSerializer { * Convert data to a string according the given media type */ public static stringify(data: any, mediaType: string): string { + if (mediaType === "text/plain") { + return String(data); + } + if (mediaType === "application/json") { return JSON.stringify(data); } diff --git a/samples/openapi3/client/petstore/typescript/builds/jquery/models/ObjectSerializer.ts b/samples/openapi3/client/petstore/typescript/builds/jquery/models/ObjectSerializer.ts index ef7c495e6a..6c5432f558 100644 --- a/samples/openapi3/client/petstore/typescript/builds/jquery/models/ObjectSerializer.ts +++ b/samples/openapi3/client/petstore/typescript/builds/jquery/models/ObjectSerializer.ts @@ -214,6 +214,10 @@ export class ObjectSerializer { * Convert data to a string according the given media type */ public static stringify(data: any, mediaType: string): string { + if (mediaType === "text/plain") { + return String(data); + } + if (mediaType === "application/json") { return JSON.stringify(data); } diff --git a/samples/openapi3/client/petstore/typescript/builds/object_params/models/ObjectSerializer.ts b/samples/openapi3/client/petstore/typescript/builds/object_params/models/ObjectSerializer.ts index ef7c495e6a..6c5432f558 100644 --- a/samples/openapi3/client/petstore/typescript/builds/object_params/models/ObjectSerializer.ts +++ b/samples/openapi3/client/petstore/typescript/builds/object_params/models/ObjectSerializer.ts @@ -214,6 +214,10 @@ export class ObjectSerializer { * Convert data to a string according the given media type */ public static stringify(data: any, mediaType: string): string { + if (mediaType === "text/plain") { + return String(data); + } + if (mediaType === "application/json") { return JSON.stringify(data); } From 87aab5a1f3f2f65a9398a9dcbc68dd143ee11a90 Mon Sep 17 00:00:00 2001 From: stropho <3704482+stropho@users.noreply.github.com> Date: Fri, 15 Jul 2022 11:39:26 +0200 Subject: [PATCH 191/212] [typescript-axios] discriminator type in template (#12878) * feat(typescript-axios) discriminator type * add samples --- .../resources/typescript-axios/modelOneOf.mustache | 11 ++++++++++- .../api.ts | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/typescript-axios/modelOneOf.mustache b/modules/openapi-generator/src/main/resources/typescript-axios/modelOneOf.mustache index bf7ac86684..bfc9fb0bd8 100644 --- a/modules/openapi-generator/src/main/resources/typescript-axios/modelOneOf.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-axios/modelOneOf.mustache @@ -3,4 +3,13 @@ * {{{.}}}{{/description}} * @export */ -export type {{classname}} = {{#oneOf}}{{{.}}}{{^-last}} | {{/-last}}{{/oneOf}}; +export type {{classname}} = {{#discriminator}}{{! + +discriminator with mapped models - TypeScript discriminating union +}}{{#mappedModels}}{ {{discriminator.propertyName}}: '{{mappingName}}' } & {{modelName}}{{^-last}} | {{/-last}}{{/mappedModels}}{{! + +discriminator only - fallback to not use the discriminator. Default model names are available but possibility of having null/nullable values could introduce more edge cases +}}{{^mappedModels}}{{#oneOf}}{{{.}}}{{^-last}} | {{/-last}}{{/oneOf}}{{/mappedModels}}{{/discriminator}}{{! + +plain oneOf +}}{{^discriminator}}{{#oneOf}}{{{.}}}{{^-last}} | {{/-last}}{{/oneOf}}{{/discriminator}}; diff --git a/samples/client/petstore/typescript-axios/builds/with-fake-endpoints-models-for-testing-with-http-signature/api.ts b/samples/client/petstore/typescript-axios/builds/with-fake-endpoints-models-for-testing-with-http-signature/api.ts index 011278f1ef..393e19a74e 100644 --- a/samples/client/petstore/typescript-axios/builds/with-fake-endpoints-models-for-testing-with-http-signature/api.ts +++ b/samples/client/petstore/typescript-axios/builds/with-fake-endpoints-models-for-testing-with-http-signature/api.ts @@ -700,7 +700,7 @@ export interface List { * @type Mammal * @export */ -export type Mammal = Whale | Zebra; +export type Mammal = { className: 'whale' } & Whale | { className: 'zebra' } & Zebra; /** * From 5fb40e571eab6a0fd4117e0cf44fac847eb075da Mon Sep 17 00:00:00 2001 From: sebastien-allard Date: Fri, 15 Jul 2022 11:25:54 -0400 Subject: [PATCH 192/212] [BUG][typescript] Unnecessary semicolon [sonar(typescript:S1116)] (#12863) * [BUG][typescript] Unnecessary semicolon [sonar(typescript:S1116)] Making generated stringEnum compliant with Sonar rule: https://rules.sonarsource.com/typescript/RSPEC-1116 * [BUG][typescript] Unnecessary semicolon [sonar(typescript:S1116)] Making generated stringEnum compliant with Sonar rule: https://rules.sonarsource.com/typescript/RSPEC-1116 --- .../src/main/resources/typescript-angular/modelEnum.mustache | 4 ++-- .../src/main/resources/typescript-nestjs/modelEnum.mustache | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/typescript-angular/modelEnum.mustache b/modules/openapi-generator/src/main/resources/typescript-angular/modelEnum.mustache index 4695a611e7..7a7d2299e1 100644 --- a/modules/openapi-generator/src/main/resources/typescript-angular/modelEnum.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-angular/modelEnum.mustache @@ -5,7 +5,7 @@ export enum {{classname}} { {{name}} = {{{value}}}{{^-last}},{{/-last}} {{/enumVars}} {{/allowableValues}} -}; +} {{/stringEnums}} {{^stringEnums}} export type {{classname}} = {{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}} | {{/-last}}{{/enumVars}}{{/allowableValues}}; @@ -17,4 +17,4 @@ export const {{classname}} = { {{/enumVars}} {{/allowableValues}} }; -{{/stringEnums}} \ No newline at end of file +{{/stringEnums}} diff --git a/modules/openapi-generator/src/main/resources/typescript-nestjs/modelEnum.mustache b/modules/openapi-generator/src/main/resources/typescript-nestjs/modelEnum.mustache index 4695a611e7..7a7d2299e1 100644 --- a/modules/openapi-generator/src/main/resources/typescript-nestjs/modelEnum.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-nestjs/modelEnum.mustache @@ -5,7 +5,7 @@ export enum {{classname}} { {{name}} = {{{value}}}{{^-last}},{{/-last}} {{/enumVars}} {{/allowableValues}} -}; +} {{/stringEnums}} {{^stringEnums}} export type {{classname}} = {{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}} | {{/-last}}{{/enumVars}}{{/allowableValues}}; @@ -17,4 +17,4 @@ export const {{classname}} = { {{/enumVars}} {{/allowableValues}} }; -{{/stringEnums}} \ No newline at end of file +{{/stringEnums}} From ed6280b0f7ec9b027aea413ba2330641fb08b5d0 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sat, 16 Jul 2022 16:33:23 +0800 Subject: [PATCH 193/212] add roxygen2 to workflow (#12880) --- .../src/main/resources/r/r-client.mustache | 7 +++++++ samples/client/petstore/R/.github/workflows/r-client.yaml | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/modules/openapi-generator/src/main/resources/r/r-client.mustache b/modules/openapi-generator/src/main/resources/r/r-client.mustache index 567ce17f2f..b9d883ec4c 100644 --- a/modules/openapi-generator/src/main/resources/r/r-client.mustache +++ b/modules/openapi-generator/src/main/resources/r/r-client.mustache @@ -23,4 +23,11 @@ jobs: with: extra-packages: any::rcmdcheck needs: check + - name: Install roxygen2 + run: install.packages("roxygen2") + shell: Rscript {0} + - name: Roxygenize + run: | + roxygen2::roxygenize('.', roclets = c('rd', 'collate', 'namespace')) + shell: Rscript {0} - uses: r-lib/actions/check-r-package@v2 diff --git a/samples/client/petstore/R/.github/workflows/r-client.yaml b/samples/client/petstore/R/.github/workflows/r-client.yaml index 567ce17f2f..b9d883ec4c 100644 --- a/samples/client/petstore/R/.github/workflows/r-client.yaml +++ b/samples/client/petstore/R/.github/workflows/r-client.yaml @@ -23,4 +23,11 @@ jobs: with: extra-packages: any::rcmdcheck needs: check + - name: Install roxygen2 + run: install.packages("roxygen2") + shell: Rscript {0} + - name: Roxygenize + run: | + roxygen2::roxygenize('.', roclets = c('rd', 'collate', 'namespace')) + shell: Rscript {0} - uses: r-lib/actions/check-r-package@v2 From 40c87e125c65d1a92604db38d1dc147d2dae6789 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sat, 16 Jul 2022 16:33:41 +0800 Subject: [PATCH 194/212] fix stream_callback doc (#12879) --- .../src/main/resources/r/api_doc.mustache | 14 +++++++++++++- samples/client/petstore/R/docs/PetApi.md | 4 +++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/r/api_doc.mustache b/modules/openapi-generator/src/main/resources/r/api_doc.mustache index e5c678efc7..ea99453e93 100644 --- a/modules/openapi-generator/src/main/resources/r/api_doc.mustache +++ b/modules/openapi-generator/src/main/resources/r/api_doc.mustache @@ -52,8 +52,12 @@ result <- tryCatch( {{#returnType}} # to save the result into a file, simply add the optional `data_file` parameter, e.g. # api_instance${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}} = var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}{{#allParams}}{{#-first}}, {{/-first}}{{/allParams}}data_file = "result.txt"), + {{#vendorExtensions.x-streaming}} + # this endpoint supports data streaming via a callback function using the optional `stream_callback` parameter, e.g. + # api_instance${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}} = var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}{{#allParams}}{{#-first}}, {{/-first}}{{/allParams}}stream_callback = function(x){ print(length(x)) }), + {{/vendorExtensions.x-streaming}} {{/returnType}} - api_instance${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}} = var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}{{#vendorExtensions.x-streaming}}, stream_callback = function(x){ print(length(x)) }{{/vendorExtensions.x-streaming}}), + api_instance${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}} = var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}), ApiException = function(ex) ex ) # In case of error, print the error object @@ -72,6 +76,14 @@ if (!is.null(result$ApiException)) { {{/useRlangExceptionHandling}} {{/returnExceptionOnFailure}} {{^useRlangExceptionHandling}} +{{#returnType}} +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}} = var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}data_file = "result.txt") +{{/returnType}} +{{#vendorExtensions.x-streaming}} +# this endpoint supports data streaming via a callback function using the optional `stream_callback` parameter, e.g. +# api_instance${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}} = var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}{{#allParams}}{{#-first}}, {{/-first}}{{/allParams}}stream_callback = function(x){ print(length(x)) }) +{{/vendorExtensions.x-streaming}} {{#returnType}}result <- {{/returnType}}api_instance${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}} = var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}) {{#returnType}} dput(result) diff --git a/samples/client/petstore/R/docs/PetApi.md b/samples/client/petstore/R/docs/PetApi.md index 3ac22efa25..7211545a44 100644 --- a/samples/client/petstore/R/docs/PetApi.md +++ b/samples/client/petstore/R/docs/PetApi.md @@ -338,7 +338,9 @@ api_instance$api_client$api_keys['api_key'] <- 'TODO_YOUR_API_KEY'; result <- tryCatch( # to save the result into a file, simply add the optional `data_file` parameter, e.g. # api_instance$GetPetByIdStreaming(var_pet_id, data_file = "result.txt"), - api_instance$GetPetByIdStreaming(var_pet_id, stream_callback = function(x){ print(length(x)) }), + # this endpoint supports data streaming via a callback function using the optional `stream_callback` parameter, e.g. + # api_instance$GetPetByIdStreaming(var_pet_id, stream_callback = function(x){ print(length(x)) }), + api_instance$GetPetByIdStreaming(var_pet_id), ApiException = function(ex) ex ) # In case of error, print the error object From cb462851b5540b065f994ad6f77542d168972437 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sat, 16 Jul 2022 17:12:59 +0800 Subject: [PATCH 195/212] Add documentations for schema mapping and inline schema naming (#12892) --- docs/customization.md | 48 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/docs/customization.md b/docs/customization.md index 8606d09f68..e7c7cebc55 100644 --- a/docs/customization.md +++ b/docs/customization.md @@ -394,3 +394,51 @@ or ``` --import-mappings Pet=my.models.MyPet --import-mappings Order=my.models.MyOrder ``` + +## Schema Mapping + +One can map the schema to someting else (e.g. external objects/models outside of the package) using the `schemaMappings` option, e.g. in CLI +```sh +java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/type-alias.yaml -o /tmp/java2/ --schema-mapping TypeAlias=foo.bar.TypeAlias +``` +Another example (in conjunction with --type-mappings): +```sh +java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i /tmp/alias.yaml -o /tmp/alias/ --schema-mappings stream=org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody --type-mappings string+binary=stream +``` +while /tmp/alias.yaml is as follows: +```yaml +openapi: 3.0.3 +info: + title: Demo app + version: 1.0.0 +servers: + - url: /api/v1 +paths: + /demo: + get: + summary: Demo + operationId: demo + responses: + '200': + description: Demo response + content: + text/csv: + schema: + type: string + format: binary +``` + +## Inline Schema Naming + +Inline schemas are created as separate schemas automatically and the auto-generated schema name may not look good to everyone. One can customize the name using the `title` field or the `inlineSchemaNameMapping` option, e.g. in CLI + +``` +java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/inline_model_resolver.yaml -o /tmp/java3/ --skip-validate-spec --inline-schema-name-mappings inline_object_2=SomethingMapped,inline_object_4=nothing_new +``` + +Another useful option is `inlineSchemaNameDefaults`, which allows you to customize the suffix of the auto-generated inline schema name, e.g. in CLI +``` +--inline-schema-name-defaults arrayItemSuffix=_array_item +``` + +Note: Only arrayItemSuffix, mapItemSuffix are supported at the moment. From bf604a08abdc7109151c0900db339c141077cfb9 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Sat, 16 Jul 2022 11:20:30 +0200 Subject: [PATCH 196/212] Java: Add `toString` method to ApiException (#12851) Previously, only the class name appeared in stacktrace whereas now relevant details are added. This applies to most Java-related generators. --- .../src/main/resources/Java/apiException.mustache | 9 +++++++++ .../src/main/resources/JavaJaxRS/ApiException.mustache | 7 ++++++- .../resources/JavaJaxRS/resteasy/ApiException.mustache | 7 ++++++- .../src/main/resources/JavaSpring/apiException.mustache | 7 ++++++- .../src/main/resources/android/apiException.mustache | 8 ++++++++ .../android/libraries/volley/apiException.mustache | 8 ++++++++ .../resources/java-msf4j-server/ApiException.mustache | 7 ++++++- .../main/java/org/openapitools/client/ApiException.java | 9 +++++++++ .../main/java/org/openapitools/client/ApiException.java | 9 +++++++++ .../main/java/org/openapitools/client/ApiException.java | 9 +++++++++ .../src/gen/java/org/openapitools/api/ApiException.java | 7 ++++++- .../src/gen/java/org/openapitools/api/ApiException.java | 7 ++++++- .../src/gen/java/org/openapitools/api/ApiException.java | 7 ++++++- .../src/gen/java/org/openapitools/api/ApiException.java | 7 ++++++- .../src/gen/java/org/openapitools/api/ApiException.java | 7 ++++++- .../src/gen/java/org/openapitools/api/ApiException.java | 7 ++++++- .../src/gen/java/org/openapitools/api/ApiException.java | 7 ++++++- .../src/gen/java/org/openapitools/api/ApiException.java | 7 ++++++- .../src/gen/java/org/openapitools/api/ApiException.java | 7 ++++++- .../src/gen/java/org/openapitools/api/ApiException.java | 7 ++++++- 20 files changed, 136 insertions(+), 14 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/Java/apiException.mustache b/modules/openapi-generator/src/main/resources/Java/apiException.mustache index 5b450c9ba6..966663f805 100644 --- a/modules/openapi-generator/src/main/resources/Java/apiException.mustache +++ b/modules/openapi-generator/src/main/resources/Java/apiException.mustache @@ -77,4 +77,13 @@ public class ApiException extends{{#useRuntimeException}} RuntimeException {{/us public String getResponseBody() { return responseBody; } + + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + ", responseHeaders=" + responseHeaders + + ", responseBody='" + responseBody + '\'' + + '}'; + } } diff --git a/modules/openapi-generator/src/main/resources/JavaJaxRS/ApiException.mustache b/modules/openapi-generator/src/main/resources/JavaJaxRS/ApiException.mustache index 7425066268..d4fcf5903f 100644 --- a/modules/openapi-generator/src/main/resources/JavaJaxRS/ApiException.mustache +++ b/modules/openapi-generator/src/main/resources/JavaJaxRS/ApiException.mustache @@ -5,7 +5,6 @@ package {{apiPackage}}; */ {{>generatedAnnotation}} public class ApiException extends Exception { - /** The HTTP status code. */ private int code; @@ -29,4 +28,10 @@ public class ApiException extends Exception { return code; } + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + '}'; + } } diff --git a/modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/ApiException.mustache b/modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/ApiException.mustache index 7425066268..d4fcf5903f 100644 --- a/modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/ApiException.mustache +++ b/modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/ApiException.mustache @@ -5,7 +5,6 @@ package {{apiPackage}}; */ {{>generatedAnnotation}} public class ApiException extends Exception { - /** The HTTP status code. */ private int code; @@ -29,4 +28,10 @@ public class ApiException extends Exception { return code; } + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + '}'; + } } diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/apiException.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/apiException.mustache index 9fe41f182e..e965bb9912 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/apiException.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/apiException.mustache @@ -12,7 +12,6 @@ import javax.annotation.Generated; */ {{>generatedAnnotation}} public class ApiException extends Exception { - /** The HTTP status code. */ private int code; @@ -36,4 +35,10 @@ public class ApiException extends Exception { return code; } + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + '}'; + } } diff --git a/modules/openapi-generator/src/main/resources/android/apiException.mustache b/modules/openapi-generator/src/main/resources/android/apiException.mustache index 8d9da2fbe5..9411b22cff 100644 --- a/modules/openapi-generator/src/main/resources/android/apiException.mustache +++ b/modules/openapi-generator/src/main/resources/android/apiException.mustache @@ -27,4 +27,12 @@ public class ApiException extends Exception { public void setMessage(String message) { this.message = message; } + + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + ", message=" + message + + '}'; + } } diff --git a/modules/openapi-generator/src/main/resources/android/libraries/volley/apiException.mustache b/modules/openapi-generator/src/main/resources/android/libraries/volley/apiException.mustache index 381af8fb4b..d871e4fd2b 100644 --- a/modules/openapi-generator/src/main/resources/android/libraries/volley/apiException.mustache +++ b/modules/openapi-generator/src/main/resources/android/libraries/volley/apiException.mustache @@ -47,4 +47,12 @@ public class ApiException extends Exception { public void setMessage(String message) { this.message = message; } + + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + ", message=" + message + + '}'; + } } diff --git a/modules/openapi-generator/src/main/resources/java-msf4j-server/ApiException.mustache b/modules/openapi-generator/src/main/resources/java-msf4j-server/ApiException.mustache index 7425066268..d4fcf5903f 100644 --- a/modules/openapi-generator/src/main/resources/java-msf4j-server/ApiException.mustache +++ b/modules/openapi-generator/src/main/resources/java-msf4j-server/ApiException.mustache @@ -5,7 +5,6 @@ package {{apiPackage}}; */ {{>generatedAnnotation}} public class ApiException extends Exception { - /** The HTTP status code. */ private int code; @@ -29,4 +28,10 @@ public class ApiException extends Exception { return code; } + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + '}'; + } } diff --git a/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/ApiException.java b/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/ApiException.java index c814fc5bbc..aad89dd6bd 100644 --- a/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/ApiException.java +++ b/samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/ApiException.java @@ -88,4 +88,13 @@ public class ApiException extends Exception { public String getResponseBody() { return responseBody; } + + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + ", responseHeaders=" + responseHeaders + + ", responseBody='" + responseBody + '\'' + + '}'; + } } diff --git a/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/ApiException.java b/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/ApiException.java index c814fc5bbc..aad89dd6bd 100644 --- a/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/ApiException.java +++ b/samples/client/petstore/java/jersey1/src/main/java/org/openapitools/client/ApiException.java @@ -88,4 +88,13 @@ public class ApiException extends Exception { public String getResponseBody() { return responseBody; } + + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + ", responseHeaders=" + responseHeaders + + ", responseBody='" + responseBody + '\'' + + '}'; + } } diff --git a/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/ApiException.java b/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/ApiException.java index c814fc5bbc..aad89dd6bd 100644 --- a/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/ApiException.java +++ b/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/ApiException.java @@ -88,4 +88,13 @@ public class ApiException extends Exception { public String getResponseBody() { return responseBody; } + + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + ", responseHeaders=" + responseHeaders + + ", responseBody='" + responseBody + '\'' + + '}'; + } } diff --git a/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/api/ApiException.java b/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/api/ApiException.java index 5eafa7b4ca..8787cb0f86 100644 --- a/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/api/ApiException.java +++ b/samples/server/petstore/java-msf4j/src/gen/java/org/openapitools/api/ApiException.java @@ -5,7 +5,6 @@ package org.openapitools.api; */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaMSF4JServerCodegen") public class ApiException extends Exception { - /** The HTTP status code. */ private int code; @@ -29,4 +28,10 @@ public class ApiException extends Exception { return code; } + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + '}'; + } } diff --git a/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/api/ApiException.java b/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/api/ApiException.java index 342a4a4f17..405b216d22 100644 --- a/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/api/ApiException.java +++ b/samples/server/petstore/jaxrs-datelib-j8/src/gen/java/org/openapitools/api/ApiException.java @@ -5,7 +5,6 @@ package org.openapitools.api; */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJerseyServerCodegen") public class ApiException extends Exception { - /** The HTTP status code. */ private int code; @@ -29,4 +28,10 @@ public class ApiException extends Exception { return code; } + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + '}'; + } } diff --git a/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/api/ApiException.java b/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/api/ApiException.java index 342a4a4f17..405b216d22 100644 --- a/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/api/ApiException.java +++ b/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/api/ApiException.java @@ -5,7 +5,6 @@ package org.openapitools.api; */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJerseyServerCodegen") public class ApiException extends Exception { - /** The HTTP status code. */ private int code; @@ -29,4 +28,10 @@ public class ApiException extends Exception { return code; } + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + '}'; + } } diff --git a/samples/server/petstore/jaxrs-resteasy/default/src/gen/java/org/openapitools/api/ApiException.java b/samples/server/petstore/jaxrs-resteasy/default/src/gen/java/org/openapitools/api/ApiException.java index 6e0c12c35c..2824b5e00d 100644 --- a/samples/server/petstore/jaxrs-resteasy/default/src/gen/java/org/openapitools/api/ApiException.java +++ b/samples/server/petstore/jaxrs-resteasy/default/src/gen/java/org/openapitools/api/ApiException.java @@ -5,7 +5,6 @@ package org.openapitools.api; */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") public class ApiException extends Exception { - /** The HTTP status code. */ private int code; @@ -29,4 +28,10 @@ public class ApiException extends Exception { return code; } + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + '}'; + } } diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/ApiException.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/ApiException.java index 6e0c12c35c..2824b5e00d 100644 --- a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/ApiException.java +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/ApiException.java @@ -5,7 +5,6 @@ package org.openapitools.api; */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") public class ApiException extends Exception { - /** The HTTP status code. */ private int code; @@ -29,4 +28,10 @@ public class ApiException extends Exception { return code; } + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + '}'; + } } diff --git a/samples/server/petstore/jaxrs-resteasy/joda/src/gen/java/org/openapitools/api/ApiException.java b/samples/server/petstore/jaxrs-resteasy/joda/src/gen/java/org/openapitools/api/ApiException.java index 6e0c12c35c..2824b5e00d 100644 --- a/samples/server/petstore/jaxrs-resteasy/joda/src/gen/java/org/openapitools/api/ApiException.java +++ b/samples/server/petstore/jaxrs-resteasy/joda/src/gen/java/org/openapitools/api/ApiException.java @@ -5,7 +5,6 @@ package org.openapitools.api; */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") public class ApiException extends Exception { - /** The HTTP status code. */ private int code; @@ -29,4 +28,10 @@ public class ApiException extends Exception { return code; } + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + '}'; + } } diff --git a/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/api/ApiException.java b/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/api/ApiException.java index 342a4a4f17..405b216d22 100644 --- a/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/api/ApiException.java +++ b/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/api/ApiException.java @@ -5,7 +5,6 @@ package org.openapitools.api; */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJerseyServerCodegen") public class ApiException extends Exception { - /** The HTTP status code. */ private int code; @@ -29,4 +28,10 @@ public class ApiException extends Exception { return code; } + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + '}'; + } } diff --git a/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/api/ApiException.java b/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/api/ApiException.java index 342a4a4f17..405b216d22 100644 --- a/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/api/ApiException.java +++ b/samples/server/petstore/jaxrs/jersey1/src/gen/java/org/openapitools/api/ApiException.java @@ -5,7 +5,6 @@ package org.openapitools.api; */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJerseyServerCodegen") public class ApiException extends Exception { - /** The HTTP status code. */ private int code; @@ -29,4 +28,10 @@ public class ApiException extends Exception { return code; } + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + '}'; + } } diff --git a/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/api/ApiException.java b/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/api/ApiException.java index 342a4a4f17..405b216d22 100644 --- a/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/api/ApiException.java +++ b/samples/server/petstore/jaxrs/jersey2-useTags/src/gen/java/org/openapitools/api/ApiException.java @@ -5,7 +5,6 @@ package org.openapitools.api; */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJerseyServerCodegen") public class ApiException extends Exception { - /** The HTTP status code. */ private int code; @@ -29,4 +28,10 @@ public class ApiException extends Exception { return code; } + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + '}'; + } } diff --git a/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/api/ApiException.java b/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/api/ApiException.java index 342a4a4f17..405b216d22 100644 --- a/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/api/ApiException.java +++ b/samples/server/petstore/jaxrs/jersey2/src/gen/java/org/openapitools/api/ApiException.java @@ -5,7 +5,6 @@ package org.openapitools.api; */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJerseyServerCodegen") public class ApiException extends Exception { - /** The HTTP status code. */ private int code; @@ -29,4 +28,10 @@ public class ApiException extends Exception { return code; } + @Override + public String toString() { + return "ApiException{" + + "code=" + code + + '}'; + } } From e2b9f39b1905ec20db3aa67a03fed8eeb4cdbe0c Mon Sep 17 00:00:00 2001 From: Thomas Hansen Date: Sat, 16 Jul 2022 11:21:42 +0200 Subject: [PATCH 197/212] [PHP] ObjectSerializer::deserialize() associative arrays bugfix (#12849) * [PHP] ObjectSerializer::deserialize(): fix bug with json_encode * [AUTOGENERATED] update samples --- .../src/main/resources/php/ObjectSerializer.mustache | 5 +++++ .../petstore/php/OpenAPIClient-php/lib/ObjectSerializer.php | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/modules/openapi-generator/src/main/resources/php/ObjectSerializer.mustache b/modules/openapi-generator/src/main/resources/php/ObjectSerializer.mustache index 6b27c09d5f..20122a9550 100644 --- a/modules/openapi-generator/src/main/resources/php/ObjectSerializer.mustache +++ b/modules/openapi-generator/src/main/resources/php/ObjectSerializer.mustache @@ -446,6 +446,11 @@ class ObjectSerializer return $data; } else { $data = is_string($data) ? json_decode($data) : $data; + + if (is_array($data)) { + $data = (object)$data; + } + // If a discriminator is defined and points to a valid subclass, use it. $discriminator = $class::DISCRIMINATOR; if (!empty($discriminator) && isset($data->{$discriminator}) && is_string($data->{$discriminator})) { diff --git a/samples/client/petstore/php/OpenAPIClient-php/lib/ObjectSerializer.php b/samples/client/petstore/php/OpenAPIClient-php/lib/ObjectSerializer.php index 62756950ee..080af144aa 100644 --- a/samples/client/petstore/php/OpenAPIClient-php/lib/ObjectSerializer.php +++ b/samples/client/petstore/php/OpenAPIClient-php/lib/ObjectSerializer.php @@ -455,6 +455,11 @@ class ObjectSerializer return $data; } else { $data = is_string($data) ? json_decode($data) : $data; + + if (is_array($data)) { + $data = (object)$data; + } + // If a discriminator is defined and points to a valid subclass, use it. $discriminator = $class::DISCRIMINATOR; if (!empty($discriminator) && isset($data->{$discriminator}) && is_string($data->{$discriminator})) { From a9e63f4ce398badf29eb3f59adc3c286032db404 Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Sat, 16 Jul 2022 23:18:51 +0900 Subject: [PATCH 198/212] Perl: Type coercion for the JSON conversion part of Perl (#12891) * Perl: separate date and DateTime - Since the json values to be returned are different for date and DateTime, they are managed separately * Per: Enforcing Perl types to openAPI types Perl JSON values return different types depending on the context, so look at openapi's type and modify the type. * generate samples * generate docs * add perl test (json types) --- docs/generators/perl.md | 3 +- .../codegen/languages/PerlClientCodegen.java | 7 +- .../main/resources/perl/ApiClient.mustache | 12 +++- .../main/resources/perl/BaseObject.mustache | 59 ++++++++++++++-- samples/client/petstore/perl/docs/FakeApi.md | 8 +-- .../client/petstore/perl/docs/FormatTest.md | 4 +- ...dPropertiesAndAdditionalPropertiesClass.md | 2 +- .../petstore/perl/docs/NullableClass.md | 4 +- samples/client/petstore/perl/docs/Order.md | 2 +- .../perl/lib/WWW/OpenAPIClient/ApiClient.pm | 12 +++- .../perl/lib/WWW/OpenAPIClient/FakeApi.pm | 8 +-- .../Object/AdditionalPropertiesClass.pm | 59 ++++++++++++++-- .../Object/AllOfWithSingleRef.pm | 59 ++++++++++++++-- .../lib/WWW/OpenAPIClient/Object/Animal.pm | 59 ++++++++++++++-- .../WWW/OpenAPIClient/Object/ApiResponse.pm | 59 ++++++++++++++-- .../Object/ArrayOfArrayOfNumberOnly.pm | 59 ++++++++++++++-- .../OpenAPIClient/Object/ArrayOfNumberOnly.pm | 59 ++++++++++++++-- .../lib/WWW/OpenAPIClient/Object/ArrayTest.pm | 59 ++++++++++++++-- .../OpenAPIClient/Object/Capitalization.pm | 59 ++++++++++++++-- .../perl/lib/WWW/OpenAPIClient/Object/Cat.pm | 59 ++++++++++++++-- .../lib/WWW/OpenAPIClient/Object/CatAllOf.pm | 59 ++++++++++++++-- .../lib/WWW/OpenAPIClient/Object/Category.pm | 59 ++++++++++++++-- .../WWW/OpenAPIClient/Object/ClassModel.pm | 59 ++++++++++++++-- .../lib/WWW/OpenAPIClient/Object/Client.pm | 59 ++++++++++++++-- .../OpenAPIClient/Object/DeprecatedObject.pm | 59 ++++++++++++++-- .../perl/lib/WWW/OpenAPIClient/Object/Dog.pm | 59 ++++++++++++++-- .../lib/WWW/OpenAPIClient/Object/DogAllOf.pm | 59 ++++++++++++++-- .../WWW/OpenAPIClient/Object/EnumArrays.pm | 59 ++++++++++++++-- .../lib/WWW/OpenAPIClient/Object/EnumClass.pm | 59 ++++++++++++++-- .../lib/WWW/OpenAPIClient/Object/EnumTest.pm | 59 ++++++++++++++-- .../perl/lib/WWW/OpenAPIClient/Object/File.pm | 59 ++++++++++++++-- .../Object/FileSchemaTestClass.pm | 59 ++++++++++++++-- .../perl/lib/WWW/OpenAPIClient/Object/Foo.pm | 59 ++++++++++++++-- .../Object/FooGetDefaultResponse.pm | 59 ++++++++++++++-- .../WWW/OpenAPIClient/Object/FormatTest.pm | 67 ++++++++++++++++--- .../OpenAPIClient/Object/HasOnlyReadOnly.pm | 59 ++++++++++++++-- .../OpenAPIClient/Object/HealthCheckResult.pm | 59 ++++++++++++++-- .../perl/lib/WWW/OpenAPIClient/Object/List.pm | 59 ++++++++++++++-- .../lib/WWW/OpenAPIClient/Object/MapTest.pm | 59 ++++++++++++++-- ...dPropertiesAndAdditionalPropertiesClass.pm | 63 +++++++++++++++-- .../OpenAPIClient/Object/Model200Response.pm | 59 ++++++++++++++-- .../WWW/OpenAPIClient/Object/ModelReturn.pm | 59 ++++++++++++++-- .../perl/lib/WWW/OpenAPIClient/Object/Name.pm | 59 ++++++++++++++-- .../WWW/OpenAPIClient/Object/NullableClass.pm | 67 ++++++++++++++++--- .../WWW/OpenAPIClient/Object/NumberOnly.pm | 59 ++++++++++++++-- .../Object/ObjectWithDeprecatedFields.pm | 59 ++++++++++++++-- .../lib/WWW/OpenAPIClient/Object/Order.pm | 63 +++++++++++++++-- .../OpenAPIClient/Object/OuterComposite.pm | 59 ++++++++++++++-- .../lib/WWW/OpenAPIClient/Object/OuterEnum.pm | 59 ++++++++++++++-- .../Object/OuterEnumDefaultValue.pm | 59 ++++++++++++++-- .../OpenAPIClient/Object/OuterEnumInteger.pm | 59 ++++++++++++++-- .../Object/OuterEnumIntegerDefaultValue.pm | 59 ++++++++++++++-- .../Object/OuterObjectWithEnumProperty.pm | 59 ++++++++++++++-- .../perl/lib/WWW/OpenAPIClient/Object/Pet.pm | 59 ++++++++++++++-- .../WWW/OpenAPIClient/Object/ReadOnlyFirst.pm | 59 ++++++++++++++-- .../WWW/OpenAPIClient/Object/SingleRefType.pm | 59 ++++++++++++++-- .../OpenAPIClient/Object/SpecialModelName.pm | 59 ++++++++++++++-- .../perl/lib/WWW/OpenAPIClient/Object/Tag.pm | 59 ++++++++++++++-- .../perl/lib/WWW/OpenAPIClient/Object/User.pm | 59 ++++++++++++++-- .../client/petstore/perl/tests/02_store_api.t | 39 +++++++++-- 60 files changed, 2778 insertions(+), 238 deletions(-) diff --git a/docs/generators/perl.md b/docs/generators/perl.md index 34b9e1354a..090ccadf14 100644 --- a/docs/generators/perl.md +++ b/docs/generators/perl.md @@ -41,7 +41,8 @@ These options may be applied as additional-properties (cli) or configOptions (pl
    • ARRAY
    • -
    • DateTime
    • +
    • DATE
    • +
    • DATE_TIME
    • HASH
    • boolean
    • double
    • diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java index 2f48cbc9b9..0986c187e6 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java @@ -115,7 +115,8 @@ public class PerlClientCodegen extends DefaultCodegen implements CodegenConfig { languageSpecificPrimitives.add("double"); languageSpecificPrimitives.add("string"); languageSpecificPrimitives.add("boolean"); - languageSpecificPrimitives.add("DateTime"); + languageSpecificPrimitives.add("DATE"); + languageSpecificPrimitives.add("DATE_TIME"); languageSpecificPrimitives.add("ARRAY"); languageSpecificPrimitives.add("HASH"); languageSpecificPrimitives.add("object"); @@ -128,8 +129,8 @@ public class PerlClientCodegen extends DefaultCodegen implements CodegenConfig { typeMapping.put("number", "double"); typeMapping.put("boolean", "boolean"); typeMapping.put("string", "string"); - typeMapping.put("date", "DateTime"); - typeMapping.put("DateTime", "DateTime"); + typeMapping.put("date", "DATE"); + typeMapping.put("DateTime", "DATE_TIME"); typeMapping.put("password", "string"); typeMapping.put("array", "ARRAY"); typeMapping.put("set", "ARRAY"); diff --git a/modules/openapi-generator/src/main/resources/perl/ApiClient.mustache b/modules/openapi-generator/src/main/resources/perl/ApiClient.mustache index 30cad76b42..023891413b 100644 --- a/modules/openapi-generator/src/main/resources/perl/ApiClient.mustache +++ b/modules/openapi-generator/src/main/resources/perl/ApiClient.mustache @@ -112,7 +112,7 @@ sub call_api { $_request = GET($_url, %$header_params); } elsif ($method eq 'HEAD') { - $_request = HEAD($_url,%$header_params); + $_request = HEAD($_url,%$header_params); } elsif ($method eq 'DELETE') { #TODO support form data $_request = DELETE($_url, %$header_params); @@ -240,10 +240,16 @@ sub deserialize } } return \@_values; - } elsif ($class eq 'DateTime') { + } elsif (grep /^$class$/, ('DATE_TIME', 'DATE')) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif (grep /^$class$/, ('string', 'int', 'float', 'bool', 'object')) { + } elsif ($class eq 'string') { + return $data . q(); + } elsif ($class eq 'object') { return $data; + } elsif (grep /^$class$/, ('int', 'float', 'double')) { + return $data + 0; + } elsif ($class eq 'bool') { + return !!$data; } else { # model my $_instance = use_module("{{moduleName}}::Object::$class")->new; if (ref $data eq "HASH") { diff --git a/modules/openapi-generator/src/main/resources/perl/BaseObject.mustache b/modules/openapi-generator/src/main/resources/perl/BaseObject.mustache index 91c0f10ac8..62c00930ba 100644 --- a/modules/openapi-generator/src/main/resources/perl/BaseObject.mustache +++ b/modules/openapi-generator/src/main/resources/perl/BaseObject.mustache @@ -55,7 +55,24 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } {{#allParents}} @@ -67,6 +84,36 @@ sub TO_JSON { return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -108,10 +155,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "{{moduleName}}::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/docs/FakeApi.md b/samples/client/petstore/perl/docs/FakeApi.md index fbd1c1d042..e028d69b6c 100644 --- a/samples/client/petstore/perl/docs/FakeApi.md +++ b/samples/client/petstore/perl/docs/FakeApi.md @@ -558,8 +558,8 @@ my $int64 = 789; # int | None my $float = 3.4; # double | None my $string = "string_example"; # string | None my $binary = "/path/to/file"; # string | None -my $date = DateTime->from_epoch(epoch => str2time('null')); # DateTime | None -my $date_time = DateTime->from_epoch(epoch => str2time('null')); # DateTime | None +my $date = DateTime->from_epoch(epoch => str2time('null')); # DATE | None +my $date_time = DateTime->from_epoch(epoch => str2time('null')); # DATE_TIME | None my $password = "password_example"; # string | None my $callback = "callback_example"; # string | None @@ -585,8 +585,8 @@ Name | Type | Description | Notes **float** | **double**| None | [optional] **string** | **string**| None | [optional] **binary** | **string****string**| None | [optional] - **date** | **DateTime**| None | [optional] - **date_time** | **DateTime**| None | [optional] + **date** | **DATE**| None | [optional] + **date_time** | **DATE_TIME**| None | [optional] **password** | **string**| None | [optional] **callback** | **string**| None | [optional] diff --git a/samples/client/petstore/perl/docs/FormatTest.md b/samples/client/petstore/perl/docs/FormatTest.md index 886a93b4fe..a55b89f6ce 100644 --- a/samples/client/petstore/perl/docs/FormatTest.md +++ b/samples/client/petstore/perl/docs/FormatTest.md @@ -18,8 +18,8 @@ Name | Type | Description | Notes **string** | **string** | | [optional] **byte** | **string** | | **binary** | **string** | | [optional] -**date** | **DateTime** | | -**date_time** | **DateTime** | | [optional] +**date** | **DATE** | | +**date_time** | **DATE_TIME** | | [optional] **uuid** | **string** | | [optional] **password** | **string** | | **pattern_with_digits** | **string** | A string that is a 10 digit number. Can have leading zeros. | [optional] diff --git a/samples/client/petstore/perl/docs/MixedPropertiesAndAdditionalPropertiesClass.md b/samples/client/petstore/perl/docs/MixedPropertiesAndAdditionalPropertiesClass.md index f2720cf57b..9fe5279da0 100644 --- a/samples/client/petstore/perl/docs/MixedPropertiesAndAdditionalPropertiesClass.md +++ b/samples/client/petstore/perl/docs/MixedPropertiesAndAdditionalPropertiesClass.md @@ -9,7 +9,7 @@ use WWW::OpenAPIClient::Object::MixedPropertiesAndAdditionalPropertiesClass; Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **uuid** | **string** | | [optional] -**date_time** | **DateTime** | | [optional] +**date_time** | **DATE_TIME** | | [optional] **map** | [**HASH[string,Animal]**](Animal.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/client/petstore/perl/docs/NullableClass.md b/samples/client/petstore/perl/docs/NullableClass.md index 326c42317c..200aaa3d78 100644 --- a/samples/client/petstore/perl/docs/NullableClass.md +++ b/samples/client/petstore/perl/docs/NullableClass.md @@ -12,8 +12,8 @@ Name | Type | Description | Notes **number_prop** | **double** | | [optional] **boolean_prop** | **boolean** | | [optional] **string_prop** | **string** | | [optional] -**date_prop** | **DateTime** | | [optional] -**datetime_prop** | **DateTime** | | [optional] +**date_prop** | **DATE** | | [optional] +**datetime_prop** | **DATE_TIME** | | [optional] **array_nullable_prop** | **ARRAY[object]** | | [optional] **array_and_items_nullable_prop** | **ARRAY[object]** | | [optional] **array_items_nullable** | **ARRAY[object]** | | [optional] diff --git a/samples/client/petstore/perl/docs/Order.md b/samples/client/petstore/perl/docs/Order.md index 356ad67f45..2b33f1d4d7 100644 --- a/samples/client/petstore/perl/docs/Order.md +++ b/samples/client/petstore/perl/docs/Order.md @@ -11,7 +11,7 @@ Name | Type | Description | Notes **id** | **int** | | [optional] **pet_id** | **int** | | [optional] **quantity** | **int** | | [optional] -**ship_date** | **DateTime** | | [optional] +**ship_date** | **DATE_TIME** | | [optional] **status** | **string** | Order Status | [optional] **complete** | **boolean** | | [optional] [default to false] diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/ApiClient.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/ApiClient.pm index ca783c1c96..3319a2c92a 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/ApiClient.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/ApiClient.pm @@ -125,7 +125,7 @@ sub call_api { $_request = GET($_url, %$header_params); } elsif ($method eq 'HEAD') { - $_request = HEAD($_url,%$header_params); + $_request = HEAD($_url,%$header_params); } elsif ($method eq 'DELETE') { #TODO support form data $_request = DELETE($_url, %$header_params); @@ -253,10 +253,16 @@ sub deserialize } } return \@_values; - } elsif ($class eq 'DateTime') { + } elsif (grep /^$class$/, ('DATE_TIME', 'DATE')) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif (grep /^$class$/, ('string', 'int', 'float', 'bool', 'object')) { + } elsif ($class eq 'string') { + return $data . q(); + } elsif ($class eq 'object') { return $data; + } elsif (grep /^$class$/, ('int', 'float', 'double')) { + return $data + 0; + } elsif ($class eq 'bool') { + return !!$data; } else { # model my $_instance = use_module("WWW::OpenAPIClient::Object::$class")->new; if (ref $data eq "HASH") { diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/FakeApi.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/FakeApi.pm index 9c702e1c1d..2712407215 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/FakeApi.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/FakeApi.pm @@ -759,8 +759,8 @@ sub test_client_model { # @param double $float None (optional) # @param string $string None (optional) # @param string $binary None (optional) -# @param DateTime $date None (optional) -# @param DateTime $date_time None (optional) +# @param DATE $date None (optional) +# @param DATE_TIME $date_time None (optional) # @param string $password None (optional) # @param string $callback None (optional) { @@ -816,12 +816,12 @@ sub test_client_model { required => '0', }, 'date' => { - data_type => 'DateTime', + data_type => 'DATE', description => 'None', required => '0', }, 'date_time' => { - data_type => 'DateTime', + data_type => 'DATE_TIME', description => 'None', required => '0', }, diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/AdditionalPropertiesClass.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/AdditionalPropertiesClass.pm index 80616971f5..5bfd2561c1 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/AdditionalPropertiesClass.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/AdditionalPropertiesClass.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/AllOfWithSingleRef.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/AllOfWithSingleRef.pm index f946b72b81..e0b67ee995 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/AllOfWithSingleRef.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/AllOfWithSingleRef.pm @@ -101,13 +101,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -144,10 +191,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Animal.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Animal.pm index c84ba835dc..19935a5a67 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Animal.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Animal.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ApiResponse.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ApiResponse.pm index be51069730..82724eea0e 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ApiResponse.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ApiResponse.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayOfArrayOfNumberOnly.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayOfArrayOfNumberOnly.pm index 710a8c450a..ef86dfd227 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayOfArrayOfNumberOnly.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayOfArrayOfNumberOnly.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayOfNumberOnly.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayOfNumberOnly.pm index 02cbce5acf..d94cc4fa33 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayOfNumberOnly.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayOfNumberOnly.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayTest.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayTest.pm index c264d79a98..bc9709867d 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayTest.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayTest.pm @@ -101,13 +101,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -144,10 +191,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Capitalization.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Capitalization.pm index 3ccae2f45c..f325e1957e 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Capitalization.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Capitalization.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Cat.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Cat.pm index bc5543d187..c54a69e987 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Cat.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Cat.pm @@ -107,7 +107,24 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } @@ -117,6 +134,36 @@ sub TO_JSON { return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -156,10 +203,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/CatAllOf.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/CatAllOf.pm index 756a3277fd..406e840c19 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/CatAllOf.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/CatAllOf.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Category.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Category.pm index ba7781f968..e3afa3ab93 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Category.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Category.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ClassModel.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ClassModel.pm index 43466b5250..f30461a570 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ClassModel.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ClassModel.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Client.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Client.pm index a60ed0bbbf..41884d9766 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Client.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Client.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DeprecatedObject.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DeprecatedObject.pm index cd1e7e6bde..f1cea97088 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DeprecatedObject.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DeprecatedObject.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Dog.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Dog.pm index 5a09bf92a9..75c1ec4b12 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Dog.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Dog.pm @@ -107,7 +107,24 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } @@ -117,6 +134,36 @@ sub TO_JSON { return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -156,10 +203,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DogAllOf.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DogAllOf.pm index b9b60b22ad..91a7955661 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DogAllOf.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DogAllOf.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumArrays.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumArrays.pm index fc3051a33f..d643ec1c31 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumArrays.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumArrays.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumClass.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumClass.pm index 98917574d1..de44e861e1 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumClass.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumClass.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumTest.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumTest.pm index 4d12ae2544..44309f3b79 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumTest.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumTest.pm @@ -104,13 +104,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -147,10 +194,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/File.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/File.pm index ba5693d738..b1f2fabb43 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/File.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/File.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FileSchemaTestClass.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FileSchemaTestClass.pm index 420be77669..6db1af4d32 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FileSchemaTestClass.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FileSchemaTestClass.pm @@ -101,13 +101,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -144,10 +191,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Foo.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Foo.pm index e400a15003..0f46ea56d7 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Foo.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Foo.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FooGetDefaultResponse.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FooGetDefaultResponse.pm index 55ef2490ba..58b6840640 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FooGetDefaultResponse.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FooGetDefaultResponse.pm @@ -101,13 +101,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -144,10 +191,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FormatTest.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FormatTest.pm index 9091a6b344..8650282129 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FormatTest.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FormatTest.pm @@ -101,13 +101,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -144,10 +191,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); @@ -232,14 +283,14 @@ __PACKAGE__->method_documentation({ read_only => '', }, 'date' => { - datatype => 'DateTime', + datatype => 'DATE', base_name => 'date', description => '', format => '', read_only => '', }, 'date_time' => { - datatype => 'DateTime', + datatype => 'DATE_TIME', base_name => 'dateTime', description => '', format => '', @@ -286,8 +337,8 @@ __PACKAGE__->openapi_types( { 'string' => 'string', 'byte' => 'string', 'binary' => 'string', - 'date' => 'DateTime', - 'date_time' => 'DateTime', + 'date' => 'DATE', + 'date_time' => 'DATE_TIME', 'uuid' => 'string', 'password' => 'string', 'pattern_with_digits' => 'string', diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HasOnlyReadOnly.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HasOnlyReadOnly.pm index 356ca35907..b4d3279295 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HasOnlyReadOnly.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HasOnlyReadOnly.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HealthCheckResult.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HealthCheckResult.pm index 7665da0f57..3597ad7910 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HealthCheckResult.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HealthCheckResult.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/List.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/List.pm index f88f37aa6e..4079df60b5 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/List.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/List.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/MapTest.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/MapTest.pm index 6fb048ca8e..6e1eef560a 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/MapTest.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/MapTest.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/MixedPropertiesAndAdditionalPropertiesClass.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/MixedPropertiesAndAdditionalPropertiesClass.pm index 49bc4d8008..14b36c0b9d 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/MixedPropertiesAndAdditionalPropertiesClass.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/MixedPropertiesAndAdditionalPropertiesClass.pm @@ -101,13 +101,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -144,10 +191,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); @@ -169,7 +220,7 @@ __PACKAGE__->method_documentation({ read_only => '', }, 'date_time' => { - datatype => 'DateTime', + datatype => 'DATE_TIME', base_name => 'dateTime', description => '', format => '', @@ -186,7 +237,7 @@ __PACKAGE__->method_documentation({ __PACKAGE__->openapi_types( { 'uuid' => 'string', - 'date_time' => 'DateTime', + 'date_time' => 'DATE_TIME', 'map' => 'HASH[string,Animal]' } ); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Model200Response.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Model200Response.pm index b6ba3d4fea..bf5e8982fd 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Model200Response.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Model200Response.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ModelReturn.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ModelReturn.pm index a2b9dd03e9..830cd139e2 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ModelReturn.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ModelReturn.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Name.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Name.pm index 905fc94c75..98bc8cb8e5 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Name.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Name.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/NullableClass.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/NullableClass.pm index eb35f4c6b3..ecff001261 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/NullableClass.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/NullableClass.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); @@ -189,14 +240,14 @@ __PACKAGE__->method_documentation({ read_only => '', }, 'date_prop' => { - datatype => 'DateTime', + datatype => 'DATE', base_name => 'date_prop', description => '', format => '', read_only => '', }, 'datetime_prop' => { - datatype => 'DateTime', + datatype => 'DATE_TIME', base_name => 'datetime_prop', description => '', format => '', @@ -251,8 +302,8 @@ __PACKAGE__->openapi_types( { 'number_prop' => 'double', 'boolean_prop' => 'boolean', 'string_prop' => 'string', - 'date_prop' => 'DateTime', - 'datetime_prop' => 'DateTime', + 'date_prop' => 'DATE', + 'datetime_prop' => 'DATE_TIME', 'array_nullable_prop' => 'ARRAY[object]', 'array_and_items_nullable_prop' => 'ARRAY[object]', 'array_items_nullable' => 'ARRAY[object]', diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/NumberOnly.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/NumberOnly.pm index 990cf69ef8..e68bf9c257 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/NumberOnly.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/NumberOnly.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ObjectWithDeprecatedFields.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ObjectWithDeprecatedFields.pm index 3980ecf0a2..b1645a4c9d 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ObjectWithDeprecatedFields.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ObjectWithDeprecatedFields.pm @@ -101,13 +101,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -144,10 +191,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Order.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Order.pm index e4a9f74599..6420432525 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Order.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Order.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); @@ -182,7 +233,7 @@ __PACKAGE__->method_documentation({ read_only => '', }, 'ship_date' => { - datatype => 'DateTime', + datatype => 'DATE_TIME', base_name => 'shipDate', description => '', format => '', @@ -208,7 +259,7 @@ __PACKAGE__->openapi_types( { 'id' => 'int', 'pet_id' => 'int', 'quantity' => 'int', - 'ship_date' => 'DateTime', + 'ship_date' => 'DATE_TIME', 'status' => 'string', 'complete' => 'boolean' } ); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterComposite.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterComposite.pm index f0643e54ad..c41a1bf716 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterComposite.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterComposite.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnum.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnum.pm index a07684584a..b891f0e7c4 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnum.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnum.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumDefaultValue.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumDefaultValue.pm index 9b14db60a3..28aa622afe 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumDefaultValue.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumDefaultValue.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumInteger.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumInteger.pm index 14ff2ff095..7c50183625 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumInteger.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumInteger.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumIntegerDefaultValue.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumIntegerDefaultValue.pm index 3c10bfe39f..c2e3b5bff3 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumIntegerDefaultValue.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumIntegerDefaultValue.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterObjectWithEnumProperty.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterObjectWithEnumProperty.pm index 12e1846b53..54e2310624 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterObjectWithEnumProperty.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterObjectWithEnumProperty.pm @@ -101,13 +101,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -144,10 +191,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Pet.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Pet.pm index 43f2672c95..c94165e283 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Pet.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Pet.pm @@ -102,13 +102,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -145,10 +192,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ReadOnlyFirst.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ReadOnlyFirst.pm index 1563ebce86..23f5d6e686 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ReadOnlyFirst.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ReadOnlyFirst.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/SingleRefType.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/SingleRefType.pm index 3211fd33ea..a2d098a691 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/SingleRefType.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/SingleRefType.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/SpecialModelName.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/SpecialModelName.pm index fa9de2f527..5814b31aae 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/SpecialModelName.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/SpecialModelName.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Tag.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Tag.pm index 998d3179a3..2e220492dc 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Tag.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Tag.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/User.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/User.pm index e301902cc0..f46fab05d5 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/User.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/User.pm @@ -100,13 +100,60 @@ sub TO_JSON { my $_data = {}; foreach my $_key (keys %{$self->attribute_map}) { if (defined $self->{$_key}) { - $_data->{$self->attribute_map->{$_key}} = $self->{$_key}; + my $_json_attribute = $self->attribute_map->{$_key}; + my $_type = $self->openapi_types->{$_key}; + my $_value = $self->{$_key}; + if ($_type =~ /^array\[(.+)\]$/i) { # array + my $_subclass = $1; + $_data->{$_json_attribute} = [ map { $self->_to_json_primitives($_subclass, $_) } @$_value ]; + } elsif ($_type =~ /^hash\[string,(.+)\]$/i) { # hash + my $_subclass = $1; + my %_hash = (); + while (my($_key, $_element) = each %{$_value}) { + $_hash{$_key} = $self->_to_json_primitives($_subclass, $_element); + } + $_data->{$_json_attribute} = \%_hash; + } elsif ( grep( /^$_type$/, ('int', 'double', 'string', 'boolean', 'DATE', 'DATE_TIME'))) { + $_data->{$_json_attribute} = $self->_to_json_primitives($_type, $_value); + } else { + $_data->{$_json_attribute} = $_value; + } } } return $_data; } +# to_json non-array data +sub _to_json_primitives { + my ($self, $type, $data) = @_; + if ( grep( /^$type$/, ('int', 'double'))) { + # https://metacpan.org/pod/JSON#simple-scalars + # numify it, ensuring it will be dumped as a number + return $data + 0; + } elsif ($type eq 'string') { + # https://metacpan.org/pod/JSON#simple-scalars + # stringified + return $data . q(); + } elsif ($type eq 'boolean') { + # https://metacpan.org/pod/JSON#JSON::true,-JSON::false,-JSON::null + return $data ? \1 : \0; + } elsif ($type eq 'DATE') { + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Eymd($optional_separator),-$dt-%3Emdy(...),-$dt-%3Edmy(...) + return $data->ymd; + } + return $data .q(); + } elsif ($type eq 'DATE_TIME') { + # the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z + if (ref($data) eq 'DateTime') { + # https://metacpan.org/pod/DateTime#$dt-%3Erfc3339 + return $data->rfc3339; + } + return $data .q(); + } +} + # from Perl hashref sub from_hash { my ($self, $hash) = @_; @@ -143,10 +190,14 @@ sub _deserialize { my ($self, $type, $data) = @_; $log->debugf("deserializing %s with %s",Dumper($data), $type); - if ($type eq 'DateTime') { + if (grep( /^$type$/ , ('DATE_TIME', 'DATE'))) { return DateTime->from_epoch(epoch => str2time($data)); - } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) { - return $data; + } elsif ( grep( /^$type$/, ('int', 'double'))) { + return $data + 0; + } elsif ($type eq 'string') { + return $data . q(); + } elsif ($type eq 'boolean') { + return !!$data; } else { # hash(model) my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; return $_instance->from_hash($data); diff --git a/samples/client/petstore/perl/tests/02_store_api.t b/samples/client/petstore/perl/tests/02_store_api.t index ee721210cd..36e54ed12f 100644 --- a/samples/client/petstore/perl/tests/02_store_api.t +++ b/samples/client/petstore/perl/tests/02_store_api.t @@ -1,4 +1,4 @@ -use Test::More tests => 41; +use Test::More tests => 52; use Test::Exception; use lib 'lib'; @@ -13,6 +13,7 @@ use_ok('WWW::OpenAPIClient::Object::Pet'); use_ok('WWW::OpenAPIClient::Object::Tag'); use_ok('WWW::OpenAPIClient::Object::Category'); use_ok('WWW::OpenAPIClient::Object::User'); +use_ok('WWW::OpenAPIClient::Object::Order'); my $api_client = WWW::OpenAPIClient::ApiClient->new(); @@ -28,7 +29,7 @@ like ($get_inventory_response->{sold}, qr/^\d+$/, "sold is numeric"); my $pet_json = <deserialize("HASH[string,Pet]", $pet_json)->{pet}->{photo_urls}- my $array_json = <deserialize("Pet", $pet_json_nopet)->{tags}->[0], "WWW::Open is $api_client->deserialize("Pet", $pet_json_nopet)->{tags}->[0]->{name}, "tag string", "get the tag name the Pet object"; is $api_client->deserialize("Pet", $pet_json_nopet)->{photo_urls}->[0], "string", "get the photoUrl from the Pet object"; - my %userdata = ( - id => 4000, + id => "4000", username => "tony", firstName => "Tony", lastName => "Tiger", @@ -131,7 +131,7 @@ my %userdata = ( phone => "408-867-5309", userStatus => 1, ); - + my $user = WWW::OpenAPIClient::Object::User->new->from_hash(\%userdata); is ref $user, 'WWW::OpenAPIClient::Object::User', "built a User object via from_hash()"; is $user->{id}, $userdata{id}, "got the id of the User object"; @@ -143,4 +143,31 @@ is $user->{password}, $userdata{password}, "got the password of the User object" is $user->{phone}, $userdata{phone}, "got the phone of the User object"; is $user->{user_status}, $userdata{userStatus}, "got the userStatus of the User object"; +my $user_to_json = JSON->new->convert_blessed->encode($user); +like $user_to_json, qr/4000/, '$userdata{id} is string. But, json id is a number'; +unlike $user_to_json, qr/"4000"/, '$userdata{id} is string. But, json id is a number'; + +my %order_data = ( + id => '123', + petId => '456', + quantity => 789, + shipDate => '2020-11-06T09:20:48Z', + status => 101112, # status type is string, but this data is number + complete => 0, # status type is boolean, but this data is number +); +my $order = WWW::OpenAPIClient::Object::Order->new->from_hash(\%order_data); +is ref($order->ship_date), 'DateTime'; + +my $order_to_json = JSON->new->convert_blessed->encode($order); +like $order_to_json, qr/123/, '$order{id} is string. But, json type is number'; +unlike $order_to_json, qr/"123"/, '$order{id} is string. But, json type is number'; + +like $order_to_json, qr/789/, '$order{quantity} is number'; +unlike $order_to_json, qr/"789"/, '$order{quantity} is number'; + +like $order_to_json, qr/2020-11-06T09:20:48Z/, '$order{shipDate} to date-time format'; + +like $order_to_json, qr/"101112"/, '$order{status} is number. But json type is string'; + +like $order_to_json, qr/false/, '$order{complete} is number. But json type is boolean'; \ No newline at end of file From bdd54dacad9d0c1a831cdab11d3626adae3ef720 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 17 Jul 2022 12:43:00 +0800 Subject: [PATCH 199/212] Fix parameter schema mapping (#12893) * fix parameter schema mapping,refactor unaliasSchema * minor code format change --- .../openapitools/codegen/CodegenConfig.java | 2 +- .../openapitools/codegen/DefaultCodegen.java | 32 ++++++------ .../codegen/DefaultGenerator.java | 2 +- .../languages/AbstractDartCodegen.java | 11 ++-- .../codegen/languages/AbstractGoCodegen.java | 6 +-- .../languages/AbstractJavaCodegen.java | 2 +- .../languages/AbstractKotlinCodegen.java | 2 +- .../languages/AbstractScalaCodegen.java | 52 ++++++++++--------- .../AbstractTypeScriptClientCodegen.java | 46 ++++++++-------- .../languages/CppRestSdkClientCodegen.java | 2 +- .../languages/PythonClientCodegen.java | 27 +++++----- .../PythonExperimentalClientCodegen.java | 31 +++++------ .../languages/TypeScriptClientCodegen.java | 6 +-- .../TypeScriptFetchClientCodegen.java | 2 +- 14 files changed, 112 insertions(+), 111 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfig.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfig.java index e18324d541..1890fc0d73 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfig.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfig.java @@ -313,7 +313,7 @@ public interface CodegenConfig { void setRemoveEnumValuePrefix(boolean removeEnumValuePrefix); - Schema unaliasSchema(Schema schema, Map schemaMappings); + Schema unaliasSchema(Schema schema); String defaultTemplatingEngine(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 46f2a1d002..cc015079a4 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -2203,8 +2203,8 @@ public class DefaultCodegen implements CodegenConfig { } @Override - public Schema unaliasSchema(Schema schema, Map schemaMappings) { - return ModelUtils.unaliasSchema(this.openAPI, schema, schemaMappings); + public Schema unaliasSchema(Schema schema) { + return ModelUtils.unaliasSchema(this.openAPI, schema, schemaMapping); } /** @@ -2214,7 +2214,7 @@ public class DefaultCodegen implements CodegenConfig { * @return the string representation of the schema type. */ protected String getSingleSchemaType(Schema schema) { - Schema unaliasSchema = unaliasSchema(schema, schemaMapping); + Schema unaliasSchema = unaliasSchema(schema); if (StringUtils.isNotBlank(unaliasSchema.get$ref())) { // reference to another definition/schema // get the schema/model name from $ref @@ -2546,7 +2546,7 @@ public class DefaultCodegen implements CodegenConfig { m.interfaces = new ArrayList<>(); for (Schema interfaceSchema : interfaces) { - interfaceSchema = unaliasSchema(interfaceSchema, schemaMapping); + interfaceSchema = unaliasSchema(interfaceSchema); if (StringUtils.isBlank(interfaceSchema.get$ref())) { // primitive type @@ -2775,7 +2775,7 @@ public class DefaultCodegen implements CodegenConfig { } // unalias schema - schema = unaliasSchema(schema, schemaMapping); + schema = unaliasSchema(schema); if (schema == null) { LOGGER.warn("Schema {} not found", name); return null; @@ -3448,7 +3448,7 @@ public class DefaultCodegen implements CodegenConfig { property.maxItems = p.getMaxProperties(); // handle inner property - Schema innerSchema = unaliasSchema(getAdditionalProperties(p), schemaMapping); + Schema innerSchema = unaliasSchema(getAdditionalProperties(p)); if (innerSchema == null) { LOGGER.error("Undefined map inner type for `{}`. Default to String.", p.getName()); innerSchema = new StringSchema().description("//TODO automatically added by openapi-generator due to undefined type"); @@ -3565,7 +3565,7 @@ public class DefaultCodegen implements CodegenConfig { return cpc; } // unalias schema - p = unaliasSchema(p, schemaMapping); + p = unaliasSchema(p); CodegenProperty property = CodegenModelFactory.newInstance(CodegenModelType.PROPERTY); property.required = required; @@ -3734,7 +3734,7 @@ public class DefaultCodegen implements CodegenConfig { itemName = property.name; } ArraySchema arraySchema = (ArraySchema) p; - Schema innerSchema = unaliasSchema(getSchemaItems(arraySchema), schemaMapping); + Schema innerSchema = unaliasSchema(getSchemaItems(arraySchema)); CodegenProperty cp = fromProperty(itemName, innerSchema, false); updatePropertyForArray(property, cp); } else if (ModelUtils.isTypeObjectSchema(p)) { @@ -3980,7 +3980,7 @@ public class DefaultCodegen implements CodegenConfig { CodegenOperation op, ApiResponse methodResponse, Map schemaMappings) { - Schema responseSchema = unaliasSchema(ModelUtils.getSchemaFromResponse(methodResponse), schemaMapping); + Schema responseSchema = unaliasSchema(ModelUtils.getSchemaFromResponse(methodResponse)); if (responseSchema != null) { CodegenProperty cm = fromProperty("response", responseSchema, false); @@ -4420,7 +4420,7 @@ public class DefaultCodegen implements CodegenConfig { Schema responseSchema; if (this.openAPI != null && this.openAPI.getComponents() != null) { - responseSchema = unaliasSchema(ModelUtils.getSchemaFromResponse(response), schemaMapping); + responseSchema = unaliasSchema(ModelUtils.getSchemaFromResponse(response)); } else { // no model/alias defined responseSchema = ModelUtils.getSchemaFromResponse(response); } @@ -4712,7 +4712,7 @@ public class DefaultCodegen implements CodegenConfig { String parameterModelName = null; if (parameter.getSchema() != null) { - parameterSchema = parameter.getSchema(); + parameterSchema = unaliasSchema(parameter.getSchema()); parameterModelName = getParameterDataType(parameter, parameterSchema); CodegenProperty prop; if (this instanceof RustServerCodegen) { @@ -4759,7 +4759,7 @@ public class DefaultCodegen implements CodegenConfig { } // TODO need to reivew replacing empty map with schemaMapping instead - parameterSchema = unaliasSchema(parameterSchema, Collections.emptyMap()); + parameterSchema = unaliasSchema(parameterSchema); if (parameterSchema == null) { LOGGER.warn("warning! Schema not found for parameter \" {} \"", parameter.getName()); finishUpdatingParameter(codegenParameter, parameter); @@ -4964,7 +4964,7 @@ public class DefaultCodegen implements CodegenConfig { * @return data type */ protected String getParameterDataType(Parameter parameter, Schema schema) { - Schema unaliasSchema = ModelUtils.unaliasSchema(openAPI, schema); + Schema unaliasSchema = unaliasSchema(schema); if (unaliasSchema.get$ref() != null) { return toModelName(ModelUtils.getSimpleRef(unaliasSchema.get$ref())); } @@ -5365,7 +5365,7 @@ public class DefaultCodegen implements CodegenConfig { protected Map unaliasPropertySchema(Map properties) { if (properties != null) { for (String key : properties.keySet()) { - properties.put(key, unaliasSchema(properties.get(key), schemaMapping())); + properties.put(key, unaliasSchema(properties.get(key))); } } @@ -6491,7 +6491,7 @@ public class DefaultCodegen implements CodegenConfig { LOGGER.debug("Debugging fromFormProperty {}: {}", name, propertySchema); CodegenProperty codegenProperty = fromProperty(name, propertySchema, false); - Schema ps = unaliasSchema(propertySchema, schemaMapping); + Schema ps = unaliasSchema(propertySchema); ModelUtils.syncValidationProperties(ps, codegenParameter); codegenParameter.setTypeProperties(ps); codegenParameter.setComposedSchemas(getComposedSchemas(ps)); @@ -7002,7 +7002,7 @@ public class DefaultCodegen implements CodegenConfig { name = ModelUtils.getSimpleRef(schema.get$ref()); } - Schema unaliasedSchema = unaliasSchema(schema, schemaMapping); + Schema unaliasedSchema = unaliasSchema(schema); schema = ModelUtils.getReferencedSchema(this.openAPI, schema); ModelUtils.syncValidationProperties(unaliasedSchema, codegenParameter); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java index 420ad43698..151e13596a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java @@ -477,7 +477,7 @@ public class DefaultGenerator implements Generator { // generators may choose to make models for use case 2 + 3 Schema refSchema = new Schema(); refSchema.set$ref("#/components/schemas/" + name); - Schema unaliasedSchema = config.unaliasSchema(refSchema, config.schemaMapping()); + Schema unaliasedSchema = config.unaliasSchema(refSchema); if (unaliasedSchema.get$ref() == null) { LOGGER.info("Model {} not generated since it's a free-form object", name); continue; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java index b560bfd258..5559d7f3eb 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java @@ -109,7 +109,7 @@ public abstract class AbstractDartCodegen extends DefaultCodegen { apiTestTemplateFiles.put("api_test.mustache", ".dart"); final List reservedWordsList = new ArrayList<>(); - try(BufferedReader reader = new BufferedReader( + try (BufferedReader reader = new BufferedReader( new InputStreamReader(DartClientCodegen.class.getResourceAsStream("/dart/dart-keywords.txt"), StandardCharsets.UTF_8))) { while (reader.ready()) { @@ -445,7 +445,8 @@ public abstract class AbstractDartCodegen extends DefaultCodegen { return underscore(toModelName(name)); } - @Override public String toModelDocFilename(String name) { + @Override + public String toModelDocFilename(String name) { return toModelName(name); } @@ -488,7 +489,7 @@ public abstract class AbstractDartCodegen extends DefaultCodegen { @Override public String getTypeDeclaration(Schema p) { - Schema schema = ModelUtils.unaliasSchema(this.openAPI, p, schemaMapping); + Schema schema = unaliasSchema(p); Schema target = ModelUtils.isGenerateAliasAsModel() ? p : schema; if (ModelUtils.isArraySchema(target)) { Schema items = getSchemaItems((ArraySchema) schema); @@ -819,5 +820,7 @@ public abstract class AbstractDartCodegen extends DefaultCodegen { } @Override - public GeneratorLanguage generatorLanguage() { return GeneratorLanguage.DART; } + public GeneratorLanguage generatorLanguage() { + return GeneratorLanguage.DART; + } } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java index 00ca51d028..edbfb173c9 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java @@ -346,7 +346,7 @@ public abstract class AbstractGoCodegen extends DefaultCodegen implements Codege // specification is aligned with the JSON schema specification. // When "items" is not specified, the elements of the array may be anything at all. if (inner != null) { - inner = ModelUtils.unaliasSchema(this.openAPI, inner, schemaMapping); + inner = unaliasSchema(inner); } String typDecl; if (inner != null) { @@ -360,7 +360,7 @@ public abstract class AbstractGoCodegen extends DefaultCodegen implements Codege return "[]" + typDecl; } else if (ModelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); - return getSchemaType(p) + "[string]" + getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, inner, schemaMapping)); + return getSchemaType(p) + "[string]" + getTypeDeclaration(unaliasSchema(inner)); } //return super.getTypeDeclaration(p); @@ -792,7 +792,7 @@ public abstract class AbstractGoCodegen extends DefaultCodegen implements Codege @Override public String toDefaultValue(Schema schema) { - schema = ModelUtils.unaliasSchema(this.openAPI, schema, schemaMapping); + schema = unaliasSchema(schema); if (schema.getDefault() != null) { return schema.getDefault().toString(); } else { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java index 509da5be05..2556ed2edf 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java @@ -873,7 +873,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code @Override public String getTypeDeclaration(Schema p) { - Schema schema = ModelUtils.unaliasSchema(this.openAPI, p, schemaMapping); + Schema schema = unaliasSchema(p); Schema target = ModelUtils.isGenerateAliasAsModel() ? p : schema; if (ModelUtils.isArraySchema(target)) { Schema items = getSchemaItems((ArraySchema) schema); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java index 59a9af6e8b..20517280da 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java @@ -365,7 +365,7 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co */ @Override public String getTypeDeclaration(Schema p) { - Schema schema = ModelUtils.unaliasSchema(this.openAPI, p, schemaMapping); + Schema schema = unaliasSchema(p); Schema target = ModelUtils.isGenerateAliasAsModel() ? p : schema; if (ModelUtils.isArraySchema(target)) { Schema items = getSchemaItems((ArraySchema) schema); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java index 1f1bb974a8..9d8541fc64 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java @@ -47,18 +47,18 @@ public abstract class AbstractScalaCodegen extends DefaultCodegen { protected String sourceFolder = "src/main/scala"; protected String appName = "OpenAPI Sample"; protected String appDescription = "A sample openapi server"; - protected String infoUrl = "http://org.openapitools" ; - protected String infoEmail = "team@openapitools.org" ; + protected String infoUrl = "http://org.openapitools"; + protected String infoEmail = "team@openapitools.org"; protected String licenseInfo = "All rights reserved"; protected String licenseUrl = "http://apache.org/licenses/LICENSE-2.0.html"; - protected String apiVersion = "1.0" ; + protected String apiVersion = "1.0"; protected boolean stripPackageName = true; protected String dateLibrary = DateLibraries.java8.name(); protected enum DateLibraries { java8("Java 8 native JSR310 (preferred for JDK 1.8+)"), - joda( "Joda (for legacy app)"), - legacy( "Backport to http-client (deprecated)"); + joda("Joda (for legacy app)"), + legacy("Backport to http-client (deprecated)"); private final String description; @@ -187,15 +187,15 @@ public abstract class AbstractScalaCodegen extends DefaultCodegen { LOGGER.info("NOTE: To enable file post-processing, 'enablePostProcessFile' must be set to `true` (--enable-post-process-file for CLI)."); } - this.appName = Optional.ofNullable(openAPI).map(o -> o.getInfo()).filter(i -> i != null).map(i -> i.getTitle()).filter(t -> t != null).orElse(this.appName) ; - this.appDescription = Optional.ofNullable(openAPI).map(o -> o.getInfo()).filter(i -> i != null).map(i -> i.getDescription()).filter(d -> d != null).orElse(this.appDescription) ; - this.infoUrl = Optional.ofNullable(openAPI).map(o -> o.getInfo()).filter(i -> i != null).map(i -> i.getContact()).filter(c -> c != null).map(c -> c.getUrl()).filter(u -> u != null).orElse(this.infoUrl) ; - this.infoEmail = Optional.ofNullable(openAPI).map(o -> o.getInfo()).filter(i -> i != null).map(i -> i.getContact()).filter(c -> c != null).map(c -> c.getEmail()).filter(v -> v != null).orElse(this.infoEmail) ; - this.licenseInfo = Optional.ofNullable(openAPI).map(o -> o.getInfo()).filter(i -> i != null).map(i -> i.getLicense()).filter(l -> l != null).map(l -> l.getName()).filter(n -> n != null).orElse(this.licenseInfo) ; - this.licenseUrl = Optional.ofNullable(openAPI).map(o -> o.getInfo()).filter(i -> i != null).map(i -> i.getLicense()).filter(l -> l != null).map(l -> l.getUrl()).filter(u -> u != null).orElse(this.licenseUrl) ; - - this.apiVersion = Optional.ofNullable(openAPI).map(o -> o.getInfo()).filter(i -> i != null).map(i -> i.getVersion()).filter(v -> v != null).orElse(this.apiVersion) ; - + this.appName = Optional.ofNullable(openAPI).map(o -> o.getInfo()).filter(i -> i != null).map(i -> i.getTitle()).filter(t -> t != null).orElse(this.appName); + this.appDescription = Optional.ofNullable(openAPI).map(o -> o.getInfo()).filter(i -> i != null).map(i -> i.getDescription()).filter(d -> d != null).orElse(this.appDescription); + this.infoUrl = Optional.ofNullable(openAPI).map(o -> o.getInfo()).filter(i -> i != null).map(i -> i.getContact()).filter(c -> c != null).map(c -> c.getUrl()).filter(u -> u != null).orElse(this.infoUrl); + this.infoEmail = Optional.ofNullable(openAPI).map(o -> o.getInfo()).filter(i -> i != null).map(i -> i.getContact()).filter(c -> c != null).map(c -> c.getEmail()).filter(v -> v != null).orElse(this.infoEmail); + this.licenseInfo = Optional.ofNullable(openAPI).map(o -> o.getInfo()).filter(i -> i != null).map(i -> i.getLicense()).filter(l -> l != null).map(l -> l.getName()).filter(n -> n != null).orElse(this.licenseInfo); + this.licenseUrl = Optional.ofNullable(openAPI).map(o -> o.getInfo()).filter(i -> i != null).map(i -> i.getLicense()).filter(l -> l != null).map(l -> l.getUrl()).filter(u -> u != null).orElse(this.licenseUrl); + + this.apiVersion = Optional.ofNullable(openAPI).map(o -> o.getInfo()).filter(i -> i != null).map(i -> i.getVersion()).filter(v -> v != null).orElse(this.apiVersion); + if (additionalProperties.containsKey(CodegenConstants.INVOKER_PACKAGE)) { this.setInvokerPackage((String) additionalProperties.get(CodegenConstants.INVOKER_PACKAGE)); } @@ -240,7 +240,7 @@ public abstract class AbstractScalaCodegen extends DefaultCodegen { this.dateLibrary = dateLibrary; return; } - for ( DateLibraries dateLib : DateLibraries.values()) { + for (DateLibraries dateLib : DateLibraries.values()) { if (dateLib.name().equals(dateLibrary)) { this.dateLibrary = dateLibrary; return; @@ -357,7 +357,7 @@ public abstract class AbstractScalaCodegen extends DefaultCodegen { @Override public String getTypeDeclaration(Schema p) { - Schema schema = ModelUtils.unaliasSchema(this.openAPI, p, schemaMapping); + Schema schema = unaliasSchema(p); Schema target = ModelUtils.isGenerateAliasAsModel() ? p : schema; if (ModelUtils.isArraySchema(target)) { Schema items = getSchemaItems((ArraySchema) schema); @@ -395,7 +395,7 @@ public abstract class AbstractScalaCodegen extends DefaultCodegen { } else if (ModelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; String inner = getSchemaType(ap.getItems()); - return ( ModelUtils.isSet(ap) ? instantiationTypes.get("set") : instantiationTypes.get("array") ) + "[" + inner + "]"; + return (ModelUtils.isSet(ap) ? instantiationTypes.get("set") : instantiationTypes.get("array")) + "[" + inner + "]"; } else { return null; } @@ -433,13 +433,13 @@ public abstract class AbstractScalaCodegen extends DefaultCodegen { // test for immutable Monoids with .empty method for idiomatic defaults if ("List".equals(genericType) || - "Set".equals(genericType) || - "Seq".equals(genericType) || - "Array".equals(genericType) || - "Vector".equals(genericType) || - "IndexedSeq".equals(genericType) || - "Iterable".equals(genericType) || - "ListSet".equals(genericType) + "Set".equals(genericType) || + "Seq".equals(genericType) || + "Array".equals(genericType) || + "Vector".equals(genericType) || + "IndexedSeq".equals(genericType) || + "Iterable".equals(genericType) || + "ListSet".equals(genericType) ) { return genericType + ".empty[" + inner + "] "; } @@ -611,5 +611,7 @@ public abstract class AbstractScalaCodegen extends DefaultCodegen { } @Override - public GeneratorLanguage generatorLanguage() { return GeneratorLanguage.SCALA; } + public GeneratorLanguage generatorLanguage() { + return GeneratorLanguage.SCALA; + } } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java index 486f430f62..f7f6997a2f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java @@ -235,14 +235,14 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp } @Override - public String toModelImport(String name){ - if(isUnionType(name)){ - LOGGER.warn("The import is a union type. Consider using the toModelImportMap method."); - return toModelImportMap(name).values().stream().collect(Collectors.joining("|")); + public String toModelImport(String name) { + if (isUnionType(name)) { + LOGGER.warn("The import is a union type. Consider using the toModelImportMap method."); + return toModelImportMap(name).values().stream().collect(Collectors.joining("|")); } - if(isIntersectionType(name)){ - LOGGER.warn("The import is a intersection type. Consider using the toModelImportMap method."); - return toModelImportMap(name).values().stream().collect(Collectors.joining("&")); + if (isIntersectionType(name)) { + LOGGER.warn("The import is a intersection type. Consider using the toModelImportMap method."); + return toModelImportMap(name).values().stream().collect(Collectors.joining("&")); } return super.toModelImport(name); } @@ -255,26 +255,26 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp * @return Map between the fully qualified model import and the initial given name. */ @Override - public Map toModelImportMap(String name){ + public Map toModelImportMap(String name) { return toImportMap(splitComposedType(name)); } - private String[] splitComposedType (String name) { - return name.replace(" ","").split("[|&<>]"); + private String[] splitComposedType(String name) { + return name.replace(" ", "").split("[|&<>]"); } - private boolean isUnionType(String name){ + private boolean isUnionType(String name) { return name.contains("|"); } - private boolean isIntersectionType(String name){ + private boolean isIntersectionType(String name) { return name.contains("&"); } - private Map toImportMap(String... names) { - Map result = new HashMap<>(); - for(final String name : names) { - if(needToImport(name)) { + private Map toImportMap(String... names) { + Map result = new HashMap<>(); + for (final String name : names) { + if (needToImport(name)) { result.put(toModelImport(name), name); } } @@ -430,11 +430,11 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp public String getTypeDeclaration(Schema p) { if (ModelUtils.isArraySchema(p)) { Schema items = getSchemaItems((ArraySchema) p); - return getSchemaType(p) + "<" + getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, items, schemaMapping)) + ">"; + return getSchemaType(p) + "<" + getTypeDeclaration(unaliasSchema(items)) + ">"; } else if (ModelUtils.isMapSchema(p)) { Schema inner = getSchemaAdditionalProperties(p); String nullSafeSuffix = getNullSafeAdditionalProps() ? " | undefined" : ""; - return "{ [key: string]: " + getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, inner, schemaMapping)) + nullSafeSuffix + "; }"; + return "{ [key: string]: " + getTypeDeclaration(unaliasSchema(inner)) + nullSafeSuffix + "; }"; } else if (ModelUtils.isFileSchema(p)) { return "any"; } else if (ModelUtils.isBinarySchema(p)) { @@ -726,7 +726,7 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp .map(value -> "'" + value.name() + "'") .collect(Collectors.joining(", ")); - String msg = String.format(Locale.ROOT, "Invalid enum property naming '%s'. Must be one of %s.",naming, values); + String msg = String.format(Locale.ROOT, "Invalid enum property naming '%s'. Must be one of %s.", naming, values); throw new IllegalArgumentException(msg); } } @@ -942,8 +942,8 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp */ protected List getTypesFromSchemas(List schemas) { List filteredSchemas = schemas.size() > 1 - ? schemas.stream().filter(schema -> !"AnyType".equals(super.getSchemaType(schema))).collect(Collectors.toList()) - : schemas; + ? schemas.stream().filter(schema -> !"AnyType".equals(super.getSchemaType(schema))).collect(Collectors.toList()) + : schemas; return filteredSchemas.stream().map(schema -> { String schemaType = getSchemaType(schema); @@ -957,5 +957,7 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp } @Override - public GeneratorLanguage generatorLanguage() { return GeneratorLanguage.TYPESCRIPT; } + public GeneratorLanguage generatorLanguage() { + return GeneratorLanguage.TYPESCRIPT; + } } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java index 516df642b3..ec800290c2 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java @@ -295,7 +295,7 @@ public class CppRestSdkClientCodegen extends AbstractCppCodegen { if (methodResponse != null) { Schema response = ModelUtils.getSchemaFromResponse(methodResponse); - response = ModelUtils.unaliasSchema(this.openAPI, response, schemaMapping); + response = unaliasSchema(response); if (response != null) { CodegenProperty cm = fromProperty("response", response, false); op.vendorExtensions.put("x-codegen-response", cm); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java index f7f886467c..74a5bf2c60 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java @@ -215,7 +215,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { } @Override - public Schema unaliasSchema(Schema schema, Map schemaMappings) { + public Schema unaliasSchema(Schema schema) { Map allSchemas = ModelUtils.getSchemas(openAPI); if (allSchemas == null || allSchemas.isEmpty()) { // skip the warning as the spec can have no model defined @@ -225,8 +225,8 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { if (schema != null && StringUtils.isNotEmpty(schema.get$ref())) { String simpleRef = ModelUtils.getSimpleRef(schema.get$ref()); - if (schemaMappings.containsKey(simpleRef)) { - LOGGER.debug("Schema unaliasing of {} omitted because aliased class is to be mapped to {}", simpleRef, schemaMappings.get(simpleRef)); + if (schemaMapping.containsKey(simpleRef)) { + LOGGER.debug("Schema unaliasing of {} omitted because aliased class is to be mapped to {}", simpleRef, schemaMapping.get(simpleRef)); return schema; } Schema ref = allSchemas.get(simpleRef); @@ -240,8 +240,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { if (ModelUtils.isGenerateAliasAsModel(ref)) { return schema; // generate a model extending array } else { - return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), - schemaMappings); + return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref()))); } } else if (ModelUtils.isComposedSchema(ref)) { return schema; @@ -253,8 +252,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { return schema; // generate a model extending map } else { // treat it as a typical map - return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), - schemaMappings); + return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref()))); } } } else if (ModelUtils.isObjectSchema(ref)) { // model @@ -267,8 +265,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { } else if (!getAllOfDescendants(simpleRef, openAPI).isEmpty()) { return schema; } else { - return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), - schemaMappings); + return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref()))); } } } else if (ModelUtils.hasValidation(ref)) { @@ -279,7 +276,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { // - use those validations when we use this schema in composed oneOf schemas return schema; } else { - return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), schemaMappings); + return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref()))); } } return schema; @@ -407,7 +404,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { Map allDefinitions = ModelUtils.getSchemas(this.openAPI); for (String schemaName : allDefinitions.keySet()) { Schema refSchema = new Schema().$ref("#/components/schemas/" + schemaName); - Schema unaliasedSchema = unaliasSchema(refSchema, schemaMapping); + Schema unaliasedSchema = unaliasSchema(refSchema); String modelName = toModelName(schemaName); if (unaliasedSchema.get$ref() == null) { modelsToRemove.add(modelName); @@ -517,7 +514,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { if (schema.get$ref() == null) { return cp; } - Schema unaliasedSchema = unaliasSchema(schema, schemaMapping); + Schema unaliasedSchema = unaliasSchema(schema); CodegenProperty unaliasedProp = fromProperty("body", unaliasedSchema, false); Boolean dataTypeMismatch = !cp.dataType.equals(unaliasedProp.dataType); Boolean baseTypeMismatch = !cp.baseType.equals(unaliasedProp.complexType) && unaliasedProp.complexType != null; @@ -547,7 +544,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { protected void addBodyModelSchema(CodegenParameter codegenParameter, String name, Schema schema, Set imports, String bodyParameterName, boolean forceSimpleRef) { if (name != null) { Schema bodySchema = new Schema().$ref("#/components/schemas/" + name); - Schema unaliased = unaliasSchema(bodySchema, schemaMapping); + Schema unaliased = unaliasSchema(bodySchema); if (unaliased.get$ref() != null) { forceSimpleRef = true; } @@ -758,7 +755,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { public String getModelName(Schema sc) { if (sc.get$ref() != null) { - Schema unaliasedSchema = unaliasSchema(sc, schemaMapping); + Schema unaliasedSchema = unaliasSchema(sc); if (unaliasedSchema.get$ref() != null) { return toModelName(ModelUtils.getSimpleRef(sc.get$ref())); } @@ -851,7 +848,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { if (StringUtils.isNotEmpty(p.get$ref())) { // The input schema is a reference. If the resolved schema is // a composed schema, convert the name to a Python class. - Schema unaliasedSchema = unaliasSchema(p, schemaMapping); + Schema unaliasedSchema = unaliasSchema(p); if (unaliasedSchema.get$ref() != null) { String modelName = toModelName(ModelUtils.getSimpleRef(p.get$ref())); if (referencedModelNames != null) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java index e6e1e2e84e..9f24ff08d9 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java @@ -564,7 +564,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { } @Override - public Schema unaliasSchema(Schema schema, Map schemaMappings) { + public Schema unaliasSchema(Schema schema) { Map allSchemas = ModelUtils.getSchemas(openAPI); if (allSchemas == null || allSchemas.isEmpty()) { // skip the warning as the spec can have no model defined @@ -574,8 +574,8 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { if (schema != null && StringUtils.isNotEmpty(schema.get$ref())) { String simpleRef = ModelUtils.getSimpleRef(schema.get$ref()); - if (schemaMappings.containsKey(simpleRef)) { - LOGGER.debug("Schema unaliasing of {} omitted because aliased class is to be mapped to {}", simpleRef, schemaMappings.get(simpleRef)); + if (schemaMapping.containsKey(simpleRef)) { + LOGGER.debug("Schema unaliasing of {} omitted because aliased class is to be mapped to {}", simpleRef, schemaMapping.get(simpleRef)); return schema; } Schema ref = allSchemas.get(simpleRef); @@ -589,8 +589,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { if (ModelUtils.isGenerateAliasAsModel(ref)) { return schema; // generate a model extending array } else { - return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), - schemaMappings); + return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref()))); } } else if (ModelUtils.isComposedSchema(ref)) { return schema; @@ -602,8 +601,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { return schema; // generate a model extending map } else { // treat it as a typical map - return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), - schemaMappings); + return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref()))); } } } else if (ModelUtils.isObjectSchema(ref)) { // model @@ -616,8 +614,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { } else if (getAllOfDescendants(simpleRef, openAPI).size() > 0) { return schema; } - return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), - schemaMappings); + return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref()))); } } else if (ModelUtils.hasValidation(ref)) { // non object non array non map schemas that have validations @@ -631,7 +628,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { // we make these models so instances of this will be subclasses of this model return schema; } else { - return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), schemaMappings); + return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref()))); } } return schema; @@ -756,7 +753,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { Map allDefinitions = ModelUtils.getSchemas(this.openAPI); for (String schemaName : allDefinitions.keySet()) { Schema refSchema = new Schema().$ref("#/components/schemas/" + schemaName); - Schema unaliasedSchema = unaliasSchema(refSchema, schemaMapping); + Schema unaliasedSchema = unaliasSchema(refSchema); String modelName = toModelName(schemaName); if (unaliasedSchema.get$ref() == null) { continue; @@ -877,7 +874,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { if (cp.isEnum) { updateCodegenPropertyEnum(cp); } - Schema unaliasedSchema = unaliasSchema(p, schemaMapping); + Schema unaliasedSchema = unaliasSchema(p); if (cp.isPrimitiveType && unaliasedSchema.get$ref() != null) { cp.complexType = cp.dataType; } @@ -965,7 +962,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { if (schema.get$ref() == null) { return cp; } - Schema unaliasedSchema = unaliasSchema(schema, schemaMapping); + Schema unaliasedSchema = unaliasSchema(schema); CodegenProperty unaliasedProp = fromProperty("body", unaliasedSchema, false); Boolean dataTypeMismatch = !cp.dataType.equals(unaliasedProp.dataType); Boolean baseTypeMismatch = !cp.baseType.equals(unaliasedProp.complexType) && unaliasedProp.complexType != null; @@ -996,7 +993,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { protected void addBodyModelSchema(CodegenParameter codegenParameter, String name, Schema schema, Set imports, String bodyParameterName, boolean forceSimpleRef) { if (name != null) { Schema bodySchema = new Schema().$ref("#/components/schemas/" + name); - Schema unaliased = unaliasSchema(bodySchema, schemaMapping); + Schema unaliased = unaliasSchema(bodySchema); if (unaliased.get$ref() != null) { forceSimpleRef = true; } @@ -1253,7 +1250,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { @Override public CodegenModel fromModel(String name, Schema sc) { CodegenModel cm = super.fromModel(name, sc); - Schema unaliasedSchema = unaliasSchema(sc, schemaMapping); + Schema unaliasedSchema = unaliasSchema(sc); if (unaliasedSchema != null) { if (ModelUtils.isDecimalSchema(unaliasedSchema)) { // type: string, format: number cm.isString = false; @@ -1304,7 +1301,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { public String getModelName(Schema sc) { if (sc.get$ref() != null) { - Schema unaliasedSchema = unaliasSchema(sc, schemaMapping); + Schema unaliasedSchema = unaliasSchema(sc); if (unaliasedSchema.get$ref() != null) { return toModelName(ModelUtils.getSimpleRef(sc.get$ref())); } @@ -1341,7 +1338,7 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { if (StringUtils.isNotEmpty(p.get$ref())) { // The input schema is a reference. If the resolved schema is // a composed schema, convert the name to a Python class. - Schema unaliasedSchema = unaliasSchema(p, schemaMapping); + Schema unaliasedSchema = unaliasSchema(p); if (unaliasedSchema.get$ref() != null) { String modelName = toModelName(ModelUtils.getSimpleRef(p.get$ref())); if (referencedModelNames != null) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java index f1eb6bdadc..26895f643b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java @@ -885,10 +885,10 @@ public class TypeScriptClientCodegen extends DefaultCodegen implements CodegenCo Schema inner; if (ModelUtils.isArraySchema(p)) { inner = ((ArraySchema) p).getItems(); - return this.getSchemaType(p) + "<" + this.getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, inner, schemaMapping)) + ">"; + return this.getSchemaType(p) + "<" + this.getTypeDeclaration(unaliasSchema(inner)) + ">"; } else if (ModelUtils.isMapSchema(p)) { inner = (Schema) p.getAdditionalProperties(); - return "{ [key: string]: " + this.getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, inner, schemaMapping)) + "; }"; + return "{ [key: string]: " + this.getTypeDeclaration(unaliasSchema(inner)) + "; }"; } else if (ModelUtils.isFileSchema(p)) { return "HttpFile"; } else if (ModelUtils.isBinarySchema(p)) { @@ -940,7 +940,7 @@ public class TypeScriptClientCodegen extends DefaultCodegen implements CodegenCo public String getModelName(Schema sc) { if (sc.get$ref() != null) { - Schema unaliasedSchema = unaliasSchema(sc, schemaMapping); + Schema unaliasedSchema = unaliasSchema(sc); if (unaliasedSchema.get$ref() != null) { return toModelName(ModelUtils.getSimpleRef(sc.get$ref())); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java index 195215bdb5..8ff85cb156 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java @@ -510,7 +510,7 @@ public class TypeScriptFetchClientCodegen extends AbstractTypeScriptClientCodege } if (!op.hasReturnPassthroughVoid) { - Schema responseSchema = unaliasSchema(ModelUtils.getSchemaFromResponse(methodResponse), schemaMapping); + Schema responseSchema = unaliasSchema(ModelUtils.getSchemaFromResponse(methodResponse)); ExtendedCodegenProperty cp = null; if (op.returnPassthrough instanceof String && cm != null) { cp = (ExtendedCodegenProperty) this.processCodeGenModel(cm).vars.get(1); From 0b80444b567de138dac5fd6e5eb0cc18afe3e6bd Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 17 Jul 2022 12:43:40 +0800 Subject: [PATCH 200/212] fix circular reference in inline model (#12894) --- .../codegen/InlineModelResolver.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java index 31c024ee6d..b839960d28 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java @@ -157,6 +157,26 @@ public class InlineModelResolver { * @param schema target schema */ private boolean isModelNeeded(Schema schema) { + return isModelNeeded(schema, new HashSet<>()); + } + + /** + * Return false if model can be represented by primitives e.g. string, object + * without properties, array or map of other model (model contanier), etc. + *

      + * Return true if a model should be generated e.g. object with properties, + * enum, oneOf, allOf, anyOf, etc. + * + * @param schema target schema + * @param visitedSchemas Visited schemas + */ + private boolean isModelNeeded(Schema schema, Set visitedSchemas) { + if (visitedSchemas.contains(schema)) { // circular reference + return true; + } else { + visitedSchemas.add(schema); + } + if (resolveInlineEnums && schema.getEnum() != null && schema.getEnum().size() > 0) { return true; } @@ -172,7 +192,7 @@ public class InlineModelResolver { if (m.getAllOf() != null && !m.getAllOf().isEmpty()) { // check to ensure at least of the allOf item is model for (Schema inner : m.getAllOf()) { - if (isModelNeeded(ModelUtils.getReferencedSchema(openAPI, inner))) { + if (isModelNeeded(ModelUtils.getReferencedSchema(openAPI, inner), visitedSchemas)) { return true; } } From 75895e18bc1022aa06d5646dc9182de5b7ccd6c6 Mon Sep 17 00:00:00 2001 From: AnaTofuZ Date: Sun, 17 Jul 2022 13:50:39 +0900 Subject: [PATCH 201/212] Perl: Fix JSONization of ArrayObjects (#12896) * Perl: fix object to json * generate samples * add test case --- .../main/resources/perl/BaseObject.mustache | 2 ++ .../Object/AdditionalPropertiesClass.pm | 2 ++ .../OpenAPIClient/Object/AllOfWithSingleRef.pm | 2 ++ .../lib/WWW/OpenAPIClient/Object/Animal.pm | 2 ++ .../WWW/OpenAPIClient/Object/ApiResponse.pm | 2 ++ .../Object/ArrayOfArrayOfNumberOnly.pm | 2 ++ .../OpenAPIClient/Object/ArrayOfNumberOnly.pm | 2 ++ .../lib/WWW/OpenAPIClient/Object/ArrayTest.pm | 2 ++ .../WWW/OpenAPIClient/Object/Capitalization.pm | 2 ++ .../perl/lib/WWW/OpenAPIClient/Object/Cat.pm | 2 ++ .../lib/WWW/OpenAPIClient/Object/CatAllOf.pm | 2 ++ .../lib/WWW/OpenAPIClient/Object/Category.pm | 2 ++ .../lib/WWW/OpenAPIClient/Object/ClassModel.pm | 2 ++ .../lib/WWW/OpenAPIClient/Object/Client.pm | 2 ++ .../OpenAPIClient/Object/DeprecatedObject.pm | 2 ++ .../perl/lib/WWW/OpenAPIClient/Object/Dog.pm | 2 ++ .../lib/WWW/OpenAPIClient/Object/DogAllOf.pm | 2 ++ .../lib/WWW/OpenAPIClient/Object/EnumArrays.pm | 2 ++ .../lib/WWW/OpenAPIClient/Object/EnumClass.pm | 2 ++ .../lib/WWW/OpenAPIClient/Object/EnumTest.pm | 2 ++ .../perl/lib/WWW/OpenAPIClient/Object/File.pm | 2 ++ .../Object/FileSchemaTestClass.pm | 2 ++ .../perl/lib/WWW/OpenAPIClient/Object/Foo.pm | 2 ++ .../Object/FooGetDefaultResponse.pm | 2 ++ .../lib/WWW/OpenAPIClient/Object/FormatTest.pm | 2 ++ .../OpenAPIClient/Object/HasOnlyReadOnly.pm | 2 ++ .../OpenAPIClient/Object/HealthCheckResult.pm | 2 ++ .../perl/lib/WWW/OpenAPIClient/Object/List.pm | 2 ++ .../lib/WWW/OpenAPIClient/Object/MapTest.pm | 2 ++ ...edPropertiesAndAdditionalPropertiesClass.pm | 2 ++ .../OpenAPIClient/Object/Model200Response.pm | 2 ++ .../WWW/OpenAPIClient/Object/ModelReturn.pm | 2 ++ .../perl/lib/WWW/OpenAPIClient/Object/Name.pm | 2 ++ .../WWW/OpenAPIClient/Object/NullableClass.pm | 2 ++ .../lib/WWW/OpenAPIClient/Object/NumberOnly.pm | 2 ++ .../Object/ObjectWithDeprecatedFields.pm | 2 ++ .../perl/lib/WWW/OpenAPIClient/Object/Order.pm | 2 ++ .../WWW/OpenAPIClient/Object/OuterComposite.pm | 2 ++ .../lib/WWW/OpenAPIClient/Object/OuterEnum.pm | 2 ++ .../Object/OuterEnumDefaultValue.pm | 2 ++ .../OpenAPIClient/Object/OuterEnumInteger.pm | 2 ++ .../Object/OuterEnumIntegerDefaultValue.pm | 2 ++ .../Object/OuterObjectWithEnumProperty.pm | 2 ++ .../perl/lib/WWW/OpenAPIClient/Object/Pet.pm | 2 ++ .../WWW/OpenAPIClient/Object/ReadOnlyFirst.pm | 2 ++ .../WWW/OpenAPIClient/Object/SingleRefType.pm | 2 ++ .../OpenAPIClient/Object/SpecialModelName.pm | 2 ++ .../perl/lib/WWW/OpenAPIClient/Object/Tag.pm | 2 ++ .../perl/lib/WWW/OpenAPIClient/Object/User.pm | 2 ++ .../client/petstore/perl/tests/02_store_api.t | 18 ++++++++++++++++-- 50 files changed, 114 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/perl/BaseObject.mustache b/modules/openapi-generator/src/main/resources/perl/BaseObject.mustache index 62c00930ba..47fe46dcb2 100644 --- a/modules/openapi-generator/src/main/resources/perl/BaseObject.mustache +++ b/modules/openapi-generator/src/main/resources/perl/BaseObject.mustache @@ -111,6 +111,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/AdditionalPropertiesClass.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/AdditionalPropertiesClass.pm index 5bfd2561c1..5c2e9307fa 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/AdditionalPropertiesClass.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/AdditionalPropertiesClass.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/AllOfWithSingleRef.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/AllOfWithSingleRef.pm index e0b67ee995..0a57730d25 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/AllOfWithSingleRef.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/AllOfWithSingleRef.pm @@ -152,6 +152,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Animal.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Animal.pm index 19935a5a67..a757b284e3 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Animal.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Animal.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ApiResponse.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ApiResponse.pm index 82724eea0e..3000b9d6d5 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ApiResponse.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ApiResponse.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayOfArrayOfNumberOnly.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayOfArrayOfNumberOnly.pm index ef86dfd227..4fdc48339a 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayOfArrayOfNumberOnly.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayOfArrayOfNumberOnly.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayOfNumberOnly.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayOfNumberOnly.pm index d94cc4fa33..0b57da9f12 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayOfNumberOnly.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayOfNumberOnly.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayTest.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayTest.pm index bc9709867d..afe2349c04 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayTest.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ArrayTest.pm @@ -152,6 +152,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Capitalization.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Capitalization.pm index f325e1957e..f42063375c 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Capitalization.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Capitalization.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Cat.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Cat.pm index c54a69e987..cde97e8881 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Cat.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Cat.pm @@ -161,6 +161,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/CatAllOf.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/CatAllOf.pm index 406e840c19..311f549abc 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/CatAllOf.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/CatAllOf.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Category.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Category.pm index e3afa3ab93..f10dd9a33a 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Category.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Category.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ClassModel.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ClassModel.pm index f30461a570..2223cd047b 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ClassModel.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ClassModel.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Client.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Client.pm index 41884d9766..dd092c9635 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Client.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Client.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DeprecatedObject.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DeprecatedObject.pm index f1cea97088..a38312f064 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DeprecatedObject.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DeprecatedObject.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Dog.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Dog.pm index 75c1ec4b12..96ba8329f5 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Dog.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Dog.pm @@ -161,6 +161,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DogAllOf.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DogAllOf.pm index 91a7955661..7215d703f4 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DogAllOf.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DogAllOf.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumArrays.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumArrays.pm index d643ec1c31..eeaa2820f8 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumArrays.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumArrays.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumClass.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumClass.pm index de44e861e1..7f1c21376a 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumClass.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumClass.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumTest.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumTest.pm index 44309f3b79..7365ea1180 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumTest.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/EnumTest.pm @@ -155,6 +155,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/File.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/File.pm index b1f2fabb43..3635691c47 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/File.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/File.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FileSchemaTestClass.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FileSchemaTestClass.pm index 6db1af4d32..83abbe603a 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FileSchemaTestClass.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FileSchemaTestClass.pm @@ -152,6 +152,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Foo.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Foo.pm index 0f46ea56d7..9d2fddd95c 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Foo.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Foo.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FooGetDefaultResponse.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FooGetDefaultResponse.pm index 58b6840640..d67c0207c8 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FooGetDefaultResponse.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FooGetDefaultResponse.pm @@ -152,6 +152,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FormatTest.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FormatTest.pm index 8650282129..e107e0697e 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FormatTest.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FormatTest.pm @@ -152,6 +152,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HasOnlyReadOnly.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HasOnlyReadOnly.pm index b4d3279295..cfea73981d 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HasOnlyReadOnly.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HasOnlyReadOnly.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HealthCheckResult.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HealthCheckResult.pm index 3597ad7910..6899aeb011 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HealthCheckResult.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HealthCheckResult.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/List.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/List.pm index 4079df60b5..6c993449c5 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/List.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/List.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/MapTest.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/MapTest.pm index 6e1eef560a..0065986549 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/MapTest.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/MapTest.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/MixedPropertiesAndAdditionalPropertiesClass.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/MixedPropertiesAndAdditionalPropertiesClass.pm index 14b36c0b9d..b39798d87e 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/MixedPropertiesAndAdditionalPropertiesClass.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/MixedPropertiesAndAdditionalPropertiesClass.pm @@ -152,6 +152,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Model200Response.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Model200Response.pm index bf5e8982fd..8dd6bbecc4 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Model200Response.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Model200Response.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ModelReturn.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ModelReturn.pm index 830cd139e2..19170e5806 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ModelReturn.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ModelReturn.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Name.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Name.pm index 98bc8cb8e5..fe693fb563 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Name.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Name.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/NullableClass.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/NullableClass.pm index ecff001261..e83d3d247e 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/NullableClass.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/NullableClass.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/NumberOnly.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/NumberOnly.pm index e68bf9c257..285b49d5f2 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/NumberOnly.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/NumberOnly.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ObjectWithDeprecatedFields.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ObjectWithDeprecatedFields.pm index b1645a4c9d..52fddf1b0e 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ObjectWithDeprecatedFields.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ObjectWithDeprecatedFields.pm @@ -152,6 +152,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Order.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Order.pm index 6420432525..546fa99bd5 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Order.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Order.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterComposite.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterComposite.pm index c41a1bf716..bd556a015a 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterComposite.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterComposite.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnum.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnum.pm index b891f0e7c4..dcaf89b59b 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnum.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnum.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumDefaultValue.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumDefaultValue.pm index 28aa622afe..de637b622c 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumDefaultValue.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumDefaultValue.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumInteger.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumInteger.pm index 7c50183625..8ea3c91dba 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumInteger.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumInteger.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumIntegerDefaultValue.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumIntegerDefaultValue.pm index c2e3b5bff3..4e2d7f322d 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumIntegerDefaultValue.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterEnumIntegerDefaultValue.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterObjectWithEnumProperty.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterObjectWithEnumProperty.pm index 54e2310624..aa593caa74 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterObjectWithEnumProperty.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/OuterObjectWithEnumProperty.pm @@ -152,6 +152,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Pet.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Pet.pm index c94165e283..4d8e35e755 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Pet.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Pet.pm @@ -153,6 +153,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ReadOnlyFirst.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ReadOnlyFirst.pm index 23f5d6e686..f3eaa616cb 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ReadOnlyFirst.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ReadOnlyFirst.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/SingleRefType.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/SingleRefType.pm index a2d098a691..6840aa6a3c 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/SingleRefType.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/SingleRefType.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/SpecialModelName.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/SpecialModelName.pm index 5814b31aae..a392080eef 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/SpecialModelName.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/SpecialModelName.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Tag.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Tag.pm index 2e220492dc..a1aa0ab405 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Tag.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Tag.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/User.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/User.pm index f46fab05d5..5f750981a4 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/User.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/User.pm @@ -151,6 +151,8 @@ sub _to_json_primitives { return $data->rfc3339; } return $data .q(); + } else { # hash (model), In this case, the TO_JSON of the $data object is executed + return $data; } } diff --git a/samples/client/petstore/perl/tests/02_store_api.t b/samples/client/petstore/perl/tests/02_store_api.t index 36e54ed12f..188471ec3e 100644 --- a/samples/client/petstore/perl/tests/02_store_api.t +++ b/samples/client/petstore/perl/tests/02_store_api.t @@ -1,4 +1,4 @@ -use Test::More tests => 52; +use Test::More tests => 56; use Test::Exception; use lib 'lib'; @@ -170,4 +170,18 @@ like $order_to_json, qr/2020-11-06T09:20:48Z/, '$order{shipDate} to date-time fo like $order_to_json, qr/"101112"/, '$order{status} is number. But json type is string'; -like $order_to_json, qr/false/, '$order{complete} is number. But json type is boolean'; \ No newline at end of file +like $order_to_json, qr/false/, '$order{complete} is number. But json type is boolean'; + +my $pet_object = WWW::OpenAPIClient::Object::Pet->new->from_hash({ + tags => [ + WWW::OpenAPIClient::Object::Tag->new->from_hash({id => 123, name => 1000}), + WWW::OpenAPIClient::Object::Tag->new->from_hash({id => 456, name => 'test2'}), + ] +}); + + +my $pet_object_to_json = JSON->new->convert_blessed->encode($pet_object); +like $pet_object_to_json, qr/\"id\":123/, '$pet_object->tags->[0]->id'; +like $pet_object_to_json, qr/\"name\":\"1000\"/, '$pet_object->tags->[0]->name'; +like $pet_object_to_json, qr/\"id\":456/, '$pet_object->tags->[1]->id'; +like $pet_object_to_json, qr/\"name\":\"test2\"/, '$pet_object->tags->[1]->name'; \ No newline at end of file From f05dd12b43737b981c61923ea02b22d333e1b31a Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 17 Jul 2022 13:10:53 +0800 Subject: [PATCH 202/212] add decimal mapping in perl client gen (#12897) --- .../openapitools/codegen/languages/PerlClientCodegen.java | 1 + samples/client/petstore/perl/docs/FormatTest.md | 2 +- .../petstore/perl/lib/WWW/OpenAPIClient/Object/FormatTest.pm | 5 ++--- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java index 0986c187e6..bfae655bbd 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java @@ -127,6 +127,7 @@ public class PerlClientCodegen extends DefaultCodegen implements CodegenConfig { typeMapping.put("float", "double"); typeMapping.put("double", "double"); typeMapping.put("number", "double"); + typeMapping.put("decimal", "double"); typeMapping.put("boolean", "boolean"); typeMapping.put("string", "string"); typeMapping.put("date", "DATE"); diff --git a/samples/client/petstore/perl/docs/FormatTest.md b/samples/client/petstore/perl/docs/FormatTest.md index a55b89f6ce..bd9dd2565c 100644 --- a/samples/client/petstore/perl/docs/FormatTest.md +++ b/samples/client/petstore/perl/docs/FormatTest.md @@ -14,7 +14,7 @@ Name | Type | Description | Notes **number** | **double** | | **float** | **double** | | [optional] **double** | **double** | | [optional] -**decimal** | [**Decimal**](Decimal.md) | | [optional] +**decimal** | **double** | | [optional] **string** | **string** | | [optional] **byte** | **string** | | **binary** | **string** | | [optional] diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FormatTest.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FormatTest.pm index e107e0697e..d0ad7e619f 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FormatTest.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/FormatTest.pm @@ -30,7 +30,6 @@ use Log::Any qw($log); use Date::Parse; use DateTime; -use WWW::OpenAPIClient::Object::Decimal; use base ("Class::Accessor", "Class::Data::Inheritable"); @@ -257,7 +256,7 @@ __PACKAGE__->method_documentation({ read_only => '', }, 'decimal' => { - datatype => 'Decimal', + datatype => 'double', base_name => 'decimal', description => '', format => '', @@ -335,7 +334,7 @@ __PACKAGE__->openapi_types( { 'number' => 'double', 'float' => 'double', 'double' => 'double', - 'decimal' => 'Decimal', + 'decimal' => 'double', 'string' => 'string', 'byte' => 'string', 'binary' => 'string', From 83473eb735873959f059a5a218d695fd414ee45a Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 17 Jul 2022 14:46:49 +0800 Subject: [PATCH 203/212] Test Perl client in Travis CI (#12898) * test perl client in travis * fix pom --- .travis.yml | 6 ++---- pom.xml | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6816f00d0b..0f5b038ec8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -111,11 +111,9 @@ before_install: - cmake --version # install Qt5 #- sudo apt install -y --no-install-recommends qt5-default - # -- skip perl test to shorten build time # perl dep - #- cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib) - #- cpanm --quiet --no-interactive Test::Exception Test::More Log::Any LWP::UserAgent URI::Query Module::Runtime DateTime Module::Find Moose::Role JSON || echo "Ignored failure from cpanm" - # -- skip perl test end + - cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib) + - cpanm --quiet --no-interactive Test::Exception Test::More Log::Any LWP::UserAgent URI::Query Module::Runtime DateTime Module::Find Moose::Role JSON || echo "Ignored failure from cpanm" # show host table to confirm petstore.swagger.io is mapped to localhost - cat /etc/hosts # show java version diff --git a/pom.xml b/pom.xml index 35c06426b3..6a629642e7 100644 --- a/pom.xml +++ b/pom.xml @@ -1142,8 +1142,8 @@ samples/server/petstore/php-lumen--> samples/server/petstore/rust-server - + samples/client/petstore/perl + samples/client/petstore/ruby-faraday samples/client/petstore/ruby + + diff --git a/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/Program.cs b/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/Program.cs new file mode 100644 index 0000000000..00ed16ed67 --- /dev/null +++ b/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/Program.cs @@ -0,0 +1,33 @@ +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Hosting; + +namespace Org.OpenAPITools +{ + ///

      + /// Program + /// + public class Program + { + /// + /// Main + /// + /// + public static void Main(string[] args) + { + CreateHostBuilder(args).Build().Run(); + } + + /// + /// Create the host builder. + /// + /// + /// IHostBuilder + public static IHostBuilder CreateHostBuilder(string[] args) => + Host.CreateDefaultBuilder(args) + .ConfigureWebHostDefaults(webBuilder => + { + webBuilder.UseStartup() + .UseUrls("http://0.0.0.0:8080/"); + }); + } +} diff --git a/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/Properties/launchSettings.json b/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/Properties/launchSettings.json new file mode 100644 index 0000000000..99cfeea4b9 --- /dev/null +++ b/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/Properties/launchSettings.json @@ -0,0 +1,37 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:61788", + "sslPort": 44301 + } + }, + "profiles": { + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "openapi", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "OpenAPI": { + "commandName": "Project", + "launchBrowser": true, + "launchUrl": "openapi", + "applicationUrl": "https://localhost:5001;http://localhost:5000", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "Docker": { + "commandName": "Docker", + "launchBrowser": true, + "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/openapi", + "publishAllPorts": true, + "useSSL": true + } + } +} diff --git a/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/Startup.cs b/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/Startup.cs new file mode 100644 index 0000000000..5699f01516 --- /dev/null +++ b/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/Startup.cs @@ -0,0 +1,154 @@ +/* + * OpenAPI Petstore + * + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +using System; +using System.IO; +using System.Reflection; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using Microsoft.OpenApi.Models; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Serialization; +using Org.OpenAPITools.Authentication; +using Org.OpenAPITools.Filters; +using Org.OpenAPITools.OpenApi; +using Org.OpenAPITools.Formatters; + +namespace Org.OpenAPITools +{ + /// + /// Startup + /// + public class Startup + { + /// + /// Constructor + /// + /// + public Startup(IConfiguration configuration) + { + Configuration = configuration; + } + + /// + /// The application configuration. + /// + public IConfiguration Configuration { get; } + + /// + /// This method gets called by the runtime. Use this method to add services to the container. + /// + /// + public void ConfigureServices(IServiceCollection services) + { + services.AddTransient(); + services.AddAuthorization(authConfig => + { + authConfig.AddPolicy("api_key", policyBuilder => + { + policyBuilder + .AddRequirements(new ApiKeyRequirement(new[] { "my-secret-key" },"api_key")); + }); + }); + + // Add framework services. + services + // Don't need the full MVC stack for an API, see https://andrewlock.net/comparing-startup-between-the-asp-net-core-3-templates/ + .AddControllers(options => { + options.InputFormatters.Insert(0, new InputFormatterStream()); + }) + .AddNewtonsoftJson(opts => + { + opts.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); + opts.SerializerSettings.Converters.Add(new StringEnumConverter + { + NamingStrategy = new CamelCaseNamingStrategy() + }); + }); + + services + .AddSwaggerGen(c => + { + c.SwaggerDoc("1.0.0", new OpenApiInfo + { + Title = "OpenAPI Petstore", + Description = "OpenAPI Petstore (ASP.NET Core 6.0)", + TermsOfService = new Uri("https://github.com/openapitools/openapi-generator"), + Contact = new OpenApiContact + { + Name = "OpenAPI-Generator Contributors", + Url = new Uri("https://github.com/openapitools/openapi-generator"), + Email = "" + }, + License = new OpenApiLicense + { + Name = "NoLicense", + Url = new Uri("https://www.apache.org/licenses/LICENSE-2.0.html") + }, + Version = "1.0.0", + }); + c.CustomSchemaIds(type => type.FriendlyId(true)); + c.IncludeXmlComments($"{AppContext.BaseDirectory}{Path.DirectorySeparatorChar}{Assembly.GetEntryAssembly().GetName().Name}.xml"); + // Sets the basePath property in the OpenAPI document generated + c.DocumentFilter("/v2"); + + // Include DataAnnotation attributes on Controller Action parameters as OpenAPI validation rules (e.g required, pattern, ..) + // Use [ValidateModelState] on Actions to actually validate it in C# as well! + c.OperationFilter(); + }); + services + .AddSwaggerGenNewtonsoftSupport(); + } + + /// + /// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. + /// + /// + /// + public void Configure(IApplicationBuilder app, IWebHostEnvironment env) + { + if (env.IsDevelopment()) + { + app.UseDeveloperExceptionPage(); + } + else + { + app.UseHsts(); + } + + app.UseHttpsRedirection(); + app.UseDefaultFiles(); + app.UseStaticFiles(); + app.UseSwagger(c => + { + c.RouteTemplate = "openapi/{documentName}/openapi.json"; + }) + .UseSwaggerUI(c => + { + // set route prefix to openapi, e.g. http://localhost:8080/openapi/index.html + c.RoutePrefix = "openapi"; + //TODO: Either use the SwaggerGen generated OpenAPI contract (generated from C# classes) + c.SwaggerEndpoint("/openapi/1.0.0/openapi.json", "OpenAPI Petstore"); + + //TODO: Or alternatively use the original OpenAPI contract that's included in the static files + // c.SwaggerEndpoint("/openapi-original.json", "OpenAPI Petstore Original"); + }); + app.UseRouting(); + app.UseEndpoints(endpoints => + { + endpoints.MapControllers(); + }); + } + } +} diff --git a/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/appsettings.Development.json b/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/appsettings.Development.json new file mode 100644 index 0000000000..e203e9407e --- /dev/null +++ b/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/appsettings.Development.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Debug", + "System": "Information", + "Microsoft": "Information" + } + } +} diff --git a/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/appsettings.json b/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/appsettings.json new file mode 100644 index 0000000000..def9159a7d --- /dev/null +++ b/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/appsettings.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/wwwroot/README.md b/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/wwwroot/README.md new file mode 100644 index 0000000000..6a0b78471a --- /dev/null +++ b/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/wwwroot/README.md @@ -0,0 +1,42 @@ +# Welcome to ASP.NET 5 Preview + +We've made some big updates in this release, so it’s **important** that you spend a few minutes to learn what’s new. + +ASP.NET 5 has been rearchitected to make it **lean** and **composable**. It's fully **open source** and available on [GitHub](http://go.microsoft.com/fwlink/?LinkID=517854). +Your new project automatically takes advantage of modern client-side utilities like [Bower](http://go.microsoft.com/fwlink/?LinkId=518004) and [npm](http://go.microsoft.com/fwlink/?LinkId=518005) (to add client-side libraries) and [Gulp](http://go.microsoft.com/fwlink/?LinkId=518007) (for client-side build and automation tasks). + +We hope you enjoy the new capabilities in ASP.NET 5 and Visual Studio 2015. +The ASP.NET Team + +### You've created a new ASP.NET 5 project. [Learn what's new](http://go.microsoft.com/fwlink/?LinkId=518016) + +### This application consists of: +* Sample pages using ASP.NET MVC 6 +* [Gulp](http://go.microsoft.com/fwlink/?LinkId=518007) and [Bower](http://go.microsoft.com/fwlink/?LinkId=518004) for managing client-side resources +* Theming using [Bootstrap](http://go.microsoft.com/fwlink/?LinkID=398939) + +#### NEW CONCEPTS +* [The 'wwwroot' explained](http://go.microsoft.com/fwlink/?LinkId=518008) +* [Configuration in ASP.NET 5](http://go.microsoft.com/fwlink/?LinkId=518012) +* [Dependency Injection](http://go.microsoft.com/fwlink/?LinkId=518013) +* [Razor TagHelpers](http://go.microsoft.com/fwlink/?LinkId=518014) +* [Manage client packages using Gulp](http://go.microsoft.com/fwlink/?LinkID=517849) +* [Develop on different platforms](http://go.microsoft.com/fwlink/?LinkID=517850) + +#### CUSTOMIZE APP +* [Add Controllers and Views](http://go.microsoft.com/fwlink/?LinkID=398600) +* [Add Data using EntityFramework](http://go.microsoft.com/fwlink/?LinkID=398602) +* [Add Authentication using Identity](http://go.microsoft.com/fwlink/?LinkID=398603) +* [Add real time support using SignalR](http://go.microsoft.com/fwlink/?LinkID=398606) +* [Add Class library](http://go.microsoft.com/fwlink/?LinkID=398604) +* [Add Web APIs with MVC 6](http://go.microsoft.com/fwlink/?LinkId=518009) +* [Add client packages using Bower](http://go.microsoft.com/fwlink/?LinkID=517848) + +#### DEPLOY +* [Run your app locally](http://go.microsoft.com/fwlink/?LinkID=517851) +* [Run your app on ASP.NET Core 5](http://go.microsoft.com/fwlink/?LinkID=517852) +* [Run commands in your 'project.json'](http://go.microsoft.com/fwlink/?LinkID=517853) +* [Publish to Microsoft Azure Web Sites](http://go.microsoft.com/fwlink/?LinkID=398609) +* [Publish to the file system](http://go.microsoft.com/fwlink/?LinkId=518019) + +We would love to hear your [feedback](http://go.microsoft.com/fwlink/?LinkId=518015) diff --git a/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/wwwroot/index.html b/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/wwwroot/index.html new file mode 100644 index 0000000000..f3318bc90a --- /dev/null +++ b/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/wwwroot/index.html @@ -0,0 +1 @@ + diff --git a/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/wwwroot/openapi-original.json b/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/wwwroot/openapi-original.json new file mode 100644 index 0000000000..257358c060 --- /dev/null +++ b/samples/server/petstore/aspnetcore-6.0-pocoModels/src/Org.OpenAPITools/wwwroot/openapi-original.json @@ -0,0 +1,1099 @@ +{ + "openapi" : "3.0.0", + "info" : { + "description" : "This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.", + "license" : { + "name" : "Apache-2.0", + "url" : "https://www.apache.org/licenses/LICENSE-2.0.html" + }, + "title" : "OpenAPI Petstore", + "version" : "1.0.0" + }, + "externalDocs" : { + "description" : "Find out more about Swagger", + "url" : "http://swagger.io" + }, + "servers" : [ { + "url" : "http://petstore.swagger.io/v2" + } ], + "tags" : [ { + "description" : "Everything about your Pets", + "name" : "pet" + }, { + "description" : "Access to Petstore orders", + "name" : "store" + }, { + "description" : "Operations about user", + "name" : "user" + } ], + "paths" : { + "/pet" : { + "post" : { + "description" : "", + "operationId" : "addPet", + "requestBody" : { + "$ref" : "#/components/requestBodies/Pet" + }, + "responses" : { + "200" : { + "content" : { + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + }, + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + } + }, + "description" : "successful operation" + }, + "405" : { + "description" : "Invalid input" + } + }, + "security" : [ { + "petstore_auth" : [ "write:pets", "read:pets" ] + } ], + "summary" : "Add a new pet to the store", + "tags" : [ "pet" ] + }, + "put" : { + "description" : "", + "operationId" : "updatePet", + "requestBody" : { + "$ref" : "#/components/requestBodies/Pet" + }, + "responses" : { + "200" : { + "content" : { + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + }, + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + } + }, + "description" : "successful operation" + }, + "400" : { + "description" : "Invalid ID supplied" + }, + "404" : { + "description" : "Pet not found" + }, + "405" : { + "description" : "Validation exception" + } + }, + "security" : [ { + "petstore_auth" : [ "write:pets", "read:pets" ] + } ], + "summary" : "Update an existing pet", + "tags" : [ "pet" ] + } + }, + "/pet/findByStatus" : { + "get" : { + "description" : "Multiple status values can be provided with comma separated strings", + "operationId" : "findPetsByStatus", + "parameters" : [ { + "deprecated" : true, + "description" : "Status values that need to be considered for filter", + "explode" : false, + "in" : "query", + "name" : "status", + "required" : true, + "schema" : { + "items" : { + "default" : "available", + "enum" : [ "available", "pending", "sold" ], + "type" : "string" + }, + "type" : "array" + }, + "style" : "form" + } ], + "responses" : { + "200" : { + "content" : { + "application/xml" : { + "schema" : { + "items" : { + "$ref" : "#/components/schemas/Pet" + }, + "type" : "array" + } + }, + "application/json" : { + "schema" : { + "items" : { + "$ref" : "#/components/schemas/Pet" + }, + "type" : "array" + } + } + }, + "description" : "successful operation" + }, + "400" : { + "description" : "Invalid status value" + } + }, + "security" : [ { + "petstore_auth" : [ "read:pets" ] + } ], + "summary" : "Finds Pets by status", + "tags" : [ "pet" ] + } + }, + "/pet/findByTags" : { + "get" : { + "deprecated" : true, + "description" : "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.", + "operationId" : "findPetsByTags", + "parameters" : [ { + "description" : "Tags to filter by", + "explode" : false, + "in" : "query", + "name" : "tags", + "required" : true, + "schema" : { + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "style" : "form" + } ], + "responses" : { + "200" : { + "content" : { + "application/xml" : { + "schema" : { + "items" : { + "$ref" : "#/components/schemas/Pet" + }, + "type" : "array" + } + }, + "application/json" : { + "schema" : { + "items" : { + "$ref" : "#/components/schemas/Pet" + }, + "type" : "array" + } + } + }, + "description" : "successful operation" + }, + "400" : { + "description" : "Invalid tag value" + } + }, + "security" : [ { + "petstore_auth" : [ "read:pets" ] + } ], + "summary" : "Finds Pets by tags", + "tags" : [ "pet" ] + } + }, + "/pet/{petId}" : { + "delete" : { + "description" : "", + "operationId" : "deletePet", + "parameters" : [ { + "explode" : false, + "in" : "header", + "name" : "api_key", + "required" : false, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Pet id to delete", + "explode" : false, + "in" : "path", + "name" : "petId", + "required" : true, + "schema" : { + "format" : "int64", + "type" : "integer" + }, + "style" : "simple" + } ], + "responses" : { + "400" : { + "description" : "Invalid pet value" + } + }, + "security" : [ { + "petstore_auth" : [ "write:pets", "read:pets" ] + } ], + "summary" : "Deletes a pet", + "tags" : [ "pet" ] + }, + "get" : { + "description" : "Returns a single pet", + "operationId" : "getPetById", + "parameters" : [ { + "description" : "ID of pet to return", + "explode" : false, + "in" : "path", + "name" : "petId", + "required" : true, + "schema" : { + "format" : "int64", + "type" : "integer" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + }, + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + } + }, + "description" : "successful operation" + }, + "400" : { + "description" : "Invalid ID supplied" + }, + "404" : { + "description" : "Pet not found" + } + }, + "security" : [ { + "api_key" : [ ] + } ], + "summary" : "Find pet by ID", + "tags" : [ "pet" ] + }, + "post" : { + "description" : "", + "operationId" : "updatePetWithForm", + "parameters" : [ { + "description" : "ID of pet that needs to be updated", + "explode" : false, + "in" : "path", + "name" : "petId", + "required" : true, + "schema" : { + "format" : "int64", + "type" : "integer" + }, + "style" : "simple" + } ], + "requestBody" : { + "content" : { + "application/x-www-form-urlencoded" : { + "schema" : { + "$ref" : "#/components/schemas/updatePetWithForm_request" + } + } + } + }, + "responses" : { + "405" : { + "description" : "Invalid input" + } + }, + "security" : [ { + "petstore_auth" : [ "write:pets", "read:pets" ] + } ], + "summary" : "Updates a pet in the store with form data", + "tags" : [ "pet" ] + } + }, + "/pet/{petId}/uploadImage" : { + "post" : { + "description" : "", + "operationId" : "uploadFile", + "parameters" : [ { + "description" : "ID of pet to update", + "explode" : false, + "in" : "path", + "name" : "petId", + "required" : true, + "schema" : { + "format" : "int64", + "type" : "integer" + }, + "style" : "simple" + } ], + "requestBody" : { + "content" : { + "multipart/form-data" : { + "schema" : { + "$ref" : "#/components/schemas/uploadFile_request" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ApiResponse" + } + } + }, + "description" : "successful operation" + } + }, + "security" : [ { + "petstore_auth" : [ "write:pets", "read:pets" ] + } ], + "summary" : "uploads an image", + "tags" : [ "pet" ] + } + }, + "/store/inventory" : { + "get" : { + "description" : "Returns a map of status codes to quantities", + "operationId" : "getInventory", + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "additionalProperties" : { + "format" : "int32", + "type" : "integer" + }, + "type" : "object" + } + } + }, + "description" : "successful operation" + } + }, + "security" : [ { + "api_key" : [ ] + } ], + "summary" : "Returns pet inventories by status", + "tags" : [ "store" ] + } + }, + "/store/order" : { + "post" : { + "description" : "", + "operationId" : "placeOrder", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Order" + } + } + }, + "description" : "order placed for purchasing the pet", + "required" : true + }, + "responses" : { + "200" : { + "content" : { + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Order" + } + }, + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Order" + } + } + }, + "description" : "successful operation" + }, + "400" : { + "description" : "Invalid Order" + } + }, + "summary" : "Place an order for a pet", + "tags" : [ "store" ] + } + }, + "/store/order/{orderId}" : { + "delete" : { + "description" : "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors", + "operationId" : "deleteOrder", + "parameters" : [ { + "description" : "ID of the order that needs to be deleted", + "explode" : false, + "in" : "path", + "name" : "orderId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "400" : { + "description" : "Invalid ID supplied" + }, + "404" : { + "description" : "Order not found" + } + }, + "summary" : "Delete purchase order by ID", + "tags" : [ "store" ] + }, + "get" : { + "description" : "For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions", + "operationId" : "getOrderById", + "parameters" : [ { + "description" : "ID of pet that needs to be fetched", + "explode" : false, + "in" : "path", + "name" : "orderId", + "required" : true, + "schema" : { + "format" : "int64", + "maximum" : 5, + "minimum" : 1, + "type" : "integer" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Order" + } + }, + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Order" + } + } + }, + "description" : "successful operation" + }, + "400" : { + "description" : "Invalid ID supplied" + }, + "404" : { + "description" : "Order not found" + } + }, + "summary" : "Find purchase order by ID", + "tags" : [ "store" ] + } + }, + "/user" : { + "post" : { + "description" : "This can only be done by the logged in user.", + "operationId" : "createUser", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/User" + } + } + }, + "description" : "Created user object", + "required" : true + }, + "responses" : { + "default" : { + "description" : "successful operation" + } + }, + "security" : [ { + "api_key" : [ ] + } ], + "summary" : "Create user", + "tags" : [ "user" ] + } + }, + "/user/createWithArray" : { + "post" : { + "description" : "", + "operationId" : "createUsersWithArrayInput", + "requestBody" : { + "$ref" : "#/components/requestBodies/UserArray" + }, + "responses" : { + "default" : { + "description" : "successful operation" + } + }, + "security" : [ { + "api_key" : [ ] + } ], + "summary" : "Creates list of users with given input array", + "tags" : [ "user" ] + } + }, + "/user/createWithList" : { + "post" : { + "description" : "", + "operationId" : "createUsersWithListInput", + "requestBody" : { + "$ref" : "#/components/requestBodies/UserArray" + }, + "responses" : { + "default" : { + "description" : "successful operation" + } + }, + "security" : [ { + "api_key" : [ ] + } ], + "summary" : "Creates list of users with given input array", + "tags" : [ "user" ] + } + }, + "/user/login" : { + "get" : { + "description" : "", + "operationId" : "loginUser", + "parameters" : [ { + "description" : "The user name for login", + "explode" : true, + "in" : "query", + "name" : "username", + "required" : true, + "schema" : { + "pattern" : "^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$", + "type" : "string" + }, + "style" : "form" + }, { + "description" : "The password for login in clear text", + "explode" : true, + "in" : "query", + "name" : "password", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "form" + } ], + "responses" : { + "200" : { + "content" : { + "application/xml" : { + "schema" : { + "type" : "string" + } + }, + "application/json" : { + "schema" : { + "type" : "string" + } + } + }, + "description" : "successful operation", + "headers" : { + "Set-Cookie" : { + "description" : "Cookie authentication key for use with the `api_key` apiKey authentication.", + "explode" : false, + "schema" : { + "example" : "AUTH_KEY=abcde12345; Path=/; HttpOnly", + "type" : "string" + }, + "style" : "simple" + }, + "X-Rate-Limit" : { + "description" : "calls per hour allowed by the user", + "explode" : false, + "schema" : { + "format" : "int32", + "type" : "integer" + }, + "style" : "simple" + }, + "X-Expires-After" : { + "description" : "date in UTC when token expires", + "explode" : false, + "schema" : { + "format" : "date-time", + "type" : "string" + }, + "style" : "simple" + } + } + }, + "400" : { + "description" : "Invalid username/password supplied" + } + }, + "summary" : "Logs user into the system", + "tags" : [ "user" ] + } + }, + "/user/logout" : { + "get" : { + "description" : "", + "operationId" : "logoutUser", + "responses" : { + "default" : { + "description" : "successful operation" + } + }, + "security" : [ { + "api_key" : [ ] + } ], + "summary" : "Logs out current logged in user session", + "tags" : [ "user" ] + } + }, + "/user/{username}" : { + "delete" : { + "description" : "This can only be done by the logged in user.", + "operationId" : "deleteUser", + "parameters" : [ { + "description" : "The name that needs to be deleted", + "explode" : false, + "in" : "path", + "name" : "username", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "400" : { + "description" : "Invalid username supplied" + }, + "404" : { + "description" : "User not found" + } + }, + "security" : [ { + "api_key" : [ ] + } ], + "summary" : "Delete user", + "tags" : [ "user" ] + }, + "get" : { + "description" : "", + "operationId" : "getUserByName", + "parameters" : [ { + "description" : "The name that needs to be fetched. Use user1 for testing.", + "explode" : false, + "in" : "path", + "name" : "username", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/User" + } + }, + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/User" + } + } + }, + "description" : "successful operation" + }, + "400" : { + "description" : "Invalid username supplied" + }, + "404" : { + "description" : "User not found" + } + }, + "summary" : "Get user by user name", + "tags" : [ "user" ] + }, + "put" : { + "description" : "This can only be done by the logged in user.", + "operationId" : "updateUser", + "parameters" : [ { + "description" : "name that need to be deleted", + "explode" : false, + "in" : "path", + "name" : "username", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + } ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/User" + } + } + }, + "description" : "Updated user object", + "required" : true + }, + "responses" : { + "400" : { + "description" : "Invalid user supplied" + }, + "404" : { + "description" : "User not found" + } + }, + "security" : [ { + "api_key" : [ ] + } ], + "summary" : "Updated user", + "tags" : [ "user" ] + } + }, + "/fake/parameter_example_test" : { + "get" : { + "description" : "", + "operationId" : "fake_parameter_example_test", + "parameters" : [ { + "explode" : true, + "in" : "query", + "name" : "data", + "required" : true, + "schema" : { + "$ref" : "#/components/schemas/Pet" + }, + "style" : "form" + } ], + "responses" : { + "default" : { + "description" : "successful operation" + } + }, + "summary" : "fake endpoint to test parameter example (object)", + "tags" : [ "fake" ] + } + } + }, + "components" : { + "requestBodies" : { + "UserArray" : { + "content" : { + "application/json" : { + "schema" : { + "items" : { + "$ref" : "#/components/schemas/User" + }, + "type" : "array" + } + } + }, + "description" : "List of user object", + "required" : true + }, + "Pet" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Pet" + } + } + }, + "description" : "Pet object that needs to be added to the store", + "required" : true + } + }, + "schemas" : { + "Order" : { + "description" : "An order for a pets from the pet store", + "example" : { + "petId" : 6, + "quantity" : 1, + "id" : 0, + "shipDate" : "2000-01-23T04:56:07.000+00:00", + "complete" : false, + "status" : "placed" + }, + "properties" : { + "id" : { + "format" : "int64", + "type" : "integer" + }, + "petId" : { + "format" : "int64", + "type" : "integer" + }, + "quantity" : { + "format" : "int32", + "type" : "integer" + }, + "shipDate" : { + "format" : "date-time", + "type" : "string" + }, + "status" : { + "description" : "Order Status", + "enum" : [ "placed", "approved", "delivered" ], + "type" : "string" + }, + "complete" : { + "default" : false, + "type" : "boolean" + } + }, + "title" : "Pet Order", + "type" : "object", + "xml" : { + "name" : "Order" + } + }, + "Category" : { + "description" : "A category for a pet", + "example" : { + "name" : "name", + "id" : 6 + }, + "properties" : { + "id" : { + "format" : "int64", + "type" : "integer" + }, + "name" : { + "pattern" : "^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$", + "type" : "string" + } + }, + "title" : "Pet category", + "type" : "object", + "xml" : { + "name" : "Category" + } + }, + "User" : { + "description" : "A User who is purchasing from the pet store", + "example" : { + "firstName" : "firstName", + "lastName" : "lastName", + "password" : "password", + "userStatus" : 6, + "phone" : "phone", + "id" : 0, + "email" : "email", + "username" : "username" + }, + "properties" : { + "id" : { + "format" : "int64", + "type" : "integer" + }, + "username" : { + "type" : "string" + }, + "firstName" : { + "type" : "string" + }, + "lastName" : { + "type" : "string" + }, + "email" : { + "type" : "string" + }, + "password" : { + "type" : "string" + }, + "phone" : { + "type" : "string" + }, + "userStatus" : { + "description" : "User Status", + "format" : "int32", + "type" : "integer" + } + }, + "title" : "a User", + "type" : "object", + "xml" : { + "name" : "User" + } + }, + "Tag" : { + "description" : "A tag for a pet", + "example" : { + "name" : "name", + "id" : 1 + }, + "properties" : { + "id" : { + "format" : "int64", + "type" : "integer" + }, + "name" : { + "type" : "string" + } + }, + "title" : "Pet Tag", + "type" : "object", + "xml" : { + "name" : "Tag" + } + }, + "Pet" : { + "description" : "A pet for sale in the pet store", + "example" : { + "photoUrls" : [ "photoUrls", "photoUrls" ], + "name" : "doggie", + "id" : 0, + "category" : { + "name" : "name", + "id" : 6 + }, + "tags" : [ { + "name" : "name", + "id" : 1 + }, { + "name" : "name", + "id" : 1 + } ], + "status" : "available" + }, + "properties" : { + "id" : { + "format" : "int64", + "type" : "integer" + }, + "category" : { + "$ref" : "#/components/schemas/Category" + }, + "name" : { + "example" : "doggie", + "type" : "string" + }, + "photoUrls" : { + "items" : { + "type" : "string" + }, + "type" : "array", + "xml" : { + "name" : "photoUrl", + "wrapped" : true + } + }, + "tags" : { + "items" : { + "$ref" : "#/components/schemas/Tag" + }, + "type" : "array", + "xml" : { + "name" : "tag", + "wrapped" : true + } + }, + "status" : { + "deprecated" : true, + "description" : "pet status in the store", + "enum" : [ "available", "pending", "sold" ], + "type" : "string" + } + }, + "required" : [ "name", "photoUrls" ], + "title" : "a Pet", + "type" : "object", + "xml" : { + "name" : "Pet" + } + }, + "ApiResponse" : { + "description" : "Describes the result of uploading an image resource", + "example" : { + "code" : 0, + "type" : "type", + "message" : "message" + }, + "properties" : { + "code" : { + "format" : "int32", + "type" : "integer" + }, + "type" : { + "type" : "string" + }, + "message" : { + "type" : "string" + } + }, + "title" : "An uploaded response", + "type" : "object" + }, + "updatePetWithForm_request" : { + "properties" : { + "name" : { + "description" : "Updated name of the pet", + "type" : "string" + }, + "status" : { + "description" : "Updated status of the pet", + "type" : "string" + } + }, + "type" : "object" + }, + "uploadFile_request" : { + "properties" : { + "additionalMetadata" : { + "description" : "Additional data to pass to server", + "type" : "string" + }, + "file" : { + "description" : "file to upload", + "format" : "binary", + "type" : "string" + } + }, + "type" : "object" + } + }, + "securitySchemes" : { + "petstore_auth" : { + "flows" : { + "implicit" : { + "authorizationUrl" : "http://petstore.swagger.io/api/oauth/dialog", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + } + } + }, + "type" : "oauth2" + }, + "api_key" : { + "in" : "header", + "name" : "api_key", + "type" : "apiKey" + } + } + } +} From e05b9746ea2fee503c4e8eb2598443aad1edc357 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 17 Jul 2022 17:29:05 +0800 Subject: [PATCH 206/212] [R] Add lintr (#12902) * add lintr * update samples --- .../openapitools/codegen/languages/RClientCodegen.java | 1 + .../openapi-generator/src/main/resources/r/lintr.mustache | 6 ++++++ .../src/main/resources/r/r-client.mustache | 8 ++++---- samples/client/petstore/R/.github/workflows/r-client.yaml | 8 ++++---- samples/client/petstore/R/.lintr | 6 ++++++ samples/client/petstore/R/.openapi-generator/FILES | 1 + 6 files changed, 22 insertions(+), 8 deletions(-) create mode 100644 modules/openapi-generator/src/main/resources/r/lintr.mustache create mode 100644 samples/client/petstore/R/.lintr diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java index 9fcf0f4a64..37880fee6c 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java @@ -251,6 +251,7 @@ public class RClientCodegen extends DefaultCodegen implements CodegenConfig { supportingFiles.add(new SupportingFile("NAMESPACE.mustache", "", "NAMESPACE")); supportingFiles.add(new SupportingFile("testthat.mustache", File.separator + "tests", "testthat.R")); supportingFiles.add(new SupportingFile("r-client.mustache", File.separator + ".github" + File.separator + "workflows", "r-client.yaml")); + supportingFiles.add(new SupportingFile("lintr.mustache", "", ".lintr")); // add lambda for mustache templates to fix license field additionalProperties.put("lambdaLicense", new Mustache.Lambda() { diff --git a/modules/openapi-generator/src/main/resources/r/lintr.mustache b/modules/openapi-generator/src/main/resources/r/lintr.mustache new file mode 100644 index 0000000000..9d908cd7c7 --- /dev/null +++ b/modules/openapi-generator/src/main/resources/r/lintr.mustache @@ -0,0 +1,6 @@ +linters: linters_with_defaults( + line_length_linter(160), + object_name_linter = NULL + ) +exclusions: list( + ) diff --git a/modules/openapi-generator/src/main/resources/r/r-client.mustache b/modules/openapi-generator/src/main/resources/r/r-client.mustache index b9d883ec4c..216ebe6c00 100644 --- a/modules/openapi-generator/src/main/resources/r/r-client.mustache +++ b/modules/openapi-generator/src/main/resources/r/r-client.mustache @@ -21,10 +21,10 @@ jobs: use-public-rspm: true - uses: r-lib/actions/setup-r-dependencies@v2 with: - extra-packages: any::rcmdcheck - needs: check - - name: Install roxygen2 - run: install.packages("roxygen2") + extra-packages: any::rcmdcheck, any::roxygen2, any::lintr, local::. + needs: check, roxygen2, lint + - name: Lint + run: lintr::lint_package() shell: Rscript {0} - name: Roxygenize run: | diff --git a/samples/client/petstore/R/.github/workflows/r-client.yaml b/samples/client/petstore/R/.github/workflows/r-client.yaml index b9d883ec4c..216ebe6c00 100644 --- a/samples/client/petstore/R/.github/workflows/r-client.yaml +++ b/samples/client/petstore/R/.github/workflows/r-client.yaml @@ -21,10 +21,10 @@ jobs: use-public-rspm: true - uses: r-lib/actions/setup-r-dependencies@v2 with: - extra-packages: any::rcmdcheck - needs: check - - name: Install roxygen2 - run: install.packages("roxygen2") + extra-packages: any::rcmdcheck, any::roxygen2, any::lintr, local::. + needs: check, roxygen2, lint + - name: Lint + run: lintr::lint_package() shell: Rscript {0} - name: Roxygenize run: | diff --git a/samples/client/petstore/R/.lintr b/samples/client/petstore/R/.lintr new file mode 100644 index 0000000000..9d908cd7c7 --- /dev/null +++ b/samples/client/petstore/R/.lintr @@ -0,0 +1,6 @@ +linters: linters_with_defaults( + line_length_linter(160), + object_name_linter = NULL + ) +exclusions: list( + ) diff --git a/samples/client/petstore/R/.openapi-generator/FILES b/samples/client/petstore/R/.openapi-generator/FILES index 3c5469b531..7a05f5fdda 100644 --- a/samples/client/petstore/R/.openapi-generator/FILES +++ b/samples/client/petstore/R/.openapi-generator/FILES @@ -1,6 +1,7 @@ .Rbuildignore .github/workflows/r-client.yaml .gitignore +.lintr .travis.yml DESCRIPTION NAMESPACE From da28e120171c8d361690f66d970b208fed7839e6 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 17 Jul 2022 23:08:08 +0800 Subject: [PATCH 207/212] update samples --- .../petstore/aspnetcore-6.0-pocoModels/.openapi-generator/FILES | 1 - 1 file changed, 1 deletion(-) diff --git a/samples/server/petstore/aspnetcore-6.0-pocoModels/.openapi-generator/FILES b/samples/server/petstore/aspnetcore-6.0-pocoModels/.openapi-generator/FILES index 096d71505a..9e47b8916d 100644 --- a/samples/server/petstore/aspnetcore-6.0-pocoModels/.openapi-generator/FILES +++ b/samples/server/petstore/aspnetcore-6.0-pocoModels/.openapi-generator/FILES @@ -1,4 +1,3 @@ -.openapi-generator-ignore Org.OpenAPITools.sln README.md build.bat From eb471db7c91ce3d1b53ea64dae43edadb2250478 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 17 Jul 2022 23:49:37 +0800 Subject: [PATCH 208/212] [R] fix a couple warnings reported by lintr (#12903) * better code format in r client * update code based on lintr * update samples --- .../codegen/languages/RClientCodegen.java | 4 +- .../src/main/resources/r/api.mustache | 32 ++- .../src/main/resources/r/api_client.mustache | 84 ++++--- .../main/resources/r/api_exception.mustache | 6 +- .../src/main/resources/r/lintr.mustache | 3 +- .../src/main/resources/r/modelAnyOf.mustache | 24 +- .../main/resources/r/modelGeneric.mustache | 115 ++++----- .../src/main/resources/r/modelOneOf.mustache | 24 +- samples/client/petstore/R/.lintr | 3 +- .../petstore/R/R/allof_tag_api_response.R | 81 +++--- samples/client/petstore/R/R/animal.R | 40 +-- samples/client/petstore/R/R/any_of_pig.R | 32 +-- samples/client/petstore/R/R/api_client.R | 84 ++++--- samples/client/petstore/R/R/api_exception.R | 6 +- samples/client/petstore/R/R/basque_pig.R | 38 +-- samples/client/petstore/R/R/cat.R | 55 ++-- samples/client/petstore/R/R/cat_all_of.R | 21 +- samples/client/petstore/R/R/category.R | 36 +-- samples/client/petstore/R/R/danish_pig.R | 38 +-- samples/client/petstore/R/R/dog.R | 55 ++-- samples/client/petstore/R/R/dog_all_of.R | 21 +- samples/client/petstore/R/R/fake_api.R | 34 ++- .../client/petstore/R/R/model_api_response.R | 51 ++-- samples/client/petstore/R/R/nested_one_of.R | 36 +-- samples/client/petstore/R/R/order.R | 96 +++---- samples/client/petstore/R/R/pet.R | 98 ++++---- samples/client/petstore/R/R/pet_api.R | 236 ++++++++++++------ samples/client/petstore/R/R/pig.R | 32 +-- samples/client/petstore/R/R/special.R | 96 +++---- samples/client/petstore/R/R/store_api.R | 94 ++++--- samples/client/petstore/R/R/tag.R | 36 +-- .../client/petstore/R/R/update_pet_request.R | 36 +-- samples/client/petstore/R/R/user.R | 126 +++++----- samples/client/petstore/R/R/user_api.R | 182 ++++++++++---- samples/client/petstore/R/docs/Animal.md | 2 +- samples/client/petstore/R/docs/Cat.md | 2 +- samples/client/petstore/R/docs/Dog.md | 2 +- samples/client/petstore/R/docs/FakeApi.md | 4 +- samples/client/petstore/R/docs/PetApi.md | 8 +- samples/client/petstore/R/docs/StoreApi.md | 2 +- samples/client/petstore/R/docs/UserApi.md | 10 +- 41 files changed, 1160 insertions(+), 825 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java index 37880fee6c..9a391ec70f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java @@ -625,7 +625,7 @@ public class RClientCodegen extends DefaultCodegen implements CodegenConfig { if (example == null) { example = p.paramName + "_example"; } - example = "'" + escapeText(example) + "'"; + example = "\"" + escapeText(example) + "\""; } else if ("integer".equals(type)) { if (example == null) { example = "56"; @@ -715,7 +715,7 @@ public class RClientCodegen extends DefaultCodegen implements CodegenConfig { if (Pattern.compile("\r\n|\r|\n").matcher((String) p.getDefault()).find()) return "'''" + p.getDefault() + "'''"; else - return "'" + ((String) p.getDefault()).replaceAll("'", "\'") + "'"; + return "\"" + ((String) p.getDefault()).replaceAll("\"", "\\\"") + "\""; } } else if (ModelUtils.isArraySchema(p)) { if (p.getDefault() != null) { diff --git a/modules/openapi-generator/src/main/resources/r/api.mustache b/modules/openapi-generator/src/main/resources/r/api.mustache index edb89d5042..5526432950 100644 --- a/modules/openapi-generator/src/main/resources/r/api.mustache +++ b/modules/openapi-generator/src/main/resources/r/api.mustache @@ -11,7 +11,9 @@ #' \describe{ {{#operation}} #' \strong{ {{operationId}} } \emph{ {{summary}} } +{{#notes}} #' {{notes}} +{{/notes}} #' #' \itemize{ {{#allParams}} @@ -160,8 +162,7 @@ initialize = function(api_client) { if (!missing(api_client)) { self$api_client <- api_client - } - else { + } else { self$api_client <- ApiClient$new() } }, @@ -175,7 +176,7 @@ #' @param {{{paramName}}} {{{description}}} {{/requiredParams}} {{#optionalParams}} - #' @param {{{paramName}}} (optional) {{{description}}}{{#defaultValue}} (default value: {{{.}}}){{/defaultValue}} + #' @param {{{paramName}}} (optional){{{description}}} {{#defaultValue}} (default value: {{{.}}}){{/defaultValue}} {{/optionalParams}} {{#vendorExtensions.x-streaming}} #' @param stream_callback (optional) callback function to process the data stream @@ -186,7 +187,7 @@ #' @param ... Other optional arguments #' @return {{{returnType}}}{{^returnType}}void{{/returnType}} #' @export - {{{operationId}}} = function({{#requiredParams}}{{paramName}}, {{/requiredParams}}{{#optionalParams}}{{paramName}}={{^defaultValue}}NULL{{/defaultValue}}{{{defaultValue}}}, {{/optionalParams}}{{#vendorExtensions.x-streaming}}stream_callback=NULL, {{/vendorExtensions.x-streaming}}{{#returnType}}data_file=NULL, {{/returnType}}...) { + {{{operationId}}} = function({{#requiredParams}}{{paramName}}, {{/requiredParams}}{{#optionalParams}}{{paramName}}={{^defaultValue}}NULL{{/defaultValue}}{{{defaultValue}}}, {{/optionalParams}}{{#vendorExtensions.x-streaming}}stream_callback=NULL, {{/vendorExtensions.x-streaming}}{{#returnType}}data_file = NULL, {{/returnType}}...) { api_response <- self${{{operationId}}}WithHttpInfo({{#allParams}}{{paramName}}, {{/allParams}}{{#vendorExtensions.x-streaming}}stream_callback = stream_callback, {{/vendorExtensions.x-streaming}}{{#returnType}}data_file = data_file, {{/returnType}}...) {{#vendorExtensions.x-streaming}} if (typeof(stream_callback) == "closure") { # return void if streaming is enabled @@ -236,7 +237,10 @@ stop("Missing required parameter `{{{paramName}}}`.") {{/useDefaultExceptionHandling}} {{#useRlangExceptionHandling}} - rlang::abort(message = "Missing required parameter `{{{paramName}}}`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `{{{paramName}}}`.")) + rlang::abort(message = "Missing required parameter `{{{paramName}}}`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `{{{paramName}}}`.")) {{/useRlangExceptionHandling}} } @@ -360,7 +364,9 @@ stop("Failed to deserialize response") {{/useDefaultExceptionHandling}} {{#useRlangExceptionHandling}} - rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = "Failed to deserialize response", + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) {{/useRlangExceptionHandling}} } ) @@ -374,14 +380,16 @@ } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { {{#returnExceptionOnFailure}} error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } {{#useDefaultExceptionHandling}} stop(error_msg) {{/useDefaultExceptionHandling}} {{#useRlangExceptionHandling}} - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) {{/useRlangExceptionHandling}} {{/returnExceptionOnFailure}} {{^returnExceptionOnFailure}} @@ -397,7 +405,9 @@ stop(error_msg) {{/useDefaultExceptionHandling}} {{#useRlangExceptionHandling}} - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) {{/useRlangExceptionHandling}} {{/returnExceptionOnFailure}} {{^returnExceptionOnFailure}} @@ -413,7 +423,9 @@ stop(error_msg) {{/useDefaultExceptionHandling}} {{#useRlangExceptionHandling}} - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) {{/useRlangExceptionHandling}} {{/returnExceptionOnFailure}} {{^returnExceptionOnFailure}} diff --git a/modules/openapi-generator/src/main/resources/r/api_client.mustache b/modules/openapi-generator/src/main/resources/r/api_client.mustache index 3beafeb79b..1f40df7451 100644 --- a/modules/openapi-generator/src/main/resources/r/api_client.mustache +++ b/modules/openapi-generator/src/main/resources/r/api_client.mustache @@ -69,10 +69,11 @@ ApiClient <- R6::R6Class( #' @param retry_status_codes Status codes for retry. #' @param max_retry_attempts Maxmium number of retry. #' @export - initialize = function(base_path=NULL, user_agent=NULL, default_headers=NULL, - username=NULL, password=NULL, api_keys=NULL, - access_token=NULL, timeout=NULL, - retry_status_codes=NULL, max_retry_attempts=NULL) { + initialize = function(base_path = NULL, user_agent = NULL, + default_headers = NULL, + username = NULL, password = NULL, api_keys = NULL, + access_token = NULL, timeout = NULL, + retry_status_codes = NULL, max_retry_attempts = NULL) { if (!is.null(base_path)) { self$base_path <- base_path } @@ -146,7 +147,7 @@ ApiClient <- R6::R6Class( resp <- self$Execute(url, method, query_params, header_params, body, stream_callback = stream_callback, ...) status_code <- httr::status_code(resp) } else { - break; + break } } } @@ -178,39 +179,57 @@ ApiClient <- R6::R6Class( if (method == "GET") { if (typeof(stream_callback) == "closure") { - httr::GET(url, query = query_params, headers, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + httr::GET(url, query = query_params, headers, http_timeout, + httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) } else { - httr::GET(url, query = query_params, headers, http_timeout, httr::user_agent(self$`user_agent`), ...) + httr::GET(url, query = query_params, headers, http_timeout, + httr::user_agent(self$`user_agent`), ...) } } else if (method == "POST") { if (typeof(stream_callback) == "closure") { - httr::POST(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + httr::POST(url, query = query_params, headers, body = body, + httr::content_type("application/json"), http_timeout, + httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) } else { - httr::POST(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, httr::user_agent(self$`user_agent`), ...) + httr::POST(url, query = query_params, headers, body = body, + httr::content_type("application/json"), http_timeout, + httr::user_agent(self$`user_agent`), ...) } } else if (method == "PUT") { if (typeof(stream_callback) == "closure") { - httr::PUT(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + httr::PUT(url, query = query_params, headers, body = body, + httr::content_type("application/json"), http_timeout, + http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) } else { - httr::PUT(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + httr::PUT(url, query = query_params, headers, body = body, + httr::content_type("application/json"), http_timeout, + http_timeout, httr::user_agent(self$`user_agent`), ...) } } else if (method == "PATCH") { if (typeof(stream_callback) == "closure") { - httr::PATCH(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + httr::PATCH(url, query = query_params, headers, body = body, + httr::content_type("application/json"), http_timeout, + http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) } else { - httr::PATCH(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + httr::PATCH(url, query = query_params, headers, body = body, + httr::content_type("application/json"), http_timeout, + http_timeout, httr::user_agent(self$`user_agent`), ...) } } else if (method == "HEAD") { if (typeof(stream_callback) == "closure") { - httr::HEAD(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + httr::HEAD(url, query = query_params, headers, http_timeout, + http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) } else { - httr::HEAD(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + httr::HEAD(url, query = query_params, headers, http_timeout, + http_timeout, httr::user_agent(self$`user_agent`), ...) } } else if (method == "DELETE") { if (typeof(stream_callback) == "closure") { - httr::DELETE(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + httr::DELETE(url, query = query_params, headers, http_timeout, + http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) } else { - httr::DELETE(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + httr::DELETE(url, query = query_params, headers, http_timeout, + http_timeout, httr::user_agent(self$`user_agent`), ...) } } else { err_msg <- "Http method must be `GET`, `HEAD`, `OPTIONS`, `POST`, `PATCH`, `PUT` or `DELETE`." @@ -218,7 +237,9 @@ ApiClient <- R6::R6Class( stop(err_msg) {{/useDefaultExceptionHandling}} {{#useRlangExceptionHandling}} - rlang::abort(message = err_msg, .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = err_msg)) + rlang::abort(message = err_msg, + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, reason = err_msg)) {{/useRlangExceptionHandling}} } }, @@ -255,16 +276,16 @@ ApiClient <- R6::R6Class( # To handle the "map" type if (startsWith(return_type, "map(")) { - inner_return_type <- regmatches(return_type, regexec(pattern = "map\\((.*)\\)", return_type))[[1]][2] + inner_return_type <- regmatches(return_type, + regexec(pattern = "map\\((.*)\\)", return_type))[[1]][2] return_obj <- lapply(names(obj), function(name) { self$deserializeObj(obj[[name]], inner_return_type, pkg_env) }) names(return_obj) <- names(obj) - } - - # To handle the "array" type - else if (startsWith(return_type, "array[")) { - inner_return_type <- regmatches(return_type, regexec(pattern = "array\\[(.*)\\]", return_type))[[1]][2] + } else if (startsWith(return_type, "array[")) { + # To handle the "array" type + inner_return_type <- regmatches(return_type, + regexec(pattern = "array\\[(.*)\\]", return_type))[[1]][2] if (c(inner_return_type) %in% primitive_types) { return_obj <- vector("list", length = length(obj)) if (length(obj) > 0) { @@ -277,24 +298,21 @@ ApiClient <- R6::R6Class( return_obj <- vector("list", length = nrow(obj)) if (nrow(obj) > 0) { for (row in 1:nrow(obj)) { - return_obj[[row]] <- self$deserializeObj(obj[row, , drop = FALSE], inner_return_type, pkg_env) + return_obj[[row]] <- self$deserializeObj(obj[row, , drop = FALSE], + inner_return_type, pkg_env) } } } } - } - - # To handle model objects which are not array or map containers. Ex:"Pet" - else if (exists(return_type, pkg_env) && !(c(return_type) %in% primitive_types)) { + } else if (exists(return_type, pkg_env) && !(c(return_type) %in% primitive_types)) { + # To handle model objects which are not array or map containers. Ex:"Pet" return_type <- get(return_type, envir = as.environment(pkg_env)) return_obj <- return_type$new() return_obj$fromJSON( jsonlite::toJSON(obj, digits = NA, auto_unbox = TRUE) ) - } - - # To handle primitive type - else { + } else { + # To handle primitive type return_obj <- obj } return_obj diff --git a/modules/openapi-generator/src/main/resources/r/api_exception.mustache b/modules/openapi-generator/src/main/resources/r/api_exception.mustache index 8d21bf3a36..80c06e3266 100644 --- a/modules/openapi-generator/src/main/resources/r/api_exception.mustache +++ b/modules/openapi-generator/src/main/resources/r/api_exception.mustache @@ -35,7 +35,7 @@ ApiException <- R6::R6Class( if (!is.null(http_response)) { self$status <- http_response$status_code errorMsg <- toString(content(http_response)) - if(errorMsg == ""){ + if (errorMsg == "") { errorMsg <- "Api exception encountered. No details given." } self$body <- errorMsg @@ -73,12 +73,12 @@ ApiException <- R6::R6Class( } if (!is.null(self$body)) { errorMsg <- paste(errorMsg, "Body : ", "\n", sep = "") - errorMsg <- paste(errorMsg, self$body,"\n") + errorMsg <- paste(errorMsg, self$body, "\n") } {{#errorObjectType}} if (!is.null(self$errorObject)) { errorMsg <- paste(errorMsg, "Error object : ", "\n", sep = "") - errorMsg <- paste(errorMsg, self$errorObject$toJSONString(),"\n") + errorMsg <- paste(errorMsg, self$errorObject$toJSONString(), "\n") } {{/errorObjectType}} errorMsg diff --git a/modules/openapi-generator/src/main/resources/r/lintr.mustache b/modules/openapi-generator/src/main/resources/r/lintr.mustache index 9d908cd7c7..54ee36a49c 100644 --- a/modules/openapi-generator/src/main/resources/r/lintr.mustache +++ b/modules/openapi-generator/src/main/resources/r/lintr.mustache @@ -1,6 +1,7 @@ linters: linters_with_defaults( line_length_linter(160), - object_name_linter = NULL + object_name_linter = NULL, + cyclocomp_linter = NULL ) exclusions: list( ) diff --git a/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache b/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache index 06bbe57273..b4c6e8b240 100644 --- a/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelAnyOf.mustache @@ -9,7 +9,7 @@ #' @importFrom jsonlite fromJSON toJSON #' @export {{classname}} <- R6::R6Class( - '{{classname}}', + "{{classname}}", public = list( #' @field actual_instance the object stored in this instance. actual_instance = NULL, @@ -28,10 +28,11 @@ if (is.null(instance)) { # do nothing } {{#anyOf}}else if (get(class(instance)[[1]], pos = -1)$classname == "{{{.}}}") { - self$actual_instance = instance - self$actual_type = "{{{.}}}" + self$actual_instance <- instance + self$actual_type <- "{{{.}}}" } {{/anyOf}}else { - stop(paste("Failed to initialize {{{classname}}} with anyOf schemas {{#anyOf}}{{{.}}}{{^-last}}, {{/-last}}{{/anyOf}}. Provided class name: ", get(class(instance)[[1]], pos = -1)$classname)) + stop(paste("Failed to initialize {{{classname}}} with anyOf schemas {{#anyOf}}{{{.}}}{{^-last}}, {{/-last}}{{/anyOf}}. Provided class name: ", + get(class(instance)[[1]], pos = -1)$classname)) } }, #' Deserialize JSON string into an instance of {{{classname}}}. @@ -56,13 +57,14 @@ error = function(err) err ) - if (!is.null({{{.}}}_result['error'])) { - error_messages <- append(error_messages, {{{.}}}_result['message']) + if (!is.null({{{.}}}_result["error"])) { + error_messages <- append(error_messages, {{{.}}}_result["message"]) } {{/anyOf}} # no match - stop(paste("No match found when deserializing the payload into {{{classname}}} with anyOf schemas {{#anyOf}}{{{.}}}{{^-last}}, {{/-last}}{{/anyOf}}. Details: ", paste(error_messages, collapse = ', '))) + stop(paste("No match found when deserializing the payload into {{{classname}}} with anyOf schemas {{#anyOf}}{{{.}}}{{^-last}}, {{/-last}}{{/anyOf}}. Details: ", + paste(error_messages, collapse = ", "))) }, #' Serialize {{{classname}}} to JSON string. #' @@ -121,12 +123,12 @@ #' @export toString = function() { jsoncontent <- c( - sprintf('"actual_instance": %s', if (is.null(self$actual_instance)) {NULL} else {self$actual_instance$toJSONString()}), + sprintf('"actual_instance": %s', if (is.null(self$actual_instance)) NULL else self$actual_instance$toJSONString()), sprintf('"actual_type": "%s"', self$actual_type), - sprintf('"any_of": "%s"', paste( unlist(self$any_of), collapse=', ')) + sprintf('"any_of": "%s"', paste(unlist(self$any_of), collapse = ", ")) ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::prettify(paste('{', jsoncontent, '}', sep = ""))) - } + as.character(jsonlite::prettify(paste("{", jsoncontent, "}", sep = ""))) + } ) ) diff --git a/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache b/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache index d55150d0f7..0ecc59818b 100644 --- a/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelGeneric.mustache @@ -5,7 +5,7 @@ #' @description {{classname}} Class #' @format An \code{R6Class} generator object {{#vars}} -#' @field {{name}} {{title}} {{#isContainer}}{{#isArray}}list( {{/isArray}}{{#isMap}}named list( {{/isMap}}{{/isContainer}}{{^isPrimitiveType}}\link{{=<% %>=}}{<%/isPrimitiveType%><%={{ }}=%>{{#isContainer}}{{#items}}{{dataType}}{{/items}}{{/isContainer}}{{^isContainer}}{{dataType}}{{/isContainer}}{{=<% %>=}}<%^isPrimitiveType%>}<%={{ }}=%>{{/isPrimitiveType}}{{#isContainer}}{{#isArray}} ){{/isArray}}{{#isMap}} ){{/isMap}}{{/isContainer}} {{^required}}[optional]{{/required}} +#' @field {{name}} {{title}} {{#isContainer}}{{#isArray}}list( {{/isArray}}{{#isMap}}named list( {{/isMap}}{{/isContainer}}{{^isPrimitiveType}}\link{{=<% %>=}}{<%/isPrimitiveType%><%={{ }}=%>{{#isContainer}}{{#items}}{{dataType}}{{/items}}{{/isContainer}}{{^isContainer}}{{dataType}}{{/isContainer}}{{=<% %>=}}<%^isPrimitiveType%>}<%={{ }}=%>{{/isPrimitiveType}}{{#isContainer}}{{#isArray}} ){{/isArray}}{{#isMap}} ){{/isMap}}{{/isContainer}}{{^required}} [optional]{{/required}} {{/vars}} #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON @@ -15,7 +15,7 @@ {{^isEnum}} #' @export {{classname}} <- R6::R6Class( - '{{classname}}', + "{{classname}}", {{#parent}} inherit = {{{.}}}, {{/parent}} @@ -37,7 +37,7 @@ #' @param ... Other optional arguments. #' @export initialize = function( - {{#requiredVars}}`{{name}}`, {{/requiredVars}}{{#optionalVars}}`{{name}}`={{{defaultValue}}}{{^defaultValue}}NULL{{/defaultValue}}, {{/optionalVars}}... + {{#requiredVars}}`{{name}}`, {{/requiredVars}}{{#optionalVars}}`{{name}}` = {{{defaultValue}}}{{^defaultValue}}NULL{{/defaultValue}}, {{/optionalVars}}... ) { {{#requiredVars}} if (!missing(`{{name}}`)) { @@ -139,7 +139,7 @@ {{classname}}Object <- list() {{#vars}} if (!is.null(self$`{{name}}`)) { - {{classname}}Object[['{{baseName}}']] <- + {{classname}}Object[["{{baseName}}"]] <- {{#isContainer}} {{#isArray}} {{#isPrimitiveType}} @@ -211,62 +211,63 @@ jsoncontent <- c( {{#vars}} if (!is.null(self$`{{name}}`)) { - sprintf( - '"{{baseName}}": - {{#isContainer}} - {{#isArray}} - {{#isPrimitiveType}} - {{#isNumeric}}[%d]{{/isNumeric}}{{^isNumeric}}[%s]{{/isNumeric}} - {{/isPrimitiveType}} - {{^isPrimitiveType}}[%s] - {{/isPrimitiveType}} - {{/isArray}} - {{#isMap}} - {{#isPrimitiveType}} - {{#isNumeric}}%d{{/isNumeric}}{{^isNumeric}}{{^isBoolean}}"{{/isBoolean}}%s{{^isBoolean}}"{{/isBoolean}}{{/isNumeric}} - {{/isPrimitiveType}} - {{^isPrimitiveType}}%s - {{/isPrimitiveType}} - {{/isMap}} - {{/isContainer}} - {{^isContainer}} - {{#isPrimitiveType}} - {{#isNumeric}}%d{{/isNumeric}}{{^isNumeric}}{{^isBoolean}}"{{/isBoolean}}%s{{^isBoolean}}"{{/isBoolean}}{{/isNumeric}} - {{/isPrimitiveType}} - {{^isPrimitiveType}}%s - {{/isPrimitiveType}} - {{/isContainer}}', - {{#isContainer}} - {{#isArray}} - {{#isPrimitiveType}} - paste(unlist(lapply(self$`{{{name}}}`, function(x) paste0('"', x, '"'))), collapse=",") - {{/isPrimitiveType}} - {{^isPrimitiveType}} - paste(sapply(self$`{{{name}}}`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=TRUE, digits = NA)), collapse=",") - {{/isPrimitiveType}} - {{/isArray}} - {{#isMap}} - {{#isPrimitiveType}} - jsonlite::toJSON(lapply(self$`{{{name}}}`, function(x){ x }), auto_unbox = TRUE, digits=NA) - {{/isPrimitiveType}} - {{^isPrimitiveType}} - jsonlite::toJSON(lapply(self$`{{{name}}}`, function(x){ x$toJSON() }), auto_unbox = TRUE, digits=NA) - {{/isPrimitiveType}} - {{/isMap}} - {{/isContainer}} - {{^isContainer}} - {{#isPrimitiveType}} - {{#isBoolean}}tolower({{/isBoolean}}self$`{{name}}`{{#isBoolean}}){{/isBoolean}} - {{/isPrimitiveType}} - {{^isPrimitiveType}} - jsonlite::toJSON(self$`{{name}}`$toJSON(), auto_unbox=TRUE, digits = NA) - {{/isPrimitiveType}} - {{/isContainer}} - )}{{^-last}},{{/-last}} + sprintf( + '"{{baseName}}": + {{#isContainer}} + {{#isArray}} + {{#isPrimitiveType}} + {{#isNumeric}}[%d]{{/isNumeric}}{{^isNumeric}}[%s]{{/isNumeric}} + {{/isPrimitiveType}} + {{^isPrimitiveType}}[%s] + {{/isPrimitiveType}} + {{/isArray}} + {{#isMap}} + {{#isPrimitiveType}} + {{#isNumeric}}%d{{/isNumeric}}{{^isNumeric}}{{^isBoolean}}"{{/isBoolean}}%s{{^isBoolean}}"{{/isBoolean}}{{/isNumeric}} + {{/isPrimitiveType}} + {{^isPrimitiveType}}%s + {{/isPrimitiveType}} + {{/isMap}} + {{/isContainer}} + {{^isContainer}} + {{#isPrimitiveType}} + {{#isNumeric}}%d{{/isNumeric}}{{^isNumeric}}{{^isBoolean}}"{{/isBoolean}}%s{{^isBoolean}}"{{/isBoolean}}{{/isNumeric}} + {{/isPrimitiveType}} + {{^isPrimitiveType}}%s + {{/isPrimitiveType}} + {{/isContainer}}', + {{#isContainer}} + {{#isArray}} + {{#isPrimitiveType}} + paste(unlist(lapply(self$`{{{name}}}`, function(x) paste0('"', x, '"'))), collapse=",") + {{/isPrimitiveType}} + {{^isPrimitiveType}} + paste(sapply(self$`{{{name}}}`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=TRUE, digits = NA)), collapse=",") + {{/isPrimitiveType}} + {{/isArray}} + {{#isMap}} + {{#isPrimitiveType}} + jsonlite::toJSON(lapply(self$`{{{name}}}`, function(x){ x }), auto_unbox = TRUE, digits=NA) + {{/isPrimitiveType}} + {{^isPrimitiveType}} + jsonlite::toJSON(lapply(self$`{{{name}}}`, function(x){ x$toJSON() }), auto_unbox = TRUE, digits=NA) + {{/isPrimitiveType}} + {{/isMap}} + {{/isContainer}} + {{^isContainer}} + {{#isPrimitiveType}} + {{#isBoolean}}tolower({{/isBoolean}}self$`{{name}}`{{#isBoolean}}){{/isBoolean}} + {{/isPrimitiveType}} + {{^isPrimitiveType}} + jsonlite::toJSON(self$`{{name}}`$toJSON(), auto_unbox=TRUE, digits = NA) + {{/isPrimitiveType}} + {{/isContainer}} + ) + }{{^-last}},{{/-last}} {{/vars}} ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::minify(paste("{", jsoncontent, "}", sep = ""))) }, #' Deserialize JSON string into an instance of {{{classname}}} #' diff --git a/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache b/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache index 20077cccdf..bfa8f82e66 100644 --- a/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache +++ b/modules/openapi-generator/src/main/resources/r/modelOneOf.mustache @@ -9,7 +9,7 @@ #' @importFrom jsonlite fromJSON toJSON #' @export {{classname}} <- R6::R6Class( - '{{classname}}', + "{{classname}}", public = list( #' @field actual_instance the object stored in this instance. actual_instance = NULL, @@ -28,10 +28,11 @@ if (is.null(instance)) { # do nothing } {{#oneOf}}else if (get(class(instance)[[1]], pos = -1)$classname == "{{{.}}}") { - self$actual_instance = instance - self$actual_type = "{{{.}}}" + self$actual_instance <- instance + self$actual_type <- "{{{.}}}" } {{/oneOf}}else { - stop(paste("Failed to initialize {{{classname}}} with oneOf schemas {{#oneOf}}{{{.}}}{{^-last}}, {{/-last}}{{/oneOf}}. Provided class name: ", get(class(instance)[[1]], pos = -1)$classname)) + stop(paste("Failed to initialize {{{classname}}} with oneOf schemas {{#oneOf}}{{{.}}}{{^-last}}, {{/-last}}{{/oneOf}}. Provided class name: ", + get(class(instance)[[1]], pos = -1)$classname)) } }, #' Deserialize JSON string into an instance of {{{classname}}}. @@ -60,8 +61,8 @@ error = function(err) err ) - if (!is.null({{{.}}}_result['error'])) { - error_messages <- append(error_messages, {{{.}}}_result['message']) + if (!is.null({{{.}}}_result["error"])) { + error_messages <- append(error_messages, {{{.}}}_result["message"]) } {{/oneOf}} @@ -71,10 +72,11 @@ self$actual_type <- instance_type } else if (matched > 1) { # more than 1 match - stop("Multiple matches found when deserializing the payload into {{{classname}}} with oneOf schemas {{#oneOf}}{{{.}}}{{^-last}}, {{/-last}}{{/oneOf}}. ") + stop("Multiple matches found when deserializing the payload into {{{classname}}} with oneOf schemas {{#oneOf}}{{{.}}}{{^-last}}, {{/-last}}{{/oneOf}}.") } else { # no match - stop(paste("No match found when deserializing the payload into {{{classname}}} with oneOf schemas {{#oneOf}}{{{.}}}{{^-last}}, {{/-last}}{{/oneOf}}. Details: ", paste(error_messages, collapse = ', '))) + stop(paste("No match found when deserializing the payload into {{{classname}}} with oneOf schemas {{#oneOf}}{{{.}}}{{^-last}}, {{/-last}}{{/oneOf}}. Details: ", + paste(error_messages, collapse = ", "))) } self @@ -136,12 +138,12 @@ #' @export toString = function() { jsoncontent <- c( - sprintf('"actual_instance": %s', if (is.null(self$actual_instance)) {NULL} else {self$actual_instance$toJSONString()}), + sprintf('"actual_instance": %s', if (is.null(self$actual_instance)) NULL else self$actual_instance$toJSONString()), sprintf('"actual_type": "%s"', self$actual_type), - sprintf('"one_of": "%s"', paste( unlist(self$one_of), collapse=', ')) + sprintf('"one_of": "%s"', paste(unlist(self$one_of), collapse = ", ")) ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::prettify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::prettify(paste("{", jsoncontent, "}", sep = ""))) } ) ) diff --git a/samples/client/petstore/R/.lintr b/samples/client/petstore/R/.lintr index 9d908cd7c7..54ee36a49c 100644 --- a/samples/client/petstore/R/.lintr +++ b/samples/client/petstore/R/.lintr @@ -1,6 +1,7 @@ linters: linters_with_defaults( line_length_linter(160), - object_name_linter = NULL + object_name_linter = NULL, + cyclocomp_linter = NULL ) exclusions: list( ) diff --git a/samples/client/petstore/R/R/allof_tag_api_response.R b/samples/client/petstore/R/R/allof_tag_api_response.R index 1b7a67a078..a6722975bf 100644 --- a/samples/client/petstore/R/R/allof_tag_api_response.R +++ b/samples/client/petstore/R/R/allof_tag_api_response.R @@ -19,7 +19,7 @@ #' @importFrom jsonlite fromJSON toJSON #' @export AllofTagApiResponse <- R6::R6Class( - 'AllofTagApiResponse', + "AllofTagApiResponse", public = list( `id` = NULL, `name` = NULL, @@ -39,7 +39,7 @@ AllofTagApiResponse <- R6::R6Class( #' @param ... Other optional arguments. #' @export initialize = function( - `id`=NULL, `name`=NULL, `code`=NULL, `type`=NULL, `message`=NULL, ... + `id` = NULL, `name` = NULL, `code` = NULL, `type` = NULL, `message` = NULL, ... ) { if (!is.null(`id`)) { stopifnot(is.numeric(`id`), length(`id`) == 1) @@ -72,23 +72,23 @@ AllofTagApiResponse <- R6::R6Class( toJSON = function() { AllofTagApiResponseObject <- list() if (!is.null(self$`id`)) { - AllofTagApiResponseObject[['id']] <- + AllofTagApiResponseObject[["id"]] <- self$`id` } if (!is.null(self$`name`)) { - AllofTagApiResponseObject[['name']] <- + AllofTagApiResponseObject[["name"]] <- self$`name` } if (!is.null(self$`code`)) { - AllofTagApiResponseObject[['code']] <- + AllofTagApiResponseObject[["code"]] <- self$`code` } if (!is.null(self$`type`)) { - AllofTagApiResponseObject[['type']] <- + AllofTagApiResponseObject[["type"]] <- self$`type` } if (!is.null(self$`message`)) { - AllofTagApiResponseObject[['message']] <- + AllofTagApiResponseObject[["message"]] <- self$`message` } @@ -131,43 +131,48 @@ AllofTagApiResponse <- R6::R6Class( toJSONString = function() { jsoncontent <- c( if (!is.null(self$`id`)) { - sprintf( - '"id": - %d - ', - self$`id` - )}, + sprintf( + '"id": + %d + ', + self$`id` + ) + }, if (!is.null(self$`name`)) { - sprintf( - '"name": - "%s" - ', - self$`name` - )}, + sprintf( + '"name": + "%s" + ', + self$`name` + ) + }, if (!is.null(self$`code`)) { - sprintf( - '"code": - %d - ', - self$`code` - )}, + sprintf( + '"code": + %d + ', + self$`code` + ) + }, if (!is.null(self$`type`)) { - sprintf( - '"type": - "%s" - ', - self$`type` - )}, + sprintf( + '"type": + "%s" + ', + self$`type` + ) + }, if (!is.null(self$`message`)) { - sprintf( - '"message": - "%s" - ', - self$`message` - )} + sprintf( + '"message": + "%s" + ', + self$`message` + ) + } ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::minify(paste("{", jsoncontent, "}", sep = ""))) }, #' Deserialize JSON string into an instance of AllofTagApiResponse #' diff --git a/samples/client/petstore/R/R/animal.R b/samples/client/petstore/R/R/animal.R index 043e6f5043..bd8d7deba7 100644 --- a/samples/client/petstore/R/R/animal.R +++ b/samples/client/petstore/R/R/animal.R @@ -10,13 +10,13 @@ #' @title Animal #' @description Animal Class #' @format An \code{R6Class} generator object -#' @field className character +#' @field className character #' @field color character [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export Animal <- R6::R6Class( - 'Animal', + "Animal", public = list( `className` = NULL, `color` = NULL, @@ -26,11 +26,11 @@ Animal <- R6::R6Class( #' Initialize a new Animal class. #' #' @param className className - #' @param color color. Default to 'red'. + #' @param color color. Default to "red". #' @param ... Other optional arguments. #' @export initialize = function( - `className`, `color`='red', ... + `className`, `color` = "red", ... ) { if (!missing(`className`)) { stopifnot(is.character(`className`), length(`className`) == 1) @@ -51,11 +51,11 @@ Animal <- R6::R6Class( toJSON = function() { AnimalObject <- list() if (!is.null(self$`className`)) { - AnimalObject[['className']] <- + AnimalObject[["className"]] <- self$`className` } if (!is.null(self$`color`)) { - AnimalObject[['color']] <- + AnimalObject[["color"]] <- self$`color` } @@ -89,22 +89,24 @@ Animal <- R6::R6Class( toJSONString = function() { jsoncontent <- c( if (!is.null(self$`className`)) { - sprintf( - '"className": - "%s" - ', - self$`className` - )}, + sprintf( + '"className": + "%s" + ', + self$`className` + ) + }, if (!is.null(self$`color`)) { - sprintf( - '"color": - "%s" - ', - self$`color` - )} + sprintf( + '"color": + "%s" + ', + self$`color` + ) + } ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::minify(paste("{", jsoncontent, "}", sep = ""))) }, #' Deserialize JSON string into an instance of Animal #' diff --git a/samples/client/petstore/R/R/any_of_pig.R b/samples/client/petstore/R/R/any_of_pig.R index 31044e62b1..955861d965 100644 --- a/samples/client/petstore/R/R/any_of_pig.R +++ b/samples/client/petstore/R/R/any_of_pig.R @@ -17,7 +17,7 @@ #' @importFrom jsonlite fromJSON toJSON #' @export AnyOfPig <- R6::R6Class( - 'AnyOfPig', + "AnyOfPig", public = list( #' @field actual_instance the object stored in this instance. actual_instance = NULL, @@ -36,13 +36,14 @@ AnyOfPig <- R6::R6Class( if (is.null(instance)) { # do nothing } else if (get(class(instance)[[1]], pos = -1)$classname == "BasquePig") { - self$actual_instance = instance - self$actual_type = "BasquePig" + self$actual_instance <- instance + self$actual_type <- "BasquePig" } else if (get(class(instance)[[1]], pos = -1)$classname == "DanishPig") { - self$actual_instance = instance - self$actual_type = "DanishPig" + self$actual_instance <- instance + self$actual_type <- "DanishPig" } else { - stop(paste("Failed to initialize AnyOfPig with anyOf schemas BasquePig, DanishPig. Provided class name: ", get(class(instance)[[1]], pos = -1)$classname)) + stop(paste("Failed to initialize AnyOfPig with anyOf schemas BasquePig, DanishPig. Provided class name: ", + get(class(instance)[[1]], pos = -1)$classname)) } }, #' Deserialize JSON string into an instance of AnyOfPig. @@ -66,8 +67,8 @@ AnyOfPig <- R6::R6Class( error = function(err) err ) - if (!is.null(BasquePig_result['error'])) { - error_messages <- append(error_messages, BasquePig_result['message']) + if (!is.null(BasquePig_result["error"])) { + error_messages <- append(error_messages, BasquePig_result["message"]) } DanishPig_result <- tryCatch({ @@ -80,12 +81,13 @@ AnyOfPig <- R6::R6Class( error = function(err) err ) - if (!is.null(DanishPig_result['error'])) { - error_messages <- append(error_messages, DanishPig_result['message']) + if (!is.null(DanishPig_result["error"])) { + error_messages <- append(error_messages, DanishPig_result["message"]) } # no match - stop(paste("No match found when deserializing the payload into AnyOfPig with anyOf schemas BasquePig, DanishPig. Details: ", paste(error_messages, collapse = ', '))) + stop(paste("No match found when deserializing the payload into AnyOfPig with anyOf schemas BasquePig, DanishPig. Details: ", + paste(error_messages, collapse = ", "))) }, #' Serialize AnyOfPig to JSON string. #' @@ -144,13 +146,13 @@ AnyOfPig <- R6::R6Class( #' @export toString = function() { jsoncontent <- c( - sprintf('"actual_instance": %s', if (is.null(self$actual_instance)) {NULL} else {self$actual_instance$toJSONString()}), + sprintf('"actual_instance": %s', if (is.null(self$actual_instance)) NULL else self$actual_instance$toJSONString()), sprintf('"actual_type": "%s"', self$actual_type), - sprintf('"any_of": "%s"', paste( unlist(self$any_of), collapse=', ')) + sprintf('"any_of": "%s"', paste(unlist(self$any_of), collapse = ", ")) ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::prettify(paste('{', jsoncontent, '}', sep = ""))) - } + as.character(jsonlite::prettify(paste("{", jsoncontent, "}", sep = ""))) + } ) ) diff --git a/samples/client/petstore/R/R/api_client.R b/samples/client/petstore/R/R/api_client.R index c3c0ac8fd6..568943a6bd 100644 --- a/samples/client/petstore/R/R/api_client.R +++ b/samples/client/petstore/R/R/api_client.R @@ -74,10 +74,11 @@ ApiClient <- R6::R6Class( #' @param retry_status_codes Status codes for retry. #' @param max_retry_attempts Maxmium number of retry. #' @export - initialize = function(base_path=NULL, user_agent=NULL, default_headers=NULL, - username=NULL, password=NULL, api_keys=NULL, - access_token=NULL, timeout=NULL, - retry_status_codes=NULL, max_retry_attempts=NULL) { + initialize = function(base_path = NULL, user_agent = NULL, + default_headers = NULL, + username = NULL, password = NULL, api_keys = NULL, + access_token = NULL, timeout = NULL, + retry_status_codes = NULL, max_retry_attempts = NULL) { if (!is.null(base_path)) { self$base_path <- base_path } @@ -151,7 +152,7 @@ ApiClient <- R6::R6Class( resp <- self$Execute(url, method, query_params, header_params, body, stream_callback = stream_callback, ...) status_code <- httr::status_code(resp) } else { - break; + break } } } @@ -182,43 +183,63 @@ ApiClient <- R6::R6Class( if (method == "GET") { if (typeof(stream_callback) == "closure") { - httr::GET(url, query = query_params, headers, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + httr::GET(url, query = query_params, headers, http_timeout, + httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) } else { - httr::GET(url, query = query_params, headers, http_timeout, httr::user_agent(self$`user_agent`), ...) + httr::GET(url, query = query_params, headers, http_timeout, + httr::user_agent(self$`user_agent`), ...) } } else if (method == "POST") { if (typeof(stream_callback) == "closure") { - httr::POST(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + httr::POST(url, query = query_params, headers, body = body, + httr::content_type("application/json"), http_timeout, + httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) } else { - httr::POST(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, httr::user_agent(self$`user_agent`), ...) + httr::POST(url, query = query_params, headers, body = body, + httr::content_type("application/json"), http_timeout, + httr::user_agent(self$`user_agent`), ...) } } else if (method == "PUT") { if (typeof(stream_callback) == "closure") { - httr::PUT(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + httr::PUT(url, query = query_params, headers, body = body, + httr::content_type("application/json"), http_timeout, + http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) } else { - httr::PUT(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + httr::PUT(url, query = query_params, headers, body = body, + httr::content_type("application/json"), http_timeout, + http_timeout, httr::user_agent(self$`user_agent`), ...) } } else if (method == "PATCH") { if (typeof(stream_callback) == "closure") { - httr::PATCH(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + httr::PATCH(url, query = query_params, headers, body = body, + httr::content_type("application/json"), http_timeout, + http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) } else { - httr::PATCH(url, query = query_params, headers, body = body, httr::content_type("application/json"), http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + httr::PATCH(url, query = query_params, headers, body = body, + httr::content_type("application/json"), http_timeout, + http_timeout, httr::user_agent(self$`user_agent`), ...) } } else if (method == "HEAD") { if (typeof(stream_callback) == "closure") { - httr::HEAD(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + httr::HEAD(url, query = query_params, headers, http_timeout, + http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) } else { - httr::HEAD(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + httr::HEAD(url, query = query_params, headers, http_timeout, + http_timeout, httr::user_agent(self$`user_agent`), ...) } } else if (method == "DELETE") { if (typeof(stream_callback) == "closure") { - httr::DELETE(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) + httr::DELETE(url, query = query_params, headers, http_timeout, + http_timeout, httr::user_agent(self$`user_agent`), write_stream(stream_callback), ...) } else { - httr::DELETE(url, query = query_params, headers, http_timeout, http_timeout, httr::user_agent(self$`user_agent`), ...) + httr::DELETE(url, query = query_params, headers, http_timeout, + http_timeout, httr::user_agent(self$`user_agent`), ...) } } else { err_msg <- "Http method must be `GET`, `HEAD`, `OPTIONS`, `POST`, `PATCH`, `PUT` or `DELETE`." - rlang::abort(message = err_msg, .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = err_msg)) + rlang::abort(message = err_msg, + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, reason = err_msg)) } }, #' Deserialize the content of api response to the given type. @@ -254,16 +275,16 @@ ApiClient <- R6::R6Class( # To handle the "map" type if (startsWith(return_type, "map(")) { - inner_return_type <- regmatches(return_type, regexec(pattern = "map\\((.*)\\)", return_type))[[1]][2] + inner_return_type <- regmatches(return_type, + regexec(pattern = "map\\((.*)\\)", return_type))[[1]][2] return_obj <- lapply(names(obj), function(name) { self$deserializeObj(obj[[name]], inner_return_type, pkg_env) }) names(return_obj) <- names(obj) - } - - # To handle the "array" type - else if (startsWith(return_type, "array[")) { - inner_return_type <- regmatches(return_type, regexec(pattern = "array\\[(.*)\\]", return_type))[[1]][2] + } else if (startsWith(return_type, "array[")) { + # To handle the "array" type + inner_return_type <- regmatches(return_type, + regexec(pattern = "array\\[(.*)\\]", return_type))[[1]][2] if (c(inner_return_type) %in% primitive_types) { return_obj <- vector("list", length = length(obj)) if (length(obj) > 0) { @@ -276,24 +297,21 @@ ApiClient <- R6::R6Class( return_obj <- vector("list", length = nrow(obj)) if (nrow(obj) > 0) { for (row in 1:nrow(obj)) { - return_obj[[row]] <- self$deserializeObj(obj[row, , drop = FALSE], inner_return_type, pkg_env) + return_obj[[row]] <- self$deserializeObj(obj[row, , drop = FALSE], + inner_return_type, pkg_env) } } } } - } - - # To handle model objects which are not array or map containers. Ex:"Pet" - else if (exists(return_type, pkg_env) && !(c(return_type) %in% primitive_types)) { + } else if (exists(return_type, pkg_env) && !(c(return_type) %in% primitive_types)) { + # To handle model objects which are not array or map containers. Ex:"Pet" return_type <- get(return_type, envir = as.environment(pkg_env)) return_obj <- return_type$new() return_obj$fromJSON( jsonlite::toJSON(obj, digits = NA, auto_unbox = TRUE) ) - } - - # To handle primitive type - else { + } else { + # To handle primitive type return_obj <- obj } return_obj diff --git a/samples/client/petstore/R/R/api_exception.R b/samples/client/petstore/R/R/api_exception.R index 474bf8c665..41bee0bb20 100644 --- a/samples/client/petstore/R/R/api_exception.R +++ b/samples/client/petstore/R/R/api_exception.R @@ -37,7 +37,7 @@ ApiException <- R6::R6Class( if (!is.null(http_response)) { self$status <- http_response$status_code errorMsg <- toString(content(http_response)) - if(errorMsg == ""){ + if (errorMsg == "") { errorMsg <- "Api exception encountered. No details given." } self$body <- errorMsg @@ -71,11 +71,11 @@ ApiException <- R6::R6Class( } if (!is.null(self$body)) { errorMsg <- paste(errorMsg, "Body : ", "\n", sep = "") - errorMsg <- paste(errorMsg, self$body,"\n") + errorMsg <- paste(errorMsg, self$body, "\n") } if (!is.null(self$errorObject)) { errorMsg <- paste(errorMsg, "Error object : ", "\n", sep = "") - errorMsg <- paste(errorMsg, self$errorObject$toJSONString(),"\n") + errorMsg <- paste(errorMsg, self$errorObject$toJSONString(), "\n") } errorMsg } diff --git a/samples/client/petstore/R/R/basque_pig.R b/samples/client/petstore/R/R/basque_pig.R index ad3a3d8b84..b948ad4a56 100644 --- a/samples/client/petstore/R/R/basque_pig.R +++ b/samples/client/petstore/R/R/basque_pig.R @@ -10,13 +10,13 @@ #' @title BasquePig #' @description BasquePig Class #' @format An \code{R6Class} generator object -#' @field className character -#' @field color character +#' @field className character +#' @field color character #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export BasquePig <- R6::R6Class( - 'BasquePig', + "BasquePig", public = list( `className` = NULL, `color` = NULL, @@ -51,11 +51,11 @@ BasquePig <- R6::R6Class( toJSON = function() { BasquePigObject <- list() if (!is.null(self$`className`)) { - BasquePigObject[['className']] <- + BasquePigObject[["className"]] <- self$`className` } if (!is.null(self$`color`)) { - BasquePigObject[['color']] <- + BasquePigObject[["color"]] <- self$`color` } @@ -89,22 +89,24 @@ BasquePig <- R6::R6Class( toJSONString = function() { jsoncontent <- c( if (!is.null(self$`className`)) { - sprintf( - '"className": - "%s" - ', - self$`className` - )}, + sprintf( + '"className": + "%s" + ', + self$`className` + ) + }, if (!is.null(self$`color`)) { - sprintf( - '"color": - "%s" - ', - self$`color` - )} + sprintf( + '"color": + "%s" + ', + self$`color` + ) + } ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::minify(paste("{", jsoncontent, "}", sep = ""))) }, #' Deserialize JSON string into an instance of BasquePig #' diff --git a/samples/client/petstore/R/R/cat.R b/samples/client/petstore/R/R/cat.R index 9e70f50a0c..42772a1cac 100644 --- a/samples/client/petstore/R/R/cat.R +++ b/samples/client/petstore/R/R/cat.R @@ -10,14 +10,14 @@ #' @title Cat #' @description Cat Class #' @format An \code{R6Class} generator object -#' @field className character +#' @field className character #' @field color character [optional] #' @field declawed character [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export Cat <- R6::R6Class( - 'Cat', + "Cat", inherit = Animal, public = list( `className` = NULL, @@ -29,12 +29,12 @@ Cat <- R6::R6Class( #' Initialize a new Cat class. #' #' @param className className - #' @param color color. Default to 'red'. + #' @param color color. Default to "red". #' @param declawed declawed #' @param ... Other optional arguments. #' @export initialize = function( - `className`, `color`='red', `declawed`=NULL, ... + `className`, `color` = "red", `declawed` = NULL, ... ) { if (!missing(`className`)) { stopifnot(is.character(`className`), length(`className`) == 1) @@ -59,15 +59,15 @@ Cat <- R6::R6Class( toJSON = function() { CatObject <- list() if (!is.null(self$`className`)) { - CatObject[['className']] <- + CatObject[["className"]] <- self$`className` } if (!is.null(self$`color`)) { - CatObject[['color']] <- + CatObject[["color"]] <- self$`color` } if (!is.null(self$`declawed`)) { - CatObject[['declawed']] <- + CatObject[["declawed"]] <- self$`declawed` } @@ -104,29 +104,32 @@ Cat <- R6::R6Class( toJSONString = function() { jsoncontent <- c( if (!is.null(self$`className`)) { - sprintf( - '"className": - "%s" - ', - self$`className` - )}, + sprintf( + '"className": + "%s" + ', + self$`className` + ) + }, if (!is.null(self$`color`)) { - sprintf( - '"color": - "%s" - ', - self$`color` - )}, + sprintf( + '"color": + "%s" + ', + self$`color` + ) + }, if (!is.null(self$`declawed`)) { - sprintf( - '"declawed": - %s - ', - tolower(self$`declawed`) - )} + sprintf( + '"declawed": + %s + ', + tolower(self$`declawed`) + ) + } ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::minify(paste("{", jsoncontent, "}", sep = ""))) }, #' Deserialize JSON string into an instance of Cat #' diff --git a/samples/client/petstore/R/R/cat_all_of.R b/samples/client/petstore/R/R/cat_all_of.R index cbdad46b9d..74b0172caf 100644 --- a/samples/client/petstore/R/R/cat_all_of.R +++ b/samples/client/petstore/R/R/cat_all_of.R @@ -15,7 +15,7 @@ #' @importFrom jsonlite fromJSON toJSON #' @export CatAllOf <- R6::R6Class( - 'CatAllOf', + "CatAllOf", public = list( `declawed` = NULL, #' Initialize a new CatAllOf class. @@ -27,7 +27,7 @@ CatAllOf <- R6::R6Class( #' @param ... Other optional arguments. #' @export initialize = function( - `declawed`=NULL, ... + `declawed` = NULL, ... ) { if (!is.null(`declawed`)) { stopifnot(is.logical(`declawed`), length(`declawed`) == 1) @@ -44,7 +44,7 @@ CatAllOf <- R6::R6Class( toJSON = function() { CatAllOfObject <- list() if (!is.null(self$`declawed`)) { - CatAllOfObject[['declawed']] <- + CatAllOfObject[["declawed"]] <- self$`declawed` } @@ -75,15 +75,16 @@ CatAllOf <- R6::R6Class( toJSONString = function() { jsoncontent <- c( if (!is.null(self$`declawed`)) { - sprintf( - '"declawed": - %s - ', - tolower(self$`declawed`) - )} + sprintf( + '"declawed": + %s + ', + tolower(self$`declawed`) + ) + } ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::minify(paste("{", jsoncontent, "}", sep = ""))) }, #' Deserialize JSON string into an instance of CatAllOf #' diff --git a/samples/client/petstore/R/R/category.R b/samples/client/petstore/R/R/category.R index 986a506514..39d69c4b73 100644 --- a/samples/client/petstore/R/R/category.R +++ b/samples/client/petstore/R/R/category.R @@ -16,7 +16,7 @@ #' @importFrom jsonlite fromJSON toJSON #' @export Category <- R6::R6Class( - 'Category', + "Category", public = list( `id` = NULL, `name` = NULL, @@ -30,7 +30,7 @@ Category <- R6::R6Class( #' @param ... Other optional arguments. #' @export initialize = function( - `id`=NULL, `name`=NULL, ... + `id` = NULL, `name` = NULL, ... ) { if (!is.null(`id`)) { stopifnot(is.numeric(`id`), length(`id`) == 1) @@ -51,11 +51,11 @@ Category <- R6::R6Class( toJSON = function() { CategoryObject <- list() if (!is.null(self$`id`)) { - CategoryObject[['id']] <- + CategoryObject[["id"]] <- self$`id` } if (!is.null(self$`name`)) { - CategoryObject[['name']] <- + CategoryObject[["name"]] <- self$`name` } @@ -89,22 +89,24 @@ Category <- R6::R6Class( toJSONString = function() { jsoncontent <- c( if (!is.null(self$`id`)) { - sprintf( - '"id": - %d - ', - self$`id` - )}, + sprintf( + '"id": + %d + ', + self$`id` + ) + }, if (!is.null(self$`name`)) { - sprintf( - '"name": - "%s" - ', - self$`name` - )} + sprintf( + '"name": + "%s" + ', + self$`name` + ) + } ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::minify(paste("{", jsoncontent, "}", sep = ""))) }, #' Deserialize JSON string into an instance of Category #' diff --git a/samples/client/petstore/R/R/danish_pig.R b/samples/client/petstore/R/R/danish_pig.R index 00caeda1ef..3c16fc60df 100644 --- a/samples/client/petstore/R/R/danish_pig.R +++ b/samples/client/petstore/R/R/danish_pig.R @@ -10,13 +10,13 @@ #' @title DanishPig #' @description DanishPig Class #' @format An \code{R6Class} generator object -#' @field className character -#' @field size integer +#' @field className character +#' @field size integer #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export DanishPig <- R6::R6Class( - 'DanishPig', + "DanishPig", public = list( `className` = NULL, `size` = NULL, @@ -51,11 +51,11 @@ DanishPig <- R6::R6Class( toJSON = function() { DanishPigObject <- list() if (!is.null(self$`className`)) { - DanishPigObject[['className']] <- + DanishPigObject[["className"]] <- self$`className` } if (!is.null(self$`size`)) { - DanishPigObject[['size']] <- + DanishPigObject[["size"]] <- self$`size` } @@ -89,22 +89,24 @@ DanishPig <- R6::R6Class( toJSONString = function() { jsoncontent <- c( if (!is.null(self$`className`)) { - sprintf( - '"className": - "%s" - ', - self$`className` - )}, + sprintf( + '"className": + "%s" + ', + self$`className` + ) + }, if (!is.null(self$`size`)) { - sprintf( - '"size": - %d - ', - self$`size` - )} + sprintf( + '"size": + %d + ', + self$`size` + ) + } ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::minify(paste("{", jsoncontent, "}", sep = ""))) }, #' Deserialize JSON string into an instance of DanishPig #' diff --git a/samples/client/petstore/R/R/dog.R b/samples/client/petstore/R/R/dog.R index 596e3e74a1..dea850f765 100644 --- a/samples/client/petstore/R/R/dog.R +++ b/samples/client/petstore/R/R/dog.R @@ -10,14 +10,14 @@ #' @title Dog #' @description Dog Class #' @format An \code{R6Class} generator object -#' @field className character +#' @field className character #' @field color character [optional] #' @field breed character [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export Dog <- R6::R6Class( - 'Dog', + "Dog", inherit = Animal, public = list( `className` = NULL, @@ -29,12 +29,12 @@ Dog <- R6::R6Class( #' Initialize a new Dog class. #' #' @param className className - #' @param color color. Default to 'red'. + #' @param color color. Default to "red". #' @param breed breed #' @param ... Other optional arguments. #' @export initialize = function( - `className`, `color`='red', `breed`=NULL, ... + `className`, `color` = "red", `breed` = NULL, ... ) { if (!missing(`className`)) { stopifnot(is.character(`className`), length(`className`) == 1) @@ -59,15 +59,15 @@ Dog <- R6::R6Class( toJSON = function() { DogObject <- list() if (!is.null(self$`className`)) { - DogObject[['className']] <- + DogObject[["className"]] <- self$`className` } if (!is.null(self$`color`)) { - DogObject[['color']] <- + DogObject[["color"]] <- self$`color` } if (!is.null(self$`breed`)) { - DogObject[['breed']] <- + DogObject[["breed"]] <- self$`breed` } @@ -104,29 +104,32 @@ Dog <- R6::R6Class( toJSONString = function() { jsoncontent <- c( if (!is.null(self$`className`)) { - sprintf( - '"className": - "%s" - ', - self$`className` - )}, + sprintf( + '"className": + "%s" + ', + self$`className` + ) + }, if (!is.null(self$`color`)) { - sprintf( - '"color": - "%s" - ', - self$`color` - )}, + sprintf( + '"color": + "%s" + ', + self$`color` + ) + }, if (!is.null(self$`breed`)) { - sprintf( - '"breed": - "%s" - ', - self$`breed` - )} + sprintf( + '"breed": + "%s" + ', + self$`breed` + ) + } ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::minify(paste("{", jsoncontent, "}", sep = ""))) }, #' Deserialize JSON string into an instance of Dog #' diff --git a/samples/client/petstore/R/R/dog_all_of.R b/samples/client/petstore/R/R/dog_all_of.R index b7e1b355f4..3d721bc4b8 100644 --- a/samples/client/petstore/R/R/dog_all_of.R +++ b/samples/client/petstore/R/R/dog_all_of.R @@ -15,7 +15,7 @@ #' @importFrom jsonlite fromJSON toJSON #' @export DogAllOf <- R6::R6Class( - 'DogAllOf', + "DogAllOf", public = list( `breed` = NULL, #' Initialize a new DogAllOf class. @@ -27,7 +27,7 @@ DogAllOf <- R6::R6Class( #' @param ... Other optional arguments. #' @export initialize = function( - `breed`=NULL, ... + `breed` = NULL, ... ) { if (!is.null(`breed`)) { stopifnot(is.character(`breed`), length(`breed`) == 1) @@ -44,7 +44,7 @@ DogAllOf <- R6::R6Class( toJSON = function() { DogAllOfObject <- list() if (!is.null(self$`breed`)) { - DogAllOfObject[['breed']] <- + DogAllOfObject[["breed"]] <- self$`breed` } @@ -75,15 +75,16 @@ DogAllOf <- R6::R6Class( toJSONString = function() { jsoncontent <- c( if (!is.null(self$`breed`)) { - sprintf( - '"breed": - "%s" - ', - self$`breed` - )} + sprintf( + '"breed": + "%s" + ', + self$`breed` + ) + } ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::minify(paste("{", jsoncontent, "}", sep = ""))) }, #' Deserialize JSON string into an instance of DogAllOf #' diff --git a/samples/client/petstore/R/R/fake_api.R b/samples/client/petstore/R/R/fake_api.R index f893fa996e..d48ae15c56 100644 --- a/samples/client/petstore/R/R/fake_api.R +++ b/samples/client/petstore/R/R/fake_api.R @@ -41,8 +41,8 @@ #' #################### FakeDataFile #################### #' #' library(petstore) -#' var.dummy <- 'dummy_example' # character | dummy required parameter -#' var.var_data_file <- 'var_data_file_example' # character | header data file +#' var.dummy <- "dummy_example" # character | dummy required parameter +#' var.var_data_file <- "var_data_file_example" # character | header data file #' #' #test data_file to ensure it's escaped correctly #' api.instance <- FakeApi$new() @@ -83,8 +83,7 @@ FakeApi <- R6::R6Class( initialize = function(api_client) { if (!missing(api_client)) { self$api_client <- api_client - } - else { + } else { self$api_client <- ApiClient$new() } }, @@ -94,12 +93,12 @@ FakeApi <- R6::R6Class( #' test data_file to ensure it's escaped correctly #' #' @param dummy dummy required parameter - #' @param var_data_file (optional) header data file + #' @param var_data_file (optional)header data file #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' @return User #' @export - FakeDataFile = function(dummy, var_data_file=NULL, data_file=NULL, ...) { + FakeDataFile = function(dummy, var_data_file=NULL, data_file = NULL, ...) { api_response <- self$FakeDataFileWithHttpInfo(dummy, var_data_file, data_file = data_file, ...) resp <- api_response$response if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { @@ -129,7 +128,10 @@ FakeApi <- R6::R6Class( header_params <- c() if (missing(`dummy`)) { - rlang::abort(message = "Missing required parameter `dummy`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `dummy`.")) + rlang::abort(message = "Missing required parameter `dummy`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `dummy`.")) } body <- NULL @@ -151,28 +153,36 @@ FakeApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "User", loadNamespace("petstore")), error = function(e) { - rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = "Failed to deserialize response", + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } } ) diff --git a/samples/client/petstore/R/R/model_api_response.R b/samples/client/petstore/R/R/model_api_response.R index 28477200f6..1fa1c6ec49 100644 --- a/samples/client/petstore/R/R/model_api_response.R +++ b/samples/client/petstore/R/R/model_api_response.R @@ -17,7 +17,7 @@ #' @importFrom jsonlite fromJSON toJSON #' @export ModelApiResponse <- R6::R6Class( - 'ModelApiResponse', + "ModelApiResponse", public = list( `code` = NULL, `type` = NULL, @@ -33,7 +33,7 @@ ModelApiResponse <- R6::R6Class( #' @param ... Other optional arguments. #' @export initialize = function( - `code`=NULL, `type`=NULL, `message`=NULL, ... + `code` = NULL, `type` = NULL, `message` = NULL, ... ) { if (!is.null(`code`)) { stopifnot(is.numeric(`code`), length(`code`) == 1) @@ -58,15 +58,15 @@ ModelApiResponse <- R6::R6Class( toJSON = function() { ModelApiResponseObject <- list() if (!is.null(self$`code`)) { - ModelApiResponseObject[['code']] <- + ModelApiResponseObject[["code"]] <- self$`code` } if (!is.null(self$`type`)) { - ModelApiResponseObject[['type']] <- + ModelApiResponseObject[["type"]] <- self$`type` } if (!is.null(self$`message`)) { - ModelApiResponseObject[['message']] <- + ModelApiResponseObject[["message"]] <- self$`message` } @@ -103,29 +103,32 @@ ModelApiResponse <- R6::R6Class( toJSONString = function() { jsoncontent <- c( if (!is.null(self$`code`)) { - sprintf( - '"code": - %d - ', - self$`code` - )}, + sprintf( + '"code": + %d + ', + self$`code` + ) + }, if (!is.null(self$`type`)) { - sprintf( - '"type": - "%s" - ', - self$`type` - )}, + sprintf( + '"type": + "%s" + ', + self$`type` + ) + }, if (!is.null(self$`message`)) { - sprintf( - '"message": - "%s" - ', - self$`message` - )} + sprintf( + '"message": + "%s" + ', + self$`message` + ) + } ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::minify(paste("{", jsoncontent, "}", sep = ""))) }, #' Deserialize JSON string into an instance of ModelApiResponse #' diff --git a/samples/client/petstore/R/R/nested_one_of.R b/samples/client/petstore/R/R/nested_one_of.R index f40db2629a..cc9c338774 100644 --- a/samples/client/petstore/R/R/nested_one_of.R +++ b/samples/client/petstore/R/R/nested_one_of.R @@ -16,7 +16,7 @@ #' @importFrom jsonlite fromJSON toJSON #' @export NestedOneOf <- R6::R6Class( - 'NestedOneOf', + "NestedOneOf", public = list( `size` = NULL, `nested_pig` = NULL, @@ -30,7 +30,7 @@ NestedOneOf <- R6::R6Class( #' @param ... Other optional arguments. #' @export initialize = function( - `size`=NULL, `nested_pig`=NULL, ... + `size` = NULL, `nested_pig` = NULL, ... ) { if (!is.null(`size`)) { stopifnot(is.numeric(`size`), length(`size`) == 1) @@ -51,11 +51,11 @@ NestedOneOf <- R6::R6Class( toJSON = function() { NestedOneOfObject <- list() if (!is.null(self$`size`)) { - NestedOneOfObject[['size']] <- + NestedOneOfObject[["size"]] <- self$`size` } if (!is.null(self$`nested_pig`)) { - NestedOneOfObject[['nested_pig']] <- + NestedOneOfObject[["nested_pig"]] <- self$`nested_pig`$toJSON() } @@ -91,22 +91,24 @@ NestedOneOf <- R6::R6Class( toJSONString = function() { jsoncontent <- c( if (!is.null(self$`size`)) { - sprintf( - '"size": - %d - ', - self$`size` - )}, + sprintf( + '"size": + %d + ', + self$`size` + ) + }, if (!is.null(self$`nested_pig`)) { - sprintf( - '"nested_pig": - %s - ', - jsonlite::toJSON(self$`nested_pig`$toJSON(), auto_unbox=TRUE, digits = NA) - )} + sprintf( + '"nested_pig": + %s + ', + jsonlite::toJSON(self$`nested_pig`$toJSON(), auto_unbox=TRUE, digits = NA) + ) + } ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::minify(paste("{", jsoncontent, "}", sep = ""))) }, #' Deserialize JSON string into an instance of NestedOneOf #' diff --git a/samples/client/petstore/R/R/order.R b/samples/client/petstore/R/R/order.R index f7ce4aa1cd..29a0fcbf03 100644 --- a/samples/client/petstore/R/R/order.R +++ b/samples/client/petstore/R/R/order.R @@ -20,7 +20,7 @@ #' @importFrom jsonlite fromJSON toJSON #' @export Order <- R6::R6Class( - 'Order', + "Order", public = list( `id` = NULL, `petId` = NULL, @@ -42,7 +42,7 @@ Order <- R6::R6Class( #' @param ... Other optional arguments. #' @export initialize = function( - `id`=NULL, `petId`=NULL, `quantity`=NULL, `shipDate`=NULL, `status`=NULL, `complete`=FALSE, ... + `id` = NULL, `petId` = NULL, `quantity` = NULL, `shipDate` = NULL, `status` = NULL, `complete` = FALSE, ... ) { if (!is.null(`id`)) { stopifnot(is.numeric(`id`), length(`id`) == 1) @@ -79,27 +79,27 @@ Order <- R6::R6Class( toJSON = function() { OrderObject <- list() if (!is.null(self$`id`)) { - OrderObject[['id']] <- + OrderObject[["id"]] <- self$`id` } if (!is.null(self$`petId`)) { - OrderObject[['petId']] <- + OrderObject[["petId"]] <- self$`petId` } if (!is.null(self$`quantity`)) { - OrderObject[['quantity']] <- + OrderObject[["quantity"]] <- self$`quantity` } if (!is.null(self$`shipDate`)) { - OrderObject[['shipDate']] <- + OrderObject[["shipDate"]] <- self$`shipDate` } if (!is.null(self$`status`)) { - OrderObject[['status']] <- + OrderObject[["status"]] <- self$`status` } if (!is.null(self$`complete`)) { - OrderObject[['complete']] <- + OrderObject[["complete"]] <- self$`complete` } @@ -145,50 +145,56 @@ Order <- R6::R6Class( toJSONString = function() { jsoncontent <- c( if (!is.null(self$`id`)) { - sprintf( - '"id": - %d - ', - self$`id` - )}, + sprintf( + '"id": + %d + ', + self$`id` + ) + }, if (!is.null(self$`petId`)) { - sprintf( - '"petId": - %d - ', - self$`petId` - )}, + sprintf( + '"petId": + %d + ', + self$`petId` + ) + }, if (!is.null(self$`quantity`)) { - sprintf( - '"quantity": - %d - ', - self$`quantity` - )}, + sprintf( + '"quantity": + %d + ', + self$`quantity` + ) + }, if (!is.null(self$`shipDate`)) { - sprintf( - '"shipDate": - "%s" - ', - self$`shipDate` - )}, + sprintf( + '"shipDate": + "%s" + ', + self$`shipDate` + ) + }, if (!is.null(self$`status`)) { - sprintf( - '"status": - "%s" - ', - self$`status` - )}, + sprintf( + '"status": + "%s" + ', + self$`status` + ) + }, if (!is.null(self$`complete`)) { - sprintf( - '"complete": - %s - ', - tolower(self$`complete`) - )} + sprintf( + '"complete": + %s + ', + tolower(self$`complete`) + ) + } ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::minify(paste("{", jsoncontent, "}", sep = ""))) }, #' Deserialize JSON string into an instance of Order #' diff --git a/samples/client/petstore/R/R/pet.R b/samples/client/petstore/R/R/pet.R index f3345adc04..70aa25dd9e 100644 --- a/samples/client/petstore/R/R/pet.R +++ b/samples/client/petstore/R/R/pet.R @@ -12,15 +12,15 @@ #' @format An \code{R6Class} generator object #' @field id integer [optional] #' @field category \link{Category} [optional] -#' @field name character -#' @field photoUrls list( character ) +#' @field name character +#' @field photoUrls list( character ) #' @field tags list( \link{Tag} ) [optional] #' @field status character [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export Pet <- R6::R6Class( - 'Pet', + "Pet", public = list( `id` = NULL, `category` = NULL, @@ -42,7 +42,7 @@ Pet <- R6::R6Class( #' @param ... Other optional arguments. #' @export initialize = function( - `name`, `photoUrls`, `id`=NULL, `category`=NULL, `tags`=NULL, `status`=NULL, ... + `name`, `photoUrls`, `id` = NULL, `category` = NULL, `tags` = NULL, `status` = NULL, ... ) { if (!missing(`name`)) { stopifnot(is.character(`name`), length(`name`) == 1) @@ -81,27 +81,27 @@ Pet <- R6::R6Class( toJSON = function() { PetObject <- list() if (!is.null(self$`id`)) { - PetObject[['id']] <- + PetObject[["id"]] <- self$`id` } if (!is.null(self$`category`)) { - PetObject[['category']] <- + PetObject[["category"]] <- self$`category`$toJSON() } if (!is.null(self$`name`)) { - PetObject[['name']] <- + PetObject[["name"]] <- self$`name` } if (!is.null(self$`photoUrls`)) { - PetObject[['photoUrls']] <- + PetObject[["photoUrls"]] <- self$`photoUrls` } if (!is.null(self$`tags`)) { - PetObject[['tags']] <- + PetObject[["tags"]] <- lapply(self$`tags`, function(x) x$toJSON()) } if (!is.null(self$`status`)) { - PetObject[['status']] <- + PetObject[["status"]] <- self$`status` } @@ -149,50 +149,56 @@ Pet <- R6::R6Class( toJSONString = function() { jsoncontent <- c( if (!is.null(self$`id`)) { - sprintf( - '"id": - %d - ', - self$`id` - )}, + sprintf( + '"id": + %d + ', + self$`id` + ) + }, if (!is.null(self$`category`)) { - sprintf( - '"category": - %s - ', - jsonlite::toJSON(self$`category`$toJSON(), auto_unbox=TRUE, digits = NA) - )}, + sprintf( + '"category": + %s + ', + jsonlite::toJSON(self$`category`$toJSON(), auto_unbox=TRUE, digits = NA) + ) + }, if (!is.null(self$`name`)) { - sprintf( - '"name": - "%s" - ', - self$`name` - )}, + sprintf( + '"name": + "%s" + ', + self$`name` + ) + }, if (!is.null(self$`photoUrls`)) { - sprintf( - '"photoUrls": - [%s] - ', - paste(unlist(lapply(self$`photoUrls`, function(x) paste0('"', x, '"'))), collapse=",") - )}, + sprintf( + '"photoUrls": + [%s] + ', + paste(unlist(lapply(self$`photoUrls`, function(x) paste0('"', x, '"'))), collapse=",") + ) + }, if (!is.null(self$`tags`)) { - sprintf( - '"tags": - [%s] + sprintf( + '"tags": + [%s] ', - paste(sapply(self$`tags`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=TRUE, digits = NA)), collapse=",") - )}, + paste(sapply(self$`tags`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=TRUE, digits = NA)), collapse=",") + ) + }, if (!is.null(self$`status`)) { - sprintf( - '"status": - "%s" - ', - self$`status` - )} + sprintf( + '"status": + "%s" + ', + self$`status` + ) + } ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::minify(paste("{", jsoncontent, "}", sep = ""))) }, #' Deserialize JSON string into an instance of Pet #' diff --git a/samples/client/petstore/R/R/pet_api.R b/samples/client/petstore/R/R/pet_api.R index 6b2f654c17..37a27ce940 100644 --- a/samples/client/petstore/R/R/pet_api.R +++ b/samples/client/petstore/R/R/pet_api.R @@ -286,7 +286,7 @@ #' #' library(petstore) #' var.pet_id <- 56 # integer | Pet id to delete -#' var.api_key <- 'api_key_example' # character | +#' var.api_key <- "api_key_example" # character | #' #' #Deletes a pet #' api.instance <- PetApi$new() @@ -312,7 +312,7 @@ #' #################### FindPetsByStatus #################### #' #' library(petstore) -#' var.status <- ['status_example'] # array[character] | Status values that need to be considered for filter +#' var.status <- ["status_example"] # array[character] | Status values that need to be considered for filter #' #' #Finds Pets by status #' api.instance <- PetApi$new() @@ -340,7 +340,7 @@ #' #################### FindPetsByTags #################### #' #' library(petstore) -#' var.tags <- ['tags_example'] # array[character] | Tags to filter by +#' var.tags <- ["tags_example"] # array[character] | Tags to filter by #' #' #Finds Pets by tags #' api.instance <- PetApi$new() @@ -453,8 +453,8 @@ #' #' library(petstore) #' var.pet_id <- 56 # integer | ID of pet that needs to be updated -#' var.name <- 'name_example' # character | Updated name of the pet -#' var.status <- 'status_example' # character | Updated status of the pet +#' var.name <- "name_example" # character | Updated name of the pet +#' var.status <- "status_example" # character | Updated status of the pet #' #' #Updates a pet in the store with form data #' api.instance <- PetApi$new() @@ -481,7 +481,7 @@ #' #' library(petstore) #' var.pet_id <- 56 # integer | ID of pet to update -#' var.additional_metadata <- 'additional_metadata_example' # character | Additional data to pass to server +#' var.additional_metadata <- "additional_metadata_example" # character | Additional data to pass to server #' var.file <- File.new('/path/to/file') # data.frame | file to upload #' #' #uploads an image @@ -526,8 +526,7 @@ PetApi <- R6::R6Class( initialize = function(api_client) { if (!missing(api_client)) { self$api_client <- api_client - } - else { + } else { self$api_client <- ApiClient$new() } }, @@ -541,7 +540,7 @@ PetApi <- R6::R6Class( #' @param ... Other optional arguments #' @return Pet #' @export - AddPet = function(pet, data_file=NULL, ...) { + AddPet = function(pet, data_file = NULL, ...) { api_response <- self$AddPetWithHttpInfo(pet, data_file = data_file, ...) resp <- api_response$response if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { @@ -570,7 +569,10 @@ PetApi <- R6::R6Class( header_params <- c() if (missing(`pet`)) { - rlang::abort(message = "Missing required parameter `pet`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `pet`.")) + rlang::abort(message = "Missing required parameter `pet`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `pet`.")) } if (!missing(`pet`)) { @@ -599,28 +601,36 @@ PetApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "Pet", loadNamespace("petstore")), error = function(e) { - rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = "Failed to deserialize response", + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } }, #' Deletes a pet @@ -662,7 +672,10 @@ PetApi <- R6::R6Class( header_params <- c() if (missing(`pet_id`)) { - rlang::abort(message = "Missing required parameter `pet_id`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `pet_id`.")) + rlang::abort(message = "Missing required parameter `pet_id`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `pet_id`.")) } body <- NULL @@ -685,22 +698,28 @@ PetApi <- R6::R6Class( ApiResponse$new(NULL, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } }, #' Finds Pets by status @@ -713,7 +732,7 @@ PetApi <- R6::R6Class( #' @param ... Other optional arguments #' @return array[Pet] #' @export - FindPetsByStatus = function(status, data_file=NULL, ...) { + FindPetsByStatus = function(status, data_file = NULL, ...) { api_response <- self$FindPetsByStatusWithHttpInfo(status, data_file = data_file, ...) resp <- api_response$response if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { @@ -742,7 +761,10 @@ PetApi <- R6::R6Class( header_params <- c() if (missing(`status`)) { - rlang::abort(message = "Missing required parameter `status`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `status`.")) + rlang::abort(message = "Missing required parameter `status`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `status`.")) } body <- NULL @@ -766,28 +788,36 @@ PetApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "array[Pet]", loadNamespace("petstore")), error = function(e) { - rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = "Failed to deserialize response", + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } }, #' Finds Pets by tags @@ -800,7 +830,7 @@ PetApi <- R6::R6Class( #' @param ... Other optional arguments #' @return array[Pet] #' @export - FindPetsByTags = function(tags, data_file=NULL, ...) { + FindPetsByTags = function(tags, data_file = NULL, ...) { api_response <- self$FindPetsByTagsWithHttpInfo(tags, data_file = data_file, ...) resp <- api_response$response if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { @@ -829,7 +859,10 @@ PetApi <- R6::R6Class( header_params <- c() if (missing(`tags`)) { - rlang::abort(message = "Missing required parameter `tags`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `tags`.")) + rlang::abort(message = "Missing required parameter `tags`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `tags`.")) } body <- NULL @@ -853,28 +886,36 @@ PetApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "array[Pet]", loadNamespace("petstore")), error = function(e) { - rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = "Failed to deserialize response", + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } }, #' Find pet by ID @@ -887,7 +928,7 @@ PetApi <- R6::R6Class( #' @param ... Other optional arguments #' @return Pet #' @export - GetPetById = function(pet_id, data_file=NULL, ...) { + GetPetById = function(pet_id, data_file = NULL, ...) { api_response <- self$GetPetByIdWithHttpInfo(pet_id, data_file = data_file, ...) resp <- api_response$response if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { @@ -916,7 +957,10 @@ PetApi <- R6::R6Class( header_params <- c() if (missing(`pet_id`)) { - rlang::abort(message = "Missing required parameter `pet_id`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `pet_id`.")) + rlang::abort(message = "Missing required parameter `pet_id`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `pet_id`.")) } body <- NULL @@ -946,28 +990,36 @@ PetApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "Pet", loadNamespace("petstore")), error = function(e) { - rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = "Failed to deserialize response", + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } }, #' Find pet by ID (streaming) @@ -981,7 +1033,7 @@ PetApi <- R6::R6Class( #' @param ... Other optional arguments #' @return Pet #' @export - GetPetByIdStreaming = function(pet_id, stream_callback=NULL, data_file=NULL, ...) { + GetPetByIdStreaming = function(pet_id, stream_callback=NULL, data_file = NULL, ...) { api_response <- self$GetPetByIdStreamingWithHttpInfo(pet_id, stream_callback = stream_callback, data_file = data_file, ...) if (typeof(stream_callback) == "closure") { # return void if streaming is enabled return(invisible(NULL)) @@ -1015,7 +1067,10 @@ PetApi <- R6::R6Class( header_params <- c() if (missing(`pet_id`)) { - rlang::abort(message = "Missing required parameter `pet_id`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `pet_id`.")) + rlang::abort(message = "Missing required parameter `pet_id`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `pet_id`.")) } body <- NULL @@ -1050,28 +1105,36 @@ PetApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "Pet", loadNamespace("petstore")), error = function(e) { - rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = "Failed to deserialize response", + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } }, #' Update an existing pet @@ -1084,7 +1147,7 @@ PetApi <- R6::R6Class( #' @param ... Other optional arguments #' @return Pet #' @export - UpdatePet = function(pet, data_file=NULL, ...) { + UpdatePet = function(pet, data_file = NULL, ...) { api_response <- self$UpdatePetWithHttpInfo(pet, data_file = data_file, ...) resp <- api_response$response if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { @@ -1113,7 +1176,10 @@ PetApi <- R6::R6Class( header_params <- c() if (missing(`pet`)) { - rlang::abort(message = "Missing required parameter `pet`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `pet`.")) + rlang::abort(message = "Missing required parameter `pet`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `pet`.")) } if (!missing(`pet`)) { @@ -1142,28 +1208,36 @@ PetApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "Pet", loadNamespace("petstore")), error = function(e) { - rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = "Failed to deserialize response", + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } }, #' Updates a pet in the store with form data @@ -1172,8 +1246,8 @@ PetApi <- R6::R6Class( #' Updates a pet in the store with form data #' #' @param pet_id ID of pet that needs to be updated - #' @param name (optional) Updated name of the pet - #' @param status (optional) Updated status of the pet + #' @param name (optional)Updated name of the pet + #' @param status (optional)Updated status of the pet #' @param ... Other optional arguments #' @return void #' @export @@ -1207,7 +1281,10 @@ PetApi <- R6::R6Class( header_params <- c() if (missing(`pet_id`)) { - rlang::abort(message = "Missing required parameter `pet_id`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `pet_id`.")) + rlang::abort(message = "Missing required parameter `pet_id`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `pet_id`.")) } body <- list( @@ -1234,22 +1311,28 @@ PetApi <- R6::R6Class( ApiResponse$new(NULL, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } }, #' uploads an image @@ -1258,13 +1341,13 @@ PetApi <- R6::R6Class( #' uploads an image #' #' @param pet_id ID of pet to update - #' @param additional_metadata (optional) Additional data to pass to server - #' @param file (optional) file to upload + #' @param additional_metadata (optional)Additional data to pass to server + #' @param file (optional)file to upload #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' @return ModelApiResponse #' @export - UploadFile = function(pet_id, additional_metadata=NULL, file=NULL, data_file=NULL, ...) { + UploadFile = function(pet_id, additional_metadata=NULL, file=NULL, data_file = NULL, ...) { api_response <- self$UploadFileWithHttpInfo(pet_id, additional_metadata, file, data_file = data_file, ...) resp <- api_response$response if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { @@ -1295,7 +1378,10 @@ PetApi <- R6::R6Class( header_params <- c() if (missing(`pet_id`)) { - rlang::abort(message = "Missing required parameter `pet_id`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `pet_id`.")) + rlang::abort(message = "Missing required parameter `pet_id`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `pet_id`.")) } body <- list( @@ -1327,28 +1413,36 @@ PetApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "ModelApiResponse", loadNamespace("petstore")), error = function(e) { - rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = "Failed to deserialize response", + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } } ) diff --git a/samples/client/petstore/R/R/pig.R b/samples/client/petstore/R/R/pig.R index 60f7ecbc00..8740ff0a1d 100644 --- a/samples/client/petstore/R/R/pig.R +++ b/samples/client/petstore/R/R/pig.R @@ -17,7 +17,7 @@ #' @importFrom jsonlite fromJSON toJSON #' @export Pig <- R6::R6Class( - 'Pig', + "Pig", public = list( #' @field actual_instance the object stored in this instance. actual_instance = NULL, @@ -36,13 +36,14 @@ Pig <- R6::R6Class( if (is.null(instance)) { # do nothing } else if (get(class(instance)[[1]], pos = -1)$classname == "BasquePig") { - self$actual_instance = instance - self$actual_type = "BasquePig" + self$actual_instance <- instance + self$actual_type <- "BasquePig" } else if (get(class(instance)[[1]], pos = -1)$classname == "DanishPig") { - self$actual_instance = instance - self$actual_type = "DanishPig" + self$actual_instance <- instance + self$actual_type <- "DanishPig" } else { - stop(paste("Failed to initialize Pig with oneOf schemas BasquePig, DanishPig. Provided class name: ", get(class(instance)[[1]], pos = -1)$classname)) + stop(paste("Failed to initialize Pig with oneOf schemas BasquePig, DanishPig. Provided class name: ", + get(class(instance)[[1]], pos = -1)$classname)) } }, #' Deserialize JSON string into an instance of Pig. @@ -70,8 +71,8 @@ Pig <- R6::R6Class( error = function(err) err ) - if (!is.null(BasquePig_result['error'])) { - error_messages <- append(error_messages, BasquePig_result['message']) + if (!is.null(BasquePig_result["error"])) { + error_messages <- append(error_messages, BasquePig_result["message"]) } DanishPig_result <- tryCatch({ @@ -85,8 +86,8 @@ Pig <- R6::R6Class( error = function(err) err ) - if (!is.null(DanishPig_result['error'])) { - error_messages <- append(error_messages, DanishPig_result['message']) + if (!is.null(DanishPig_result["error"])) { + error_messages <- append(error_messages, DanishPig_result["message"]) } if (matched == 1) { @@ -95,10 +96,11 @@ Pig <- R6::R6Class( self$actual_type <- instance_type } else if (matched > 1) { # more than 1 match - stop("Multiple matches found when deserializing the payload into Pig with oneOf schemas BasquePig, DanishPig. ") + stop("Multiple matches found when deserializing the payload into Pig with oneOf schemas BasquePig, DanishPig.") } else { # no match - stop(paste("No match found when deserializing the payload into Pig with oneOf schemas BasquePig, DanishPig. Details: ", paste(error_messages, collapse = ', '))) + stop(paste("No match found when deserializing the payload into Pig with oneOf schemas BasquePig, DanishPig. Details: ", + paste(error_messages, collapse = ", "))) } self @@ -160,12 +162,12 @@ Pig <- R6::R6Class( #' @export toString = function() { jsoncontent <- c( - sprintf('"actual_instance": %s', if (is.null(self$actual_instance)) {NULL} else {self$actual_instance$toJSONString()}), + sprintf('"actual_instance": %s', if (is.null(self$actual_instance)) NULL else self$actual_instance$toJSONString()), sprintf('"actual_type": "%s"', self$actual_type), - sprintf('"one_of": "%s"', paste( unlist(self$one_of), collapse=', ')) + sprintf('"one_of": "%s"', paste(unlist(self$one_of), collapse = ", ")) ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::prettify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::prettify(paste("{", jsoncontent, "}", sep = ""))) } ) ) diff --git a/samples/client/petstore/R/R/special.R b/samples/client/petstore/R/R/special.R index 94d3c4b8a2..11481199f2 100644 --- a/samples/client/petstore/R/R/special.R +++ b/samples/client/petstore/R/R/special.R @@ -20,7 +20,7 @@ #' @importFrom jsonlite fromJSON toJSON #' @export Special <- R6::R6Class( - 'Special', + "Special", public = list( `item_self` = NULL, `item_private` = NULL, @@ -42,7 +42,7 @@ Special <- R6::R6Class( #' @param ... Other optional arguments. #' @export initialize = function( - `item_self`=NULL, `item_private`=NULL, `item_super`=NULL, `123_number`=NULL, `array[test]`=NULL, `empty_string`=NULL, ... + `item_self` = NULL, `item_private` = NULL, `item_super` = NULL, `123_number` = NULL, `array[test]` = NULL, `empty_string` = NULL, ... ) { if (!is.null(`item_self`)) { stopifnot(is.numeric(`item_self`), length(`item_self`) == 1) @@ -79,27 +79,27 @@ Special <- R6::R6Class( toJSON = function() { SpecialObject <- list() if (!is.null(self$`item_self`)) { - SpecialObject[['self']] <- + SpecialObject[["self"]] <- self$`item_self` } if (!is.null(self$`item_private`)) { - SpecialObject[['private']] <- + SpecialObject[["private"]] <- self$`item_private` } if (!is.null(self$`item_super`)) { - SpecialObject[['super']] <- + SpecialObject[["super"]] <- self$`item_super` } if (!is.null(self$`123_number`)) { - SpecialObject[['123_number']] <- + SpecialObject[["123_number"]] <- self$`123_number` } if (!is.null(self$`array[test]`)) { - SpecialObject[['array[test]']] <- + SpecialObject[["array[test]"]] <- self$`array[test]` } if (!is.null(self$`empty_string`)) { - SpecialObject[['empty_string']] <- + SpecialObject[["empty_string"]] <- self$`empty_string` } @@ -145,50 +145,56 @@ Special <- R6::R6Class( toJSONString = function() { jsoncontent <- c( if (!is.null(self$`item_self`)) { - sprintf( - '"self": - %d - ', - self$`item_self` - )}, + sprintf( + '"self": + %d + ', + self$`item_self` + ) + }, if (!is.null(self$`item_private`)) { - sprintf( - '"private": - "%s" - ', - self$`item_private` - )}, + sprintf( + '"private": + "%s" + ', + self$`item_private` + ) + }, if (!is.null(self$`item_super`)) { - sprintf( - '"super": - "%s" - ', - self$`item_super` - )}, + sprintf( + '"super": + "%s" + ', + self$`item_super` + ) + }, if (!is.null(self$`123_number`)) { - sprintf( - '"123_number": - "%s" - ', - self$`123_number` - )}, + sprintf( + '"123_number": + "%s" + ', + self$`123_number` + ) + }, if (!is.null(self$`array[test]`)) { - sprintf( - '"array[test]": - "%s" - ', - self$`array[test]` - )}, + sprintf( + '"array[test]": + "%s" + ', + self$`array[test]` + ) + }, if (!is.null(self$`empty_string`)) { - sprintf( - '"empty_string": - "%s" - ', - self$`empty_string` - )} + sprintf( + '"empty_string": + "%s" + ', + self$`empty_string` + ) + } ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::minify(paste("{", jsoncontent, "}", sep = ""))) }, #' Deserialize JSON string into an instance of Special #' diff --git a/samples/client/petstore/R/R/store_api.R b/samples/client/petstore/R/R/store_api.R index b7ad306627..584646fc43 100644 --- a/samples/client/petstore/R/R/store_api.R +++ b/samples/client/petstore/R/R/store_api.R @@ -119,7 +119,7 @@ #' #################### DeleteOrder #################### #' #' library(petstore) -#' var.order_id <- 'order_id_example' # character | ID of the order that needs to be deleted +#' var.order_id <- "order_id_example" # character | ID of the order that needs to be deleted #' #' #Delete purchase order by ID #' api.instance <- StoreApi$new() @@ -235,8 +235,7 @@ StoreApi <- R6::R6Class( initialize = function(api_client) { if (!missing(api_client)) { self$api_client <- api_client - } - else { + } else { self$api_client <- ApiClient$new() } }, @@ -277,7 +276,10 @@ StoreApi <- R6::R6Class( header_params <- c() if (missing(`order_id`)) { - rlang::abort(message = "Missing required parameter `order_id`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `order_id`.")) + rlang::abort(message = "Missing required parameter `order_id`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `order_id`.")) } body <- NULL @@ -298,22 +300,28 @@ StoreApi <- R6::R6Class( ApiResponse$new(NULL, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } }, #' Returns pet inventories by status @@ -325,7 +333,7 @@ StoreApi <- R6::R6Class( #' @param ... Other optional arguments #' @return map(integer) #' @export - GetInventory = function(data_file=NULL, ...) { + GetInventory = function(data_file = NULL, ...) { api_response <- self$GetInventoryWithHttpInfo(data_file = data_file, ...) resp <- api_response$response if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { @@ -375,28 +383,36 @@ StoreApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "map(integer)", loadNamespace("petstore")), error = function(e) { - rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = "Failed to deserialize response", + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } }, #' Find purchase order by ID @@ -409,7 +425,7 @@ StoreApi <- R6::R6Class( #' @param ... Other optional arguments #' @return Order #' @export - GetOrderById = function(order_id, data_file=NULL, ...) { + GetOrderById = function(order_id, data_file = NULL, ...) { api_response <- self$GetOrderByIdWithHttpInfo(order_id, data_file = data_file, ...) resp <- api_response$response if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { @@ -438,7 +454,10 @@ StoreApi <- R6::R6Class( header_params <- c() if (missing(`order_id`)) { - rlang::abort(message = "Missing required parameter `order_id`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `order_id`.")) + rlang::abort(message = "Missing required parameter `order_id`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `order_id`.")) } body <- NULL @@ -464,28 +483,36 @@ StoreApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "Order", loadNamespace("petstore")), error = function(e) { - rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = "Failed to deserialize response", + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } }, #' Place an order for a pet @@ -498,7 +525,7 @@ StoreApi <- R6::R6Class( #' @param ... Other optional arguments #' @return Order #' @export - PlaceOrder = function(order, data_file=NULL, ...) { + PlaceOrder = function(order, data_file = NULL, ...) { api_response <- self$PlaceOrderWithHttpInfo(order, data_file = data_file, ...) resp <- api_response$response if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { @@ -527,7 +554,10 @@ StoreApi <- R6::R6Class( header_params <- c() if (missing(`order`)) { - rlang::abort(message = "Missing required parameter `order`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `order`.")) + rlang::abort(message = "Missing required parameter `order`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `order`.")) } if (!missing(`order`)) { @@ -554,28 +584,36 @@ StoreApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "Order", loadNamespace("petstore")), error = function(e) { - rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = "Failed to deserialize response", + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } } ) diff --git a/samples/client/petstore/R/R/tag.R b/samples/client/petstore/R/R/tag.R index e58c9899a1..dc3bd0a41b 100644 --- a/samples/client/petstore/R/R/tag.R +++ b/samples/client/petstore/R/R/tag.R @@ -16,7 +16,7 @@ #' @importFrom jsonlite fromJSON toJSON #' @export Tag <- R6::R6Class( - 'Tag', + "Tag", public = list( `id` = NULL, `name` = NULL, @@ -30,7 +30,7 @@ Tag <- R6::R6Class( #' @param ... Other optional arguments. #' @export initialize = function( - `id`=NULL, `name`=NULL, ... + `id` = NULL, `name` = NULL, ... ) { if (!is.null(`id`)) { stopifnot(is.numeric(`id`), length(`id`) == 1) @@ -51,11 +51,11 @@ Tag <- R6::R6Class( toJSON = function() { TagObject <- list() if (!is.null(self$`id`)) { - TagObject[['id']] <- + TagObject[["id"]] <- self$`id` } if (!is.null(self$`name`)) { - TagObject[['name']] <- + TagObject[["name"]] <- self$`name` } @@ -89,22 +89,24 @@ Tag <- R6::R6Class( toJSONString = function() { jsoncontent <- c( if (!is.null(self$`id`)) { - sprintf( - '"id": - %d - ', - self$`id` - )}, + sprintf( + '"id": + %d + ', + self$`id` + ) + }, if (!is.null(self$`name`)) { - sprintf( - '"name": - "%s" - ', - self$`name` - )} + sprintf( + '"name": + "%s" + ', + self$`name` + ) + } ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::minify(paste("{", jsoncontent, "}", sep = ""))) }, #' Deserialize JSON string into an instance of Tag #' diff --git a/samples/client/petstore/R/R/update_pet_request.R b/samples/client/petstore/R/R/update_pet_request.R index 2756c970f5..0d6f08e88b 100644 --- a/samples/client/petstore/R/R/update_pet_request.R +++ b/samples/client/petstore/R/R/update_pet_request.R @@ -16,7 +16,7 @@ #' @importFrom jsonlite fromJSON toJSON #' @export UpdatePetRequest <- R6::R6Class( - 'UpdatePetRequest', + "UpdatePetRequest", public = list( `jsonData` = NULL, `binaryDataN2Information` = NULL, @@ -30,7 +30,7 @@ UpdatePetRequest <- R6::R6Class( #' @param ... Other optional arguments. #' @export initialize = function( - `jsonData`=NULL, `binaryDataN2Information`=NULL, ... + `jsonData` = NULL, `binaryDataN2Information` = NULL, ... ) { if (!is.null(`jsonData`)) { stopifnot(R6::is.R6(`jsonData`)) @@ -50,11 +50,11 @@ UpdatePetRequest <- R6::R6Class( toJSON = function() { UpdatePetRequestObject <- list() if (!is.null(self$`jsonData`)) { - UpdatePetRequestObject[['jsonData']] <- + UpdatePetRequestObject[["jsonData"]] <- self$`jsonData`$toJSON() } if (!is.null(self$`binaryDataN2Information`)) { - UpdatePetRequestObject[['binaryDataN2Information']] <- + UpdatePetRequestObject[["binaryDataN2Information"]] <- self$`binaryDataN2Information` } @@ -90,22 +90,24 @@ UpdatePetRequest <- R6::R6Class( toJSONString = function() { jsoncontent <- c( if (!is.null(self$`jsonData`)) { - sprintf( - '"jsonData": - %s - ', - jsonlite::toJSON(self$`jsonData`$toJSON(), auto_unbox=TRUE, digits = NA) - )}, + sprintf( + '"jsonData": + %s + ', + jsonlite::toJSON(self$`jsonData`$toJSON(), auto_unbox=TRUE, digits = NA) + ) + }, if (!is.null(self$`binaryDataN2Information`)) { - sprintf( - '"binaryDataN2Information": - "%s" - ', - self$`binaryDataN2Information` - )} + sprintf( + '"binaryDataN2Information": + "%s" + ', + self$`binaryDataN2Information` + ) + } ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::minify(paste("{", jsoncontent, "}", sep = ""))) }, #' Deserialize JSON string into an instance of UpdatePetRequest #' diff --git a/samples/client/petstore/R/R/user.R b/samples/client/petstore/R/R/user.R index 3379f7cfa7..b13a4e09d9 100644 --- a/samples/client/petstore/R/R/user.R +++ b/samples/client/petstore/R/R/user.R @@ -22,7 +22,7 @@ #' @importFrom jsonlite fromJSON toJSON #' @export User <- R6::R6Class( - 'User', + "User", public = list( `id` = NULL, `username` = NULL, @@ -48,7 +48,7 @@ User <- R6::R6Class( #' @param ... Other optional arguments. #' @export initialize = function( - `id`=NULL, `username`=NULL, `firstName`=NULL, `lastName`=NULL, `email`=NULL, `password`=NULL, `phone`=NULL, `userStatus`=NULL, ... + `id` = NULL, `username` = NULL, `firstName` = NULL, `lastName` = NULL, `email` = NULL, `password` = NULL, `phone` = NULL, `userStatus` = NULL, ... ) { if (!is.null(`id`)) { stopifnot(is.numeric(`id`), length(`id`) == 1) @@ -93,35 +93,35 @@ User <- R6::R6Class( toJSON = function() { UserObject <- list() if (!is.null(self$`id`)) { - UserObject[['id']] <- + UserObject[["id"]] <- self$`id` } if (!is.null(self$`username`)) { - UserObject[['username']] <- + UserObject[["username"]] <- self$`username` } if (!is.null(self$`firstName`)) { - UserObject[['firstName']] <- + UserObject[["firstName"]] <- self$`firstName` } if (!is.null(self$`lastName`)) { - UserObject[['lastName']] <- + UserObject[["lastName"]] <- self$`lastName` } if (!is.null(self$`email`)) { - UserObject[['email']] <- + UserObject[["email"]] <- self$`email` } if (!is.null(self$`password`)) { - UserObject[['password']] <- + UserObject[["password"]] <- self$`password` } if (!is.null(self$`phone`)) { - UserObject[['phone']] <- + UserObject[["phone"]] <- self$`phone` } if (!is.null(self$`userStatus`)) { - UserObject[['userStatus']] <- + UserObject[["userStatus"]] <- self$`userStatus` } @@ -173,64 +173,72 @@ User <- R6::R6Class( toJSONString = function() { jsoncontent <- c( if (!is.null(self$`id`)) { - sprintf( - '"id": - %d - ', - self$`id` - )}, + sprintf( + '"id": + %d + ', + self$`id` + ) + }, if (!is.null(self$`username`)) { - sprintf( - '"username": - "%s" - ', - self$`username` - )}, + sprintf( + '"username": + "%s" + ', + self$`username` + ) + }, if (!is.null(self$`firstName`)) { - sprintf( - '"firstName": - "%s" - ', - self$`firstName` - )}, + sprintf( + '"firstName": + "%s" + ', + self$`firstName` + ) + }, if (!is.null(self$`lastName`)) { - sprintf( - '"lastName": - "%s" - ', - self$`lastName` - )}, + sprintf( + '"lastName": + "%s" + ', + self$`lastName` + ) + }, if (!is.null(self$`email`)) { - sprintf( - '"email": - "%s" - ', - self$`email` - )}, + sprintf( + '"email": + "%s" + ', + self$`email` + ) + }, if (!is.null(self$`password`)) { - sprintf( - '"password": - "%s" - ', - self$`password` - )}, + sprintf( + '"password": + "%s" + ', + self$`password` + ) + }, if (!is.null(self$`phone`)) { - sprintf( - '"phone": - "%s" - ', - self$`phone` - )}, + sprintf( + '"phone": + "%s" + ', + self$`phone` + ) + }, if (!is.null(self$`userStatus`)) { - sprintf( - '"userStatus": - %d - ', - self$`userStatus` - )} + sprintf( + '"userStatus": + %d + ', + self$`userStatus` + ) + } ) jsoncontent <- paste(jsoncontent, collapse = ",") - as.character(jsonlite::minify(paste('{', jsoncontent, '}', sep = ""))) + as.character(jsonlite::minify(paste("{", jsoncontent, "}", sep = ""))) }, #' Deserialize JSON string into an instance of User #' diff --git a/samples/client/petstore/R/R/user_api.R b/samples/client/petstore/R/R/user_api.R index e8c3564dd0..10dead6d87 100644 --- a/samples/client/petstore/R/R/user_api.R +++ b/samples/client/petstore/R/R/user_api.R @@ -276,7 +276,7 @@ #' #################### DeleteUser #################### #' #' library(petstore) -#' var.username <- 'username_example' # character | The name that needs to be deleted +#' var.username <- "username_example" # character | The name that needs to be deleted #' #' #Delete user #' api.instance <- UserApi$new() @@ -302,7 +302,7 @@ #' #################### GetUserByName #################### #' #' library(petstore) -#' var.username <- 'username_example' # character | The name that needs to be fetched. Use user1 for testing. +#' var.username <- "username_example" # character | The name that needs to be fetched. Use user1 for testing. #' #' #Get user by user name #' api.instance <- UserApi$new() @@ -327,8 +327,8 @@ #' #################### LoginUser #################### #' #' library(petstore) -#' var.username <- 'username_example' # character | The user name for login -#' var.password <- 'password_example' # character | The password for login in clear text +#' var.username <- "username_example" # character | The user name for login +#' var.password <- "password_example" # character | The password for login in clear text #' #' #Logs user into the system #' api.instance <- UserApi$new() @@ -378,7 +378,7 @@ #' #################### UpdateUser #################### #' #' library(petstore) -#' var.username <- 'username_example' # character | name that need to be deleted +#' var.username <- "username_example" # character | name that need to be deleted #' var.user <- User$new() # User | Updated user object #' #' #Updated user @@ -421,8 +421,7 @@ UserApi <- R6::R6Class( initialize = function(api_client) { if (!missing(api_client)) { self$api_client <- api_client - } - else { + } else { self$api_client <- ApiClient$new() } }, @@ -463,7 +462,10 @@ UserApi <- R6::R6Class( header_params <- c() if (missing(`user`)) { - rlang::abort(message = "Missing required parameter `user`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `user`.")) + rlang::abort(message = "Missing required parameter `user`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `user`.")) } if (!missing(`user`)) { @@ -489,22 +491,28 @@ UserApi <- R6::R6Class( ApiResponse$new(NULL, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } }, #' Creates list of users with given input array @@ -544,7 +552,10 @@ UserApi <- R6::R6Class( header_params <- c() if (missing(`user`)) { - rlang::abort(message = "Missing required parameter `user`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `user`.")) + rlang::abort(message = "Missing required parameter `user`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `user`.")) } if (!missing(`user`)) { @@ -571,22 +582,28 @@ UserApi <- R6::R6Class( ApiResponse$new(NULL, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } }, #' Creates list of users with given input array @@ -626,7 +643,10 @@ UserApi <- R6::R6Class( header_params <- c() if (missing(`user`)) { - rlang::abort(message = "Missing required parameter `user`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `user`.")) + rlang::abort(message = "Missing required parameter `user`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `user`.")) } if (!missing(`user`)) { @@ -653,22 +673,28 @@ UserApi <- R6::R6Class( ApiResponse$new(NULL, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } }, #' Delete user @@ -708,7 +734,10 @@ UserApi <- R6::R6Class( header_params <- c() if (missing(`username`)) { - rlang::abort(message = "Missing required parameter `username`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `username`.")) + rlang::abort(message = "Missing required parameter `username`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `username`.")) } body <- NULL @@ -733,22 +762,28 @@ UserApi <- R6::R6Class( ApiResponse$new(NULL, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } }, #' Get user by user name @@ -761,7 +796,7 @@ UserApi <- R6::R6Class( #' @param ... Other optional arguments #' @return User #' @export - GetUserByName = function(username, data_file=NULL, ...) { + GetUserByName = function(username, data_file = NULL, ...) { api_response <- self$GetUserByNameWithHttpInfo(username, data_file = data_file, ...) resp <- api_response$response if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { @@ -790,7 +825,10 @@ UserApi <- R6::R6Class( header_params <- c() if (missing(`username`)) { - rlang::abort(message = "Missing required parameter `username`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `username`.")) + rlang::abort(message = "Missing required parameter `username`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `username`.")) } body <- NULL @@ -816,28 +854,36 @@ UserApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "User", loadNamespace("petstore")), error = function(e) { - rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = "Failed to deserialize response", + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } }, #' Logs user into the system @@ -851,7 +897,7 @@ UserApi <- R6::R6Class( #' @param ... Other optional arguments #' @return character #' @export - LoginUser = function(username, password, data_file=NULL, ...) { + LoginUser = function(username, password, data_file = NULL, ...) { api_response <- self$LoginUserWithHttpInfo(username, password, data_file = data_file, ...) resp <- api_response$response if (httr::status_code(resp) >= 200 && httr::status_code(resp) <= 299) { @@ -881,11 +927,17 @@ UserApi <- R6::R6Class( header_params <- c() if (missing(`username`)) { - rlang::abort(message = "Missing required parameter `username`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `username`.")) + rlang::abort(message = "Missing required parameter `username`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `username`.")) } if (missing(`password`)) { - rlang::abort(message = "Missing required parameter `password`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `password`.")) + rlang::abort(message = "Missing required parameter `password`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `password`.")) } body <- NULL @@ -907,28 +959,36 @@ UserApi <- R6::R6Class( deserialized_resp_obj <- tryCatch( self$api_client$deserialize(resp, "character", loadNamespace("petstore")), error = function(e) { - rlang::abort(message = "Failed to deserialize response", .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = "Failed to deserialize response", + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } ) ApiResponse$new(deserialized_resp_obj, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } }, #' Logs out current logged in user session @@ -983,22 +1043,28 @@ UserApi <- R6::R6Class( ApiResponse$new(NULL, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } }, #' Updated user @@ -1040,11 +1106,17 @@ UserApi <- R6::R6Class( header_params <- c() if (missing(`username`)) { - rlang::abort(message = "Missing required parameter `username`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `username`.")) + rlang::abort(message = "Missing required parameter `username`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `username`.")) } if (missing(`user`)) { - rlang::abort(message = "Missing required parameter `user`.", .subclass = "ApiException", ApiException = ApiException$new(status = 0, reason = "Missing required parameter `user`.")) + rlang::abort(message = "Missing required parameter `user`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `user`.")) } if (!missing(`user`)) { @@ -1074,22 +1146,28 @@ UserApi <- R6::R6Class( ApiResponse$new(NULL, resp) } else if (httr::status_code(resp) >= 300 && httr::status_code(resp) <= 399) { error_msg <- toString(content(resp)) - if(error_msg == "") { + if (error_msg == "") { error_msg <- paste("Server returned ", httr::status_code(resp), " response status code.") } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 400 && httr::status_code(resp) <= 499) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api client exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } else if (httr::status_code(resp) >= 500 && httr::status_code(resp) <= 599) { error_msg <- toString(content(resp)) if(error_msg == "") { error_msg <- "Api server exception encountered." } - rlang::abort(message = error_msg, .subclass = "ApiException", ApiException = ApiException$new(http_response = resp)) + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = resp)) } } ) diff --git a/samples/client/petstore/R/docs/Animal.md b/samples/client/petstore/R/docs/Animal.md index f21cc2147b..5cb0eb8bbf 100644 --- a/samples/client/petstore/R/docs/Animal.md +++ b/samples/client/petstore/R/docs/Animal.md @@ -5,6 +5,6 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **className** | **character** | | -**color** | **character** | | [optional] [default to 'red'] +**color** | **character** | | [optional] [default to "red"] diff --git a/samples/client/petstore/R/docs/Cat.md b/samples/client/petstore/R/docs/Cat.md index d6e99c85c6..ba23ea86a3 100644 --- a/samples/client/petstore/R/docs/Cat.md +++ b/samples/client/petstore/R/docs/Cat.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **className** | **character** | | -**color** | **character** | | [optional] [default to 'red'] +**color** | **character** | | [optional] [default to "red"] **declawed** | **character** | | [optional] diff --git a/samples/client/petstore/R/docs/Dog.md b/samples/client/petstore/R/docs/Dog.md index 6a7c1f53a1..b2e732df45 100644 --- a/samples/client/petstore/R/docs/Dog.md +++ b/samples/client/petstore/R/docs/Dog.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **className** | **character** | | -**color** | **character** | | [optional] [default to 'red'] +**color** | **character** | | [optional] [default to "red"] **breed** | **character** | | [optional] diff --git a/samples/client/petstore/R/docs/FakeApi.md b/samples/client/petstore/R/docs/FakeApi.md index 55132bdfcf..484ca98a1d 100644 --- a/samples/client/petstore/R/docs/FakeApi.md +++ b/samples/client/petstore/R/docs/FakeApi.md @@ -18,8 +18,8 @@ test data_file to ensure it's escaped correctly ```R library(petstore) -var_dummy <- 'dummy_example' # character | dummy required parameter -var_var_data_file <- 'var_data_file_example' # character | header data file +var_dummy <- "dummy_example" # character | dummy required parameter +var_var_data_file <- "var_data_file_example" # character | header data file #test data_file to ensure it's escaped correctly api_instance <- FakeApi$new() diff --git a/samples/client/petstore/R/docs/PetApi.md b/samples/client/petstore/R/docs/PetApi.md index 7211545a44..a89cf8fac8 100644 --- a/samples/client/petstore/R/docs/PetApi.md +++ b/samples/client/petstore/R/docs/PetApi.md @@ -88,7 +88,7 @@ Deletes a pet library(petstore) var_pet_id <- 56 # integer | Pet id to delete -var_api_key <- 'api_key_example' # character | +var_api_key <- "api_key_example" # character | #Deletes a pet api_instance <- PetApi$new() @@ -457,8 +457,8 @@ Updates a pet in the store with form data library(petstore) var_pet_id <- 56 # integer | ID of pet that needs to be updated -var_name <- 'name_example' # character | Updated name of the pet -var_status <- 'status_example' # character | Updated status of the pet +var_name <- "name_example" # character | Updated name of the pet +var_status <- "status_example" # character | Updated status of the pet #Updates a pet in the store with form data api_instance <- PetApi$new() @@ -517,7 +517,7 @@ uploads an image library(petstore) var_pet_id <- 56 # integer | ID of pet to update -var_additional_metadata <- 'additional_metadata_example' # character | Additional data to pass to server +var_additional_metadata <- "additional_metadata_example" # character | Additional data to pass to server var_file <- File.new('/path/to/file') # data.frame | file to upload #uploads an image diff --git a/samples/client/petstore/R/docs/StoreApi.md b/samples/client/petstore/R/docs/StoreApi.md index 2caef65f3d..31343a84ea 100644 --- a/samples/client/petstore/R/docs/StoreApi.md +++ b/samples/client/petstore/R/docs/StoreApi.md @@ -21,7 +21,7 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or non ```R library(petstore) -var_order_id <- 'order_id_example' # character | ID of the order that needs to be deleted +var_order_id <- "order_id_example" # character | ID of the order that needs to be deleted #Delete purchase order by ID api_instance <- StoreApi$new() diff --git a/samples/client/petstore/R/docs/UserApi.md b/samples/client/petstore/R/docs/UserApi.md index d292094b7e..3382f734ce 100644 --- a/samples/client/petstore/R/docs/UserApi.md +++ b/samples/client/petstore/R/docs/UserApi.md @@ -193,7 +193,7 @@ This can only be done by the logged in user. ```R library(petstore) -var_username <- 'username_example' # character | The name that needs to be deleted +var_username <- "username_example" # character | The name that needs to be deleted #Delete user api_instance <- UserApi$new() @@ -250,7 +250,7 @@ Get user by user name ```R library(petstore) -var_username <- 'username_example' # character | The name that needs to be fetched. Use user1 for testing. +var_username <- "username_example" # character | The name that needs to be fetched. Use user1 for testing. #Get user by user name api_instance <- UserApi$new() @@ -310,8 +310,8 @@ Logs user into the system ```R library(petstore) -var_username <- 'username_example' # character | The user name for login -var_password <- 'password_example' # character | The password for login in clear text +var_username <- "username_example" # character | The user name for login +var_password <- "password_example" # character | The password for login in clear text #Logs user into the system api_instance <- UserApi$new() @@ -423,7 +423,7 @@ This can only be done by the logged in user. ```R library(petstore) -var_username <- 'username_example' # character | name that need to be deleted +var_username <- "username_example" # character | name that need to be deleted var_user <- User$new(123, "username_example", "firstName_example", "lastName_example", "email_example", "password_example", "phone_example", 123) # User | Updated user object #Updated user From 2e0a121205f77dede4477f71c1fedd8615417cd3 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Mon, 18 Jul 2022 17:01:36 +0800 Subject: [PATCH 209/212] add decimal support to crystal cilent (#12899) --- .../org/openapitools/codegen/languages/CrystalClientCodegen.java | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CrystalClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CrystalClientCodegen.java index 5b53015628..01702710e5 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CrystalClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CrystalClientCodegen.java @@ -171,6 +171,7 @@ public class CrystalClientCodegen extends DefaultCodegen { typeMapping.put("float", "Float32"); typeMapping.put("double", "Float64"); typeMapping.put("number", "Float64"); + typeMapping.put("decimal", "Float64"); typeMapping.put("date", "Time"); typeMapping.put("DateTime", "Time"); typeMapping.put("array", "Array"); From ed4ed3923f7c394580e5a6622af11b70ee73262c Mon Sep 17 00:00:00 2001 From: Jaemin Park Date: Mon, 18 Jul 2022 18:14:18 +0900 Subject: [PATCH 210/212] [cpp-ue4] Fix GET request writes body (OpenAPITools#12833) (#12904) Co-authored-by: nullbus --- .../cpp-ue4/api-operations-source.mustache | 2 + .../Private/OpenAPIPetApiOperations.cpp | 88 ------------------- .../Private/OpenAPIStoreApiOperations.cpp | 66 -------------- .../Private/OpenAPIUserApiOperations.cpp | 88 ------------------- 4 files changed, 2 insertions(+), 242 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/cpp-ue4/api-operations-source.mustache b/modules/openapi-generator/src/main/resources/cpp-ue4/api-operations-source.mustache index 2656a49f6f..4868c236ea 100644 --- a/modules/openapi-generator/src/main/resources/cpp-ue4/api-operations-source.mustache +++ b/modules/openapi-generator/src/main/resources/cpp-ue4/api-operations-source.mustache @@ -146,6 +146,7 @@ void {{classname}}::{{operationIdCamelCase}}Request::SetupHttpRequest(const FHtt {{/headerParams}} {{/headerParams.0}} + {{#isBodyAllowed}} // Default to Json Body request if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) { @@ -281,6 +282,7 @@ void {{classname}}::{{operationIdCamelCase}}Request::SetupHttpRequest(const FHtt { UE_LOG(Log{{unrealModuleName}}, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); } + {{/isBodyAllowed}} } {{#responses.0}} diff --git a/samples/client/petstore/cpp-ue4/Private/OpenAPIPetApiOperations.cpp b/samples/client/petstore/cpp-ue4/Private/OpenAPIPetApiOperations.cpp index c9c28c098f..4708d2e846 100644 --- a/samples/client/petstore/cpp-ue4/Private/OpenAPIPetApiOperations.cpp +++ b/samples/client/petstore/cpp-ue4/Private/OpenAPIPetApiOperations.cpp @@ -102,28 +102,6 @@ void OpenAPIPetApi::DeletePetRequest::SetupHttpRequest(const FHttpRequestRef& Ht HttpRequest->SetHeader(TEXT("api_key"), ApiKey.GetValue()); } - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIPetApi::DeletePetResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) @@ -221,28 +199,6 @@ void OpenAPIPetApi::FindPetsByStatusRequest::SetupHttpRequest(const FHttpRequest HttpRequest->SetVerb(TEXT("GET")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIPetApi::FindPetsByStatusResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) @@ -282,28 +238,6 @@ void OpenAPIPetApi::FindPetsByTagsRequest::SetupHttpRequest(const FHttpRequestRe HttpRequest->SetVerb(TEXT("GET")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIPetApi::FindPetsByTagsResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) @@ -342,28 +276,6 @@ void OpenAPIPetApi::GetPetByIdRequest::SetupHttpRequest(const FHttpRequestRef& H HttpRequest->SetVerb(TEXT("GET")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIPetApi::GetPetByIdResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) diff --git a/samples/client/petstore/cpp-ue4/Private/OpenAPIStoreApiOperations.cpp b/samples/client/petstore/cpp-ue4/Private/OpenAPIStoreApiOperations.cpp index d972f349a6..882bfe6af0 100644 --- a/samples/client/petstore/cpp-ue4/Private/OpenAPIStoreApiOperations.cpp +++ b/samples/client/petstore/cpp-ue4/Private/OpenAPIStoreApiOperations.cpp @@ -40,28 +40,6 @@ void OpenAPIStoreApi::DeleteOrderRequest::SetupHttpRequest(const FHttpRequestRef HttpRequest->SetVerb(TEXT("DELETE")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIStoreApi::DeleteOrderResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) @@ -96,28 +74,6 @@ void OpenAPIStoreApi::GetInventoryRequest::SetupHttpRequest(const FHttpRequestRe HttpRequest->SetVerb(TEXT("GET")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIStoreApi::GetInventoryResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) @@ -153,28 +109,6 @@ void OpenAPIStoreApi::GetOrderByIdRequest::SetupHttpRequest(const FHttpRequestRe HttpRequest->SetVerb(TEXT("GET")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIStoreApi::GetOrderByIdResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) diff --git a/samples/client/petstore/cpp-ue4/Private/OpenAPIUserApiOperations.cpp b/samples/client/petstore/cpp-ue4/Private/OpenAPIUserApiOperations.cpp index c0d6c05b7d..32936cb180 100644 --- a/samples/client/petstore/cpp-ue4/Private/OpenAPIUserApiOperations.cpp +++ b/samples/client/petstore/cpp-ue4/Private/OpenAPIUserApiOperations.cpp @@ -211,28 +211,6 @@ void OpenAPIUserApi::DeleteUserRequest::SetupHttpRequest(const FHttpRequestRef& HttpRequest->SetVerb(TEXT("DELETE")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIUserApi::DeleteUserResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) @@ -271,28 +249,6 @@ void OpenAPIUserApi::GetUserByNameRequest::SetupHttpRequest(const FHttpRequestRe HttpRequest->SetVerb(TEXT("GET")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIUserApi::GetUserByNameResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) @@ -336,28 +292,6 @@ void OpenAPIUserApi::LoginUserRequest::SetupHttpRequest(const FHttpRequestRef& H HttpRequest->SetVerb(TEXT("GET")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIUserApi::LoginUserResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) @@ -392,28 +326,6 @@ void OpenAPIUserApi::LogoutUserRequest::SetupHttpRequest(const FHttpRequestRef& HttpRequest->SetVerb(TEXT("GET")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIUserApi::LogoutUserResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) From 4ee336a9daad9bd411da3bb560c12ad54bed6666 Mon Sep 17 00:00:00 2001 From: Taufik Rama Date: Tue, 19 Jul 2022 10:03:53 +0700 Subject: [PATCH 211/212] [Rust] Changed 'UUID' handling into 'uuid' crate (#12895) * [Rust] Changed 'UUID' handling into 'uuid' crate * [Rust] updated 'samples/' --- .../org/openapitools/codegen/languages/RustClientCodegen.java | 2 +- .../openapi-generator/src/main/resources/rust/Cargo.mustache | 1 + modules/openapi-generator/src/main/resources/rust/request.rs | 1 + samples/client/petstore/rust/hyper/petstore/Cargo.toml | 1 + samples/client/petstore/rust/hyper/petstore/src/apis/request.rs | 1 + samples/client/petstore/rust/reqwest/petstore-async/Cargo.toml | 1 + .../petstore/rust/reqwest/petstore-awsv4signature/Cargo.toml | 1 + samples/client/petstore/rust/reqwest/petstore/Cargo.toml | 1 + 8 files changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java index 5726d0c46f..21a96617b0 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java @@ -166,7 +166,7 @@ public class RustClientCodegen extends DefaultCodegen implements CodegenConfig { typeMapping.put("double", "f64"); typeMapping.put("boolean", "bool"); typeMapping.put("string", "String"); - typeMapping.put("UUID", "String"); + typeMapping.put("UUID", "uuid::Uuid"); typeMapping.put("URI", "String"); typeMapping.put("date", "string"); typeMapping.put("DateTime", "String"); diff --git a/modules/openapi-generator/src/main/resources/rust/Cargo.mustache b/modules/openapi-generator/src/main/resources/rust/Cargo.mustache index 4488f0f212..24f536b558 100644 --- a/modules/openapi-generator/src/main/resources/rust/Cargo.mustache +++ b/modules/openapi-generator/src/main/resources/rust/Cargo.mustache @@ -9,6 +9,7 @@ serde = "^1.0" serde_derive = "^1.0" serde_json = "^1.0" url = "^2.2" +uuid = { version = "^1.0", features = ["serde"] } {{#hyper}} hyper = { version = "~0.14", features = ["full"] } hyper-tls = "~0.5" diff --git a/modules/openapi-generator/src/main/resources/rust/request.rs b/modules/openapi-generator/src/main/resources/rust/request.rs index d530378502..b516ccb0f9 100644 --- a/modules/openapi-generator/src/main/resources/rust/request.rs +++ b/modules/openapi-generator/src/main/resources/rust/request.rs @@ -50,6 +50,7 @@ pub(crate) struct Request { serialized_body: Option, } +#[allow(dead_code)] impl Request { pub fn new(method: hyper::Method, path: String) -> Self { Request { diff --git a/samples/client/petstore/rust/hyper/petstore/Cargo.toml b/samples/client/petstore/rust/hyper/petstore/Cargo.toml index 443de5b186..daaad97bf8 100644 --- a/samples/client/petstore/rust/hyper/petstore/Cargo.toml +++ b/samples/client/petstore/rust/hyper/petstore/Cargo.toml @@ -9,6 +9,7 @@ serde = "^1.0" serde_derive = "^1.0" serde_json = "^1.0" url = "^2.2" +uuid = { version = "^1.0", features = ["serde"] } hyper = { version = "~0.14", features = ["full"] } hyper-tls = "~0.5" http = "~0.2" diff --git a/samples/client/petstore/rust/hyper/petstore/src/apis/request.rs b/samples/client/petstore/rust/hyper/petstore/src/apis/request.rs index d530378502..b516ccb0f9 100644 --- a/samples/client/petstore/rust/hyper/petstore/src/apis/request.rs +++ b/samples/client/petstore/rust/hyper/petstore/src/apis/request.rs @@ -50,6 +50,7 @@ pub(crate) struct Request { serialized_body: Option, } +#[allow(dead_code)] impl Request { pub fn new(method: hyper::Method, path: String) -> Self { Request { diff --git a/samples/client/petstore/rust/reqwest/petstore-async/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore-async/Cargo.toml index 5631ecde03..5902f2f890 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore-async/Cargo.toml @@ -9,6 +9,7 @@ serde = "^1.0" serde_derive = "^1.0" serde_json = "^1.0" url = "^2.2" +uuid = { version = "^1.0", features = ["serde"] } [dependencies.reqwest] version = "^0.11" features = ["json", "multipart"] diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/Cargo.toml index e56ce2cafc..bdc29cf694 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/Cargo.toml @@ -9,6 +9,7 @@ serde = "^1.0" serde_derive = "^1.0" serde_json = "^1.0" url = "^2.2" +uuid = { version = "^1.0", features = ["serde"] } reqwest = "~0.9" aws-sigv4 = "0.3.0" http = "0.2.5" diff --git a/samples/client/petstore/rust/reqwest/petstore/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore/Cargo.toml index 4e6f624c35..a815e8f2f2 100644 --- a/samples/client/petstore/rust/reqwest/petstore/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore/Cargo.toml @@ -9,6 +9,7 @@ serde = "^1.0" serde_derive = "^1.0" serde_json = "^1.0" url = "^2.2" +uuid = { version = "^1.0", features = ["serde"] } reqwest = "~0.9" [dev-dependencies] From b88666b87acab1d59f5a1502c2445bf390ae8dfe Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 19 Jul 2022 11:22:29 +0800 Subject: [PATCH 212/212] add uuid test, better hyper test (#12916) --- bin/configs/rust-hyper-petstore.yaml | 2 +- .../src/test/resources/3_0/rust/petstore.yaml | 8 +++ .../hyper/petstore/.openapi-generator/FILES | 4 ++ .../petstore/rust/hyper/petstore/README.md | 2 + .../rust/hyper/petstore/docs/FakeApi.md | 41 +++++++++++++ .../rust/hyper/petstore/docs/PropertyTest.md | 11 ++++ .../petstore/rust/hyper/petstore/pom.xml | 46 ++++++++++++++ .../rust/hyper/petstore/src/apis/client.rs | 6 ++ .../rust/hyper/petstore/src/apis/fake_api.rs | 60 +++++++++++++++++++ .../rust/hyper/petstore/src/apis/mod.rs | 2 + .../rust/hyper/petstore/src/models/mod.rs | 2 + .../petstore/src/models/property_test.rs | 30 ++++++++++ .../reqwest/petstore/.openapi-generator/FILES | 2 + .../petstore/rust/reqwest/petstore/README.md | 1 + .../reqwest/petstore/docs/PropertyTest.md | 11 ++++ .../rust/reqwest/petstore/src/models/mod.rs | 2 + .../petstore/src/models/property_test.rs | 30 ++++++++++ 17 files changed, 259 insertions(+), 1 deletion(-) create mode 100644 samples/client/petstore/rust/hyper/petstore/docs/FakeApi.md create mode 100644 samples/client/petstore/rust/hyper/petstore/docs/PropertyTest.md create mode 100644 samples/client/petstore/rust/hyper/petstore/pom.xml create mode 100644 samples/client/petstore/rust/hyper/petstore/src/apis/fake_api.rs create mode 100644 samples/client/petstore/rust/hyper/petstore/src/models/property_test.rs create mode 100644 samples/client/petstore/rust/reqwest/petstore/docs/PropertyTest.md create mode 100644 samples/client/petstore/rust/reqwest/petstore/src/models/property_test.rs diff --git a/bin/configs/rust-hyper-petstore.yaml b/bin/configs/rust-hyper-petstore.yaml index c1a2520faa..0d8ab210f7 100644 --- a/bin/configs/rust-hyper-petstore.yaml +++ b/bin/configs/rust-hyper-petstore.yaml @@ -1,7 +1,7 @@ generatorName: rust outputDir: samples/client/petstore/rust/hyper/petstore library: hyper -inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml +inputSpec: modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml templateDir: modules/openapi-generator/src/main/resources/rust additionalProperties: supportAsync: "false" diff --git a/modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml b/modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml index fd902c5516..a22fbc7896 100644 --- a/modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml @@ -769,3 +769,11 @@ components: type: string message: type: string + property_test: + title: A model to test various formats, e.g. UUID + description: A model to test various formats, e.g. UUID + type: object + properties: + uuid: + type: string + format: uuid diff --git a/samples/client/petstore/rust/hyper/petstore/.openapi-generator/FILES b/samples/client/petstore/rust/hyper/petstore/.openapi-generator/FILES index a670589b33..5345a60cd9 100644 --- a/samples/client/petstore/rust/hyper/petstore/.openapi-generator/FILES +++ b/samples/client/petstore/rust/hyper/petstore/.openapi-generator/FILES @@ -4,9 +4,11 @@ Cargo.toml README.md docs/ApiResponse.md docs/Category.md +docs/FakeApi.md docs/Order.md docs/Pet.md docs/PetApi.md +docs/PropertyTest.md docs/StoreApi.md docs/Tag.md docs/User.md @@ -14,6 +16,7 @@ docs/UserApi.md git_push.sh src/apis/client.rs src/apis/configuration.rs +src/apis/fake_api.rs src/apis/mod.rs src/apis/pet_api.rs src/apis/request.rs @@ -25,5 +28,6 @@ src/models/category.rs src/models/mod.rs src/models/order.rs src/models/pet.rs +src/models/property_test.rs src/models/tag.rs src/models/user.rs diff --git a/samples/client/petstore/rust/hyper/petstore/README.md b/samples/client/petstore/rust/hyper/petstore/README.md index 3e4d0401e5..2fe69e24cc 100644 --- a/samples/client/petstore/rust/hyper/petstore/README.md +++ b/samples/client/petstore/rust/hyper/petstore/README.md @@ -25,6 +25,7 @@ All URIs are relative to *http://petstore.swagger.io/v2* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- +*FakeApi* | [**test_nullable_required_param**](docs/FakeApi.md#test_nullable_required_param) | **Get** /fake/user/{username} | To test nullable required parameters *PetApi* | [**add_pet**](docs/PetApi.md#add_pet) | **Post** /pet | Add a new pet to the store *PetApi* | [**delete_pet**](docs/PetApi.md#delete_pet) | **Delete** /pet/{petId} | Deletes a pet *PetApi* | [**find_pets_by_status**](docs/PetApi.md#find_pets_by_status) | **Get** /pet/findByStatus | Finds Pets by status @@ -53,6 +54,7 @@ Class | Method | HTTP request | Description - [Category](docs/Category.md) - [Order](docs/Order.md) - [Pet](docs/Pet.md) + - [PropertyTest](docs/PropertyTest.md) - [Tag](docs/Tag.md) - [User](docs/User.md) diff --git a/samples/client/petstore/rust/hyper/petstore/docs/FakeApi.md b/samples/client/petstore/rust/hyper/petstore/docs/FakeApi.md new file mode 100644 index 0000000000..df993a82f4 --- /dev/null +++ b/samples/client/petstore/rust/hyper/petstore/docs/FakeApi.md @@ -0,0 +1,41 @@ +# \FakeApi + +All URIs are relative to *http://petstore.swagger.io/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**test_nullable_required_param**](FakeApi.md#test_nullable_required_param) | **Get** /fake/user/{username} | To test nullable required parameters + + + +## test_nullable_required_param + +> test_nullable_required_param(username, dummy_required_nullable_param, uppercase) +To test nullable required parameters + + + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**username** | **String** | The name that needs to be fetched. Use user1 for testing. | [required] | +**dummy_required_nullable_param** | Option<**String**> | To test nullable required parameters | [required] | +**uppercase** | Option<**String**> | To test parameter names in upper case | | + +### Return type + + (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/samples/client/petstore/rust/hyper/petstore/docs/PropertyTest.md b/samples/client/petstore/rust/hyper/petstore/docs/PropertyTest.md new file mode 100644 index 0000000000..3f36c163de --- /dev/null +++ b/samples/client/petstore/rust/hyper/petstore/docs/PropertyTest.md @@ -0,0 +1,11 @@ +# PropertyTest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/client/petstore/rust/hyper/petstore/pom.xml b/samples/client/petstore/rust/hyper/petstore/pom.xml new file mode 100644 index 0000000000..bf77195652 --- /dev/null +++ b/samples/client/petstore/rust/hyper/petstore/pom.xml @@ -0,0 +1,46 @@ + + 4.0.0 + org.openapitools + RustHyperClientTests + pom + 1.0-SNAPSHOT + Rust Hyper Petstore Client + + + + maven-dependency-plugin + + + package + + copy-dependencies + + + ${project.build.directory} + + + + + + org.codehaus.mojo + exec-maven-plugin + 1.2.1 + + + bundle-test + integration-test + + exec + + + cargo + + test + + + + + + + + diff --git a/samples/client/petstore/rust/hyper/petstore/src/apis/client.rs b/samples/client/petstore/rust/hyper/petstore/src/apis/client.rs index 290b99e86f..e209050c59 100644 --- a/samples/client/petstore/rust/hyper/petstore/src/apis/client.rs +++ b/samples/client/petstore/rust/hyper/petstore/src/apis/client.rs @@ -4,6 +4,7 @@ use hyper; use super::configuration::Configuration; pub struct APIClient { + fake_api: Box, pet_api: Box, store_api: Box, user_api: Box, @@ -15,12 +16,17 @@ impl APIClient { let rc = Rc::new(configuration); APIClient { + fake_api: Box::new(crate::apis::FakeApiClient::new(rc.clone())), pet_api: Box::new(crate::apis::PetApiClient::new(rc.clone())), store_api: Box::new(crate::apis::StoreApiClient::new(rc.clone())), user_api: Box::new(crate::apis::UserApiClient::new(rc.clone())), } } + pub fn fake_api(&self) -> &dyn crate::apis::FakeApi{ + self.fake_api.as_ref() + } + pub fn pet_api(&self) -> &dyn crate::apis::PetApi{ self.pet_api.as_ref() } diff --git a/samples/client/petstore/rust/hyper/petstore/src/apis/fake_api.rs b/samples/client/petstore/rust/hyper/petstore/src/apis/fake_api.rs new file mode 100644 index 0000000000..49ffc5a3bc --- /dev/null +++ b/samples/client/petstore/rust/hyper/petstore/src/apis/fake_api.rs @@ -0,0 +1,60 @@ +/* + * OpenAPI Petstore + * + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use std::rc::Rc; +use std::borrow::Borrow; +use std::pin::Pin; +#[allow(unused_imports)] +use std::option::Option; + +use hyper; +use futures::Future; + +use super::{Error, configuration}; +use super::request as __internal_request; + +pub struct FakeApiClient + where C: Clone + std::marker::Send + Sync + 'static { + configuration: Rc>, +} + +impl FakeApiClient + where C: Clone + std::marker::Send + Sync { + pub fn new(configuration: Rc>) -> FakeApiClient { + FakeApiClient { + configuration, + } + } +} + +pub trait FakeApi { + fn test_nullable_required_param(&self, username: &str, dummy_required_nullable_param: Option<&str>, uppercase: Option<&str>) -> Pin>>>; +} + +implFakeApi for FakeApiClient + where C: Clone + std::marker::Send + Sync { + #[allow(unused_mut)] + fn test_nullable_required_param(&self, username: &str, dummy_required_nullable_param: Option<&str>, uppercase: Option<&str>) -> Pin>>> { + let mut req = __internal_request::Request::new(hyper::Method::GET, "/fake/user/{username}".to_string()) + ; + req = req.with_path_param("username".to_string(), username.to_string()); + match dummy_required_nullable_param { + Some(param_value) => { req = req.with_header_param("dummy_required_nullable_param".to_string(), param_value.to_string()); }, + None => { req = req.with_header_param("dummy_required_nullable_param".to_string(), "".to_string()); }, + } + if let Some(param_value) = uppercase { + req = req.with_header_param("UPPERCASE".to_string(), param_value.to_string()); + } + req = req.returns_nothing(); + + req.execute(self.configuration.borrow()) + } + +} diff --git a/samples/client/petstore/rust/hyper/petstore/src/apis/mod.rs b/samples/client/petstore/rust/hyper/petstore/src/apis/mod.rs index 1245257e5d..e2ccc5d6a3 100644 --- a/samples/client/petstore/rust/hyper/petstore/src/apis/mod.rs +++ b/samples/client/petstore/rust/hyper/petstore/src/apis/mod.rs @@ -47,6 +47,8 @@ impl From for Error { mod request; +mod fake_api; +pub use self::fake_api::{ FakeApi, FakeApiClient }; mod pet_api; pub use self::pet_api::{ PetApi, PetApiClient }; mod store_api; diff --git a/samples/client/petstore/rust/hyper/petstore/src/models/mod.rs b/samples/client/petstore/rust/hyper/petstore/src/models/mod.rs index 1baf2f7528..37334443da 100644 --- a/samples/client/petstore/rust/hyper/petstore/src/models/mod.rs +++ b/samples/client/petstore/rust/hyper/petstore/src/models/mod.rs @@ -6,6 +6,8 @@ pub mod order; pub use self::order::Order; pub mod pet; pub use self::pet::Pet; +pub mod property_test; +pub use self::property_test::PropertyTest; pub mod tag; pub use self::tag::Tag; pub mod user; diff --git a/samples/client/petstore/rust/hyper/petstore/src/models/property_test.rs b/samples/client/petstore/rust/hyper/petstore/src/models/property_test.rs new file mode 100644 index 0000000000..1c3c4f3f3f --- /dev/null +++ b/samples/client/petstore/rust/hyper/petstore/src/models/property_test.rs @@ -0,0 +1,30 @@ +/* + * OpenAPI Petstore + * + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +/// PropertyTest : A model to test various formats, e.g. UUID + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct PropertyTest { + #[serde(rename = "uuid", skip_serializing_if = "Option::is_none")] + pub uuid: Option, +} + +impl PropertyTest { + /// A model to test various formats, e.g. UUID + pub fn new() -> PropertyTest { + PropertyTest { + uuid: None, + } + } +} + + diff --git a/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/FILES b/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/FILES index 9ad23161e6..75bd989a45 100644 --- a/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/FILES +++ b/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/FILES @@ -8,6 +8,7 @@ docs/FakeApi.md docs/Order.md docs/Pet.md docs/PetApi.md +docs/PropertyTest.md docs/StoreApi.md docs/Tag.md docs/User.md @@ -25,5 +26,6 @@ src/models/category.rs src/models/mod.rs src/models/order.rs src/models/pet.rs +src/models/property_test.rs src/models/tag.rs src/models/user.rs diff --git a/samples/client/petstore/rust/reqwest/petstore/README.md b/samples/client/petstore/rust/reqwest/petstore/README.md index c2d345f9ef..af68b013a2 100644 --- a/samples/client/petstore/rust/reqwest/petstore/README.md +++ b/samples/client/petstore/rust/reqwest/petstore/README.md @@ -54,6 +54,7 @@ Class | Method | HTTP request | Description - [Category](docs/Category.md) - [Order](docs/Order.md) - [Pet](docs/Pet.md) + - [PropertyTest](docs/PropertyTest.md) - [Tag](docs/Tag.md) - [User](docs/User.md) diff --git a/samples/client/petstore/rust/reqwest/petstore/docs/PropertyTest.md b/samples/client/petstore/rust/reqwest/petstore/docs/PropertyTest.md new file mode 100644 index 0000000000..3f36c163de --- /dev/null +++ b/samples/client/petstore/rust/reqwest/petstore/docs/PropertyTest.md @@ -0,0 +1,11 @@ +# PropertyTest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/client/petstore/rust/reqwest/petstore/src/models/mod.rs b/samples/client/petstore/rust/reqwest/petstore/src/models/mod.rs index 1baf2f7528..37334443da 100644 --- a/samples/client/petstore/rust/reqwest/petstore/src/models/mod.rs +++ b/samples/client/petstore/rust/reqwest/petstore/src/models/mod.rs @@ -6,6 +6,8 @@ pub mod order; pub use self::order::Order; pub mod pet; pub use self::pet::Pet; +pub mod property_test; +pub use self::property_test::PropertyTest; pub mod tag; pub use self::tag::Tag; pub mod user; diff --git a/samples/client/petstore/rust/reqwest/petstore/src/models/property_test.rs b/samples/client/petstore/rust/reqwest/petstore/src/models/property_test.rs new file mode 100644 index 0000000000..1c3c4f3f3f --- /dev/null +++ b/samples/client/petstore/rust/reqwest/petstore/src/models/property_test.rs @@ -0,0 +1,30 @@ +/* + * OpenAPI Petstore + * + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +/// PropertyTest : A model to test various formats, e.g. UUID + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct PropertyTest { + #[serde(rename = "uuid", skip_serializing_if = "Option::is_none")] + pub uuid: Option, +} + +impl PropertyTest { + /// A model to test various formats, e.g. UUID + pub fn new() -> PropertyTest { + PropertyTest { + uuid: None, + } + } +} + +